dsh-aide:在 DeepSeek Harness 里叠一层 VS Code 风格本地 IDE

前言

在 DeepSeek Harness(DSH)里做智能体或插件开发,常见做法是:对话在 DSH 里,改代码、搜仓库、跑 Git、开终端则切到本机编辑器或另一个窗口。上下文要在工具之间来回搬,工作区状态也很难和当前会话对齐。

社区插件 dsh-aide(npm 包名 dsh-aide,仓库 PrismScopes/dsh-aide)把资源管理器、Monaco 编辑器、搜索、Git、终端和右侧 DSH 对话收进同一套 VS Code 风格界面,属于 DSH 生态里的客户端类插件,由 PrismScopes 维护。DSH 本身遵循「一切皆插件」;社区目录(例如 SkillHub 上的条目)由第三方汇总,与 DeepSeek / 幻方无官方从属关系。

这是什么

AIDE = AI + IDE:在 DSH 宿主内提供本地开发工作台,而不是单独再装一套桌面 IDE。

插件通过 DSH 的 shell.overlay、main、sidebar.panellist 与 settings.section 扩展点挂载;main 与 sidebar.panellist 成对注册、可互相切换,且不替换或卸载 ui-layout。配色跟随 DSH 主题,右侧直接复用 DSH 对话能力。

当前 npm 版本为 0.9.3(MIT 许可证)。package.json 声明与 DSH 0.2.1-rc.2 兼容;PDF / Word 按需预览另需 DSH 0.2.1-rc.2 及以上(客户端 require.async 按需 chunk)。

核心功能

下面按模块说明 README 中已列出的能力,便于对照你是否需要安装。

文件、编辑与预览

  • 懒加载目录树:创建、上传、拖放、重命名、删除,并显示 Git 状态。
  • Monaco 多标签:脏状态、原子保存、版本校验与冲突提示;外部变更经 WebSocket 推送。
  • 可直接打开文本、Markdown、图片、PDF、Word;Markdown 支持源码、大纲与相对链接;PDF 支持翻页缩放,DOCX 可渲染,DOC/ODT 可下载后用本机打开。

搜索与替换

基于 @vscode/ripgrep,支持大小写、全词、正则与路径筛选;结果按文件分组并高亮命中。支持单条/全部替换与保留大小写,F4 / Shift+F4 在结果间跳转,上一次搜索条件可跨会话保留。

源代码管理

覆盖暂存、撤销、丢弃、提交、分支、差异与提交文件;面板菜单结构与 VS Code 类似(查看和排序、提交、更改、拉取/推送/同步等)。提交图在独立编辑器标签中打开(图标与交互参考 Git Graph 扩展),支持提交详情、对比、分支过滤、检出/拣选/重置等。Git 操作记录可在「显示 Git 输出」中查看。

终端与输出

终端基于 node-pty 与 xterm:最多 8 个会话,支持重命名、分屏与 ANSI;打开面板时宿主可预热默认 shell(可用环境变量 DWV_TERMINAL_PREWARM=0 关闭)。底部另有与 VS Code 同构的 Output 视图(语言服务、Git 等通道)。

语言服务与行内补全

内置 TypeScript/JavaScript 语言服务(读 tsconfig.json、工作区 node_modules 类型),并自动发现 PATH 上的常见 LSP(如 pyright、pylsp、rust-analyzer、gopls、clangd 等),也可通过设置文件添加自定义服务器。编辑器支持转到定义、引用、重命名、符号、快速修复、悬停与补全;问题面板与 F8 / Shift+F8 跳转诊断。

行内补全在光标处显示幻影文本,可走 DSH 已配置模型或本地兜底;设置位于「DSH 设置 → AIDE → AI 补全」。宿主侧改动需重启应用后生效(纯客户端部分刷新页面即可)。

与 DSH 的衔接

  • 布局:左侧视图、底部终端、右侧 DSH 对话栏可独立显示,拖分隔条调宽,双击恢复默认。
  • 编辑器右键:选中文本时顶部有 DeepSeek Harness 子菜单(添加至对话、解释/修复/重构、生成测试等);除「复制为引用」外,其余动作只把文本插入对话输入框,不会自动发送。
  • 工作区恢复:按工作区根目录在本地保存目录展开、面板布局与上次打开的标签;未保存草稿不跨会话恢复。

安装与启用

在已安装 DSH CLI 的机器上,为 web profile 添加插件(命令来自仓库 README):

dsh plugin --profile web add dsh-aide

首次安装终端支持

终端依赖 node-pty。pnpm 11 可能拦截其构建脚本,导致 dsh plugin ... add 显示 Ignored build scripts 并以失败结束;README 说明此时依赖往往已写入 profile,需在 DSH 所在机器批准构建:

cd ~/.dsh/profiles/web
pnpm approve-builds --all

完成后重启 dsh web。若仍加载失败,可执行:

cd ~/.dsh/profiles/web
pnpm approve-builds --all && pnpm rebuild node-pty

刚发布不足 24 小时的 npm 版本可能被 pnpm 安全等待期拦截,等待后重试即可。

典型用法

安装并重启 dsh web 后,从 DSH 侧栏或主入口进入 AIDE 工作台(main / sidebar.panellist 与 overlay 由插件注册)。常见操作可依赖默认快捷键(可在「DSH 设置 → AIDE → 快捷键」中搜索、录制与恢复默认):

快捷键 操作
Ctrl+Shift+E 打开资源管理器
Ctrl+Shift+F / Ctrl+Shift+H 搜索 / 搜索并展开替换
Ctrl+Shift+G 源代码管理
Ctrl+S 保存当前文件
Ctrl+Alt+B 显示或隐藏 DSH 对话栏
Ctrl+\`` /Ctrl+Shift+`` 显示或隐藏终端 / 新建终端
F12 / Ctrl+点击 转到定义

细项编辑器、AI 补全、语言服务、终端字号等集中在 DSH 设置 → AIDE 单页滚动分组中。需要把选中代码送入对话时,在编辑器内右键使用 DeepSeek Harness 子菜单,在输入框补全说明后再自行发送。

适用场景与注意

适合谁:希望在同一 DSH 会话里完成「看仓库 → 改代码 → Git → 终端 → 问模型」闭环的开发者;尤其已经用 DSH 管理工作区、又熟悉 VS Code 交互的人。

运行权限:插件随当前 DSH 进程与工作区会话运行,具备该会话能访问的路径与 shell 能力。安装前建议阅读仓库源码与 MIT 许可证;README「安全」一节说明:路径限制在会话工作目录内、保存带版本校验、Git/ripgrep 以参数数组启动、终端移除部分敏感环境变量等。

其它注意:

  • 关闭标签、批量关闭或返回 DSH 主界面时,未保存文件会弹出与 VS Code 类似的确认框;保存失败时不会静默离开。
  • 不打开 PDF/Word 时不会下载对应客户端 chunk;过旧的 DSH 上这两项预览会提示不支持按需加载,其余功能仍可用。
  • 开发本插件需 Node.js ^22.19 || >=24、pnpm 11.7、系统 Git 及 node-pty 的本机构建环境(见 README「开发」一节)。

结尾

dsh-aide 把 Monaco 编辑器、仓库浏览、ripgrep 搜索、可视化 Git(含提交图)、多会话终端和 DSH 对话栏合成一个工作台,并补上 LSP、行内补全与工作区布局恢复,减少在 DSH 与外部 IDE 之间切换的成本。

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

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

Xiaoye