dsh-serena:爲 DeepSeek Harness 代理注入 IDE 級符號代碼智能

前言

DeepSeek Harness(DSH)通過插件化架構擴展其功能。在處理複雜的代碼庫時,標準代理通常缺乏 IDE 級別的符號導航能力,例如查找特定符號的引用、重命名變量或查看項目符號概覽。dsh-serena 插件通過引入 Serena MCP 服務器,爲每個代理補齊了這部分能力,使其能夠進行結構化的代碼分析。

插件定位

dsh-serena 是 DeepSeek Harness 的一個工具類插件,由 akash-digitavision 維護。它將 Serena 的符號代碼智能能力通過 MCP 協議集成到 DSH 生態中,解決代理在代碼庫中無法進行深度符號操作的問題。

核心功能

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

  1. 符號代碼智能:提供 find_symbol、find_referencing_symbols、rename_symbol、replace_symbol_body、get_symbols_overview 等工具。
  2. MCP 服務器集成:通過 stdio 啓動 Serena 服務器,提供符號搜索、引用查找、重命名和診斷等功能。
  3. 會話鉤子管理:運行會話 hooks 以管理項目激活和工具使用,確保代理正確調用 Serena 工具。
  4. 本地化存儲:僅讀取或寫入激活的工作區,記憶存儲在 .serena/ 目錄中。

安裝與啓用

安裝命令

dsh plugin --profile web add github:akash-digitavision/dsh-serena

前置條件
1. Serena CLI:需要安裝 Serena 命令行工具。

    uv tool install serena-agent
  1. Hooks 文件:需要配置 ~/.dsh/hooks.json 文件。該文件定義了會話開始、工具使用前的提醒以及會話結束時的清理邏輯。

重啓服務
安裝完成後,需要重啓 DeepSeek Harness 以加載插件。

典型用法

啓動會話
建議使用 --project-from-cwd 參數啓動會話,以便自動激活當前目錄爲 Serena 項目:

dsh --context claude-code --project-from-cwd

驗證激活
進入會話後,可以詢問代理:

activate this project with serena

代理將驗證項目是否成功激活,並開始使用 Serena 提供的符號工具進行操作。

適用場景與注意事項

運行權限
- 插件以當前 DSH 進程的權限運行,無賬戶、API 密鑰或遙測。
- 所有操作僅限於本地進程,無外部服務依賴。

兼容性與性能
- 兼容性:要求 DeepSeek Harness 版本不低於 0.2.0-rc.2。
- 依賴版本:依賴版本被鎖定爲 @deepseek-ai/dsh-hooks-claude-code 0.2.0-rc.2,請確保 DSH 運行時版本匹配。
- 首次查詢:在新建項目中進行第一次符號查詢時,需要下載對應語言的服務器,速度可能較慢。

總結

dsh-serena 通過標準化的 MCP 協議將 Serena 的符號能力引入 DSH 生態。它不依賴外部 API,完全本地化運行,適合需要在本地環境對代碼結構進行深度分析的智能體工作流。

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

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

小夜