linhx1999/dsh-writing-pad ↗★ 0
dsh-writing-pad
Session-scoped writing pad for the DeepSeek Harness web GUI: a right-details-column Markdown editor with preview, AI-assisted rewrite through the conversation, workspace file save/load, and the writing_draft agent tool.
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:linhx1999/dsh-writing-pad说明文档
阅读完整 README ↗dsh-writing-pad
面向 DeepSeek Harness Web 界面的会话级写作板。它在 details 槽位中挂载一个右侧栏 Markdown 编辑器,功能包括:
- Markdown 编辑与内置预览(编辑/预览切换)。
- AI 辅助改写:选中一段文字(编辑或预览模式均可),可选填写自然语言要求,把请求作为真实消息发送进会话;agent 在会话内完成改写,并通过
writing_draft工具应用到草稿。 writing_draftagent 工具(action=read/action=rewrite,入参old+new),让 agent 可以读取并就地改写草稿。- 工作区文件保存/加载(会话工作区下的相对
.md文件)、按会话隔离的草稿、防抖自动保存,以及 2 秒自动同步——agent 侧的改写会自动出现在写作板中。
仓库结构
dsh-writing-pad/
├── package.json # dsh.bundle + dsh.client 双清单、exports、prepare
├── cordis.patch.yml # bundle 层:插入 `writing-pad` 插件行
├── tsdown.config.ts # 自包含构建(由 `prepare` 触发)
├── src/
│ ├── index.ts # Host:WritingPadService(@Remote)+ writing_draft 工具
│ ├── remote.ts # 生成的 Remote 客户端绑定(见"Client→Host 桥接"一节)
│ └── client/
│ ├── index.ts # Client:槽位注册、store、桥接装配
│ ├── WritingPad.tsx
│ ├── WritingToggle.tsx
│ ├── store.ts # 按会话共享的状态
│ ├── markdown.ts # 极简 Markdown 渲染器
│ └── writing-pad.css
├── README.md # English
└── README.zh-CN.md # 简体中文
安装
需要 dsh CLI(dsh --profile web 启动 Web 界面)。从 GitHub 安装:
dsh plugin --profile web add github:you/dsh-writing-pad#
git 安装会拉取源码,因此包的 prepare 脚本(tsdown)必须能构建入口。pnpm ≥ 10 在显式允许之前会拒绝执行 git 依赖的 prepare:第一次 add 会失败,dsh 会打印出确切的包 key——把它复制进该 profile 的 pnpm-workspace.yaml:
allowBuilds:
dsh-writing-pad: true
然后重新执行 add。只允许你信任的源码,并固定提交号,避免后续推送悄悄改变实际运行的内容。不想要 allowlist 的替代方案:发布到 npm(预构建的 lib/)后执行 dsh plugin add dsh-writing-pad,或用 pnpm pack 打 tar 包分发。
不启动即验证,然后再启动:
dsh --profile web --dump-config # 会显示 "# == dsh-writing-pad" 层
dsh --profile web