DeepSeek Harness 插件:dsh-vsceditor

前言

DeepSeek Harness (DSH) 采用插件化架构。在调试智能体或进行长时间编码任务时,开发者通常需要实时查看 AI 的操作过程,或者在浏览器中拥有一个功能完备的代码编辑器。dsh-vsceditor 插件旨在解决这一问题,它通过在 DSH 的 Web UI 中嵌入 code-server,提供一个完整的 VS Code 环境。

基本信息

  • 插件名称:dsh-vsceditor
  • 维护者:k-ying
  • 许可证:MIT
  • 分类:客户端
  • GitHub:k-ying/dsh-vsceditor

核心功能

该插件主要解决浏览器端编辑器功能不足、无法实时监控 AI 代码变更以及进程管理的问题。

  • 三种互斥的后端模式

    • Embedded:默认模式,在 DSH 界面内嵌入 code-server。
    • Local:将 AI 的变更同步到本地桌面 VS Code。
    • Off:断开所有编辑器连接。
  • 真实的 VS Code 环境

    • 使用 code-server 4.x,具备完整的内核。
    • 支持扩展、主题、快捷键以及 Git 面板。
  • Follow 模式与变更视图

    • 当智能体调用 write 或 edit 工具时,编辑器会弹出红绿对比视图,并滚动到首个变更行。
    • DSH 会渲染其自身的只读 Diff 标签页,方便在任意一侧查看。
    • Diff 累积显示,直到下一轮对话开始编辑时才清除。
  • 文件锁定机制

    • 在智能体写入文件期间,文件在编辑器中变为只读,防止人工与 AI 覆盖冲突。
    • 写入完成后自动解锁。
  • 无孤儿进程

    • code-server 运行在 Watchdog 进程下,会定期向 DSH 主机发送心跳。
    • 当 DSH 主机崩溃、强制退出或升级时,Watchdog 会终止整个编辑器进程树,确保没有残留进程。
  • 工作区跟随会话

    • 当当前会话的工作区发生变化时,编辑器会自动切换到对应的目录并重启 code-server。
  • 持久化 Iframe

    • 编辑器页面始终附着在 <body> 上,切换标签页时仅进行隐藏/显示,不会重新创建会话。
  • 设置页集成

    • 在 Settings → Plugins → Plugin Configuration 下提供配置卡片,可控制 Follow 开关、自动启动、端口及 code-server 路径。
  • 零依赖

    • 主机和客户端均使用原生 JavaScript 手写,不依赖 npm 包。

安装与启用

  1. 安装插件
    通过命令行安装:
    dsh plugin --profile web add github:k-ying/dsh-vsceditor
  1. 配置嵌入模式(必需)
    该插件不随安装包附带 code-server 运行时(约 100MB)。要使用默认的 Embedded 模式,需要安装 code-server。

    • 方式一:一键安装
      打开 Editor 标签页,点击工具栏上的 Install code-server in one click 按钮。按照对话框提示下载并安装。
    • 方式二:全局 CLI 安装
        sh ~/.dsh/profiles/web/node_modules/dsh-vsceditor/scripts/install-code-server.sh ~/.dsh-editor
    如果要在当前工作区单独使用,直接运行脚本(不加参数)即可安装到目录下的 `.dsh-editor`。

典型用法

  • 监控 AI 工作:在对话过程中,每当 AI 修改文件,编辑器会立即弹出 Diff 视图,你可以直观地看到 AI 修改了哪些行。
  • 切换本地编辑器:点击编辑器工具栏上的开关,将同步模式切换到 Local,此时 Follow/Diff/锁定功能会转移至你本地的桌面 VS Code。
  • 断开连接:如果不需要编辑器功能,点击开关将其设为 Off,系统会释放相关资源。

注意事项

  • 系统限制:目前仅支持 macOS 或 Linux。Windows 平台未测试(code-server 官方暂无 Windows 构建)。
  • 运行时位置:编辑器的运行时数据(用户数据、配置、日志)不存储在工作区目录,而是存储在全局目录 ~/.dsh-editor/workspaces/<hash>-<workspace-name>/ 中。
  • 进程守护:由于使用了 Watchdog,如果 DSH 主机进程意外终止,编辑器进程也会被自动清理。

总结

dsh-vsceditor 为 DeepSeek Harness 提供了一个无需离开 Web 界面即可进行专业级代码编辑的能力,配合 Follow 模式和 Diff 视图,能够有效提升与 AI 协作开发时的可控性。

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

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

小夜