logo
0
0
WeChat Login
feat: implement CodeCop Phase 1 MVP

🦐👮 CodeCop

给你的代码仓库养一只 AI 看门虾

CodeCop 是一个 OpenClaw Skill,用于监控代码仓库中的所有变更活动(无论来自 AI 还是人类),分析其合规性、安全性和质量,并生成报告和通知。

核心特点

  • 平台无关 — 通过适配层支持 CNB / GitHub / GitLab 等多种代码托管平台
  • 角色无关 — 同时监管 AI(NPC/Agent/Bot)和人类的代码提交
  • 触发灵活 — 支持 Webhook 推送、Cron 轮询、手动指令三种模式
  • 一行安装 — 作为 OpenClaw Skill 发布到 ClawHub,clawhub install codecop

项目背景

2026 年,Vibe Coding 已成为主流。AI Agent 自主修 bug、提 PR、做 Code Review 已是常态。但随着 OpenClaw 等智能体框架的爆火和铺开,安全问题也随之显现——Gateway 接口未设防、Skill 投毒、绕过提示词执行脚本……大部分人的龙虾是不设防的。

我们的认知是:没有一个 Skill 能一劳永逸地解决所有安全问题。不同领域、不同行为都应该有一个单独的技能去专注处理——"术业有专攻"的分层治理可能更合适。

CodeCop 聚焦"代码仓库"这个领域,对 AI 或人类 Vibe Coding 之后提交的代码进行行为监管。灵感来源于 claude-code-tamagotchi——一个硬件宠物版的 Claude Code 行为监管系统。它做本地监管,我们做云端仓库级监管。

架构设计

检查流水线

目录结构

codecop/ ├── SKILL.md # 核心 Skill 定义(AI Agent 完整指令集) ├── references/ │ ├── platforms/ │ │ ├── cnb.md # CNB 平台适配(MCP + OpenAPI + Webhook) │ │ └── github.md # GitHub 适配(Phase 2 占位) │ ├── rules/ │ │ ├── scope-check.md # 范围合规检查规则 │ │ └── security-check.md # 安全审计检查规则 │ └── notification.md # 通知渠道配置 ├── scripts/ │ ├── analyze_diff.py # diff 解析 + 范围合规分析 │ ├── check_security.py # 安全扫描(密钥/敏感文件检测) │ └── report_builder.py # 报告生成 + Telegram 通知 └── assets/ └── templates/ └── report.md # 报告 Markdown 模板

检查维度

范围合规(Scope Check)

适用对象:所有提交者(AI + 人类)

检查代码变更是否在 Issue/PR 描述的范围之内:

  • 获取 PR 关联的 Issue 描述(或 PR 描述本身)
  • 关键词匹配 + LLM 语义分析:变更内容是否在描述范围内
  • 检测"顺手改":是否有与主题无关的附带修改
  • 规模匹配:改动量是否与任务复杂度匹配(修个 typo 改了 50 个文件?)
评级条件
✅ PASS变更与描述一致,规模合理
⚠️ WARN存在超出范围的小改动,但主体一致
❌ BLOCK变更与描述严重不符

安全审计(Security Check)

适用对象:所有提交者(AI + 人类)

正则模式匹配检测常见安全问题:

检测项说明
硬编码密钥API Key、Token、Password、AWS Key、Private Key、JWT
敏感文件变更.env*credentials.**.pem*.keyid_rsa*
安全防护代码删除认证/鉴权/校验相关代码被移除
可疑依赖变更依赖文件中出现 execeval 等危险模式
评级条件
✅ PASS未发现安全风险
⚠️ WARN存在需要人工确认的安全相关变更
❌ BLOCK检测到明确的安全风险(硬编码密钥等)

质量评估(Quality Check)🚧

Phase 2 实现

检测明显 bug 模式、错误处理完整性、代码风格一致性、测试覆盖变化。

行为画像(Behavior Check)🚧

Phase 2 实现,仅适用于 AI 提交者

借鉴 claude-code-tamagotchi 的四类违规分类:

类型含义
unauthorized_action做了明确禁止的事
refused_request拒绝执行合理请求
excessive_exploration过度探索不相关文件
wrong_direction偏离任务方向

