mcpField
C
coding

coding

github.com/alphaonedev开发69 次安装
代码仓库

关于 coding

面向 OpenClaw 的编码技能,可辅助编写、重构和审查代码。它提供语言与编程范式建议,检查 SOLID、DRY 等原则,并可分析代码片段或 Git 差异。

主要功能

  1. 01按项目需求推荐语言
  2. 02指导面向对象和函数式设计
  3. 03检查 SOLID、DRY 和 YAGNI
  4. 04核验提交与 Pull Request 规范
  5. 05分析代码片段和 Git 差异

适用场景

  1. 01为项目任务选择编程语言
  2. 02审查代码质量问题
  3. 03在提交 Pull Request 前检查变更

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/alphaonedev/openclaw-graph --skill coding

安装后在 Claude Code 中输入/coding确认已加载。

详细介绍

编码

用途

此技能可让 OpenClaw 协助处理编码任务,包括选择编程语言、指导编程范式(例如面向对象、函数式)、贯彻 SOLID、DRY 和 YAGNI 等代码质量原则,以及遵循 PR 标准,例如提交有意义的更改并进行代码审查。

适用场景

在编写新代码、重构现有代码或审查拉取请求时使用此技能。可用于多语言项目中的语言选择、复杂系统中的范式决策,或用于质量检查以避免反模式。对于需要决定代码结构或确保符合标准的开发者而言,此技能尤为实用。

主要能力

  • 语言选择:根据项目需求自动推荐语言,例如建议使用 Python 编写脚本,或使用 Java 开发企业应用。
  • 范式指导:针对面向对象(例如,使用类进行封装)或函数式编程(例如,优先采用不可变性)等范式提供建议。
  • 代码质量保障:检查是否遵循 SOLID 原则(例如,单一职责:确保类只有一个变更理由),以及 DRY/YAGNI 原则(例如,检测重复代码块)。
  • PR 标准:根据原子化更改和描述性消息等规则验证提交。
  • 与工具集成:解析 Git 差异以进行 PR 审查,或分析代码片段的质量指标。

使用模式

要使用此技能,请通过 CLI 或 API 调用 OpenClaw,并提供代码片段或项目背景等输入。选择语言时,请提供项目需求;指导范式时,请附上代码示例。始终通过环境变量传入 API 密钥,例如,在执行命令前设置 $OPENCLAW_API_KEY。使用包含 "language"、"code" 和 "paradigm" 等字段的 JSON 负载来构造请求。解析 JSON 格式的响应,以获取建议或修正内容。示例模式:在 CI/CD 流水线中通过 OpenClaw 管道传递代码,以获得实时反馈。

常用命令/API

使用 OpenClaw CLI 处理快速任务,或通过 REST API 进行编程式访问。CLI 命令要求设置 $OPENCLAW_API_KEY。API 端点使用带有 JSON 请求体的 POST 请求。

  • CLI 命令:openclaw code --language python --paradigm oop --check solid < input.txt

    • 标志:--language 指定语言(例如,"python"、"java");--paradigm 设置指导类型(例如,"oop");--check 启用质量检查(例如,"solid"、"dry")。
    • 输出:包含建议的 JSON,例如,{"suggestion": "Use a class for this function."}
  • API 端点:向 /api/coding/assist 发送 POST 请求

    • 请求体:JSON,例如,{"code": "def add(a, b): return a + b", "language": "python", "checks": ["dry", "yagni"]}
    • 请求头:包含 Authorization: Bearer $OPENCLAW_API_KEY
    • 响应:JSON 对象,例如,{"quality_score": 8, "issues": ["Function violates DRY principle"]}
  • API 调用代码片段(Python):

    import requests
    api_key = os.environ.get('OPENCLAW_API_KEY')
    response = requests.post('https://api.openclaw.ai/api/coding/assist', headers={'Authorization': f'Bearer {api_key}'}, json={'code': 'some code', 'language': 'js'})
    print(response.json()['suggestion'])
    
  • 配置格式:使用 JSON 配置,例如,

    {
      "default_language": "python",
      "checks": ["solid", "dry"],
      "paradigm": "functional"
    }
    

    在项目根目录中保存为 .openclaw-config.json,以覆盖 CLI 配置。

集成说明

通过扩展或调用 API 的脚本,将此技能集成到 VS Code 等 IDE 中。对于 CI/CD,可在 GitHub Actions 中添加一个步骤来使用此技能:run: openclaw code --check solid --input path/to/code.py。确保 $OPENCLAW_API_KEY 已安全存储,例如,存储在 GitHub Secrets 中,名称为 OPENCLAW_API_KEY。对于 Web 应用,可在后端服务中嵌入 API 调用,并处理速率限制(例如,每分钟 100 个请求)。使用模拟响应测试集成,避免在开发期间调用线上 API。

错误处理

发生错误时,请检查 API 响应的 HTTP 状态码(例如,401 表示未授权,可能是缺少 $OPENCLAW_API_KEY)。对于 CLI,请解析 "Error: Invalid language specified" 等错误消息,并在修正后重试。对于瞬时错误(例如,5xx 状态码),请使用指数退避实现重试逻辑。在代码中,使用 try-except 代码块包装 API 调用:

try:
    response = requests.post(url, headers=headers, json=data)
    response.raise_for_status()
except requests.exceptions.HTTPError as e:
    print(f"Error: {e.response.status_code} - {e.response.text}")

记录错误及其上下文(例如输入代码),以便调试。

具体使用示例

  1. 示例 1:选择语言生成代码

    • 任务:使用面向对象编程范式,用 Python 编写一个简单的函数。
    • 命令:openclaw code --language python --paradigm oop --prompt "Implement a counter class"
    • 预期:输出 JSON,包含类似 {"code": "class Counter: def init(self): self.count = 0"} 的代码
    • 方法:设置 $OPENCLAW_API_KEY,运行命令,并将响应集成到项目中。
  2. 示例 2:审查 PR 的代码质量

    • 任务:检查一段 JavaScript 代码是否违反 DRY 和 SOLID 原则。
    • API 调用:向 /api/coding/assist 发送 POST 请求,请求体为 {"code": "function add(a) { return a + 1; } function addTwo(b) { return b + 2; }", "language": "js", "checks": ["dry"]}
    • 预期:响应类似 {"issues": ["Functions are similar; consider a generic add function to follow DRY"]}
    • 方法:在提交前使用响应重构代码,例如,在编辑器中合并函数。

图关系

  • 相关领域:调试(共享代码分析能力)、测试(确保代码质量,便于测试)、部署(指导编写可用于生产环境的代码)。
  • 聚类:编码(主要)、软件(面向更广泛的开发任务)。

评论

支持 Markdown