dsh-trellis: DeepSeek Harness 的 Trellis 工作流集成

DeepSeek Harness (DSH) 采用“一切皆插件”的架构理念。将外部工作流工具(如 Trellis)集成到 DSH 中,通常需要手动补齐原生能力,才能达到 Codex 或 Claude Code 级别的体验。dsh-trellis 是一个插件,旨在将 Trellis 工作流接入 DSH,并利用 DSH 的原生能力补齐这一体验。

核心功能

该插件主要提供以下能力:

  • 每轮 workflow-state 面包屑注入:在每个 agent/pre-step 阶段,解析项目 .trellis/workflow.md 中的 [workflow-state:*] 块和活跃任务状态,将对应的面包屑注入会话。
  • 隔离的原生会话上下文身份:从 DSH 原生 session header 生成受管的 DSH_TRELLIS_CONTEXT_ID,确保 task.py 能解析到正确的会话级 active-task 指针,并正确转发身份给子代理。
  • 原生子代理同步:支持 DSH 原生的 continuable 后台子代理。通过 trellis_wait 监听 subagent/end 事件,根据生命周期元数据返回结算结论,避免将 error、max-tokens 等误判为通过。
  • /trellis 命令:提供 /trellis-status(查看活跃任务与 git 状态)和 /trellis-finish(只读检查与安全收尾清单)命令。
  • Web 配置菜单:在 DSH Web 界面的“设置 → 插件 → 插件配置”中提供可视化的 Trellis 工作流卡片,支持分阶段编辑配置并实时生效。

安装

插件安装到指定的 profile 后,在下次启动该 profile 时生效。每个实际使用的 profile 都需要单独安装。

# 安装到 web profile
dsh plugin --profile web add dsh-trellis

# 安装到 headless profile
dsh plugin --profile headless add dsh-trellis

# 安装到 tui profile(如果使用)
dsh plugin --profile tui add dsh-trellis

如需升级到 npm 上的最新版本:

dsh plugin --profile web update dsh-trellis
dsh plugin --profile headless update dsh-trellis
dsh plugin --profile tui update dsh-trellis

配置与使用

Web Profile 配置

对于支持 Settings provider 的 DSH Web profile,可以直接在“设置 → 插件 → 插件配置 → Trellis 工作流”中编辑配置。保存后内容写入 settings.yaml,优先级高于 profile 组合层并立即生效。

Headless / 其他 Profile 配置

对于 Headless profile 或需要声明部署默认值的情况,可在 profile 的 cordis.patch.yml 中覆盖配置。Web 界面的“恢复配置文件值”会清除用户层字段并重新继承这里的值。

- id: dsh-trellis
  config:
    maxBytes: 4096          # 面包屑注入的字节预算(0 = 关闭注入)
    skipKeyword: no-trellis # 提示词中的独立单词可跳过当轮注入(空 = 禁用)
    pythonCmd: ""           # 空 = 自动选择系统默认 python
    commandsEnabled: true

典型用法

  1. 查看状态:在主会话中使用 /trellis-status 查看当前活跃任务和 git 状态。
  2. 同步子代理:当使用后台子代理(run_in_background: true)时,主会话可先继续独立工作。当需要汇合结果时,调用 trellis_wait <subagent_id> 等待原生结算事件。
  3. 安全收尾:使用 /trellis-finish 进行只读检查和收尾清单,真正的会话收尾由技能面 /trellis-finish-work 执行。

注意事项与兼容性

  • 可选伴侣插件:dsh-trellis 是 Trellis DSH 适配的可选伴侣插件,不是使用 trellis init --dsh 的前置条件。
  • 依赖要求:插件需要 profile 提供 sessionProjections 服务。若 profile 未组装此服务,需先加载 @deepseek-ai/dsh-session-projection。
  • 版本兼容:插件依赖 DSH 的特定版本范围(peerDependencies 覆盖了 0.1.0-rc.6+ 到 0.1.5-alpha.1+)。开发基线固定在 0.1.5-rc.2。
  • 会话隔离:Headless 模式下,每次 dsh --profile headless 调用都是新的 DSH session。需要跨轮保留 active-task 指针时,应保持同一会话。
  • 许可证:MIT License。

总结

dsh-trellis 通过原生会话身份管理、子代理同步和 Web 配置菜单,为 DeepSeek Harness 用户提供了与 Codex/Claude Code 对等的 Trellis 工作流体验。它是连接 DSH 生态与 Trellis 工作流管理的实用工具。

  • GitHub 仓库: https://github.com/SajoLuo/dsh-trellis
  • 插件目录: https://www.skillhub.cn/plugins/SajoLuo/dsh-trellis
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