鱼皮AI导航
鱼皮AI导航
  • 主页
  • 社区
  • AI工具
  • AI知识库
  • AI提示词
  • MCP
  • Skills
  • AI学习资源
  • AI资讯
  • GitHub开源
登录/注册

code-ownership-audit

判定 Python 代码是原创还是演绎作品:给出与上游最长相同表达片段、逐条豁免依据和风险清单。纯标准库 `ast` 分析——离线运行,不调用模型。

技能包
访问 GitHub
文档README

代码所有权体检 · Code Ownership Audit

判定 Python 代码是原创还是演绎作品 —— 给出与上游最长相同表达片段、逐条豁免依据和风险清单。

🥇 纯 AST 静态分析,零第三方依赖,代码不出本机 🥇

简体中文 · English

GitHub(主源) · Gitee(国内镜像)

安装 · 使用 · 定价 · 国内加速 · 反馈问题

你引入了一段开源代码,改了改,现在它算谁的?

  • 法律上,"改过"不等于"是我的"。 演绎作品(derivative work)仍受上游许可证约束。
  • AI 大量生成代码后,这个问题变得更普遍。 你可能根本不知道某段实现和上游有多像。
  • 交付给甲方时,把演绎作品当自有资产声明,是实打实的风险。

这个工具做的事:把你的代码和上游逐个 AST 节点比,告出最长的相同表达片段,并对每条风险给出豁免依据(是通用惯用法?是接口约定必然形状?还是真的抄了表达)。


Highlights

🥇 纯 AST 静态分析,不联网、不调模型。 审计引擎只用 Python 标准库 —— 你的代码不出本机,不存在隐私泄露。

🥇 两种安装方式,同一套引擎。 Agent Skill 和 DSH Plugin 共享 audit.py,按你的 Agent 支持情况选。

🥇 两档报告,预览免费不限次。 免费档给出风险总数、类型分布、一句话摘要;完整档 ¥0.2/次,含行号、修复建议、服务器签名审计凭证。

🥇 x402 协议付款。 服务端是纯支付预言机:只验钱、签发回执,不接收也不存储你的任何代码。回执用内嵌公钥离线验签。

🥇 31 项测试覆盖。 python -m pytest -q 一键跑完,全部通过再发版。


国内加速

本仓库主源在 GitHub,国内用户可通过 Gitee 镜像加速访问:

用途链接
仓库镜像https://gitee.com/seikabook/code-ownership-audit
raw 直链https://gitee.com/seikabook/code-ownership-audit/raw/main/
安装 Skillgit clone https://gitee.com/seikabook/code-ownership-audit.git

两种安装方式

同一套审计引擎(audit.py),两种装载形态,按你的 Agent 支持情况选:

Agent SkillDSH Plugin
形态SKILL.md 技能目录Cordis 模块,导出 apply(ctx)
装载放进 Agent 的 skills 目录dsh plugin --profile web add
入口文件SKILL.mdindex.js + cordis.patch.yml
适用Claude Code / Codex / Cursor / opencode / Hermes / WorkBuddy 等DeepSeek Harness
需要 Node.js否是(≥ 22)

两者互不干扰,DSH 用户想走 skill 路径也可以。

Agent Skill(Claude Code / Codex / Cursor / opencode / Hermes / WorkBuddy 等)

对你的 Agent 说一句话就行:

请把 https://github.com/ffseika0304/code-ownership-audit 安装为 skill

它会自己 clone 到对应的 skills 目录。之后直接说:「帮我做个代码所有权体检」。

国内加速安装:

▼
bash
复制代码
git clone https://gitee.com/seikabook/code-ownership-audit.git \ ~/.agents/skills/code-ownership-audit
各 Agent 的 skills 目录

⚠️ 目录名必须是 code-ownership-audit —— opencode、Cursor 等要求目录名与 frontmatter 的 name 一致,改名会导致加载失败。

~/.agents/skills/ 是 opencode 与 Cursor 都识别的通用路径。其他位置:

