前言¶
DeepSeek Harness (DSH) 采用插件化架构,旨在将所有能力模块化。在智能体开发中,Agent 会话内的任务记录、进度追踪往往需要与外部项目管理工具解耦。plane-dsh-plugin 专为这一场景设计,它允许 DSH 的 Agent 在运行时识别任务、Bug、决策或进度,并将这些事件持久化到本地,随后异步同步至 Plane 项目管理平台。
插件定位¶
这是一个由 Bene-2020 维护的 DSH 原生插件。它将 DSH 的代理会话与 Plane 的工作流打通,无需在 Agent 脚本中手动调用 Plane API,即可实现“Coding Work -> Project Updates”的无缝流转。
核心能力¶
插件集成了 DSH 原生的 Cordis 主机和浏览器客户端插件,提供以下能力:
- 双端插件架构:提供可安装的 Bundle,同时包含 Host 和 Browser 客户端组件。
- Agent 工具集:内置 8 个 Agent 工具,用于项目发现、绑定、捕获和审查。
- 本地持久化与重试:使用本地 SQLite Outbox,支持幂等性、重试、租约和崩溃恢复,确保数据不丢失。
- 异步同步:与 Plane 的同步操作在后台异步执行,不会阻塞 DSH 的主 Agent 任务。
- 增量上下文:使用增量式的活动项上下文,而非每次轮次都拉取完整快照,提升效率。
- 全局悬浮面板:提供类似 Plane 的悬浮面板,支持状态过滤、乐观更新和同步健康检查。
- 手动切换与容错:支持在 DSH 全局覆盖层中手动切换项目,包含重名消歧和过期响应保护。
- 安全机制:Plane API Key 通过 DSH 凭据解析,不会写入插件数据库。
安装与启用¶
插件通过 NPM 包安装到 DSH 的 Web Profile 中。
- 安装插件:
运行以下命令将预构建包安装到 Web Profile:
npx @deepseek-ai/dsh plugin --profile web add plane-dsh-plugin
此命令直接安装包含 Host 和 Browser 组件的 Bundle,无需本地构建。
- 配置凭据:
将 Plane 的 API Key 存储在 DSH 的全局凭据文件中,不要将其写在cordis.patch.yml里:
# $DSH_HOME/.credentials.yaml
PLANE_API_KEY: "your-plane-api-key"
- 配置插件参数:
编辑$DSH_HOME/profiles/web/cordis.patch.yml,覆盖 Bundle 行并填入工作区信息:
- id: plane-dsh-plugin
config:
workspaceSlug: your-workspace-slug
planeBaseUrl: https://api.plane.so
planeMode: sdk
- 启动 DSH:
使用相同的 Web Profile 启动 DSH:
npx @deepseek-ai/dsh web
启动后,Agent 首次遇到未绑定的目录时会提供 Plane 项目绑定选项。悬浮面板会出现在 DSH 的 Web UI 中。
注意事项¶
- 早期版本:这是一个早期发布版本。存储和同步路径已充分测试,但 DSH 及其外部插件 API 仍在迭代中。
- 隐私与安全:插件不会存储源代码、终端输出或完整对话记录。API Key 通过 DSH 凭据按操作解析,不存入插件本地数据库。
- 本地存储:本地项目元数据和 Outbox 默认存储在
~/.dsh/plugins/ambient-project/ambient.sqlite。 - 环境依赖:需要 Node.js 22.19 或更高版本、pnpm,以及支持外部 Bundle、凭据、工具、客户端槽位和 Typert 远程支持的 DSH 最新版本。同时需要 Plane 工作区和 API Key。
适用场景¶
适合需要在 DSH Agent 会话中持续记录开发进度、维护任务列表或与 Plane 项目管理工具集成的开发者。
总结¶
plane-dsh-plugin 解决了智能体开发中任务状态同步的痛点,通过本地 SQLite 和异步机制保证了操作的可靠性。对于需要将代码变更与项目管理闭环的开发流程,这是一个值得尝试的 DSH 生态插件。