王仕宇开源了一个软件著作权材料生成 Skill:Copyright Forge

最近我做了一个比较实用的 AI Agent Skill:

Copyright Forge Skill。

它的作用很直接:

读取一个真实的软件项目,帮助开发者整理和生成软件著作权登记所需要的说明书、源程序材料、申请信息填报稿以及相关校验报告。

简单来说,以前准备软著材料,很多工作都需要自己翻项目、整理功能、筛代码、写说明书、检查软件名称和版本号是否一致。

现在我希望把这一整套流程交给 AI Agent 来完成。

项目已经开源。

在这里插入图片描述


为什么要做这个 Skill?

如果你自己申请过软件著作权,应该会发现一个问题:

真正麻烦的往往不是写代码,而是整理材料。

比如:

  • 软件到底有哪些主要功能?
  • 说明书应该怎么写?
  • 哪些代码适合作为源程序鉴别材料?
  • 软件名称、版本号有没有前后不一致?
  • 项目里有没有数据库密码、API Key 等敏感信息?
  • 说明书里写到的功能,代码里面到底有没有?
  • 一个后端 API 项目,没有多少 UI 截图怎么办?
  • CLI 工具和 Web 项目的说明书是不是应该用同一种模板?

如果完全让大模型自由发挥,又会遇到另一个很严重的问题:

AI 很容易“脑补”。

例如你的代码里明明没有会员系统,它可能为了让说明书看起来完整,给你写一个会员管理模块。

从文档生成角度看似乎没问题,但对于软件著作权材料来说,这反而是不应该出现的。

所以 Copyright Forge 的核心并不是:

帮你写一篇漂亮的说明书。

而是:

从真实的软件项目出发,有证据地整理软著材料。


它本质上是一个 AI Agent Skill

Copyright 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.0"

applicant:
  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 和输出目录:

SKILL=skills/copyright-forge
OUT=/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 Skill

GitHub:

https://github.com/Rodert/copyright-forge-skill

posted @ 2026-08-23 11:25  JavaPub  阅读(11)  评论(0)    收藏  举报