dock 系列文本查看与编辑器:支持撤销重做、Ctrl+S 保存、未保存确认和二进制检测,作为 dock-files 的默认文本查看器。
安装
# npm 包(预构建)
dsh plugin --profile web add dock-editor
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:AKS1st/dock-editor
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
DSH 生态中最好的文本编辑插件 —— 没有之一。 在 DSH 里看代码、改配置、写文档,dock-editor 就是那个默认答案:撤销重做、Ctrl+S 保存、未保存提醒、二进制检测、窗口几何记忆,一个不少。别的查看器只会展示,dock-editor 让你真正动手改。
dock 系列的文件编辑器插件:注册 editor 文件查看器(默认查看器)与对应的编辑器区视图,通过自己的 /desk-editor 主机路由读写文件文本内容。
效果预览

功能
- 代码/配置文件高亮:识别扩展名的代码文件(ts/js/json/yaml/toml/ini/css/html/xml/py/sh 等)用 CodeMirror 6 编辑——增量解析、原生撤销/重做、行号、括号匹配、实时代码高亮;主题随 DSH 的
--dsw-alias-*变量走。 - 普通文本同样可编辑:所有文本文件都走 CodeMirror 编辑器(代码类有高亮,普通文本无高亮但在同一个编辑器里),撤销/重做、搜索、括号匹配等编辑能力全量可用。
- VSCode 风格右上角搜索(与 CM 面板解耦):
Ctrl+F打开编辑器内搜索浮窗(右上角)、Ctrl+H带替换、F3/Ctrl+G(Shift反向)跳转、Esc关闭。搜索框是独立浮层(非 CMshowPanel),不占编辑器布局——没有拖选自动滚动、匹配位置错乱、替换后面板折叠这些毛病。支持实时匹配高亮与current/total计数、↑/↓上/下一个、Enter下一个(Shift+Enter上一个);替换默认折叠(⇄展开),主题随 DSH 变量走(深浅正常),在其上滚轮滚动编辑区而非整个网页。 - 文本查看与编辑:
Ctrl+S保存(视图内全局可用);Ctrl+Z撤销 /Ctrl+Y(或Ctrl+Shift+Z) 重做、Ctrl+C/V/X/A复制粘贴全选,均走编辑器原生键位;另支持Alt+↑/↓移动行、Ctrl+/注释。 - 自动换行:工具条提供「换行」切换按钮,默认开启;关掉后长行回到水平滚动。
- 未保存提示:关闭带未保存修改的窗口前弹出确认(通过工作台
beforeClose钩子与 seed dirty 标记)。 - 二进制检测:读取时探测 NUL 字节,二进制文件显示提示而非乱码。
- 大小上限:单文件读取上限 256 KiB;超过上限的文件只显示前 256 KiB、禁用保存,避免截断原文件(主机端同样校验并拒绝)。
- 悬浮窗几何记忆:每个文件记住上次悬浮窗口的位置与大小,重新打开时恢复。
代码编辑器开销:
CodeMirror 6作为 构建期 devDependency 被打包进lib/client.js(与 dock-markdown 打包 marked 同理,不进入 runtime 依赖)。客户端 bundle 约 1.12 MB(gzip 约 300 KB)——其中编辑器运行时(@codemirror/view等)占大头,各语言文法合计仅约 68 KB(gzip)。
依赖
| 依赖 | 类型 | 说明 |
|---|---|---|
| dock >= 0.1.0 | peer(必需) | 工作台外壳:编辑器区视图、浮窗、ctx.workbench 由它提供 |
| dock-files >= 0.1.0 | peer(必需) | 文件域服务:dock-editor 作为其 editor 默认查看器被分发打开 |
| DSH Web 环境 | 运行时 | 必需,客户端平台为 Web |
cordis ^4.0.0-rc.7 |
peer | 插件框架(DSH 自带) |
react ^18.2.0 |
peer(可选) | 客户端渲染需要;未提供时编辑器 UI 不激活 |
@codemirror/*、@lezer/highlight |
dev(构建期) | CodeMirror 6 编辑器 + 语言文法,仅编译进 lib/client.js,发布后无需安装 |
可选搭档:dock-images、dock-markdown 等更多查看器可与 dock-editor 共存,按扩展名各自接管对应文件类型(dock-editor 是 default 兜底查看器)。
安装
需要 dock 与 dock-files:
推荐从 npm registry 安装:
dsh plugin --profile web add dock-base
dsh plugin --profile web add dock-files
dsh plugin --profile web add dock-editor
或通过 GitHub 安装(备选):
dsh plugin --profile web add github:AKS1st/dock
dsh plugin --profile web add github:AKS1st/dock-files
dsh plugin --profile web add github:AKS1st/dock-editor
安全
/desk-editor 路由只接受受信任来源(回环地址 / trustedHosts + 同源检查)的 POST。读取路径只要求是绝对路径、不限定会话工作区——对话上下文可能提及工作区外的文件(如 ~/.dsh/skills/...),查看器可打开它们查看;写入仍限定在会话工作区内(越界 403),工作区外文件在编辑器中以只读打开;写入前还会校验目标大小不超读取上限。
License
MIT
链接
同类插件
zhu1090093659/dsh-web#packages/dsh-task-board★ 8405
侧边栏多列任务看板:卡片交给真实 DSH 智能体会话执行,支持 cron 定时(Host 侧到点执行,关浏览器也生效)。
zhu1090093659/dsh-web#packages/dsh-web-all★ 8405
DSH Web UI 插件与皮肤合集:任务看板、git 图、右侧面板、远程移动端 UI、桌宠、实时 token 统计与皮肤中心。
ccch1mneyyy/dsh-TUI★ 4088
Claude Code 风格全屏终端 UI:像素鲸鱼顶栏、实时工作状态行、思考流式展开。
MeteorNOX/DeepSeek-Balance-Whale-Widget★ 4076
右下角常驻的小鲸鱼挂件:余额、今日已用与每轮对话消耗(含峰谷价),余额预警与今日预算的泡泡内容都可编辑;泡泡点击序列模块化自定义,支持并列加权 A/B、随机台词与随机图片;内置 30+ 厂商模板(OpenAI / OpenRouter / Kimi / 硅基流动 / 方舟 / 智谱 / MiniMax 等),按模型查余额与订阅额度;另有任务结束音效、导入音频、自定义角色与资源管理。数据全在本机,无遥测。
omdsh-dev/DSH-better-sidebar★ 4009
侧边栏完整工作台:内置文件渲染编辑、终端、Git 与子代理,支持三方插件注册新 Tab。
Devin-AXIS/deepseek-design#deepseek-idesign★ 1423
可视化设计工作室,支持网站、App 原型、海报、信息卡、报告和杂志的模板创建、元素编辑、选区级 AI 草稿衔接与导出。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。