dsh-writing-studio:DeepSeek Harness 长文写作插件

前言

DeepSeek Harness (DSH) 的核心理念是“一切皆插件”。对于开发者或智能体构建者而言,处理长文档(如技术博客、调研报告)是常见需求。直接对话大模型存在上下文窗口限制、风格一致性难以维持、状态易丢失(如会话中断)等问题。

dsh-writing-studio 作为一个 DSH 工具型插件,旨在将长篇写作转化为一条可续写、可审校、可汇编的流水线。它不直接调用模型,而是作为状态机与持久化层,配合当前会话的模型完成写作、修改与审校。

核心功能

该插件提供长文工作流、风格控制、常用写作模板与持久化存储能力。

  • 长文工作流:支持从建项目、定大纲、逐节起草、逐节审校到最终汇编成稿的全流程。
  • 风格控制:通过配置文体、语气、读者、语言、视角、字数目标及自定义约束来引导模型输出。
  • 常用模板:内置 8 套模板(公众号文章、技术博客、周报、小说章节、小红书笔记、演讲稿、调研报告、使用教程),每套模板包含默认大纲与写作提示。
  • 持久化:每个项目对应一个 JSON 文件,存储大纲、草稿、审校记录与历史,支持跨轮次续写。

安装与启用

插件通过本地链接方式安装,要求 Node.js 环境版本不低于 20。

  1. 克隆仓库并进入目录:
    git clone https://github.com/tea-whale/dsh-writing-studio.git
    cd dsh-writing-studio
  1. 在当前目录下执行安装命令:
    dsh plugin --profile web add link:$(pwd)
在 Windows PowerShell 中:
    dsh plugin --profile web add link:D:\path\to\dsh-writing-studio
  1. 重启 dsh web 以完成注册。
  2. 验证安装是否生效:
    dsh --profile web --dump-config
检查输出中是否包含 `id: writing-studio`。

卸载命令:

dsh plugin --profile web remove dsh-writing-studio

典型用法

重启 DSH Web 会话后,可以直接下达指令,让模型自动走完工作流。

  1. 自动流:
    在对话中输入:
    > 用写作工具帮我写一篇「DeepSeek Harness 插件入门」技术博客,目标 3000 字,读者是会写代码的开发者。

    模型会依次调用:writing_templates(选模板)→ writing_project_create(建项目)→ writing_section_save(逐节起草)→ writing_section_review(审校)→ writing_assemble(汇编成稿)。

  2. 手动控制:
    在关键节点插入指令:

    • 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。

注意事项与已知限制

  1. 零运行时依赖:插件仅使用 Node.js 内置模块,不依赖外部库。
  2. 不调用模型:写作、修改、审校均由当前会话的模型完成,插件只做状态机与持久化,不消耗额外 API。
  3. 风格是“提示合同”:风格字段是给模型的指令,而非自动风格检测工具,最终质量取决于模型能力。
  4. 默认覆盖:writing_assemble 默认覆盖 manuscripts/<项目名>.md。若需多版本,请使用 output 参数指定文件名。
  5. 全局注册:插件全局注册。如果在 agent 预设中显式裁剪了全局工具,writing_* 工具也会被裁掉。
  6. 多项目处理:同一工作目录存在多个项目时,省略 project 参数会报错,必须显式指定项目名。
  7. 并发保护:插件使用“进程内锁 + 独占创建”保护并发写入,同一进程内安全,跨进程同时写入同一文件仍可能发生覆盖。

生态与资源

  • 仓库: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
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