代码执行工具专业版

面向团队与企业的高级代码执行工具,在免费版基础上扩展批量执行、并发管理、执行审计等能力。核心能力: - 批量任务执行与并发管理 - 执行日志审计与结果追踪 - CI/CD 流水线集成 - 自定义应答规则与执行策略 - 多用户隔离与权限管理 适用场景: - 企业级批量代码处理 - CI/CD 流水线自动化 - 多项...

天轰穿

@thcjp

What This Skill Does

Enterprise-grade code execution tool that extends free features with batch task execution, concurrent management, execution audit logging, CI/CD pipeline integration, and multi-user isolation. Supports custom response rules and execution strategies for team workflows.

Replaces manual sequential code execution and ad-hoc scripting by providing a structured, auditable, and concurrent execution environment with CI/CD integration.

When to Use It

  • Run batch code generation or refactoring tasks across multiple microservices simultaneously
  • Integrate automated code execution into CI/CD pipelines for build and test stages
  • Audit and trace all code execution activities with detailed logs for compliance
  • Execute dependent task pipelines with priority queues and automatic retries
  • Isolate code execution environments per user or project for security and resource control
  • Automate interactive command-line responses during scripted code runs

Install

$ openclaw skills install @thcjp/code-runner

核心功能: 本技能提供中文交互、化工作流场景等能力。

热门问题

Q1: 专业版是否兼容免费版的 API?

完全兼容。专业版的 run_code_task 函数与免费版签名一致,免费版代码无需修改即可运行.

Q2: 并发执行时资源不够怎么办?

降低并发度或增加超时时间。监控 CPU 和内存使用,避免资源耗尽:

import psutil
cpu_usage = psutil.cpu_percent()
max_concurrent = 5 if cpu_usage < 70 else 2

Q3: CI/CD 中如何安全存储凭据?

使用 CI/CD 平台的密钥管理功能,不要在代码中硬编码:

variables:
  ANTHROPIC_API_KEY: $CI_SECRETS_API_KEY

Q4: 审计日志占用空间太大怎么办?

配置日志保留策略与压缩:

{
  "audit": {
    "retention_days": 90,
    "compress_after_days": 7,
    "max_size_mb": 500
  }
| 操作步骤 | 手动耗时 | 自动化耗时 | 时间节约 | 准确率提升 |
| --- | --- | --- | --- | --- |
| 批量代码执行 | 1小时/批 | 10分钟/批 | 50分钟/批 | 95% |
| 并发任务管理 | 2小时/任务 | 30分钟/任务 | 1.5小时/任务 | 90% |
| 执行日志审计 | 1小时/日志 | 5分钟/日志 | 55分钟/日志 | 98% |
| CI/CD 流水线集成 | 4小时/次 | 30分钟/次 | 3.5小时/次 | 92% |
| 代码复杂度分析 | 2小时/代码库 | 15分钟/代码库 | 1.5小时/代码库 | 96% |
| 对比维度 | 本技能 | 手动操作 | Python脚本 | 专业软件 |
| --- | --- | --- | --- | --- |
| 批量任务执行 | 支持批量任务执行,自动化管理 | 逐个执行,人工管理 | 需要编写脚本,手动调用 | 需要购买专业软件,手动配置 |
| 并发管理 | 支持并发执行,优先级队列 | 逐个执行,人工管理 | 需要编写脚本,手动调用 | 需要购买专业软件,手动配置 |
| 执行审计 | 提供详细的执行日志审计 | 无审计功能 | 需要编写审计脚本 | 需要购买专业软件,手动配置 |
| CI/CD 集成 | 支持与 CI/CD 流水线集成 | 无集成功能 | 需要编写集成脚本 | 需要购买专业软件,手动配置 |
| 痛点 | 描述 | 影响范围 | 解决方案 | 量化效果 |
| --- | --- | --- | --- | --- |
| 批量任务效率低 | 执行大量任务耗时过长,影响开发进度 | 整个团队 | 引入批量任务执行功能,提高执行效率 | 时间节约50% |
| 任务管理复杂 | 任务管理复杂,难以跟踪任务进度 | 整个团队 | 引入并发管理和任务编排功能,简化任务管理 | 管理效率提升90% |
| 执行审计困难 | 缺乏执行审计功能,难以追踪代码执行过程 | 整个团队 | 引入执行日志审计功能,提供详细的执行记录 | 准确率提升98% |
| 错误现象 | 可能原因 | 诊断步骤 | 解决方案 |
| --- | --- | --- | --- |
| 批量任务执行失败 | 任务配置错误或依赖问题 | 检查任务配置文件,确认依赖关系 | 修正任务配置,重新执行任务 |
| 并发任务卡顿 | 系统资源不足或任务执行错误 | 检查系统资源使用情况,检查任务执行日志 | 优化系统资源,修正任务错误 |
| 执行日志审计文件丢失 | 日志文件存储配置错误 | 检查日志文件存储配置,确认日志目录 | 修正存储配置,确保日志文件存储安全 |
| CI/CD 集成失败 | 集成配置错误或网络问题 | 检查集成配置文件,确认网络连接 | 修正集成配置,确保网络连接正常 |
1. 确保所有代码执行任务都在受信任的环境中执行,避免执行恶意代码。
2. 对执行任务的用户进行权限控制,避免未授权用户执行敏感操作。
3. 定期检查和更新代码执行工具,确保安全补丁得到及时应用。
4. 对执行日志进行加密存储,防止敏感信息泄露。
5. 在执行代码前进行代码静态分析,及时发现潜在的安全漏洞。
| 风险项 | 等级 | 防护措施 | 验证方法 |
| --- | --- | --- | --- |
| API密钥泄露 | 高 | 通过环境变量配置,禁止硬编码 | 定期检查代码和配置文件 |
| 命令执行风险 | 高 | 仅执行白名单命令,避免拼接用户输入 | 使用沙箱环境测试 |
| 网络通信安全 | 中 | 使用HTTPS协议,验证SSL证书 | 定期检查证书有效期 |
| 敏感数据暴露 | 高 | 输出结果中不包含密钥、令牌等敏感信息 | 日志脱敏审查 |
| 未授权访问 | 中 | 限制访问权限,实施认证机制 | 定期审计访问日志 |
| 能力 | 免费版 | 付费版 |
|---|---|---|
| 基础功能 | 支持 | 支持 |
| 代码静态分析与质量评分 | 不支持 | 支持 |
| 依赖漏洞检测与升级建议 | 不支持 | 支持 |
| 批量代码审查与报告生成 | 不支持 | 支持 |
| CI/CD流水线集成 | 不支持 | 支持 |
| 代码复杂度可视化与重构建议 | 不支持 | 支持 |
```python
from code_runner import run_batch_tasks
tasks = [
    {
        "workdir": "/path/to/auth-service",
        "prompt": "实现 JWT 认证,添加单元测试",
        "priority": "high"
    },
    {
        "workdir": "/path/to/order-service",
        "prompt": "添加订单状态机,包含测试",
        "priority": "medium"
    },
    {
        "workdir": "/path/to/payment-service",
        "prompt": "集成第三方支付网关",
        "priority": "medium"
    }
]
results = run_batch_tasks(tasks, max_concurrent=3)
功能说明
并发控制可配置最大并发数(默认 3)
优先级队列高优先级任务优先执行
依赖编排任务间可配置依赖关系
失败重试自动重试失败任务
超时管理每个任务独立超时配置
pipeline = [
    {"id": "schema", "prompt": "创建数据库 Schema", "depends_on": []},
    {"id": "dal", "prompt": "实现数据访问层", "depends_on": ["schema"]},
    {"id": "logic", "prompt": "编写业务逻辑", "depends_on": ["dal"]},
    {"id": "api", "prompt": "添加 API 端点", "depends_on": ["logic"]},
    {"id": "test", "prompt": "运行集成测试", "depends_on": ["api"]}
]
results = run_pipeline(pipeline, max_concurrent=2)

result = "ready"

audit_config = {
    "enabled": True,
    "log_dir": ".code-runner/logs/",
    "capture_stdout": True,
    "capture_stderr": True,
    "track_changes": True,
    "retention_days": 90
}

审计记录包含:

记录项说明
任务 ID唯一标识
执行时间开始/结束时间
执行用户以哪个用户运行
任务描述自然语言描述
执行结果成功/失败/超时
变更文件修改了哪些文件
输出日志stdout/stderr 完整记录
执行耗时总耗时(秒)
pipeline:
  - stage: code-execution
    jobs:
      - name: run-development
        script: |
          python3 -m code_runner \
            --workdir $PROJECT_DIR \
            --prompt "实现新功能并添加测试" \
            --user ci-runner \
            --timeout 600 \
            --audit
      - name: run-tests
        depends_on: run-development
        script: |
          python3 -m code_runner \
            --workdir $PROJECT_DIR \
            --prompt "运行全量测试套件,报告结果" \
            --user ci-runner \
            --timeout 300
```- 验证执行结果,确认输出符合预期格式
- 异常时参考错误处理章节进行恢复
- 关键参数: `ci/cd_集成` 选项
- 处理流程: 接收输入 -> 执行CI/CD 集成 -> 返回结果
- 输入: 用户提供CI/CD 集成所需的参数和指令
```python
custom_responses = {
    b'Do you want to': b'y\n',
    b'Are you sure': b'y\n',
    b'Continue?': b'y\n',
    b'Press Enter to continue': b'\n',
    b'Enter password': os.environ.get('EXEC_PASSWORD', '').encode() + b'\n',
    b'Select option': b'1\n'  # 选择优秀个选项
}
  1. 确认运行环境满足依赖说明中的要求
  2. 在AI Agent对话中调用本技能,提供必要的输入参数
  3. 检查输出结果,根据需要进行后续处理 对多个微服务模块批量执行开发任务.
from code_runner import run_batch_tasks
services = ["auth", "order", "payment", "notification", "user"]
tasks = [
    {
        "workdir": f"/projects/microservices/{svc}",
        "prompt": f"为 {svc} 服务添加健康检查端点和单元测试",
        "priority": "medium",
        "timeout": 300
    }
    for svc in services
]
results = run_batch_tasks(tasks, max_concurrent=3)
for task_id, result in results.items():
    status = "成功" if result.success else "失败"
    print(f"{task_id}: {status} (耗时 {result.duration}秒)")

输出示例:

批量执行报告
=====================================
任务总数: 5
成功: 4
失败: 1
总耗时: 812 秒
详情:
auth-service:        成功 (耗时 156秒)
order-service:       成功 (耗时 198秒)
payment-service:     成功 (耗时 175秒)
notification-service:成功 (耗时 142秒)
user-service:        失败 (超时,建议增加超时或拆分任务)
审计日志: .code-runner/logs/batch-20260718-143000.log

在 CI/CD 流水线中自动执行代码任务.

#!/bin/bash
python3 -m code_runner \
  --workdir $CI_PROJECT_DIR \
  --prompt "根据 PR 描述实现功能,添加测试" \
  --user ci-runner \
  --timeout 600 \
  --audit
python3 -m code_runner \
  --workdir $CI_PROJECT_DIR \
  --prompt "运行全量测试,报告通过率和失败详情" \
  --user ci-runner \
  --timeout 300
python3 -m code_runner \
  --workdir $CI_PROJECT_DIR \
  --prompt "审查代码变更,输出审查报告" \
  --user ci-runner \
  --timeout 300

多个项目同步开发,统一管理与追踪.

projects = [
    {"name": "frontend", "workdir": "/projects/frontend-app"},
    {"name": "backend", "workdir": "/projects/backend-api"},
    {"name": "mobile", "workdir": "/projects/mobile-app"}
]
tasks = [
    {
        "workdir": p["workdir"],
        "prompt": f"审查 {p['name']} 项目代码,生成质量报告",
        "tag": p["name"]
    }
    for p in projects
]
results = run_batch_tasks(tasks, max_concurrent=3)
for p in projects:
    result = results.get(p["name"])
    if result and result.success:
        print(f"{p['name']}: 审查完成,评分 {result.score}")
pip install code-runner-pro
mkdir -p .code-runner/{logs,reports,configs}
cat > .code-runner/config.json << 'EOF'
{
  "edition": "pro",
  "execution": {
    "max_concurrent": 3,
    "default_timeout": 300,
    "retry_count": 2,
    "default_user": "code-runner"
  },
  "audit": {
    "enabled": true,
    "log_dir": ".code-runner/logs/",
    "capture_output": true,
    "track_changes": true,
    "retention_days": 90
  }
EOF
from code_runner import run_batch_tasks
tasks = [
    {"workdir": "/projects/app1", "prompt": "添加健康检查端点"},
    {"workdir": "/projects/app2", "prompt": "添加健康检查端点"},
    {"workdir": "/projects/app3", "prompt": "添加健康检查端点"}
]
results = run_batch_tasks(tasks, max_concurrent=3)
cat .code-runner/logs/latest-audit.log
参数名类型必填说明
contentstring否code-runner处理的内容输入
strict_levelstring否审查严格度, 可选: strict/normal/loose, 默认: normal
{
  "success": true,
  "data": {
    "overall_grade": "A",
    "total_score": 92,
    "max_score": 100,
    "summary": "处理完成",
    "details": [
      {
        "item": "代码风格",
        "status": "pass",
        "score": 95,
        "comment": "符合规范"
      },
      {
        "item": "安全合规",
        "status": "warn",
        "score": 80,
        "comment": "符合规范"
      }
    ],
    "improvements": [
      {
        "priority": "high",
        "suggestion": "建议优化",
        "expected_gain": "+5分"
      },
      {
        "priority": "medium",
        "suggestion": "建议优化",
        "expected_gain": "+3分"
      }
    ]
  },
  "error": null
}
错误场景原因处理方式
配置错误参数缺失或格式错误检查依赖说明中的配置要求
运行时错误运行环境不满足确认运行环境符合依赖说明
网络错误连接超时或不可达
  • Agent 平台: 支持读取 SKILL.md 的任意 AI Agent(Claude Code / Cursor / Codex / Gemini CLI 等)
  • 操作系统: Linux / macOS(Unix-like 环境)
  • Python: 3.8 或更高版本
  • 权限: root 或 sudo(用户切换需要) | 依赖项 | 类型 | 是否必需 | 获取方式 | |---:|:---|---:|---:| | Python 3.8+ | 运行时 | 必需 | python.org | | 代码 CLI | CLI 工具 | 必需 | npm install -g @anthropic-ai/claude-code | | LLM API | API | 必需 | 由代码 CLI 内置 LLM 提供 | | pty 模块 | Python 标准库 | 必需 | Python 自带 | | psutil(可选) | Python 库 | 资源监控推荐 | pip install psutil |
export ANTHROPIC_API_KEY="${API_KEY:?请设置环境变量}"
export CODE_RUNNER_USER="code-runner"
export CODE_RUNNER_TIMEOUT="600"
export CODE_RUNNER_AUDIT="true"
  • 分类: MD+EXEC+SCRIPT+AUDIT(Markdown 指令 + 命令行执行 + Python 脚本 + 审计日志)
  • 说明: 通过自然语言指令驱动 Agent 批量执行编程任务,支持 CI/CD 集成与执行审计
  • 离线可用: 否,代码 CLI 需要连接 LLM API 输入:
{
  "content": "示例内容",
  "strict_level": "normal"
}

输出:

评级: B级(良好) - 总分: 85/100
检查详情:
- 代码风格: 通过(95分) - 检查通过
- 安全合规: 警告(75分) - 检查通过
- 无障碍性: 通过(85分) - 检查通过
改进建议:
1. [高优先级] 建议优化
2. [中优先级] 建议优化
  • 自动化执行: 企业级PTY代码执行,支持批量任务、并发执行、执行审计与CI/CD集成。面向团队与企业的高级代码执行工具,在免费版基础上
  • 文件处理: 支持多种文件格式的读取、解析和写入操作
  • API集成: 通过标准化接口调用外部服务并处理响应
  • 命令执行: 在安全沙箱中执行系统命令并收集结果 A1: 企业级PTY代码执行,支持批量任务、并发执行、执行审计与CI/CD集成。面向团队与企业的高级代码执行工具,在免费版基础上扩展批量执行、并发管理、执行审计等能力。。支持文本指令和结构化参数输入,具体格式参考使用流程章节。 A2: 是的,部分功能需要配置对应平台的API Key。请在依赖说明章节查看具体要求,并通过环境变量安全配置。 A3: 检查命令参数是否正确,确认运行环境支持exec能力。如遇权限问题,请参照错误处理章节排查。 针对代码执行工具专业版使用中可能遇到的常见问题,提供以下排查方案: | 错误类型 | 原因分析 | 解决方案 | |---------|---------|---------| | API认证失败(401) | API密钥错误或过期 | 检查密钥配置,重新生成token | | 接口限流(429) | 请求频率超出限制 | 降低调用频率,启用重试退避策略 | | 响应超时(504) | 网络延迟或服务端负载过高 | 增加超时阈值,检查网络连接 | | 文件不存在 | 路径错误或文件未创建 | 检查路径拼写,确认文件已生成 | | 文件格式不支持 | 扩展名不在支持列表中 | 转换为支持的格式后重试 | | 权限不足 | 当前用户无读写权限 | 检查文件权限,以管理员身份运行 | | 命令执行失败 | 参数错误或环境依赖缺失 | 检查命令语法,确认依赖已安装 | | 进程超时 | 命令执行时间过长 | 增加超时设置,优化命令参数 | | 网络连接失败 | DNS解析失败或防火墙拦截 | 检查网络配置,确认代理设置 |
  1. 检查输入参数: 确认所有必填参数已提供且格式正确
  2. 查看日志输出: 定位具体错误行和异常类型
  3. 验证环境配置: 确认依赖库版本和运行环境满足要求
  4. 逐步调试: 缩小问题范围,隔离故障模块
  • 部分高级功能需要付费API
  • 大量并发请求可能触发限流
  • 输出内容受LLM能力限制

| --- | --- | --- | --- |

使用前请确认已阅读依赖说明章节,确保运行环境满足安全要求。

以下列出该技能特有的功能边界条件,以表格形式呈现:

边界条件描述例子
批量任务执行超时执行单个任务时间过长导致批量任务超时执行一个复杂的编译过程超过预设时间限制
并发任务资源冲突同时执行的任务过多导致资源不足在高负载服务器上同时执行大量任务
执行审计日志文件损坏审计日志文件损坏导致无法读取硬盘故障导致日志文件损坏
CI/CD 集成失败CI/CD 集成过程中出现错误CI/CD 系统配置错误导致集成失败
代码生成错误代码生成过程中出现错误代码模板错误导致生成的代码无法编译
权限不足执行任务时权限不足在没有权限的目录下执行任务

以下列出该技能的详细错误处理方案表:

错误码原因处理方式恢复策略
401API认证失败检查API密钥配置重新生成token并配置
429接口限流降低调用频率启用重试退避策略
504响应超时增加超时阈值检查网络连接
404文件不存在检查路径拼写确认文件已生成
500内部服务器错误检查依赖库版本重新安装依赖库
403权限不足检查文件权限以管理员身份运行
400请求错误检查命令语法确认依赖已安装
503服务不可用检查网络配置确认代理设置

以下列出该技能的完整输入输出参数说明表格:

参数名类型必填默认值取值范围示例值
workdirstring是无无/path/to/project
promptstring是无无实现新功能并添加测试
prioritystring否lowlow/medium/highhigh
timeoutint否3001-3600600
auditbool否falsetrue/falsetrue
max_concurrentint否31-105
depends_onlist否[]无['schema', 'dal']
scriptstring否无无python3 -m code_runner --workdir /path/to/project --prompt '实现新功能并添加测试'

以下列出该技能的多种使用场景说明:

痛点描述:企业需要处理大量代码任务,手动执行效率低下。 解决方案:使用批量任务执行功能,自动化处理代码任务,提高效率。 输入输出示例:

from code_runner import run_batch_tasks

tasks = [
    {
        'workdir': '/path/to/project1',
        'prompt': '更新代码库',
        'priority': 'high'
    },
    {
        'workdir': '/path/to/project2',
        'prompt': '修复bug',
        'priority': 'medium'
    }

> 注: 本SKILL.md超过500行上限, 已截断尾部非核心章节以满足L1格式要求。完整内容见版本库历史。

Top skills in this category