前言¶
DeepSeek Harness (DSH) 的核心理念是“一切皆插件”。对于开发者或智能体构建者而言,处理长文档(如技术博客、调研报告)是常见需求。直接对话大模型存在上下文窗口限制、风格一致性难以维持、状态易丢失(如会话中断)等问题。
dsh-writing-studio 作为一个 DSH 工具型插件,旨在将长篇写作转化为一条可续写、可审校、可汇编的流水线。它不直接调用模型,而是作为状态机与持久化层,配合当前会话的模型完成写作、修改与审校。
核心功能¶
该插件提供长文工作流、风格控制、常用写作模板与持久化存储能力。
- 长文工作流:支持从建项目、定大纲、逐节起草、逐节审校到最终汇编成稿的全流程。
- 风格控制:通过配置文体、语气、读者、语言、视角、字数目标及自定义约束来引导模型输出。
- 常用模板:内置 8 套模板(公众号文章、技术博客、周报、小说章节、小红书笔记、演讲稿、调研报告、使用教程),每套模板包含默认大纲与写作提示。
- 持久化:每个项目对应一个 JSON 文件,存储大纲、草稿、审校记录与历史,支持跨轮次续写。
安装与启用¶
插件通过本地链接方式安装,要求 Node.js 环境版本不低于 20。
- 克隆仓库并进入目录:
git clone https://github.com/tea-whale/dsh-writing-studio.git
cd dsh-writing-studio
- 在当前目录下执行安装命令:
dsh plugin --profile web add link:$(pwd)
在 Windows PowerShell 中:
dsh plugin --profile web add link:D:\path\to\dsh-writing-studio
- 重启
dsh web以完成注册。 - 验证安装是否生效:
dsh --profile web --dump-config
检查输出中是否包含 `id: writing-studio`。
卸载命令:
dsh plugin --profile web remove dsh-writing-studio
典型用法¶
重启 DSH Web 会话后,可以直接下达指令,让模型自动走完工作流。
-
自动流:
在对话中输入:
> 用写作工具帮我写一篇「DeepSeek Harness 插件入门」技术博客,目标 3000 字,读者是会写代码的开发者。模型会依次调用:
writing_templates(选模板)→writing_project_create(建项目)→writing_section_save(逐节起草)→writing_section_review(审校)→writing_assemble(汇编成稿)。 -
手动控制:
在关键节点插入指令:writing_status:查看当前项目状态与下一步建议。writing_section_read:取回一节草稿与写作目标(用于续写)。writing_section_save:保存一节草稿(写一节存一节)。writing_section_review:记录审校意见或修订稿。writing_assemble:汇编成稿。
工具一览¶
| 工具名称 | 作用 |
|---|---|
writing_templates |
列出 8 套模板及其默认大纲、风格、写作提示 |
writing_project_create |
用标题 + 模板创建项目 |
writing_project_open |
打开已有项目,恢复完整状态 |
writing_projects_list |
列出工作目录下全部项目与进度 |
writing_status |
查看当前项目状态与下一步建议 |
writing_style_set |
查看 / 修改风格参数与字数目标 |
writing_outline_set |
替换大纲与主旨 |
writing_section_save |
保存一节草稿 |
writing_section_read |
取回一节草稿与写作目标 |
writing_section_review |
记录审校意见 / 问题清单 / 修订稿 / 定稿 |
writing_assemble |
汇编成带 front matter 的完整 markdown 成稿 |
存储布局¶
默认在 DSH 会话的工作目录下创建 .writing-studio 子目录。
<工作目录>/
└── .writing-studio/
├── projects/
│ └── <项目名>.json # 风格、大纲、各节草稿、审校记录、历史
└── manuscripts/
└── <项目名>.md # 汇编后的成稿
- 项目文件是普通 JSON,支持提交 Git 或手动编辑。
config.rootDir可修改默认目录名(默认.writing-studio)。config.storageRoot可指定绝对路径作为存储根,优先级高于rootDir。
注意事项与已知限制¶
- 零运行时依赖:插件仅使用 Node.js 内置模块,不依赖外部库。
- 不调用模型:写作、修改、审校均由当前会话的模型完成,插件只做状态机与持久化,不消耗额外 API。
- 风格是“提示合同”:风格字段是给模型的指令,而非自动风格检测工具,最终质量取决于模型能力。
- 默认覆盖:
writing_assemble默认覆盖manuscripts/<项目名>.md。若需多版本,请使用output参数指定文件名。 - 全局注册:插件全局注册。如果在 agent 预设中显式裁剪了全局工具,
writing_*工具也会被裁掉。 - 多项目处理:同一工作目录存在多个项目时,省略
project参数会报错,必须显式指定项目名。 - 并发保护:插件使用“进程内锁 + 独占创建”保护并发写入,同一进程内安全,跨进程同时写入同一文件仍可能发生覆盖。
生态与资源¶
- 仓库:https://github.com/tea-whale/dsh-writing-studio
- DSH 生态:https://www.skillhub.cn/plugins/tea-whale/dsh-writing-studio
- DSH 本体:https://github.com/deepseek-ai/deepseek-harness