设计要点

  1. Python 脚本做确定性分析,LLM 做语义理解 — 脚本处理 diff 解析和正则匹配,SKILL.md 引导 AI Agent 做深度语义判断和误报排除
  2. 所有脚本通过 JSON stdout 通信 — 方便 AI Agent 调用和链式组合
  3. 仅依赖 Python 标准库 — 无需安装任何第三方包
  4. CNB 优先,可扩展 — Phase 1 实现 CNB 适配,通过 references/platforms/ 目录结构支持后续平台扩展

报告格式

PR 评论报告

🦐👮 CodeCop 监管报告 | 项目 | 信息 | |------|------| | 📋 目标 | myorg/myrepo PR #42 "修复登录 bug" | | 👤 作者 | ai-npc (AI) | | 📊 规模 | 5 文件, +120 -30 | | 维度 | 结果 | 说明 | |------|------|------| | 范围合规 | ⚠️ WARN | 存在 2 个超范围文件 | | 安全审计 | ❌ BLOCK | 检测到硬编码 Token | | 质量评估 | ℹ️ N/A | 未启用 | | 行为画像 | ℹ️ N/A | 未启用 | 综合评级: ❌ BLOCK 检测到严重问题,建议阻止合并并要求修改。

通知策略

评级PR 评论Telegram 通知
✅ PASS发布轻量评论不通知
⚠️ WARN发布详细评论正常通知
❌ BLOCK详细评论 + 请求人工介入紧急通知

平台适配

CNB(已实现)

利用 CNB AI 全家桶实现深度集成:

CNB 能力CodeCop 使用方式
MCP Server (mcp.cnb.cool)读取仓库代码、PR diff、Issue 内容
OpenAPI (api.cnb.cool)查询仓库状态
Webhook 插件 (cnbcool/webhook)实时接收 push/PR 事件
NPC 身份以 NPC 身份发布监管报告评论
知识库检索项目文档辅助上下文判断
AI Review 插件与 CodeCop 互补(AI Review 侧重代码细节,CodeCop 侧重行为监管)

GitHub(Phase 2)

通过 gh CLI 实现相同的检查流程,接口映射已规划。

使用方式

环境变量

变量说明必填
CODECOP_PLATFORM目标平台(cnb / github
CNB_TOKENCNB 访问令牌(CNB 平台)平台相关
GITHUB_TOKENGitHub 访问令牌(GitHub 平台)平台相关
CODECOP_TELEGRAM_TOKENTelegram Bot Token
CODECOP_TELEGRAM_CHAT_IDTelegram 目标聊天 ID

手动指令

/codecop review PR #42 # 审查指定 PR /codecop scan last 10 commits # 扫描最近 10 次提交 /codecop report myorg/myrepo # 生成仓库监管概况

脚本独立使用

# 范围合规检查 python3 codecop/scripts/analyze_diff.py \ --diff-file pr.patch \ --issue-desc "修复登录 bug" \ --pr-desc "Fix login authentication issue" # 安全审计扫描 python3 codecop/scripts/check_security.py \ --diff-file pr.patch # 生成报告 + 发送 Telegram 通知 python3 codecop/scripts/report_builder.py \ --scope '{"verdict":"WARN","details":"...","out_of_scope_files":[]}' \ --security '{"verdict":"PASS","findings":[]}' \ --metadata '{"repo":"org/repo","pr_number":42,...}' \ --telegram-token "$CODECOP_TELEGRAM_TOKEN" \ --telegram-chat "$CODECOP_TELEGRAM_CHAT_ID"

开发路线

Phase 1:MVP ✅

  • SKILL.md 核心定义
  • CNB 适配层
  • 范围合规检查(Scope Check)
  • 安全审计检查(Security Check)
  • 报告生成 + PR 评论
  • Telegram 通知

Phase 2:完整版

  • 质量评估检查(Quality Check)
  • AI 行为画像检查(Behavior Check)
  • GitHub 适配层
  • Cron 轮询模式
  • 手动指令模式(/codecop review
  • 发布到 ClawHub

Phase 3:扩展

  • GitLab 适配层
  • 桌面宠物 / menubar app
  • 更多平台适配(Gitee / Bitbucket 等)
  • 自定义规则引擎(用户可配置检查规则)

差异化定位

已有项目定位CodeCop 的差异
openclaw-cn / cnb-skill"用" OpenClaw我们做"管"
claude-code-tamagotchi本地 Claude Code 监管我们是云端仓库级监管
CNB AI Review内置代码审查我们加上范围合规 + 行为画像 + 跨平台

License

MIT

About

No description, topics, or website provided.
Language
Python100%