前言¶
用 DeepSeek Harness 干活的人常遇到一个别扭:智能体在右侧会话里改文件、跑终端、提审批,你只能在对话窗格里看文字描述,看不到它到底改了哪几行、diff 长什么样,也没法顺手在旁边开个终端验一下。想要一个真正的编辑器,就得切到外部 IDE,会话、上下文和审批又断掉了。
下面介绍的 liujiangnanchenjbguo/dsh-gufa-code(古法编程)解决的就是这件事:在 DSH 里一键进入 VS Code 风格的 IDE 模式,左边是 Monaco 编辑器 + Git + SSH + 真实终端,右边原样停靠官方 DSH 会话本体。插件由 liujiangnanchenjbguo 维护,注释里写明了作者理念:AI 是助理,人是第一责任人。
这是什么¶
一个 DSH 插件。点工作区行的「…」菜单里的「古法编程」,主面板切换成三栏 IDE:
- 左:活动栏 + 资源管理器 / 源代码管理 / SSH / 终端;
- 中:Monaco 编辑器(标签页、面包屑、状态栏、两文件对比、Git diff);
- 右:官方 DSH 会话面板原样停靠,工具调用、自动读写文件、审批弹窗、斜杠命令、上下文引用、会话历史都还在。
从哪个工作区点进来,IDE 就打开哪个工作区,右侧也自动是你在这个工作区正在聊的会话。退出只有一个入口:标题栏右上角的「返回经典模式」。
仓库目前星标 1,分类「客户端」,许可证 MIT,实现语言 JavaScript。
核心功能¶
编辑器¶
- Monaco 编辑器随包离线分发,无需联网下载;
- 多标签、按扩展名语法高亮、面包屑、状态栏(分支 / 行列 / 保存状态);
- 保存走磁盘版本冲突检测 + 原子写,带未保存标记;
- 资源管理器右键支持新建 / 重命名 / 删除 / 复制 / 粘贴 / 打开所在文件夹 / 两文件对比;
- 支持 Ctrl/Cmd 多选、软删除与
⌘Z撤销。
Git 与 Diff¶
- 源代码管理面板:分支、ahead/behind(点击可推送/拉取)、更改列表、暂存/取消暂存、提交(
⌘⇧↵,自动暂存未暂存改动); - Git Graph:泳道图 + 提交文件 + 查看某次提交的文件,支持撤销上次提交、丢弃全部、逐文件还原;
- Git diff 用 Monaco diff 视图,红绿强对比、自动定位第一处改动,工作区一侧可编辑并自动保存;
- 两文件对比可任选两个文件,左右都可编辑(本地草稿,保存时写回)。
SSH 与终端¶
- SSH 面板解析
~/.ssh/config,点一下就在终端里执行ssh <alias>; - 终端是真实 PTY + xterm:多标签、新建/关闭、自动 resize、明暗主题,SSH 与任意命令都能跑。
右侧会话¶
停靠的就是官方 DSH 会话本体,不是截图,也不是简化版。工具条提供新建会话、会话列表、打开完整对话、收起。会话弹窗里可以直接切换工作区:点弹窗右上角的工作区名,会话列表随之切换,点会话即打开,IDE 项目同时切到该工作区。
聊天框与资源管理器的文件互通¶
- 从 Finder 复制的文件可直接 ⌘V 粘进资源管理器(写入选中目录,重名自动加「副本」),也可从 Finder 直接拖进文件树;
- 在 Finder 复制文件后在右侧对话输入框 ⌘V,会自动匹配项目内同名同内容文件并插入
@相对路径引用(图片仍按 DSH 默认附件处理)。
快捷键¶
仅在 IDE 模式生效,参考 VS Code:⌘S 保存、⌘K 清空终端、⌘J / ⌃`` 终端、⌘B左栏、⌘W关标签、⌘⇧E/⌘⇧G资源管理器 / 源代码管理、⌘⇧USSH、⌃⇧` 新建终端、⌘/` 行注释(非编辑器区为快捷键列表)。经典模式快捷键不受影响。
摸鱼模式(桌面悬浮层,实验功能)¶
在 IDE 标题栏点「摸鱼」按钮,弹出运行中 App 列表,选中一个 App 后古法编程会把它切到前台,并让古法编程以无边框、半透明、永远置顶的独立悬浮窗出现,吸附到该 App 当前窗口,位置和大小一致,窗口移动/缩放时实时跟随;固定吸附只留在被吸附 App 所在的 Space / 屏幕。悬浮窗标题栏有「透明度 20%–100%」滑块,实时调节整窗不透明度并记住设置。点「退出摸鱼」把最后的状态原样带回主窗口。全局快捷键 ⌃⌥⌘G 切换点击穿透。
平台支持:
- macOS Apple Silicon / Intel 开箱可用(npm 包内含 arm64 + x86_64 universal helper);首次启动依赖 macOS「辅助功能」权限,系统设置 → 隐私与安全性 → 辅助功能 → 勾选 DeepSeek Harness,改完重启一次 DSH 生效;
- Windows 可用(实验):npm 包内含
desktop/float/bin/win-x64/gufa-float-win.exe,前置条件 Windows 10/11 + WebView2 Runtime;首版窗口不透明(透明度滑块对窗口背景不生效)、exe 未代码签名可能被 SmartScreen 拦截; - Linux 可用(实验,仅 X11):包内含
desktop/float/bin/linux-x64/gufa-float-linux,依赖 GTK3/WebKit2GTK 运行库;纯 Wayland 下不能跟随/隐藏其它窗口,有 XWayland 时自动退到 X11 后端; - 选择器底部有「自检」按钮,一键导出平台 / helper / WebView2 / 辅助功能 / X11 现场信息,反馈问题时先复制它。
安装与启用¶
插件包发布在 npm,安装命令来自 README:
dsh plugin add dsh-gufa-code
也可以在 DSH 桌面端 / dsh web 的「插件 → 插件市场」里搜索「古法编程 / dsh-gufa-code」安装。
要求 DeepSeek Harness 0.2.1 及以上,支持桌面端与浏览器里的 dsh web。安装完成后,在工作区行的「…」菜单里点第二项「古法编程」进入 IDE。
进入 IDE 后再验证几件事:右侧会话是否还是当前工作区的会话、终端能否跑通一条命令、Git 面板能否读到分支。如果都正常,说明插件与当前 dsh 版本兼容。
适用场景与注意¶
适合想在 DSH 里保留官方会话上下文、同时要 Monaco 编辑器和真实终端的人:日常改代码、看 diff、提交、连 SSH、跑命令都可以在 IDE 模式内完成,不必切出去。
几点需要注意:
- 插件以当前 dsh 进程的权限运行,能读写它工作区的文件、能跑终端,所以安装前应先读一遍源码(仓库公开)并确认许可证(MIT);
- 摸鱼模式属于实验功能,各平台限制不同(Windows 首版窗口不透明、Linux 纯 Wayland 不完全支持),遇到问题先用自检导出 JSON 和日志定位;
- 摸鱼模式需要 macOS 辅助功能权限或 Windows/Linux 对应运行库,权限没给到位时功能不可用,但不会影响其余 IDE 功能;
- 「摸鱼」会操作其它 App 的前后台与窗口,属于侵入性较强的功能,建议先在个人环境试用;
- 作者的「作者的话」一节表达了个人对 AI 辅助编程的立场,不代表任何组织,也不影响插件功能本身。
结尾¶
古法编程的价值在于把编辑器和官方会话放进同一个界面:AI 在明处干活,你在明处验收,每处改动可 diff、可撤销。对想留在 DSH 里完成编辑和验证的人来说,它补上了「看不到代码 / 没有终端」的那块。
- 目录页:https://www.skillhub.cn/plugins/liujiangnanchenjbguo/dsh-gufa-code
- GitHub:https://github.com/liujiangnanchenjbguo/dsh-gufa-code
需要完整发布流程说明可看仓库内 docs/RELEASE.md,平台验收清单见 docs/FLOAT-ACCEPTANCE.md。