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
典型用法¶
- 查看狀態:在主會話中使用
/trellis-status查看當前活躍任務和 git 狀態。 - 同步子代理:當使用後臺子代理(
run_in_background: true)時,主會話可先繼續獨立工作。當需要匯合結果時,調用trellis_wait <subagent_id>等待原生結算事件。 - 安全收尾:使用
/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