Token导航 LogoToken导航

Agent Skill · 开发

ops-code-review(操作代码审查)

ops-code-review 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 OpenClaw 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

ops-code-review 是开发类 Agent Skill,可用宿主为 OpenClaw,通过ClawHub获取,权限为接触敏感数据;许可证为 MIT-0,第三方扫描已通过,按安装量在开发类的 21,746 个 Skill 里排第 6,510。

总安装 4,627周安装 189GitHub Stars 公开资料未说明下载 1,497核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
MIT-0
版本
1.0.11

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:ops-code-review(操作代码审查)
来源仓库:https://github.com/freepengyang/ops-code-review
安装命令:
openclaw skills install ops-code-review
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install ops-code-review

这个 Skill 是做什么的

开发类 Skill 面向写代码、改代码和排查问题,一般会读写仓库文件,部分还会执行构建或测试命令。

ops-code-review 用于处理 GitHub 仓库、Issue 和 Pull Request,适合在 OpenClaw 中围绕代码变更进行整理时使用。适用于自动化代码审计和安全扫描,支持 Django/Python、React+TypeScript 等多语言。

自动识别提交变更并推送飞书群报告,支持增量与定时全量扫描。安装命令为 openclaw skills install ops-code-review,建议确认权限范围和维护状态。需注意是否会触发联网或文件读写,结合来源仓库进一步核验使用细节。

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 OpenClaw;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 openclaw skills install ops-code-review;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要接触敏感数据,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

ops-code-review 怎么安装?

在终端执行 openclaw skills install ops-code-review。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

ops-code-review 支持哪些 AI 工具?

公开资料标注支持 OpenClaw。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

ops-code-review 需要什么权限?

权限级别是接触敏感数据。该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

ops-code-review 是免费的吗?

来源标注的许可证是 MIT-0。本站不代收任何费用,也不托管安装包;能否商用、要不要署名,以许可证原文为准。

ops-code-review 用的人多吗?

公开数据是累计安装 4,627 次,近一周安装 189 次,下载 1,497 次。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

ops-code-review 安全吗?

第三方扫描结果为通过,但这只覆盖已知的静态检查项,不能替代自己读一遍源码和安装命令。

值得选的地方和要先想清楚的地方

值得选的地方

  • 专注 OpenClaw 一种宿主,触发方式和使用习惯不用来回切换。
  • 许可证明确为 MIT-0,商用和分发边界好判断。
  • 第三方扫描已通过,常见的高风险行为没有命中。

先想清楚的地方

  • 需要接触敏感数据,装到常用环境前要先评估影响面。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 OpenClaw,想直接扩展它能力的人。
  • 需要处理开发类任务、又不想每次都手写提示词的人。
  • 需要许可证清楚、并且有第三方扫描结果的团队项目。

不太适合

  • 环境里有大量密钥、凭证,不方便给第三方 Skill 读取的人。
  • 需要厂商级技术支持和 SLA 的生产系统。

开发类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
skill-vetter

技能审查员 · OpenClaw

8,779,018986操作浏览器MIT-0通过
ontology

本体论 · OpenClaw

6,636,960576只读MIT-0通过
entra-app-registration

内部应用程序注册 · Codex、Claude

6,631,872764接触敏感数据未明确通过
entra-app-registration

内部应用程序注册 · Codex、Claude

3,757,680201接触敏感数据未明确通过
nano-banana-pro

纳米香蕉专业版 · OpenClaw

3,526,898364接触敏感数据MIT-0有提醒
ops-code-review

操作代码审查 · 本页

4,627—接触敏感数据MIT-0通过

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

name
ops-code-review
description
|
metadata
openclaw
requires
bins
[svn, bandit, pylint, npx, phpcs]
env
install
kind
system
label
Install SVN (subversion)
command
apt-get install subversion
kind
pip
label
Install Bandit (Python security scanner) — ⚠️ uses --break-system-packages
note
⚠️ pip --break-system-packages affects system-wide packages. Prefer a virtual environment.
package
bandit --break-system-packages
kind
pip
label
Install Pylint (Python linter) — ⚠️ uses --break-system-packages
note
⚠️ pip --break-system-packages affects system-wide packages. Prefer a virtual environment.
package
pylint --break-system-packages
kind
node
label
Install Node.js (for npx/eslint)
package
node
kind
system
label
Install Composer (PHP package manager) — ⚠️ download then execute, not pipe
command
curl -sS https://getcomposer.org/installer -o /tmp/composer-setup.php && php /tmp/composer-setup.php -- --install-dir=/usr/local/bin --filename=composer && rm -f /tmp/composer-setup.php
note
⚠️ Downloads installer to /tmp first before executing. Review the command before running; prefer isolated environment.
kind
composer
label
Install PHP CodeSniffer
package
squizlabs/php_codesniffer
kind
node_global
label
Install typescript-eslint (ESLint parser for TS/TSX) — ⚠️ global npm install
note
⚠️ Global npm install modifies host environment. Review before running.

