
1. 项目背景与核心价值
在中国,软件著作权(以下简称"软著")申请是每一位开发者和企业的必经之路。然而,传统的申请流程往往面临三大痛点:
- 整理繁琐:手动截取 60 页代码、编写数千字的操作手册,耗费数天时间。
- 中介昂贵:市面上的代办服务动辄数千元。
- 隐私风险:将核心源代码交给第三方代办存在泄密风险。
SoftwareCopyright-Skill 的出现彻底改写了这一逻辑。作为一个基于 AI Agent (Codex/Claude) 的开源工具,它实现了在本地环境直接扫描源码,并自动化产出符合国家版板保护中心(CPCC)规范的全套申报材料。其核心价值在于:免费、私密、像素级合规。
2. 架构设计全景
SoftwareCopyright-Skill 并非一个简单的"文本拼接器",而是一个深度整合了静态分析、语义研判、文档渲染的复杂工作流系统。
其架构可分为三层:

- 逻辑编排层 (Python + SKILL.md):负责工作流的调度与 AI 提示词工程。
- 分析层 (Static Analysis):利用 AST 或正则对源码进行静态扫描,提取项目画像。
- 渲染层 (OpenXML + .NET) :利用底层的文档重构技术,确保生成的
.docx文件格式严丝合缝。
其核心流程采用了独特的 "Manual Gatekeeper" (人工门禁) 模式:AI 在执行到环境检测、业务理解、代码筛选等关键节点时,会强制停下并生成配置文件(JSON/Markdown),必须由用户确认或修改后,AI 才能继续执行。这种设计完美平衡了"自动化效率"与"合规准确性"。
3. 核心模块深度剖析
3.1 静态分析引擎:analyze_project.py
在项目启动之初,该模块负责对本地源码进行"摸底"。它不仅仅统计行数,更重要的是提取项目的"技术基因"。
python
# software-copyright-materials/scripts/analyze_project.py:42-67
def scan_project(path: Path) -> dict:
# 自动识别前端框架 (React/Vue/Next.js 等)
# 提取核心入口文件
# 扫描路由与核心组件
# ...
通过这一步,AI 能够知道该软件是一个"基于 React 的视频协作平台"还是"基于 Python 的数据处理引擎",为后续"去 AI 味"的操作手册编写提供真实数据支撑。
3.2 合规代码提取:extract_code_material.py
软著申报要求提供代码的前 30 页和后 30 页。该模块严格遵循官方规则:去空行、去注释、逻辑连续。
它会根据 propose_code_selection.py 生成的候选清单,精准地从文件系统中读取指定行段。其巧妙之处在于,它会优先推荐"最能体现功能逻辑"的前端页面或核心逻辑代码,而非杂乱的配置或库文件。
3.3 文档渲染引擎:build_docx_from_md.py 与 docx-toolkit
这是该项目的"硬核"所在。为了绕过常规 Word 操作库可能产生的超链接、样式混杂等问题,项目内置了 vendor/docx-toolkit。
python
# software-copyright-materials/scripts/build_docx_from_md.py:200-220
def build_formal_docx(draft_dir: Path, out_dir: Path):
# 读取已确认的申请表字段 (软件全称、版本号)
# 强制页眉版本号与正文联动
# 调用 OpenXML 模板,直接操作 XML 元素
# ...
这种直接操作 XML 的方式,确保了生成的 Word 文档在字体颜色(纯黑)、行间距、页码跳转等方面达到官方"一次性过审"的标准。

4. 关键设计:如何去除"AI 味"?
许多 AI 生成的软著材料因充斥着"智能化、赋能、一站式"等空洞词汇而被审核员退回。SoftwareCopyright-Skill 在 SKILL.md 中写入了严厉的指令:
- 拒绝套话:严禁空泛赞美。
- 自检轮次:脚本强制执行三轮自检(初稿生成 -> 流程扩写 -> 去制式表达)。
- 具体到事:每一段文字必须回答"用户看到什么、操作了什么、结果是什么"。
5. 生产环境避坑指南
- 环境依赖 :如果需要最高质量的 Word 校验,必须安装
.NET 8 SDK以运行docx-toolkit。虽然项目提供了 Python 兜底方案,但专业版生成的文档兼容性更佳。 - 代码抽样 :对于大型项目,不要试图生成全量代码 Word。应通过
代码文件选择.json选取最核心的 60-100 页代码。 - 版本号陷阱 :项目配置中的
v0.1.0在软著申报时通常建议写为V1.0。该工具会在交互环节主动提醒这一风险。
6. 总结与延伸阅读
SoftwareCopyright-Skill 不仅仅是一个工具,它代表了 "AI SOP" (AI 标准作业程序) 的未来:将复杂的专业领域知识(软著法规)转化为可执行的 AI 指令与代码约束。
对于开发者而言,这不仅是"软著自由",更是对项目管理与文档自动化的一次深刻实践。
- GitHub 仓库 : Fokkyp/SoftwareCopyright-Skill