在使用 DeepSeek Harness 进行开发或小说创作时,通常需要在文件管理、代码编辑和文档阅读之间切换。这种切换会打断心流,也容易造成上下文丢失。DSH 的插件生态提供了扩展空间,其中 dsh-readwrite-hub 插件整合了文件管理、码字模式和小说阅读功能,试图在一个工作区内解决这些问题。
这是一个面向 DeepSeek Harness 的读写字间插件,修改自 dsh-workspace-explorer(MIT 许可证),由 Nth-5620 维护。它将同一个文件在“码字”和“阅读”两种形态间切换,共享排版偏好,并提供自动保存和进度记忆功能。
核心功能¶
阅读模式¶
阅读模式针对长文本阅读进行了优化,采用 CJK 字宽校准与字符切片技术实现按字分页。页面底部仅保留一行安全余量,页面始终填满,新章节会自动另起一页。
- 进度管理:翻页即自动保存进度(写入 ~/.dsh/readwrite-hub/state.json),关闭应用或切换文件后重新打开可自动续读。支持自动进度书签(置顶显示)与用户书签。
- 交互:支持键盘翻页(PageUp/Down 等)、点击进度条跳转、底部跳页输入框。阅读模式与码字模式共享字号、行距、背景等排版偏好。
- 章节导航:自动解析多种章节格式(如“第一章”、“序章”、“Chapter N”等),点击目录可直达对应章节。
- 滚动优化:在滚动模式下,段落启用 content-visibility: auto,长文档拖动流畅。
码字模式¶
码字模式为小说创作提供专门的写作环境。
- 横线格与自动保存:提供横线格背景(CSS 渐变绘制,原生滚动无卡顿),停止输入 3 秒后自动保存。
- 排版控制:支持切换字体(衬线/楷体/无衬线/等宽)、字号(A-/A+)、行距、左右边距及纸张背景(默认/米色/浅绿/蓝色)。
- 格式化:支持一键去除行首缩进及段落间自动空行。
书架系统¶
阅读过的文本文件会自动登架。书架界面与文件树视图通过顶栏图标切换。
- 管理:支持按最近阅读时间排序,可置顶、搜索、移除。
- 续读:点击书架中的书籍会自动以阅读模式打开并续读。
- 失效检测:如果源文件被移动或删除,书架会标记“无法打开”,可一键移除。
EPUB 只读阅读¶
在文件树中打开 .epub 文件会自动进入只读阅读模式。
- 渲染:集成 foliate-js 在浏览器内直接解压渲染。
- 进度记忆:使用 CFI(章内精确位置)记录进度,与文本阅读共用同一进度字段。
- 安全边界:通过 CSP 阻断非本域脚本,仅放行 EPUB 自身排版所需的 data: / blob: 资源。请只读取来源可信的 EPUB。
文件管理¶
- 固定侧边栏:提供固定右侧侧边栏,支持拖拽调整宽度,替代弹窗双栏面板。
- 单工作区树:只显示当前会话所属工作区的文件树。
- 引用与跳转:支持通过原生机制插入 @ 文件引用,点击对话内的文件链接可在插件内打开。
安装¶
dsh plugin --profile web add github:Nth-5620/dsh-readwrite-hub
安装后请重启 dsh web 并硬刷新浏览器(Ctrl+Shift+R)。侧边栏底部出现「工作区文件」按钮即表示加载成功。
典型用法¶
- 在侧边栏文件面板打开文本文件(.txt 或 .md)。
- 点击工具栏的「码字」按钮进入写作模式,或点击「阅读」进入书籍模式。
- 在阅读模式下,点击顶栏「书架」图标切换视图,或点击目录直接跳转至对应章节。
- 点击顶栏「书架」图标关闭书架,可切换回文件树视图。
注意事项¶
- 运行环境:插件完全在本地运行,不发起出站网络连接,不上传文件内容。文件读写通过本地 HTTP API 完成。
- 版本依赖:依赖 DeepSeek Harness 0.1.1-rc.2+ 或 0.1.2-alpha.1+。
- EPUB 安全:EPUB 模式为只读,请只读取来源可信的 EPUB。
- 权限范围:若自行将
dsh web绑定到非回环地址,插件 API 将暴露在非本地网络,请勿将带本插件的 DSH 直接暴露到公网。