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
羽毛球分组比赛记分
小程序二维码

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

小夜