SoftCopyright - 智能软件著作权申请材料生成工具
概述
当用户需要申请软件著作权时,此 skill 会自动完成以下流程:
-
读取用户输入,如果是关键词则先搜索相关内容
-
分析项目源码结构和内容
-
生成详细的软件说明书(约2000-3000字)
-
生成符合要求的源代码文档(60页,每页50行)
-
导出为PDF格式供软著申请使用
支持的触发指令
用户可以通过以下方式触发此 skill:
-
"帮我生成软著申请材料" - 处理当前目录项目
-
"生成软件说明书" - 仅生成软件说明书
-
"生成源代码文档" - 仅生成源代码文档
-
任何关键词 - 首先搜索相关内容,然后询问是否生成软著材料
工作流程
步骤 1: 理解用户意图
首先判断用户输入的类型:
// 检查用户输入类型 if (用户输入包含 "软著" || "著作权") { 生成类型 = "全部材料" } else if (用户输入包含 "软件说明书") { 生成类型 = "说明书" } else if (用户输入包含 "源代码" || "源码") { 生成类型 = "源代码文档" } else if (用户输入是关键词) { 先搜索相关内容 询问用户是否生成软著材料 }
步骤 2: 项目路径确认
// 默认使用当前目录 let projectPath = process.cwd()
// 询问用户确认路径 await confirmProjectPath(projectPath)
步骤 3: 使用CLI生成软著材料
推荐使用CLI工具生成软著材料:
方式1: 使用关键词触发index.js(交互式)
cd ~/.claude/skills/softcopyright node scripts/index.js 软著
方式2: 使用cli.js直接生成(推荐)
node scripts/cli.js generate --project <项目路径>
方式3: 使用快捷命令(最佳体验)
~/.claude/skills/softcopyright/softcopyright-generate --project . --auto-pdf
方式4: 技能系统自动调用
用户输入"帮我生成软著" → 自动执行: softcopyright-generate --project . --auto-pdf
该工具会:
-
自动扫描项目源码
-
识别源代码文件类型
-
分析项目结构和技术栈
-
生成HTML格式的软件说明书和源代码文档
-
询问用户是否自动在浏览器中打开并打印为PDF
步骤 4: 生成选项
用户可以选择:
-
生成全部材料(软件说明书 + 源代码文档)
-
仅生成软件说明书
-
仅生成源代码文档
-
仅查看项目统计
步骤 5: 输出位置
默认输出路径: <项目目录>/softcopyright-output/
生成的文件:
-
软件说明书_<项目名>_<时间戳>.html
-
源代码文档_<项目名>_<时间戳>.html
步骤 6: 导出PDF
有两种方式将HTML转换为PDF:
方式1: 自动转换(推荐)
添加--auto-pdf选项
node scripts/cli.js generate --project <项目路径> --auto-pdf
-
自动在浏览器中打开HTML
-
3秒后自动弹出打印对话框
-
选择"保存为PDF"即可
方式2: 手动转换
-
在浏览器中打开生成的HTML文件
-
按 Cmd+P (macOS) 或 Ctrl+P (Windows/Linux)
-
在打印设置中:
-
展开"更多设置"
-
勾选"页眉和页脚"
-
选择"保存为PDF"
-
保存PDF文件
工具脚本使用说明
scanner.js - 源码扫描工具
扫描项目目录并分析结构:
node ~/.claude/skills/softcopyright/scripts/scanner.js <项目路径>
输出项目分析的JSON文件。
doc-generator.js - 软件说明书生成器
生成详细的软件说明书:
node ~/.claude/skills/softcopyright/scripts/doc-generator.js
--type manual
--input <项目分析JSON>
--template <模板文件>
--output <输出PDF路径>
source-exporter.js - 源代码文档生成器
生成符合软著要求的源代码文档:
node ~/.claude/skills/softcopyright/scripts/source-exporter.js
--input <源码目录>
--output <输出PDF路径>
--pages 60
--lines-per-page 50
使用示例
示例 1: 完整软著材料生成
用户: "帮我生成软著申请材料"
Claude 执行流程:
-
确认项目路径:当前目录
-
运行源码扫描工具
-
分析项目结构和技术栈
-
生成软件说明书
-
生成源代码文档
-
导出PDF文件
-
向用户展示生成结果
示例 2: 关键词搜索后生成
用户: "React电商系统"
Claude 执行流程:
-
搜索"React电商系统"相关信息
-
展示搜索结果
-
询问:"是否需要为React电商系统生成软著申请材料?"
-
用户确认后执行完整生成流程
示例 3: 仅生成软件说明书
用户: "帮我生成软件说明书"
Claude 执行流程:
-
扫描项目源码
-
分析项目功能
-
生成软件说明书
-
导出PDF文件
输出文件规范
软件说明书PDF
-
文件名:软件说明书_项目名称_YYYYMMDD.pdf
-
字数要求:2000-3000字
-
包含所有必需章节
-
专业排版和格式
源代码文档PDF
-
文件名:源代码文档_项目名称_YYYYMMDD.pdf
-
页数要求:60页(或处理全部代码)
-
每页行数:不少于50行
-
无注释和无版权信息
-
代码连续性保证
软件著作权申请要求
源代码文档要求
-
页数要求:通常需要20-60页
-
格式要求:每页不超过50行代码
-
注释要求:需要移除所有注释,只保留纯代码
-
页眉页脚:需要包含软件名称和版本号
-
代码连续性:需要保证代码的连续性和完整性
软件说明书要求
-
内容详实:约2000-3000字
-
结构完整:包含所有必需章节
-
重点突出:突出软件的独创性
-
专业描述:使用专业的技术描述
技术栈
-
Node.js: 主要运行环境
-
PDFKit: PDF文档生成
-
glob: 文件模式匹配
-
commander: CLI参数解析
-
chalk: 终端颜色输出
-
inquirer: 交互式命令行界面
依赖安装
使用 nvm 管理 Node.js 版本:
确保使用合适的 Node 版本
nvm use 18
安装依赖
cd ~/.claude/skills/softcopyright npm install
最佳实践
-
项目分析准确: 确保正确识别项目类型和技术栈
-
内容详实专业: 生成专业的技术描述和功能说明
-
格式规范合规: 严格按照软著申请要求格式化
-
用户交互友好: 提供清晰的进度提示和确认流程
-
文档完整性: 确保生成材料的完整性和准确性
安全注意事项
-
源码安全: 不修改原始源码,只读取和分析
-
隐私保护: 不上传源码到外部服务
-
本地处理: 所有处理都在本地完成
-
用户确认: 重要操作前需要用户确认
故障排除
扫描失败
检查项目路径
ls -la <项目路径>
检查权限
chmod -R 755 <项目路径>
PDF生成失败
检查依赖安装
cd ~/.claude/skills/softcopyright npm list
重新安装依赖
npm install
内存不足
对于大型项目,可以:
-
排除不必要的目录(node_modules, .git等)
-
分批处理源码文件
-
增加Node.js内存限制
开发和扩展
要添加新的文件类型支持,编辑 scripts/scanner.js :
const SUPPORTED_EXTENSIONS = { '.rs': { 'single_line': '//', 'multi_line': ['/', '/'], 'language': 'rust' }, '.go': { 'single_line': '//', 'multi_line': ['/', '/'], 'language': 'go' } }
版本: 1.0.0 作者: peterfei 许可: MIT