mcpField
A
arch

arch

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

关于 arch

arch 是面向工程师的 OpenClaw 系统架构技能,用于设计和技术决策。它可生成 ADR、比较方案权衡、推荐技术栈,并输出图表或结构化报告。

主要功能

  1. 01生成 Markdown ADR
  2. 02使用权衡模型比较方案
  3. 03推荐技术栈
  4. 04生成系统设计图
  5. 05迭代完善设计

适用场景

  1. 01在项目启动时记录决策
  2. 02比较数据库或架构方案
  3. 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

具体使用示例

  1. 为微服务迁移生成 ADR:首先,准备一个 JSON 文件:{"title": "Microservices Migration", "context": "Current monolith is unscalable"}。运行:openclaw arch adr --input adr-input.json --output migration-adr.md。这会生成一个用于版本控制的 Markdown ADR 文件,例如,将其提交以跟踪决策。

  2. 分析数据库选型的权衡因素:通过 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 在访问控制方面重叠

评论

支持 Markdown