CodeSucker:把软著申报源程序文档整理交给自动化

0 阅读4分钟

如果你曾经申请过软件著作权登记,一定对「源程序鉴别材料」不陌生——前后各连续 30 页、每页不少于 50 行、页眉标注软件全称+版本号……格式细节繁多,一处不合就被退回补正。手工整理一次要花几个小时,而市面上的工具要么只做简单拼接、要么依赖在线服务(代码泄露风险)。

今天介绍的开源项目 CodeSucker,把常见的软件著作权源程序材料规则整理成了一套本地流水线:导入项目 → 五步向导 → 导出文档,并在导出前自动检查页数、行数、页眉和署名等风险,帮助减少手工整理错误与补正概率。

一、项目概览

项目信息详情项目名称CodeSucker(软著代码抽取器)当前版本v0.4.4开源许可证Apache-2.0技术栈Electron 43 + React 18 + TypeScript + Zustand支持平台macOS(Apple Silicon / Intel)、Windows x64GitHub 地址github.com/fanbuz/code…

CodeSucker 的核心定位是:离线扫描本地工程,完成代码清洗、前后段截取、显式分页、风险校验与 docx/txt 导出。目标用户包括需要准备软件著作权源程序鉴别材料的研发人员、行政人员、独立开发者和代理机构。


二、核心功能特性

1. 目录级文件筛选

递归扫描项目并以真实目录树展示,支持目录三态选择(全选/部分选/不选)、全局反选和清空。设置页可维护所有项目共用的默认扫描排除规则,并与项目 .gitignore 独立叠加。

CodeSucker v0.4.1 — 项目文件目录树、关键字实时筛选、文件排序与类型统计

上图:项目文件目录树界面,支持关键字实时筛选、文件排序与类型统计

2. 状态机代码清洗

这是 CodeSucker 的技术亮点之一。它使用逐字符状态机识别注释与字符串边界,而不是简单的正则匹配。这意味着 "https://..." 里的 // 不会被误删为注释。

支持的语言覆盖 30+ 后缀:Java、Kotlin、Python、JavaScript、TypeScript、Go、Rust、C/C++、C#、Swift、PHP、Ruby、Vue、HTML、CSS、SQL 等。

清洗功能包括:

  • 删除空行

  • Tab 转空格

  • 超长行按 78 列硬折断

  • 敏感信息脱敏(API 密钥、密码、内网 IP、手机号自动替换为占位符)

3. 规范化截取分页

  • 超 3000 行自动取前 1500 + 后 1500 行

  • 第 1 页必为模块开头、第 60 页必为模块结尾

  • 每 50 行显式分页符,不靠排版「凑页」

CodeSucker v0.4.1 — 源程序分页预览、完整首尾标签、前后段分界与页码导航

上图:源程序分页预览界面,A4 仿真展示,60 页缩略导航,前后段分界标记清晰可见

4. 一键导出

  • docx:页眉=软件名+版本号、右上角自动页码、宋体 10.5pt 固定行距

  • txt:纯文本备查文件

5. 提交前风险校验

导出前自动检查:

  • 有效内容是否存在

  • 每页行数是否达标

  • 末页是否满 2/3

  • 页眉一致性

  • 首末页边界是否正确

  • @author/Copyright 署名是否与著作权人冲突

给出「通过 / 警告 / 退回风险」三级结论。

6. 源码处理完全离线

扫描、清洗、排版、导出零网络请求,源代码永远不离开本机。版本检测只请求 GitHub 公开的 Release 版本元数据,不会发送项目路径、源码、配置或用户身份数据。


三、内置整理规则对照

CodeSucker 把软著申报的规范要求直接内置为处理逻辑:

规范要求CodeSucker 的实现前、后各连续 30 页,共 60 页超 3000 行自动截取前 1500 + 后 1500 行每页不少于 50 行内存中按 50 行切块 + 显式分页符,逐页保证页眉标注软件全称+版本号导出时写入页眉,未含版本号会在校验中警告页码 1-60 连续docx PAGE 域自动编号第 1 页为程序开头、第 60 页为结尾截取策略从首文件首行起、至末文件末行止无空行、注释不凑页清洗阶段删除(可关闭)末页至少满 2/3校验器检查并提示署名与著作权人一致全文扫描 @author/Copyright 并比对

依据:《计算机软件著作权登记办法》及中国版权保护中心公开审查口径。本工具不构成法律建议,最终以登记机构要求为准。

关于离线:这是底线

扫描、读取、清洗、校验、导出,每一步都在你本机。CodeSucker 没有"账号体系",没有"项目云端备份",连自动更新都只查 GitHub Release 的元数据。没有任何代码会传到任何服务器。

图片

                                        欢迎加微信索源码交流

软著申报这件事,本来就不该这么难。