Agent全局项目级
Claude Code~/.claude/skills/.claude/skills/
opencode~/.config/opencode/skills/.opencode/skills/
Cursor~/.cursor/skills/.cursor/skills/
Codex~/.codex/skills/.codex/skills/
Hermes~/.hermes/skills/—
WorkBuddy~/.workbuddy/skills/.workbuddy/skills/
DSH(零插件路径)~/.dsh/skills/.dsh/skills/

opencode 与 Cursor 同时兼容 .claude/skills/ 和 .agents/skills/,装一份即可被多个 Agent 共用。

DSH Plugin(DeepSeek Harness)

▼
bash
复制代码
dsh plugin --profile web add github:ffseika0304/code-ownership-audit

安装后重启 profile 让 bundle 层生效:

▼
bash
复制代码
dsh --profile web

技能随即出现在模型可见的技能目录里,遇到「这段代码算不算抄的」这类场景会自动加载,也可以直接点名: 「用 code-ownership-audit 检查 ./my-code 相对 ./upstream 的所有权情况」

锁版本 / 本地调试 / 卸载
▼
bash
复制代码
# 锁定 commit(推荐,DSH 仍是 developer preview) dsh plugin --profile web add "github:ffseika0304/code-ownership-audit#<sha>" # 本地目录(开发调试) dsh plugin --profile web add link:/absolute/path/to/code-ownership-audit # 卸载 / 更新 dsh plugin --profile web remove code-ownership-audit dsh plugin --profile web update code-ownership-audit

插件层是纯 ESM JavaScript、零构建、零运行时依赖,因此不会触发 pnpm 的 allowBuilds 授权中断。


快速使用

▼
bash
复制代码
# 免费预览:风险数量 + 类型分布 + 一句话摘要 python audit.py <你的代码> --reference <上游代码> --tier preview # 完整报告:代码位置 + 行号 + 修复建议 python audit.py <你的代码> --reference <上游代码> --tier full

目标和参照都可以是单个 .py 文件或整个目录。


两档报告

免费预览完整报告
价格免费、不限次¥0.2 / 次
风险总数与分级统计✅✅
风险类型分布✅✅
每条一句话摘要✅✅
代码位置 + 具体行号—✅
逐条修复建议—✅
可导出 md / json—✅
服务器签名审计凭证—✅
是否需要联网完全离线仅付款那一步

预览档在代码层就不构造行号与建议字段,不是前端隐藏 —— 说到做到。

关于"付费解锁的到底是什么"

说实话:完整报告是在你本机算出来的。付费解锁的不是"计算结果", 而是带服务器 RSA2 签名的认证交付物 certified.json / certified.md —— 用来证明这次审计确实付费执行过,可存档、可交给甲方、可离线复验签名。

技术上懂行的人当然可以直接跑 --tier full 拿全量。这是"本地执行"架构的必然, 我们没有加壳也没有混淆 —— 代码保持干净可读。定价逻辑落在凭证价值上, 而 ¥0.2 这个价格本身就让绕过这件事不值得。

付款流程(x402)

完整报告走 x402 协议,用支付宝 AI 钱包付款。买家侧若还没有钱包 CLI:

▼
bash
复制代码
npx -y @alipay/agent-payment@latest install-experience alipay-bot check-wallet # 自检

付款时依次执行两条命令(两条都要跑,只跑第一条拿不到凭证):

▼
bash
复制代码
# 第 1 步:扫码付款 alipay-bot 402-buyer-pay --file <payment_needed.json> # 第 2 步:查询支付状态,取回 proof + 签名回执 alipay-bot 402-query-payment-status --trade-no <交易号>

服务端是纯支付预言机:只验钱、签发回执,不接收也不存储你的任何代码。 回执用内嵌公钥(paygate.SERVER_PUBKEY_PEM)离线验签,任何字段被篡改都会失败。


依赖

用途依赖
审计引擎(免费档)无 —— 只用 Python 标准库 ast
DSH 插件装载层无 —— 纯 ESM JavaScript,零构建零依赖
付费档离线验签pycryptodome
付费档付款支付宝 AI 钱包 CLI

