关于 coding
面向 OpenClaw 的编码技能,可辅助编写、重构和审查代码。它提供语言与编程范式建议,检查 SOLID、DRY 等原则,并可分析代码片段或 Git 差异。
主要功能
- 01按项目需求推荐语言
- 02指导面向对象和函数式设计
- 03检查 SOLID、DRY 和 YAGNI
- 04核验提交与 Pull Request 规范
- 05分析代码片段和 Git 差异
适用场景
- 01为项目任务选择编程语言
- 02审查代码质量问题
- 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:选择语言生成代码
- 任务:使用面向对象编程范式,用 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:审查 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"]}
- 方法:在提交前使用响应重构代码,例如,在编辑器中合并函数。
图关系
- 相关领域:调试(共享代码分析能力)、测试(确保代码质量,便于测试)、部署(指导编写可用于生产环境的代码)。
- 聚类:编码(主要)、软件(面向更广泛的开发任务)。