给 DeepSeek Harness 做了个桌面版:能调 Codex 干活,也能用微信远程派任务

1 小时 48 分钟前
 leoli2024

最近一直在折腾一个开源项目:Open DeepSeek Harness Desktop 。

先把项目地址放在前面:

GitHub: https://github.com/flaqai/open-deepseek-harness-desktop

官网: https://opendshdesktop.com/

它不是 DeepSeek 官方产品,是我基于 DeepSeek Harness 做的一个社区桌面发行版,MIT 开源。目前还在开发者预览阶段,所以这篇主要是自荐,也想听听大家对这种工作方式的意见。

为什么做这个项目

我平时会同时使用 DeepSeek 、Codex 、Claude Code 以及一些 Skill 和 MCP 工具。

真正让我觉得麻烦的,不是模型不够多,而是这些东西分散在不同终端、配置文件和会话里。每次换项目,都要重新确认工作目录、模型配置、工具权限和任务进度。

另外一个很实际的问题是:人不在电脑旁边时,怎么给本机的编码 Agent 分配任务?

我想要的东西比较像 WorkBuddy:

没有找到完全符合自己习惯的开源方案,于是就在 DeepSeek Harness 的基础上做了这个桌面版。

目前已经可以做什么

现在比较核心的一条链路已经能跑通:

  1. 在桌面客户端中打开一个本地项目;
  2. 创建 Harness 会话;
  3. 让当前 Agent 分析和拆解任务;
  4. 需要实际改代码时,把任务委派给 Codex ;
  5. Codex 使用当前项目的工作目录,以及本机已有的登录、模型、MCP 和 Skill 配置执行任务;
  6. 不在电脑旁边时,通过微信机器人给 Harness 继续分配任务。

所以从我自己的使用场景来说,它已经可以作为一个开源的 WorkBuddy 替代品来用了。当然,这里说的是工作方式上的替代,不是声称已经把成熟商业产品的所有细节都做到了。

微信接入来自预装的 dsh-im 插件。除了微信,也支持飞书、钉钉、企业微信、QQ 、Slack 、Telegram 、Discord 和 WhatsApp 。机器人可以绑定指定工作区和已有会话,消息最终还是交给本机运行的 Harness 处理。

Codex 是怎么接进来的

这部分没有通过 Shell 去猜用户有没有安装 codex 命令。

桌面安装包会预装 DeepSeek Harness 官方的 Codex Provider 、固定版本的 Codex wrapper ,以及与当前系统和 CPU 对应的原生载荷。用户在“设置 → 外部工具”里连接后,完整模式的会话会在下一轮获得 subagent_codex 工具。

我把连接状态和 Agent 预设拆开了。也就是说,不需要为了使用 Codex 新建一种专门的会话,已经存在的会话在连接成功后,也能从下一轮开始把任务交给 Codex 。

为了避免工具集合在任务执行到一半时突然变化,连接和断开会在回合边界生效。精简模式则不会自动获得这些外部工具。

目前每次 Codex 委派都是一个独立的临时任务。它会继承工作目录和本机 Codex 配置,但不会直接继承 Harness 的完整聊天记录,也不会把 Codex 的中间推理、原始日志和所有工作区差异全部复制回来。父会话只接收最终结果,或者经过处理的错误信息。

这个边界是我有意保留的:先把“能稳定委派任务”做好,再考虑长期 Codex thread 、进度同步和中断恢复。

它不只是套了一层 Electron

桌面端会负责启动和监管本机 Harness 进程,包括:

渲染进程没有通用 Shell 和文件系统权限,只能访问一组明确限制过的桌面接口。Node 集成默认关闭,同时启用了上下文隔离和 Chromium 沙箱。

Harness 自己仍然是会话、模型、凭据、插件和 Skill 的唯一数据来源,Electron 层没有另外复制一套状态。

另外还做了一层插件依赖检查。第三方插件真正执行之前,会先检查共享依赖、版本范围和完整引用链;遇到无法安全处理的冲突时,优先隔离有问题的插件,而不是让整个客户端一起启动失败。

现在还不成熟的地方

项目目前仍然是开发者预览版,这一点必须提前说清楚:

如果想从源码运行,目前需要 Node.js ^22.19.0 || >=24.0.0 和 pnpm 11.7.0

git clone https://github.com/flaqai/open-deepseek-harness-desktop.git
cd open-deepseek-harness-desktop
pnpm install
pnpm run build
pnpm run dev:desktop
70 次点击
所在节点    分享创造
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1236317

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX