公司动态
王仕宇开源了一个软件著作权材料生成 Skill:Copyright Forge
最近我做了一个比较实用的 AI Agent SkillCopyright Forge Skill。它的作用很直接读取一个真实的软件项目帮助开发者整理和生成软件著作权登记所需要的说明书、源程序材料、申请信息填报稿以及相关校验报告。简单来说以前准备软著材料很多工作都需要自己翻项目、整理功能、筛代码、写说明书、检查软件名称和版本号是否一致。现在我希望把这一整套流程交给 AI Agent 来完成。项目已经开源。为什么要做这个 Skill如果你自己申请过软件著作权应该会发现一个问题真正麻烦的往往不是写代码而是整理材料。比如软件到底有哪些主要功能说明书应该怎么写哪些代码适合作为源程序鉴别材料软件名称、版本号有没有前后不一致项目里有没有数据库密码、API Key 等敏感信息说明书里写到的功能代码里面到底有没有一个后端 API 项目没有多少 UI 截图怎么办CLI 工具和 Web 项目的说明书是不是应该用同一种模板如果完全让大模型自由发挥又会遇到另一个很严重的问题AI 很容易“脑补”。例如你的代码里明明没有会员系统它可能为了让说明书看起来完整给你写一个会员管理模块。从文档生成角度看似乎没问题但对于软件著作权材料来说这反而是不应该出现的。所以 Copyright Forge 的核心并不是帮你写一篇漂亮的说明书。而是从真实的软件项目出发有证据地整理软著材料。它本质上是一个 AI Agent SkillCopyright Forge 不是一个传统的 SaaS 网站也不是让我再开发一套软著管理后台。它本质上是一个AI Agent Skill。也就是说你可以把它安装到支持 Skill 工作流的 AI Coding Agent 中让 Agent 获得一套专门处理软件著作权材料的规则、流程、模板和脚本。Skill 的入口文件是skills/copyright-forge/SKILL.md整个 Skill 不只是几段 Prompt而是包含了一套相对完整的工作流。项目结构类似copyright-forge-skill/ ├── docs/ ├── skills/ │ └── copyright-forge/ │ ├── SKILL.md │ ├── scripts/ │ ├── assets/ │ └── references/ ├── tests/ ├── CHANGELOG.md ├── CONTRIBUTING.md ├── LICENSE └── README.md这也是我现在比较喜欢的一种 AI 应用方式。不是重新开发一个 Web 页面然后再套一个聊天框。而是直接把专业知识、工作流程和工具封装成 Skill让 AI Agent 去执行。Copyright Forge 可以做什么目前第一版主要围绕普通的软件著作权登记材料准备流程设计。1. 自动分析软件项目首先它会扫描真实项目识别项目结构和技术栈。目前已经考虑Go Java Python Node.js Vue React这意味着它不是让你先手动告诉 AI“这是一个 Vue Go 的管理系统。”而是尽量先从项目本身寻找依据。2. 从代码中提取功能证据这是我比较看重的一个设计。Copyright Forge 强调Evidence First——证据优先。比如 AI 判断你的软件有用户登录 订单管理 文件上传 权限控制 数据统计不能仅仅因为项目名称像一个后台管理系统就自动把这些功能全部写进去。它需要尝试建立功能 ↓ 模块 ↓ 文件 ↓ 代码证据这样的对应关系。然后再生成软件功能描述。这样可以尽量避免一种很常见的问题说明书写得非常丰富但是项目里面根本没有这些功能。3. 建立统一的软件信息档案准备软著材料时还有一个特别容易出错的问题材料之间的信息不一致。比如说明书软件名称XX智能管理系统 版本V1.0源代码文档软件名称XX管理平台 版本1.0.0申请信息里可能又出现第三种写法。Copyright Forge 为此设计了一个统一的软件信息档案software-profile.yaml类似software:name:示例智能管理系统short_name:示例系统version:V1.0applicant:name:待确认development:method:待确认completion_date:待确认publication:status:待确认之后生成的材料尽量都从这个 Profile 读取信息。也就是说先确定事实再生成材料。而不是每生成一个文件就让 AI 重新猜一次。4. 自动整理源程序材料申请软著时源程序材料也是比较耗时间的一部分。一个实际项目可能有3 万行代码 10 万行代码 甚至几十万行代码你不可能把整个 Git 仓库直接提交上去。Copyright Forge 提供了源程序选择和清单生成流程。例如python3$SKILL/scripts/collect_source.py\/path/to/project\--output$OUT/source-manifest.json生成一个确定性的 Source Manifest。也就是说同样的项目、相同的规则尽量得到稳定的源码选择结果而不是让 AI 每次随机挑一批代码。5. 检查敏感信息这个功能其实非常重要。真实的软件项目里面经常存在API Key 数据库地址 数据库密码 Token Secret 内部服务地址 Access Key如果直接整理代码然后提交很可能把这些东西一起带出去。Copyright Forge 因此提供了敏感信息检测流程。需要特别说明的是它不会修改你的原始项目。如果需要脱敏只处理生成出来的副本并且记录发生过哪些脱敏操作。这一点我认为是做代码类 Agent 工具时很重要的原则尽量不要为了生成材料污染用户原始代码。6. 根据软件类型生成不同文档不同的软件其实并不适合使用完全相同的说明书。例如一个Vue Java 管理系统比较适合用户操作手册。而一个Go API 服务可能几乎没有用户界面。如果强行要求几十张系统截图反而很奇怪。因此 Copyright Forge 会根据软件形态考虑不同的材料形式。例如UI 软件更偏向用户操作说明 功能页面说明 真实软件截图API / 后端服务更偏向功能说明 系统设计说明 接口能力说明CLI 工具则更偏向安装方式 命令说明 参数说明 运行示例这比所有项目套一个 Word 模板要合理很多。7. 最后再做一次一致性检查材料生成完成并不代表任务结束。Copyright Forge 还会继续检查软件名称是否统一 版本号是否统一 功能是否有代码依据 Profile 是否存在未确认字段 材料是否包含潜在敏感信息 源程序清单是否正常 最终输出是否存在阻塞项并给出类似这样的状态DRAFT NEEDS_CONFIRMATION VALIDATED READY尤其是开发方式、权利人、完成日期、发表状态等信息本来就不应该让 AI 自己猜。这些事实需要申请人确认。一个完整流程大概是什么样可以把整个 Copyright Forge 理解成下面这条流水线真实软件项目 ↓ 扫描项目结构 ↓ 识别技术栈 ↓ 建立功能证据映射 ↓ 建立 software-profile.yaml ↓ 人工确认关键事实 ↓ 生成软件说明材料 ↓ 整理源程序材料 ↓ 检测敏感信息 ↓ 生成申请信息填报参考 ↓ 一致性校验 ↓ 输出最终材料我真正想做的其实不是单独解决“写一篇软著说明书”这个问题。而是尝试把软件项目 → 软件著作权材料这一整个过程变成一个标准化的 Agent Workflow。怎么使用项目中的辅助脚本需要Python 3.10并且只使用 Python 标准库。可以先设置 Skill 和输出目录SKILLskills/copyright-forgeOUT/tmp/copyright-forge-output扫描项目python3$SKILL/scripts/scan_project.py\/path/to/project\--output$OUT/project-scan.json建立代码证据python3$SKILL/scripts/build_evidence_map.py\/path/to/project\--output$OUT/evidence-map.json整理源程序清单python3$SKILL/scripts/collect_source.py\/path/to/project\--output$OUT/source-manifest.json然后根据模板建立software-profile.yaml确认需要申请人确认的信息以后再继续进行材料生成和校验。有些事情我故意没有让 AI 自动做做这个 Skill 的时候我给它设置了一些明确的边界。例如不能虚构软件功能。不能虚构源代码。不能虚构软件权利归属。不能擅自确定合作开发、委托开发等法律关系。不能把 Git Commit 时间直接当成软件完成日期。不能伪造软件截图。不能修改官方申请表然后假装这是正式文件。不能承诺“使用这个 Skill 就一定可以通过软著登记”。这些限制看起来让 AI “没那么万能”但我反而觉得这是专业 Agent Skill 非常重要的一部分。一个真正能进入工作流的 Agent不应该只是知道自己能做什么。它还必须知道什么事情不能替用户做决定。为什么我越来越看好 Skill我最近越来越明显地感觉到AI Coding Agent 下一阶段的竞争不一定只是谁的模型参数更多 谁写代码更强 谁 Benchmark 更高还有一个非常重要的方向专业工作流。过去我们使用 AI 的方式是人 ↓ Prompt ↓ LLM ↓ 答案现在越来越像人 ↓ Agent ↓ Skill ↓ 规则 知识 脚本 工具 ↓ 真实项目 ↓ 结果Copyright Forge 就是我对这个方向的一次尝试。把过去需要人工整理的大量规则和经验逐步沉淀成一个可以复用、迭代和开源的 Skill。以后不只是软著。很多相对标准化的专业工作其实都可以这么做。最后Copyright Forge 目前还是一个比较早期的版本我也会继续补充实际使用过程中遇到的问题。如果你本身是独立开发者 程序员 软件公司 外包团队 AI Coding 用户 经常需要申请软件著作权的人可以拿自己的真实项目试一下。如果你发现某种项目结构无法识别、某类软著材料处理得不够好或者对 Skill 的工作流有更好的想法也欢迎提 Issue 或 PR。我觉得 AI Agent 真正有价值的方向之一就是把那些重复、繁琐但是又有明确规则的专业工作逐渐自动化。而软件著作权材料整理恰好就是这样一个场景。项目名称Copyright Forge SkillGitHubhttps://github.com/Rodert/copyright-forge-skill