摘要
软件著作权登记过程中,源码材料整理是一项重复性高的工作,手动整理分页、清洗代码耗时费力,不少在线工具还存在源代码泄露风险。CodeSucker 是一款开源桌面工具,面向软著申报场景自动化生成源程序鉴别材料。采用本地全流程处理,源码不会上传第三方服务器,内置状态机代码解析、合规分页逻辑、风险校验模块,输出可直接用于申报的 docx 文档。支持 Windows、macOS 跨平台运行,核心业务逻辑与 UI 层解耦,具备扩展 CLI 能力,适合开发者与中小企业办理软著使用。
关键词:CodeSucker;软件著作权;软著源码;Electron;本地离线工具;Apache‑2.0

前言
办理软件著作权登记,版权中心对源程序材料有明确规范,要求前后各连续 30 页合计 60 页,每页代码行数达标,页眉携带软件名称及版本号。 人工整理需要复制筛选代码、清理注释空行、调整分页格式,极易出现分页错乱、行数不达标,导致材料补正退回。市面上部分网页版工具需要上传完整项目源码,带来代码泄密隐患。
CodeSucker 不同于在线网页服务,所有解析、清洗、分页全部在本机完成,把软著申报的审查参考规则内置为自动化流水线,降低源码材料的制作成本。
开源地址:https://github.com/fanbuz/codesucker 开源协议:Apache‑2.0,允许商用修改与分发,分发版本需要保留许可证与 NOTICE 声明。
一、项目概览
✨核心定位
本地离线软著源程序鉴别材料自动化生成桌面工具。
关键点:业务核心封装为独立 core 包,完全脱离 Electron 环境,GUI 仅负责界面交互与文件 IO,后续可扩展命令行 CLI 版本。
📦技术栈
- 主体语言:TypeScript
- 桌面框架:Electron43 + React18
- 核心流水线:packages/core(无 GUI 依赖)
- 构建工具:Node/npm
🔥项目特点对比传统软著整理方案
1、真正本地离线处理,用户源码不会向外传输,规避私有代码泄露风险。 2、状态机解析代码,不依赖简单正则,可正确识别字符串内部注释符号,避免误删有效代码。 3、标准化合规分页,使用显式分页符,更换字体不会打乱分页结构。 4、内置三级合规检测,提前发现行数、页眉、首尾页边界问题,降低补正概率。 5、支持敏感信息自动脱敏,批量替换密钥、内网 IP、手机号等隐私内容。 6、配置持久化,项目筛选规则可以保存复用,支持 gitignore 规则过滤文件。
二、内置流水线与能力
CodeSucker 完整处理链路:项目目录扫描 → 文件筛选排序 → 代码清洗脱敏 → 源码截取分页 → 合规审计校验 → 导出 docx/txt 文件。
表格
| 功能模块 | 功能说明 |
|---|---|
| 目录扫描模块 | 递归遍历项目目录,支持勾选 / 反选文件,兼容 gitignore 排除规则,按后缀过滤代码文件 |
| 代码清洗模块 | 删除无效空行、Tab 转空格、超长行换行,30 + 编程语言兼容,敏感信息脱敏 |
| 分页生成模块 | 源码超 3000 行自动截取前 1500 行 + 末尾 1500 行,生成合计 60 页标准材料 |
| 合规审计模块 | 每页行数、页眉、首尾边界、版权署名冲突检测,分为通过 / 警告 / 退回风险三级结果 |
| 文档导出模块 | 输出 docx 正式文档与 txt 备份,自动配置页眉、页码、宋体 10.5pt、固定行距 |
🛠内置工具集
1、文件扫描工具 递归读取本地目录,支持重新扫描,保留上一次勾选配置;支持入口文件置顶调整输出顺序。
2、代码解析清洗工具 采用逐字符状态机解析注释与字符串边界;覆盖 Java、Python、Go、Rust、C/C++、C#、Vue、PHP、SQL 等三十余种开发语言。
3、分页排版工具 A4 纸张规范,显式分页符;强制首页为模块开头、末页为模块结尾,保障软著材料格式要求。
4、合规校验工具 对输出材料做预检测,输出风险报告,提示可能被版权中心驳回的问题点。
🧠项目架构分层
项目仓库采用 monorepo 分包设计: 1、packages/core:核心业务流水线,包含发现、清洗、截取、渲染、审计完整逻辑,不依赖 Electron。 2、packages/app:Electron+React 图形界面,只处理窗口、拖拽、文件读写、预览渲染。 3、design:UI 原型资源。 4、docs:项目设计文档。 5、scripts:构建、打包脚本。
🎬程序运行模式
两种使用方式,一是直接运行源码启动开发环境;二是下载 Releases 预编译安装包直接使用。
三、完整工作流程
1、拖拽导入本地代码项目文件夹。 2、扫描目录,勾选需要导出的源码文件,调整文件输出顺序,设置入口文件置顶。 3、填写软件全称、版本号,开启代码清洗、敏感信息脱敏选项。 4、进入 A4 分页预览界面,浏览完整 60 页渲染效果,查看前后段截取分界。 5、执行合规风险校验,阅读检测报告,根据告警调整配置。 6、导出 docx 正式文档以及 txt 备查副本。 7、人工复核输出文件,用于软著申报提交。
四、部署使用
📋环境依赖
- Node.js 18 及以上版本
- npm 包管理器
部署命令
bash
git clone https://github.com/fanbuz/codesucker.git
cd codesucker
npm install
npm run dev
执行单元测试
bash
npm test
完整项目构建
bash
npm run verify
也可以前往项目 Releases 页面下载 Windows、macOS 预编译安装包,下载后核对 SHA256 校验值。
macOS 安装包未经过 Apple 公证,首次打开会触发系统拦截,需要使用终端命令放行。
五、风险校验机制
1、输出前自动校验每页行数是否达标。 2、检测末页内容占比,避免页面内容过少。 3、校验页眉格式一致性。 4、检查代码内部作者署名,识别和申报版权存在冲突的内容。 5、输出检测报告,区分通过、警告、退回风险三个等级。
六、适用人群
1、独立开发者:个人项目申请软件著作权,不想上传源码到在线网站。 2、小微企业研发团队:批量项目办理软著,提升材料制作效率。 3、知识产权代理从业者:本地快速生成规范源码鉴别材料。 4、开源项目维护者:需要准备软著申报材料,重视源代码安全。
七、小结
CodeSucker 把软件著作权源码材料的整套规范做成开源本地工具,避开在线工具源码上传泄露隐患。通过状态机做代码解析,配套分页逻辑与预校验,能够快速生成符合登记参考要求的源程序文档。 工具输出仅为申报稿件,程序校验不等于官方审查结果,提交前依旧需要人工核对内容。
项目地址:https://github.com/fanbuz/codesucker
重要文档:
README.md ------ 项目主文档
RELEASE.md ------ 版本更新说明
#CodeSucker #软件著作权 #软著 #开源工具 #Electron #本地离线