DWork / 产品文档 / 真实截图版
查看截图 简历引用

PRODUCT DOCS

DWork:面向 AI Agent 的桌面工作流与工具编排平台

DWork 把 Agent 对话、工具调用、插件/Skill/MCP、会话渲染、模型 Provider、工作流看板、知识库、定时任务、PPT/文档/网页生产力、收藏渲染和画板输入放到统一桌面工作台中。它适合展示 Agent Harness 研发能力:从任务拆解、工具执行到人工复核和产物交付。

1
Agent Loop 与工具执行流式事件、Tool Use、权限请求、会话恢复、上下文资源引用。
2
插件与渲染产物插件中心安装第三方能力;会话内直接渲染、收藏、修改可视化产物。
3
模型 Provider 与工作流Anthropic、DeepSeek、MiniMax、OpenAI、xAI 兼容层,任务/步骤可选择模型。
Rust RuntimeReact Desktop UIMCP / SkillsTool UseProvider RoutingRenderable ArtifactsHuman Review

产品截图

本页只收录已提供的产品截图。未提供截图的能力在后文以文字说明和源码锚点呈现。

当前收录 8 张截图:Agent 工作台、AI 工作流看板、收藏渲染、手绘画板、PPT 设计器、插件中心、Draw.io 会话渲染、Draw.io 块编辑器。
截图:插件中心用户提供原图
DWork 插件中心截图
截图:Draw.io 会话渲染输出用户提供原图
DWork Draw.io 会话渲染截图
截图:Draw.io 块编辑器用户提供原图
DWork Draw.io 编辑器截图
截图:AI 工作流看板用户提供原图
DWork AI 工作流看板截图
截图:Agent 工作台与 WebSearch 会话用户提供原图
DWork Agent 工作台截图
截图:收藏中的 Three.js 渲染结果用户提供原图
DWork 收藏渲染截图
截图:手绘画板用户提供原图
DWork 手绘画板截图
截图:PPT 设计器用户提供原图
DWork PPT 设计器截图

插件系统

插件中心用于安装和管理第三方操作能力。截图中可以看到分类、已安装数量、可用状态、配置路径、标签能力和依赖提示。源码显示它不是静态清单,而是“远程注册表 + 本地 manifest + 依赖适配器”的运行时系统。

插件目录与分类

  • 远程目录来自 https://gunworker-plugin-registry.pages.dev/latest.json,本地有缓存和离线 fallback。
  • 支持分类:开发工具、云服务、Agent 工具、办公协作、设计创作、数据科研、文档出版、工程制造等。
  • 截图中统计为全部 29、已安装 12,并按分类展示 Android Studio、GitHub、WeChat Mini Program、Aliyun 等插件。

安装与可用性判断

  • 安装源支持 cloudflare-packagelocal-installed
  • 安装时校验平台、版本、sha256、归档路径,并通过 Tauri 调用 install_openai_plugin
  • 插件声明 CLI/MCP 等 requirement 后,系统会执行本地命令检测、MCP upsert、OAuth/auth 检测,并给出“可用/需配置/缺失”状态。

能力注入方式

  • 插件可暴露 Skills,安装后通过 @插件名@Skill 在会话中注入。
  • 可声明 Read / Write / Interactive / DevTools / CLI fallback 等能力标签。
  • 插件 manifest 与安装目录可被本地扫描并与 Cloudflare registry 清单合并。

工程价值

  • 把外部工具、CLI、MCP 服务统一映射为 Agent 可发现、可配置、可调用的能力。
  • 降低 Agent Harness 的扩展成本:新增工具不需要硬编码进主工程。
  • 通过状态检查避免“装了但不可用”的问题,适合真实桌面端交付。

会话渲染输出与可编辑产物

DWork 的会话不只是 Markdown 聊天。模型输出指定 fenced code block 后,前端会识别渲染类型并直接转成可交互产物;产物可以收藏为资源,也可以在会话中打开“修改”进入块编辑器,让 AI 读取临时文件并用 edit_file 做局部修改。

会话内 Draw.io 渲染可收藏、可修改
DWork 会话内 Draw.io 渲染输出
渲染块编辑器AI 读取文件后局部修改
DWork 渲染块编辑器

支持的渲染类型

标签用途输入/运行方式
report结构化 Markdown 报告报告 fence,可包含嵌套图表与代码块
mermaid流程图、时序图、状态图等Mermaid DSL 文本,前端队列化渲染 SVG
html网页/交互页面预览HTML 代码块沙箱渲染
canvas-videoCanvas 视频动画JS 返回 drawdurationfps,后端流式渲染
graph力导向关系图JSON:{nodes[], links[]}
threejs3D 场景JS 使用 THREEOrbitControls、WebGL/WebGPU fallback
dashboard交互仪表盘JSON:{title, layout[]},支持多 widget 布局
p5js生成艺术与交互绘制JS 实例模式,包含 p.setupp.draw
mapLeaflet 地图JSON:{center, zoom, markers, polylines}
markmap思维导图Markdown 标题/列表嵌套
mathplot数学函数图JSON 数据与函数配置
octave科学图表Octave/Plotly 风格数据或脚本
ag-grid数据表格JSON:{columnDefs[], rowData[], options?}
pptxPPT 幻灯片预览与下载JS 返回 PptxGenJS 实例,前端拦截 slide 生成预览
interactive-animation原生 Canvas 2D 交互动画JS 返回 draw/update/event handlers
chem3d3D 分子结构使用 $3Dmol,支持 pdb/sdf/mol2/xyz/json
geo-3d-globe3D 地球点线可视化JSON:{points[], lines[]}
geo-3d-globe-js可编程 3D 地球运行时JS 定义 init/onTick/onData 等运行时钩子
excalidraw手绘风格图JSON:{elements[], appState}
drawioDraw.io 精确架构图mxGraph XML;drawio-renderer 是同类 alias

可编辑链路

  • 每个渲染块通过稳定 hash 生成块 ID,点击“修改”打开 BlockEditModal
  • 原始代码被保存为 block-edit-<id>.txt,AI 先读文件,再用 edit_file 局部替换。
  • 应用后写入本地 override,保留原始 assistant message,避免重排时间线。

收藏与复用

  • 渲染产物可收藏,收藏项记录 type、code、title、summary。
  • 输入框支持 @渲染-*@Render-* 选择渲染类型,也能引用已收藏产物作为模板。
  • 收藏渲染可进入资源上下文,作为后续生成/修改的参考材料。

模型 Provider 支持

模型配置支持多 profile:每个 profile 保存 id、name、model、provider、baseUrl、apiKey,可设为默认,也可绑定到会话、定时任务、工作流步骤。运行时会把 profile 转成对应 provider 的环境变量,并按模型名优先路由。

Anthropic支持 Claude 系列与别名 opussonnethaiku;环境变量 ANTHROPIC_API_KEYANTHROPIC_AUTH_TOKENANTHROPIC_BASE_URL;默认 context window 200K。
DeepSeek支持 deepseekdeepseek-v4-flashdeepseek-v4-prodeepseek-chatdeepseek-reasoner;环境变量 DEEPSEEK_API_KEYDEEPSEEK_BASE_URL;兼容 reasoning/thinking 字段。
MiniMax支持模型名前缀 MiniMax,通过 OpenAI-compatible client 发送;环境变量 MINIMAX_API_KEYMINIMAX_BASE_URL;兼容 reasoning details。
OpenAIOpenAI-compatible 通道;环境变量 OPENAI_API_KEYOPENAI_BASE_URL;默认 fallback context window 128K。
xAI支持 grokgrok-3grok-minigrok-3-minigrok-2;环境变量 XAI_API_KEYXAI_BASE_URL;context window 131072。

会话与工作流模型选择

  • /api/models 返回配置好的模型列表和默认 profile。
  • 单会话模型写入 session-models.json,任务、待办、工作流创建表单都能选择模型。
  • 工作流支持 step_models,复杂任务可以为不同步骤绑定不同模型。

图像模型 Provider

  • 图像生成 profile 另存为 imageProfiles,支持默认图像模型。
  • 源码中支持 openaigoogleminimaxrecraftstabilitybflvolcenginealibaba
  • 生成结果统一落地为本地 /generated-images/* URL,供会话展示。

Agent 工作台

左侧功能区把知识库、定时任务、网页设计、PPT、文档编写、Excel、我的应用、插件、服务器集中到一个入口;右侧会话区支持 WebSearch、资源引用、模型选择、浏览器开关和深度研究开关。

截图:Agent 工作台与 WebSearch 会话用户提供原图
Agent 工作台

AI 工作流看板

工作流看板支持任务创建、AI 拆解、运行、审批、拒绝、重试、继续、停止、移动状态、会话关联和 Git worktree 隔离。状态列覆盖待办、执行中、人工复核、合并中、已完成、失败。

截图:AI 工作流看板用户提供原图
AI 工作流看板

生产力模块

PPT / 文档 / 网页 / Excel

  • PPT 设计器有模板、页面元素、主题 token、下载 PPT、AI 修改/重做/演示等入口。
  • 文档、网页、Excel 模块作为专业生产力工作台,复用会话、模型、资源和渲染能力。
  • 用户应用与网页设计模块可以把生成产物落成可运行项目。

画板与收藏

  • 手绘画板使用 Excalidraw 作为输入面板,可把笔画数据发送给 AI 并在聊天中引用为 @画板
  • 收藏保存 Mermaid、Three.js、p5.js、Draw.io 等渲染产物,后续可作为模板或资源引用。
  • 渲染收藏与资源选择器打通,支持在会话里复用过去生成的可视化结果。
截图:PPT 设计器用户提供原图
PPT 设计器
截图:手绘画板用户提供原图
手绘画板

自动化与资源能力

浏览器 / 手机自动化

  • 后端提供 browser open/navigate/click/run-js/get-dom/close 等 API。
  • 手机模块支持 discover、repair-adb、connect、disconnect、screenshot 等操作。
  • 适合把外部 UI 自动化纳入 Tool Use。

知识库 / Memory

  • 知识库支持 tree/content/files/folders/import/export。
  • Runtime 有 session memory、workspace memory、agent memory、CLAUDE.md 加载。
  • 会话输入可引用 KB、设计资源、服务器、收藏资源。

MCP / Skill / 多 Agent

  • MCP 支持 settings 配置、check、auth 和 stdio 管理。
  • 工具注册包含 Skill、Agent、ToolSearch、WorkerCreate、TeamCreate。
  • 可把子代理、团队、定时任务组合成长期自动化能力。

源码锚点

文档内容基于项目源码阅读整理,重点锚点如下。

运行时cli/crates/runtime/src/conversation.rs:流式会话、ToolUse/ToolResult、权限、自动 compact、事件流。
工具注册cli/crates/tools/src/lib.rs:read/write/edit/grep/web、Agent、ToolSearch、WorkerCreate、TeamCreate、MCP、Skill、browser、phone、TodoWrite。
模型 Providercli/crates/api/src/providers/mod.rsopenai_compat.rs:Anthropic、DeepSeek、MiniMax、OpenAI、xAI 路由与兼容层。
模型设置cli/crates/web-server/src/main.rs/api/settings/models/api/settings/image-models、profile 环境变量注入。
插件系统front/src/pluginCatalog.jspluginRuntime.jsPluginCenterModal.jsx:Cloudflare registry、本地 manifest、安装与依赖检查。
渲染输出front/src/App.jsxRENDER_BLOCK_LABELS、渲染组件、收藏、@渲染 mention、Draw.io/Three/p5/PPT 等块。
块编辑front/src/BlockEditModal.jsx/api/block-edit/:id:临时文件、编辑会话、edit_file 局部修改、override 持久化。
工作流front/src/TaskBoard.jsxcli/crates/web-server/src/main.rs:任务拆解、状态流转、审批、Git worktree、会话绑定。

技术架构

前端层

  • React + Vite + Tauri WebView,承担会话、看板、插件中心、PPT、渲染块、资源选择等复杂交互。
  • 渲染块按 fenced code / marker 自动识别,并通过 ErrorBoundary、流式稳定 key、缓存队列保障体验。
  • 前端本地存储收藏渲染、会话资源、块编辑 override、插件中心状态。

后端层

  • Rust Axum sidecar 提供会话、工作流、设置、插件、MCP、浏览器、手机、PPT、知识库、Git worktree API。
  • Runtime 负责模型调用、工具执行、权限、内存、日志、token usage 和事件合并。
  • 模型兼容层把 Anthropic Message API 和 OpenAI-compatible Chat Completions 统一成内部事件。

简历引用

DWork - AI Agent 工作流与工具编排平台
独立设计并实现面向 AI Agent 的桌面工作流平台,覆盖会话运行时、工具调用、插件中心、MCP/Skill 扩展、会话渲染产物与可编辑块、模型 Provider 路由、知识库、浏览器与手机自动化、AI 工作流看板、Git worktree 隔离执行、人工复核、PPT/文档/网页生产力模块等能力。项目体现 Agent Loop、Tool Use、Memory、MCP、Skills、Provider Integration、Renderable Artifacts、工作流编排和本地自动化工程能力。