关于 arch
arch 是面向工程师的 OpenClaw 系统架构技能,用于设计和技术决策。它可生成 ADR、比较方案权衡、推荐技术栈,并输出图表或结构化报告。
主要功能
- 01生成 Markdown ADR
- 02使用权衡模型比较方案
- 03推荐技术栈
- 04生成系统设计图
- 05迭代完善设计
适用场景
- 01在项目启动时记录决策
- 02比较数据库或架构方案
- 03规划系统重构或扩展
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ alphaonedev/ openclaw-graph --skill arch安装后在 Claude Code 中输入/arch确认已加载。
详细介绍
arch
目的
此技能用于处理根级 SE 架构任务,包括系统设计、创建架构决策记录(ADR)、执行权衡分析以及选择技术栈。它与 OpenClaw 的核心引擎集成,可输出图表、文档或 JSON 报告等结构化产物。
使用时机
在开始新的系统设计、评估架构决策或解决技术选择中的权衡问题时使用此技能。在项目启动、重构或系统扩展期间应用此技能,尤其适用于涉及微服务、云基础设施或分布式系统的复杂应用。
主要功能
- 以 Markdown 格式生成 ADR,包含背景、决策和后果等章节。
- 使用预定义模型(例如分布式系统的 CAP 定理)分析权衡。
- 根据需求、约束和性能指标等输入推荐技术栈。
- 通过与 PlantUML 等工具集成生成系统设计图。
- 通过反馈循环支持迭代优化设计。
使用模式
通过 OpenClaw CLI 或 API 调用此技能,以执行交互式或脚本化工作流。先使用命令初始化设计会话,然后串联子命令进行分析。例如,将输出传递给其他工具进行可视化。为确保一致性,请始终以 JSON 文件形式提供输入。使用环境变量进行身份验证,例如 $OPENCLAW_API_KEY,以保障请求安全。
常用命令/API
使用带有 arch 子命令的 OpenClaw CLI。所有命令前都加上 openclaw arch。
-
设计系统:
openclaw arch design --input design.json --output system.md
此命令会生成系统设计文档。--input标志要求提供包含如下字段的 JSON 文件:{"requirements": ["scalable"], "components": ["database", "API"]}。 -
创建 ADR:
openclaw arch adr --title "Use Microservices" --context "Monolith limitations" --decision "Adopt microservices"
示例片段:openclaw arch adr --title "Microservices ADR" > adr.md cat adr.md # Outputs: # Architecture Decision Record\n## Title: Microservices ADR\n## Context: ... -
分析权衡:
openclaw arch tradeoff --options "monolith,microservices" --criteria "scalability,cost"
API 端点:POST /api/skills/arch/tradeoff,请求体:{"options": ["monolith"], "criteria": ["cost"]}
响应:类似 {"winner": "microservices", "reasons": ["better scalability"]} 的 JSON。 -
选择技术栈:
openclaw arch techstack --requirements "high-availability,nodejs" --constraints "budget:low"
配置格式:JSON 输入,例如 {"requirements": ["REST API"], "constraints": {"budget": 1000}}
API:POST /api/skills/arch/techstack,返回 {"recommendations": ["Express.js", "MongoDB"]}。
调用 API 时,请始终设置 $OPENCLAW_API_KEY,例如在 curl 中使用:curl -H "Authorization: Bearer $OPENCLAW_API_KEY" -X POST https://api.openclaw.ai/api/skills/arch/design。
集成说明
通过 CLI 管道传递或串联 API,在工作流中集成 OpenClaw 技能。依赖项:本地执行需要 Node.js 运行时。身份验证:运行命令前,将 $OPENCLAW_API_KEY 设置为环境变量。与 Git 集成的示例:在 pre-commit 钩子中验证设计,例如 openclaw arch validate --file architecture.md && git commit。输入和输出使用 JSON,以便在脚本中解析。避免直接修改文件;请使用 --output 标志。如果在 CI/CD 流水线中使用,请将命令封装在脚本中,例如:
export OPENCLAW_API_KEY=your_key
openclaw arch design --input ci-input.json > output.md
错误处理
常见错误包括输入无效(例如缺少 JSON 字段)或身份验证失败。如果 $OPENCLAW_API_KEY 未设置或无效,请检查 API 调用是否返回 HTTP 401,并通过导出该变量修复。对于 CLI,类似“Invalid flag”的错误会返回退出码 1;可通过 if [ $? -ne 0 ]; then echo "Fix input and retry"; fi 进行解析。处理权衡分析错误(例如不支持的条件)时,可捕获 {"error": "Criterion not found"} 等 JSON 响应,并使用更正后的输入重试。在执行命令前,始终使用 jq 等工具验证 JSON 架构:
jq . design.json # Ensure it's valid JSON
openclaw arch design --input design.json
具体使用示例
-
为微服务迁移生成 ADR:首先,准备一个 JSON 文件:{"title": "Microservices Migration", "context": "Current monolith is unscalable"}。运行:
openclaw arch adr --input adr-input.json --output migration-adr.md。这会生成一个用于版本控制的 Markdown ADR 文件,例如,将其提交以跟踪决策。 -
分析数据库选型的权衡因素:通过 CLI 输入选项:
openclaw arch tradeoff --options "MongoDB,PostgreSQL" --criteria "flexibility,query-speed"。查看输出的 JSON 并做出决策,然后将其整合到设计中:openclaw arch design --input previous-output.json。根据分析结果,这一工作流有助于在复杂查询场景下选择 PostgreSQL。
图关系
- 关联:se-design(用于详细实现)、se-implementation(用于代码级集成)
- 依赖:core-engine(用于处理)、se-tools(用于可视化工具)
- 冲突:没有直接冲突,但应避免与 se-security 在访问控制方面重叠