Code Review Skill

首次使用前配置(必读)

1. 设置环境变量

Linux/Mac(加到 ~/.bashrc 或 ~/.zshrc):

export CODE_REVIEW_SVN_USER="你的SVN用户名"
export CODE_REVIEW_SVN_PASS="你的SVN密码"
export CODE_REVIEW_FEISHU_CHAT_ID="飞书群机器人chat_id"

OpenClaw 配置(推荐,写入 OpenClaw 环境变量): 在 OpenClaw 配置文件中添加:

{
  "env": {
    "CODE_REVIEW_SVN_USER": "你的SVN用户名",
    "CODE_REVIEW_SVN_PASS": "你的SVN密码",
    "CODE_REVIEW_FEISHU_CHAT_ID": "飞书群机器人chat_id"
  }
}

2. 配置仓库信息

创建配置文件(完整示例包含所有支持的仓库):

cat > config.json << 'EOF'
{
  "repos": {
    "ops_api": {
      "url": "http://your-svn/ops/dev/branches/branch_dev/ops_api",
      "lang": "django",
      "type": "incremental",
      "local": "/tmp/svn_repos/ops_api"
    },
    "ops_web": {
      "url": "http://your-svn/ops/dev/branches/branch_dev/ops_web",
      "lang": "react",
      "type": "incremental",
      "local": "/tmp/svn_repos/ops_web"
    },
    "ops_api_trunk": {
      "url": "http://your-svn/ops/dev/trunk/ops_api",
      "lang": "django",
      "type": "full",
      "local": "/tmp/svn_repos/ops_api_trunk"
    },
    "ops_web_trunk": {
      "url": "http://your-svn/ops/dev/trunk/ops_web",
      "lang": "react",
      "type": "full",
      "local": "/tmp/svn_repos/ops_web_trunk"
    },
    "gm": {
      "url": "http://your-svn/gm/trunk",
      "lang": "mixed",
      "type": "both",
      "local": "/tmp/svn_repos/gm"
    }
  }
}
EOF

将配置复制到运行时目录(必须):

cp -f config.json /tmp/code_review_config.json

注意:config.json 不随 skill 上传,请根据实际 SVN 地址修改各仓库的 url 字段。

3. 检查工具依赖

python3 scripts/code_review.py check-deps

如有缺失工具,自动安装:

python3 scripts/code_review.py install-deps

能力概览

功能说明
🔍 增量扫描post-commit 触发,只扫本次提交的文件
📋 全量扫描每周定时,扫描整个仓库
🛠️ 多语言支持Django / React+TS / PHP
🔴 问题分级ERROR / WARNING / INFO 三级
🛠️ 修复建议具体代码修改方案,不只是说"有问题"
📤 飞书推送报告发送到配置的飞书群

环境变量说明

变量名必填说明
CODE_REVIEW_SVN_USER✅SVN 只读用户名
CODE_REVIEW_SVN_PASS✅SVN 密码
CODE_REVIEW_FEISHU_CHAT_ID✅飞书群 chat_id(机器人 webhook 或群 ID)
CODE_REVIEW_CONFIG❌config.json 路径,默认为 /tmp/code_review_config.json(建议使用受保护目录如 ~/.config/code-review/config.json)

使用方式

手动触发扫描

审计代码 incremental ops_api    # 增量扫描(只扫变更)
审计代码 full gm                 # 全量扫描指定仓库
审计代码 fullall                 # 全量扫描所有仓库
审计代码 sync                   # 同步所有 SVN 仓库
审计代码 check-deps             # 检查工具依赖

增量扫描流程(post-commit hook)

用户提交代码
    ↓
SVN post-commit hook 触发
    ↓
code_review.py incremental <repo_name>
    ↓
SVN Manager 获取本次变更文件
    ↓
Analyzer 逐语言分析
    ↓
Report Generator 生成飞书格式报告
    ↓
推送到飞书群

全量扫描流程(定时任务)

每周定时触发
    ↓
code_review.py fullall
    ↓
遍历所有仓库,checkout 全量代码
    ↓
按语言全量扫描
    ↓
生成报告推送飞书

工具依赖

工具用途安装命令
svnSVN 客户端apt-get install subversion
banditPython 安全扫描pip install --break-system-packages bandit
pylintPython 代码检查pip install --break-system-packages pylint
npx执行 ESLintnpm install -g npx
composerPHP 包管理器下载安装脚本到 /tmp 后执行(不通过管道),最后清理安装文件
phpcsPHP 代码规范composer global require squizlabs/php_codesniffer
@typescript-eslint/*ESLint 的 TypeScript 解析器npm install -g @typescript-eslint/parser @typescript-eslint/eslint-plugin typescript-eslint

首次使用前必须运行工具检查,确保所有依赖就绪。

SVN Hook 部署

生成 hook 脚本

code_review.py setup-hooks

部署步骤

  1. 在 SVN 服务器上找到仓库路径
  2. 将生成的 post-commit 脚本放到 hooks/ 目录
  3. 赋予执行权限:chmod +x hooks/post-commit
  4. 确保 SVN 服务器能访问本 skill 的 scripts 目录

定时任务配置(OpenClaw Cron)

推荐使用 OpenClaw 内置 cron,比服务器 crontab 更方便管理:

{
  "schedule": { "kind": "cron", "expr": "0 3 * * 1", "tz": "Asia/Shanghai" },
  "payload": { "kind": "agentTurn", "message": "执行全量代码审计:\
cd /root/.openclaw/workspace/skills/code-review && python3 scripts/code_review.py fullall" },
  "sessionTarget": "isolated"
}

创建方式:告诉 OpenClaw "帮我创建一个每周一凌晨3点执行全量代码审计的定时任务"

报告示例

📊 代码审计报告
━━━━━━━━━━━━━━━━━━
🏷️ 仓库:运维后台后端 (Django)
📅 时间:2026-04-14 10:00
🔍 方式:🔄 增量扫描
📁 扫描文件:5
🐛 问题总数:3
  🔴 严重/错误:1
  🟡 警告:1
  🟢 提示:1
━━━━━━━━━━━━━━━━━━

🔴 严重 | models/user.py:45
   └ [CUST-105] 敏感信息明文存储
   └ 🛠️ 修复:使用环境变量或密钥管理服务,不要明文存储

🟡 警告 | views/order.py:88
   └ [CUST-311] 潜在 SQL 拼接风险
   └ 🛠️ 修复:使用参数化查询,避免字符串拼接查询语句

🟢 提示 | utils/helper.py:12
   └ [CUST-324] 弱随机数生成
   └ 🛠️ 修复:使用 os.urandom 或 secrets 模块替代 random

━━━━━━━━━━━━━━━━━━
⚙️ 由 OpenClaw 代码审计 Skill 自动生成

注意事项

  1. 敏感信息:SVN 账密和飞书群 ID 通过环境变量注入,不随 skill 上传
  2. 首次使用:先配置环境变量 → 创建 config.json → 复制到 /tmp/code_review_config.json → 运行 check-deps → 运行 install-deps → 运行 sync
  3. 工具缺失:记录在 /tmp/code_review_missing_tools.json,运行 install-deps 自动安装
  4. 扫描效率:全量扫描较慢,建议放在低峰时段
  5. 误报处理:如果某类问题确认为可接受的惯用写法,可以在报告中注明

ClawScan 安全自检清单

发布前用以下命令扫描所有脚本和引用文档:

grep -rE "(oc_[a-f0-9]+|http://[a-z]+\.[a-z]+|:[0-9]{4,5})" \
  scripts/ references/ --include="*.py" --include="*.md" --include="*.yml"

触发 ClawScan flag 的模式(立即修复):

  • oc_ 开头的真实飞书 ID → 改为 os.environ.get("CODE_REVIEW_FEISHU_CHAT_ID", "")
  • 内网 hostname(如 zabbix.ops.qiyujoy.com)→ 改为 os.environ.get("ZABBIX_URL", "")
  • 真实用户名默认值 → 改为 os.environ.get("XXX_USER", "") 空默认值
  • 任何 Base64 编码或明显凭据格式的字符串

不触发 flag 的安全模式:

  • {{ MYSQL_PASSWORD }}(Ansible Jinja2 变量注入)
  • <your_mysql_password>、<your_token>(尖括号包裹的占位符)
  • os.environ.get("XXX", "") 空默认值
  • 示例 URL 如 https://zabbix.example.com、http://your-svn/ops/dev/branches/

元数据声明要求: 所有运行时需要的环境变量必须在 frontmatter 的 metadata.openclaw.requires.env 中声明,包括非敏感的 CODE_REVIEW_CONFIG。敏感凭据变量(CODE_REVIEW_SVN_PASS 等)必须声明,但不赋值。

平台分布

OpenClaw

80.9%
按下载量换算1,211

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

通过

权限和风险

接触敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills