前言¶
软件著作权登记要交源程序鉴别材料、说明书、界面截图,以及在线申请表里一堆与项目相关的字段。内容往往已经在仓库和文档里,真正耗时间的是排版合规:源程序前后各 30 页、每页不少于 50 行、页眉软件名与版本号、右上角页码;说明书还要目录、标题层级和正文行距。这些规则固定,手工在 Word 里反复调整很容易出错。
DeepSeek Harness(DSH)把能力拆成插件按需加载。下面介绍维护者 Lucky020 发布的 dsh-copyright-kit(社区目录:lucky020/dsh-copyright-kit),它在一套工具里完成源程序 docx、说明书排版、五屏截图、申请表填报信息推导,以及多项目批量出件。插件归类为工作流;GitHub 仓库当前约 2 stars,npm 包版本 0.7.5,MIT 许可证。
这是什么¶
dsh-copyright-kit(README 中称「软著工坊」)的定位是:给定「一个代码仓库 + 软件全称与版本号」,生成登记环节常用的结构化输出——源程序 docx(60 页规则)、说明书 docx、PNG 界面截图、申请表填报用 Markdown,必要时一次 manifest 批量处理多个软件。
维护者 Lucky020,源码与说明见 GitHub。插件通过 DSH 的 Cordis patch 注册 server 端工具;安装后需重启 dsh web,工具才会注册到当前 profile。
核心功能:六个工具¶
copyright_source_doc — 源程序鉴别材料¶
从仓库根目录递归收集源码,自动跳过 node_modules、.venv、dist、二进制、锁文件、隐藏目录等;可通过 exclude 再排除目录。总行数对应页数少于 60 页时全量提交,否则取前 30 页 + 后 30 页;每页固定 50 行、显式分页符与固定行距,分页不依赖 Word/WPS 的自动排版。页眉为「软件名 + 版本号」,右上角 Word PAGE 域页码。返回页数、收录文件数、总行数、提交行数等结构化结果。
copyright_manual — 软件说明书排版¶
先把章节内容写成 JSON spec(sections 支持 paragraphs、bullets、steps、table、image)。调用时传入 spec_path 与 out_path。标题自动编号,一级黑体三号、二级黑体四号;正文宋体小四、1.5 倍行距;图片居中限宽、表格 Table Grid;页眉与页码规则与源程序材料一致。toc: true 时插入目录域,在 Word 中更新域后生效。可选 appendix_root 从代码抽取附录表(接口清单、数据表清单、源代码组织)。
copyright_screens — 五屏界面截图¶
按一份 screens spec 在同一套 UI 壳下渲染多页,headless Chrome 输出 2 倍高清 PNG(默认 3200×2000)。内容块类型包括 kpis、table、list、chart、progress、form、timeline 等,用 12 栅格 span 排布;状态文案可触发预设配色。README 建议每屏约 3 行内容块以填满默认视口;内容少时可调 height。
copyright_apply_info — 申请表填报信息¶
扫描 root 仓库与说明书 spec_path,能自动统计或推断的字段写入 Markdown 填报单(源程序量、文件数、语言、框架、数据库、git 最后提交日期、面向领域与模块等);无法确定的项标 ⚠。功能简介与技术特点优先使用 spec 中的 summary / tech_points,否则按模块名与依赖栈生成草稿,供复制到在线申请表。
copyright_pack — 批量出件¶
一份 manifest 列出多个软件各自的 root、spec、screens 等;在 out_dir 下为每个软件生成独立目录:源程序 docx、说明书 docx、申请表信息 md、screens/*.png。说明书章节未写 image 时,可按「章节标题 === 截图标题」自动插图;单件失败不影响其它条目,最后汇总成功/失败清单。
copyright_kit_status — 环境自检¶
生成失败时先调用,检查 python3、python-docx 及插件内脚本是否就绪。
安装与依赖¶
插件要求 Node >= 22。从 npm 安装:
dsh plugin --profile web add dsh-copyright-kit
从 GitHub 安装:
dsh plugin --profile web add github:Lucky020/dsh-copyright-kit
本地 link 开发(改代码即时生效):
dsh plugin --profile web add link:/absolute/path/to/dsh-copyright-kit
装完后重启 dsh web。README 明确:不要同时用多种方式安装同名插件,否则会重复注册并报 already registered。
文档生成依赖:
python3 -m pip install python-docx
界面截图需要 Google Chrome(或 Chromium / Edge);也可通过环境变量 DSH_COPYRIGHT_CHROME 指定浏览器可执行文件路径。
典型用法¶
单件:源程序 docx¶
在 DSH Web 或对话中调用 copyright_source_doc,参数示例:
{
"root": "/Users/you/project/donghuan",
"software_name": "设备管理系统软件",
"version": "V1.0",
"out_path": "/Users/you/软著/设备管理系统软件_V1.0_源程序.docx",
"exclude": ["tests", "migrations"]
}
路径改为本机绝对路径;软件全称与版本号按登记材料要求原样填写。
单件:说明书¶
先编写 spec JSON,再调用:
{
"spec_path": "/abs/spec.json",
"out_path": "/abs/说明书.docx"
}
README 给出篇幅配方:说明书页数与字数、截图张数、模块章节数量相关;工具会返回 est_pages 与 thin(少于 20 页)提示。能从代码统计的内容应交给工具或 appendix_root,业务描述与甲方信息需自行在 spec 中提供,README 强调「代码里没有的一律先问用户、不要推断后写入正文」。
批量:copyright_pack¶
{
"out_dir": "/abs/软著材料",
"defaults": { "version": "V1.0", "developer": "某某公司" },
"software": [
{
"name": "设备管理系统软件",
"root": "/abs/donghuan",
"exclude": ["frontend", "docker"],
"spec": "/abs/device/spec.json",
"screens": "/abs/device/screens.json"
}
]
}
输出目录结构见 README:每个软件名下源程序、说明书、申请表 md 与截图子目录。
适用场景与注意¶
适合谁:已有可扫描的代码仓库,需要按常见软著材料格式出 docx 与截图,并希望申请表字段尽量从仓库与 spec 推导的团队或个人开发者。
运行权限:插件工具在 DSH server 进程权限下读写 root、out_path 及调用本机 Chrome、python3。安装前应阅读 仓库源码 与 LICENSE,确认路径与排除规则符合预期。
已知边界:macOS Quick Look 预览 Word 可能无法正确显示自定义制表位与分页,页码显示异常;用 Word 或 WPS 打开正常。源程序 60 页是按固定行数构造的分页,与「真实打印页」在 Finder 预览中可能不一致,以 Word/WPS 为准。
写作纪律(插件 README):软件简称、首次发表日期、著作权人等仅用户可定的字段,未提供时应待填写,不由工具擅自定论。
结尾¶
dsh-copyright-kit 把软著材料里重复的排版与扫描工作收到 DSH 工具链里:六个工具覆盖源程序、说明书、截图、申请表信息与批量打包,并带环境自检。社区目录页:https://www.skillhub.cn/plugins/Lucky020/dsh-copyright-kit;安装说明与参数细节以 GitHub README 为准。