@norman-else/dsh-claude: 在 DeepSeek Harness 中運行 Claude Code

前言

DeepSeek Harness (DSH) 的插件化設計允許開發者擴展其核心功能。要在 DSH 環境中無縫使用本地安裝的 Claude Code,需要將其作爲對話提供者集成,同時保留其原生的智能體循環和工具能力。@norman-else/dsh-claude 插件由 Norman-else 維護,它將本地 Claude Code CLI 作爲 DSH 中的一等公民。它不重建代理循環,而是讓 Claude Code 繼續負責其工具、技能、鉤子和 MCP 服務器,而 DSH 提供對話 UI、審批界面、工作流管理和進程生命週期控制。

核心功能

原生對話支持
Claude Code 在 DSH 中作爲主代理運行,而不是被包裝成工具或次級聊天。這確保了完整的對話上下文和多輪交互體驗。

模型與預設管理
插件添加了一個“Claude” Agent Preset,並讀取 Claude Code 的模型目錄。在目錄不可用時,支持 default、opus[1m]、fable、sonnet 和 haiku 作爲回退選項。

思維努力映射
DSH 的模型推理努力設置會被映射到 Claude Code 的思考模式(off、low、medium、high、xhigh、max、ultracode)。這允許直接通過 DSH 的設置控制 Claude 的思考深度。

本地環境兼容
插件完全保留用戶的本地 Claude Code 環境,包括已認證的憑據、設置、CLAUDE.md、Skills、Hooks、Plugins、工具配置和 MCP 服務器配置。

實時流式傳輸與會話連續性
對話內容以實時流式傳輸到 DSH,同時保留多輪上下文和持久化的會話恢復能力。

權限與問題路由
Claude Code 的工具權限請求會通過 DSH 的審批流程處理,而 Claude 的澄清提示則通過 DSH 原生的問題表單展示。

權限模式控制
插件支持 Claude Code 的本地權限模式(如 Plan、Default、Accept edits 等),並在 DSH 的界面中提供相應的控制選項。這允許在會話級別精細控制權限行爲。

計劃審查
在只讀訪問模式下,Claude 的計劃會顯示在插件擁有的側邊欄面板中。用戶可以審查計劃、編輯文本並拒絕計劃,這些修改會作爲拒絕原因反饋給 Claude。

命令橋
Claude Code 的命令目錄會被髮布到 DSH 的命令面板中,並帶有重試機制以等待 Skills 和 Plugins 加載完成。

提示片段
插件會讀取 ~/.claude/prompts 目錄下的 Markdown 文件,將其作爲可插入的提示片段展示在命令面板中,方便複用未完成的草稿。

安裝與啓用

前置要求
- DeepSeek Harness Desktop,且宿主版本兼容。插件當前開發針對 DSH 0.1.5-rc.2 (DSH Desktop 2.0.10)。插件 0.1.37+ 引入了 0.1.1-rc.2 中不存在的符號,若宿主仍在該版本,需鎖定 @norman-else/dsh-claude@0.1.36。
- 本地已安裝並認證的 Claude Code。
- 從源碼安裝時需要 Node.js 20 或更高版本。

安裝命令
使用 DSH CLI 將包添加到桌面配置文件:

dsh plugin --profile desktop add @norman-else/dsh-claude

啓用流程
1. 等待配置重建完成。
2. 完全退出 DeepSeek Harness Desktop。
3. 重新打開 DSH Desktop。
4. 創建新對話,在“Agent Preset picker”中選擇 Claude。

從源碼安裝

git clone https://github.com/Norman-else/dsh-claude.git
cd dsh-claude
pnpm install
pnpm check

如果檢出的代碼已鏈接到正在運行的 Desktop,請在回合結束後運行構建,因爲重建可以熱重載插件。建議在活躍工作期間使用單獨的源副本進行驗證。

移除插件
DSH 當前不暴露插件卸載的生命週期鉤子。在移除包之前,必須先移除管理的兼容預設:

dsh plugin --profile desktop exec dsh-claude remove-preset
dsh plugin --profile desktop remove @norman-else/dsh-claude

如果包在清理預設之前已被移除,請運行對應版本的清理命令:

pnpm dlx @norman-else/dsh-claude@<version> remove-preset

典型用法

  • 會話創建:重啓 DSH 後,在新建對話時選擇 Claude 預設即可開始。
  • 驗證工作流:在活躍開發期間,可以使用單獨的源代碼副本進行驗證,無需頻繁中斷當前 DSH 會話。
  • 構建執行:僅在 DSH 的回合結束後運行構建,因爲重建操作可以觸發插件的自動熱重載。

注意事項

  • 插件從不詢問或存儲 Claude 的憑據。用戶必須通過本地 Claude Code CLI 進行認證。
  • 如果 DSH 宿主版本過低(如 0.1.1-rc.2),必須鎖定插件版本爲 0.1.36 以避免運行時錯誤。
  • 首次構建或源碼鏈接時,確保 Node.js 版本不低於 20。

總結

@norman-else/dsh-claude 插件解決了在 DSH 中使用本地 Claude Code 的集成問題。它通過複用 Claude Code 的原生能力,同時利用 DSH 的管理界面,爲用戶提供了一個既熟悉又高效的工作流。更多細節和源碼可參考其 GitHub 倉庫 或 技能中心目錄。

羽毛球分组比赛记分
小程序二维码

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

小夜