运行环境与权限

项目说明
Python≥ 3.9(审计引擎本体)
Node.js≥ 22(仅 DSH 插件装载层需要)
网络访问免费档零网络访问;仅付费档的付款那一步联网访问支付预言机
上传数据none —— 代码不出本机
模型调用none —— 不调用任何 LLM
文件写入只写 --out-dir 指定的产物目录,不改动源码目录

测试

▼
bash
复制代码
python -m pytest -q # 31 项(14 项功能测试 + 17 项结构测试)

仓库结构

▼
text
复制代码
code-ownership-audit/ ├── audit.py # 审计引擎(741 行纯 Python AST 分析) ├── paygate.py # 付费网关(x402 协议 + pycryptodome 验签) ├── SKILL.md # Agent Skill 入口 ├── index.js # DSH Plugin 入口(纯 ESM,零依赖) ├── cordis.patch.yml # DSH 插件声明 ├── dsh-plugin.json # DSH 插件元数据 ├── package.json # npm 元数据(仅用于 DSH 插件发现) ├── icon.png # 插件图标(PNG) ├── icon.svg # 插件图标(SVG) ├── test_audit.py # 14 项功能测试 ├── test_structural.py # 17 项结构测试 ├── LICENSE # MIT └── .gitignore

常见场景

  • 引入开源代码后,确认法律上还算不算自己的
  • 净室重写(clean-room rewrite)后,验证是否真的切断了上游
  • 交付前自查,避免把演绎作品当自有资产
  • 合并外部贡献(PR)时,确认来源干净

Star History

Star History Chart

Disclaimer

本工具给出的是技术事实(哪些表达相同、相同到什么程度),不构成法律意见。 最终的许可证判断请咨询专业人士。

本项目为社区开源项目,与 DeepSeek AI 无隶属关系,非官方插件。

License

MIT

技能包

快捷安装

复制到终端去安装插件

dshplugin--profilewebaddgithub:ffseika0304/code-ownership-audit

温馨提示

装插件等于在本机跑第三方代码,权限与你相同,能读文件、用凭据、访问网络,工具审批管不到。请只装可信来源,并尽量锁定 commit。

站长:程序员鱼皮 老鱼简历 商务合作 增值电信业务经营许可证
2026 鱼皮AI导航 | 沪ICP备19026706号-6
站长:程序员鱼皮 老鱼简历 商务合作 增值电信业务经营许可证
2026 鱼皮AI导航 | 沪ICP备19026706号-6
🔥热门工具
朱雀AI检测朱雀AI检测
朱雀AI检测助手朱雀AI检测助手
LovartLovart
老鱼简历老鱼简历
WritePass官网WritePass官网
面多多面多多
CursorCursor
星月写作星月写作
零感AI零感AI
墨得问题墨得问题
dsh 插件推荐
dsh-skill-manager
DeepSeek Harness 技能生命周期管理:技能库(纯技能池)、工作区启用白名单、会话勾选三层模型;Web 设置面板与对话页内嵌视图,支持技能文件浏览/编辑、zip 与文件夹批量导入、引擎实际加载校验。
dsh-session-lab
用于打包可验证会话、评测可复用技能和对比受控会话轨迹的 DSH 工作流。
dsh-amphoreus
把 δ-me13(翁法罗斯)的 13 张黄金裔角色技能卡变成席位工作区:逐席配色与壁纸、首轮自动注入技能卡、对话表情、每席记忆便签与预设、Alt+数字切席,以及用于派发与移交的总览画布;技能套件本身从可配置的本地目录读取,不随插件打包。
dsh-plugin-zerone
DeepSeek Harness 的 ZERONE 模式:16 个 OMZ SDD 工作流技能(澄清/PRD/issue 驱动编码、审查、进化机制)全局注册,零落盘安装(技能内嵌,不写入用户目录)。
cloudq-for-dsh
腾讯云智能顾问集成:CloudQ 对话模式,附用量、灵感、制品与架构图面板。