dsh-serena
在终端中运行以下命令:
dsh plugin install akash-digitavision/dsh-serena
将以下提示词粘贴到 DeepSeek Harness 对话框中:
在 DeepSeek Harness 终端执行 dsh plugin install akash-digitavision/dsh-serena,或在设置 → 插件市场搜索 dsh-serena;源码见 https://github.com/akash-digitavision/dsh-serena。
插件介绍
在只靠读文件、全文搜索和 shell 的环境里,代理很难像 IDE 一样理解「符号」:定义在哪、谁引用了它、能否安全重命名。dsh-serena 把 Serena 的符号级能力接到 DeepSeek Harness 上,让同一套配置下的每个代理都能做符号查找、引用与实现定位、概览、重命名与安全删除,以及基于符号的编辑与诊断,而不是在大量文本里盲搜。
插件通过 mcp-serena 以 stdio 方式拉起本地 Serena MCP 服务,对外提供 mcp__serena__* 工具集;同时依赖会话钩子,在会话开始时提示激活当前工作区为 Serena 项目,并在代理偏离符号工具时提醒回归,减少「装了却不用」的情况。在 claude-code 上下文且从当前目录推断项目时,工作区会自动激活,与 Serena 重叠的内置能力(读文件、搜索、shell 等)会隐藏,避免重复与干扰。
数据与权限边界清晰:仅在已激活的项目工作区内读写,记忆落在项目下的 .serena/;不依赖账号、API 密钥或遥测。语言服务可能在首次查询某语言时按需下载,首查会偏慢。
适合已在 DSH 上跑代理、又希望重构、跨文件导航和符号级改动更稳的开发者;也适合希望团队统一「符号优先」工作流的场景。需本机安装 Serena CLI,并配置 ~/.dsh/hooks.json(可从模板复制),且 DSH 版本需满足插件声明的兼容性。
使用场景
- 跨文件查找符号定义、引用与实现,避免全文盲搜
- 在代理会话中安全重命名或删除符号并做符号级编辑
- 用 claude-code 上下文自动激活当前工作区为 Serena 项目
适合人员
- 在 DeepSeek Harness 上跑代理、需要 IDE 级代码理解的开发者
- 经常做跨文件重构、重命名与引用梳理的团队
- 希望用钩子让代理稳定使用符号工具而非只读文件的用户