← 返回
未分类 Key

Claude Code All-in-One for arkclaw

ArkClaw / OpenClaw 沙箱里一键安装并配置 Anthropic Claude Code CLI 的 all-in-one skill。当用户提到 claude code、claude-code、想在 ArkClaw 里用 Anthropic 官方 Coding CLI、提到 ark-code-la...
ArkClaw / OpenClaw 沙箱里一键安装并配置 Anthropic Claude Code CLI 的 all-in-one skill。当用户提到 claude code、claude-code、想在 ArkClaw 里用 Anthropic 官方 Coding CLI、提到 ark-code-la...
bao2200220 bao2200220 来源
未分类 clawhub v1.0.1 1 版本 100000 Key: 需要
★ 1
Stars
📥 475
下载
💾 0
安装
1
版本
#agentplan#anthropic#ark#arkclaw#claude-code#cli#code-review#coding#latest#openclaw

概述

Claude Code All-in-One for ArkClaw

让 ArkClaw / OpenClaw 用户在对话框里完成 Claude Code CLI 的全部配置 — 不用打开终端、不用手写 ~/.claude/settings.json、不用记 base_url。本 skill 还内置 review / build 双模式智能路由:

  • review 模式(--permission-mode plan):只读分析,不改文件,适合代码审查 / 评估改造方案
  • build 模式(--allowedTools 白名单):允许 Read / Edit / Write / Bash 等动手工具,适合实现代码

整体流程(决策树)

用户触发本 skill(说"用 claude code 帮我..." / "/claude-code-allinone ..." / 报错 等)
        │
        ▼
  ┌───────────────────────────┐
  │ 运行 scripts/doctor.sh    │  ← 每次触发都会运行,检测当前环境状态
  └─────────────┬─────────────┘
                │
       当前配置状态 = ?
                │
  ┌─────────────┼──────────────────────────────────┐
  │             │                                  │
"全新环境"    "本 skill 配过"                   "用户手动配过"
(从未配置)   (之前用本 skill 配置的)          (有 settings.json/config 但不是本 skill 写的)
  │             │                                  │
  ▼             ▼                                  ▼
路径 ①        路径 ②                             路径 ③
首次配置      正常使用(绝大多数情况)              兼容性检查
  │             │                                  │
  │             │                                  ├─ 检查通过 → 保留不动,转到路径 ②
  │             │                                  └─ 检查不通过 → 告知用户具体问题,
  │             │                                       询问是否用本 skill 重新配置
  │             │
问用户选择   智能判定 review/build 模式
A/B 菜单     然后执行: claude -p "用户的需求" --permission-mode plan
  │              或:    claude -p "用户的需求" --allowedTools <白名单>
  ▼
完成配置后
转到路径 ②

三条路径说明

路径什么时候走用户需要做什么
---------
① 首次配置环境里从未配过 claude code,或用户主动要求重新配置默认直接走 AgentPlan,优先尝试自动从 ArkClaw 沙箱环境变量(ARK_AGENT_PLAN / ARK_CODING_PLAN / ARK_API_KEY)零感知配好;失败再让用户粘贴一次 Key。用户主动说"我有自己的 Anthropic 兼容网关 / 别的 base_url / 自定义模型"时才走 custom 分支
② 正常使用已经配好了(本 skill 配的,或用户自配且体检通过)什么都不用做,直接说编程需求即可
③ 兼容性检查用户手动写过 settings.json,本 skill 首次遇到如果检查通过:无需操作;如果不通过:选择重配或自己修

重要:正常使用时不要打扰用户

当配置已经就绪(路径 ②)时,不允许:

  • 复述配置流程
  • 解释 skill 在做什么
  • 询问"是否需要切换 / 是否需要重新配置"
  • 把 skill 的存在感暴露给用户

只做:

  1. 运行 bash scripts/ensure-onboarding.sh(确保 ~/.claude.json 标记 onboarding 完成)
  2. 调用 bash scripts/run.sh "用户的完整需求原文"(自动判定 review / build 模式)
  3. 把 claude code 的输出原样返回给用户

用户体验应该等同于"直接跟 claude code 对话",完全感觉不到 skill 的存在。

只有这三种情况允许打扰用户:

  1. 首次配置(环境全新)
  2. 兼容性检查不通过,且无法自动修复
  3. 用户主动说"切换 / 换一家 / 切到 X"

触发方式

  • 自然语言:"用 claude code 帮我重构 utils.py" / "claude code review 一下这个 PR"
  • 显式命令:/claude-code-allinone <你的编程需求>(强制走本 skill)
  • 报错触发:用户贴出 command not found: claude / Onboarding has not been completed / ANTHROPIC_AUTH_TOKEN is not set

详细流程

Step 0 — 运行 doctor.sh 检测环境

每次触发都先运行 bash scripts/doctor.sh,它会输出一个 JSON,包含:

{
  "claude_installed": true,
  "claude_version": "2.1.143",
  "claude_outdated": false,
  "config_state": "clean | managed-by-skill | user-managed",
  "active_profile": "agentplan | custom | null",
  "user_settings_summary": {"base_url": "...", "model": "..."} | null,
  "user_health": {"is_healthy": true/false, "checks": [...], "issues": [...]} | null,
  "onboarding_complete": true,
  "ark_api_key_set": true,
  "custom_api_key_set": false,
  "ark_managed_env": true,
  "ark_agent_plan": true,
  "ark_coding_plan": false,
  "ark_api_key_managed": true,
  "ark_model_id": "ark-code-latest",
  "issues": []
}

根据 config_state 决定走哪条路径。

Step 1 — 安装 / 升级 Claude Code CLI(仅首次需要)

scripts/install.sh 的行为:

当前状态行为
------
未安装 claude通过 npm 安装 @anthropic-ai/claude-code@latest
版本低于 2.1.0升级到最新
已是最新版跳过,不做任何事

Step 2 — 配置模型服务(仅路径 ① 触发)

默认行为:不问选项,直接走 AgentPlan

减少用户感知是核心原则。不要主动给用户列 A/B 菜单。除非用户主动说"我有自己的 Anthropic 兼容网关 / 自定义 base_url / 别的模型 Key",否则一律默认进入 AgentPlan 配置流程。

零感知首选:扫环境变量自动配好

ArkClaw / OpenClaw 沙箱会自动注入当前账号的套餐和 Key 信息,本 skill 应优先利用这些变量做零感知配置,避免让用户再粘贴一次 Key。

doctor.sh 输出会包含:

{
  "ark_managed_env": true,
  "ark_agent_plan": true,
  "ark_coding_plan": false,
  "ark_api_key_set": true,
  "ark_api_key_managed": true,
  "ark_model_id": "ark-code-latest"
}
ark_managed_env套餐标识ark_api_key_set应执行的动作
------------
trueark_agent_plan=trueark_coding_plan!=truetrue零感知配置 (AgentPlan):直接 bash scripts/setup-agentplan.sh --auto,完全不要询问用户
trueark_coding_plan=trueark_agent_plan!=truetrue零感知配置 (Coding Plan):直接 bash scripts/setup-codingplan.sh --auto。⚠️ 注意 Coding Plan 与 AgentPlan 是两套不同套餐,Key 互不通用,base_url 也不一样(coding vs plan),绝不能套用 AgentPlan profile
true两个都为 true(双开)true优先 AgentPlan:直接 bash scripts/setup-agentplan.sh --auto。脚本内置预校验,若 AgentPlan Key 401 会自动 fallbacksetup-codingplan.sh --auto --from-fallback,全程零感知,不需要询问用户
true两个都没标true默认 bash scripts/setup-agentplan.sh --auto(并打印一条 warning,401 时再切 codingplan)
false 或 ark_api_key_set=false走"传统首次配置":告知用户使用 AgentPlan,引导粘贴一次 Key

> 实现细节:setup-agentplan.sh --auto 内部带三层防护:(1) 本地格式自检挡掉粘错的输入;(2) 调用 /models endpoint 做活性 ping(不消耗推理 token,3 次重试,仅 401/403 视为失败);(3) AgentPlan 401 且 ARK_CODING_PLAN=true 时自动 exec 转发到 setup-codingplan.sh --auto --from-fallback。所以即使 skill 选错或双开账号 AgentPlan Key 失效,都不会真的把错 Key 写进 profile。

传统首次配置(仅在零感知不可用时触发)

向用户输出:

准备给你配置 Claude Code,使用火山方舟 AgentPlan(套餐内额度,ark-code-latest 智能路由)。

请粘贴 AgentPlan 控制台分配的专属 Key:

拿到 Key 后立即跑:

bash scripts/setup-agentplan.sh "$KEY"

何时走自定义网关分支?

只有以下情况才询问/触发 custom 流程,不要主动给用户列菜单:

  • 用户主动说:"我有自己的 Anthropic 网关" / "用我们公司的 base_url" / "我有 claude-code-router" / "用 Bedrock / Vertex 转出来的端点"
  • 用户主动给出 base_url + Key + model 三件套
  • 用户主动说"我没有 AgentPlan Key,但我有别的 Anthropic 兼容端点"

触发后引导用户依次给出 3 个信息,然后跑:

bash scripts/setup-custom.sh "$BASE_URL" "$KEY" "$MODEL"

> ⛔ 不允许在用户没提"自定义/别的网关/我的 Key"等关键词时,主动展示 A/B 菜单或让用户做选择。这会增加感知,违背"默认 AgentPlan + 零感知优先"原则。

配置脚本会自动完成:写 Key → 写 settings.json → 写 ~/.claude.jsonhasCompletedOnboarding: true.token 文件落盘。如果用户已有 settings.json,会先备份再覆盖。

Step 3 — 兼容性检查(仅路径 ③ 触发)

当 doctor.sh 返回 config_state == "user-managed" 时,说明用户之前手动写过 settings.json。此时读取 user_health 字段:

检查通过(is_healthy == true):

  • 不打扰用户,直接当作"已配好",进入正常使用

检查不通过(is_healthy == false):

向用户展示具体问题,并询问:

检测到你已有的 claude code 配置存在以下问题:
  1. <具体问题描述>
  2. <具体问题描述>

你希望:
  A. 让本 skill 帮你重新配置(推荐,会先备份你现有的文件)
  B. 我自己去修改

请回复 A 或 B。

Step 4 — 正常使用(智能路由 review / build 模式)

bash scripts/run.sh "用户的完整需求原文"

run.sh 内部会:

  1. 关键词扫描决定 mode:
    • 命中 "review / 评审 / 审查 / 看一下 / 分析 / 评估 / 检查 / lint / 评 / read-only" → review 模式(--permission-mode plan)
    • 否则默认 build 模式(--allowedTools "Read,Glob,Grep,LS,Bash,Edit,Write")
  2. nohup setsid + 跑 claude(避免 PTY 挂起)
  3. 把日志末尾原样返回

也可以由 Agent 显式指定:

bash scripts/run.sh --mode review "用户需求"
bash scripts/run.sh --mode build  "用户需求"

Step 5 — 切换模型服务(用户主动要求时)

仅当用户明确说"切换 / 换一家 / 切到 X / 换成自定义 / 用回 AgentPlan"等关键词时触发,不要主动建议切换

bash scripts/switch-profile.sh             # 列出已配置的服务
bash scripts/switch-profile.sh agentplan   # 切换到 AgentPlan
bash scripts/switch-profile.sh custom      # 切换到自定义网关

切换实际上是把 ~/.claude/settings.json 替换为目标 profile 的内容(同时同步 .token 文件),并把 ~/.claude/active-profile 写成目标名。


关键配置点(踩坑后的硬约束)

> 这是 v3.1 现网走通后总结出的必须遵守的规则,违反就报错。

规则说明
------
ANTHROPIC_AUTH_TOKEN,不要 ANTHROPIC_API_KEY后者会被 CLI 强制走 anthropic.com 鉴权链路,在境内 IDC 必然失败
~/.claude.json 必须有 hasCompletedOnboarding: true否则 CLI 拒绝在非交互模式启动,报 Onboarding has not been completed
~/.claude/settings.jsonenv 块 + ~/.claude/.token 文件 二者并存env 块负责 base_url / model / 各类开关,.token 文件负责 Key(更安全)
build 模式必须显式 --allowedTools 白名单否则默认 ask 模式会等用户交互,在沙箱里直接挂死
review 模式必须用 --permission-mode plan这样不会出现写文件的副作用,review 才是真正只读
⛔ Skill 调用方禁止叠加 pty: truerun.sh 的 会被 PTY 重新打开 stdin,导致 claude 等待输入
110s 超时是硬约束nohup setsid + log file + while-poll PID 路径;一旦 PID 还活着且超过 110s,主动 kill -9,从日志里取已生成的内容

健康检查都检查什么?

检查项不通过时的具体表现
------
~/.claude/settings.json 是否存在且 JSON 合法claude 启动会直接 abort
env.ANTHROPIC_BASE_URL 是否设置claude 不知道请求发往哪里
用了 ANTHROPIC_AUTH_TOKEN 而非 ANTHROPIC_API_KEY后者必然走 anthropic.com,境内 IDC 连不上
~/.claude.json 是否存在且 hasCompletedOnboarding == true否则 CLI 在非交互模式下 abort
~/.claude/.token 是否存在且非空否则连接时被拒 401
env.ANTHROPIC_MODEL 是否设置否则 CLI 会回退默认 sonnet,在自定义网关上找不到模型

Profile 设计

每个模型服务在 ~/.claude/profiles/ 下有一个 settings.json 模板:

~/.claude/profiles/
├── agentplan.json    — 火山方舟 AgentPlan(ark-code-latest,base_url /api/plan)
├── codingplan.json   — 火山方舟 Coding Plan(ark-code-latest,base_url /api/coding)
└── custom.json       — 自定义 Anthropic 兼容网关(占位符 __BASE_URL__ / __MODEL__)

~/.claude/settings.json 是当前激活配置的实际内容(由 setup / switch 脚本写入),~/.claude/active-profile 文件记录当前是哪一个。


必读参考文档

场景需要读的文件
------
引导用户选择模型供应商references/providers.md
用户报错 / 检查不通过references/troubleshooting.md
不确定整体流程 / review vs buildreferences/routing-flow.md

安全规则

  • 用户的 Key 只保存在 ~/.bashrc~/.claude/.token~/.claude/profiles/*.json 中(用户家目录内)
  • 覆盖配置前自动备份~/.claude/settings.json.bak.<时间戳>
  • 不上传任何外部服务,不在日志中记录 Key 明文
  • ⛔ 不会出现在日志或 stdout 的任何地方打印完整 Key

不做什么

  • 尝试连接 Anthropic 官方服务(沙箱网络在境内 IDC,连不上 anthropic.com)
  • 自动猜测 Key,所有 Key 必须由用户主动粘贴
  • 做 Codex 的配置(那是另一个 skill,叫 codex-allinone)
  • 在用户没确认前覆盖已有的 settings.json
  • 接管 review/build 之外的复杂权限模式(如 bypassPermissionsdontAsk),那是用户自己的事

常用对话示例

用户说Skill 做什么
------
"帮我装 claude code" / "在 ArkClaw 里用 claude code"安装 + 引导配置
"/claude-code-allinone 帮我写个 Python 脚本"直接执行(已配好则走 build 模式)
"claude code review 一下 utils.py"直接执行(走 review 模式,只读)
"切换到自定义网关" / "换一家"运行 switch-profile.sh
"claude 报 Onboarding has not been completed"跑 ensure-onboarding.sh
"claude 报 401"用「人话提示」告知用户:Key 失效或贴错套餐,引导去 ArkClaw 控制台刷新 / 切套餐 / 换 Kimi 等
"我现在用的哪家?"读取 ~/.claude/active-profile

给用户的"人话提示"模板(必须遵守)

skill 与用户沟通时,禁止出现 profile / token / settings.json / apiKeyHelper / onboarding 这类内部术语。下表是对应的人话翻译,凡需告知用户错误时一律按此输出:

内部状态给用户的人话提示
------
401 / 403 鉴权失败"连接火山方舟时被拒绝(可能是 Key 过期或贴错套餐)。可以这样修:\n 1. 去火山方舟控制台 → AgentPlan 页面,复制最新的专属 Key 发给我,我帮你重新写入(原配置会自动备份)\n 2. 如果你有别的可用 Key(Coding Plan 的、Kimi 的、DeepSeek 的、自建网关的),告诉我用哪个,我切过去\n请直接回复 1 或 2,或者直接把新 Key / "用 Kimi" 这类话发给我。"
Onboarding 未完成"Claude Code 还没完成首次启动检查,我帮你跳过(2 秒)"
relay 端口 connection refused"本地的协议中转服务没起来,我重新启动一下(2 秒)"
settings.json 字段缺失"配置文件里少了一项必要信息,我帮你重新配一下"
apiKeyHelper 路径不存在"Key 文件丢失了(可能清理过家目录),我重写一下"
Key 格式自检失败"你给的这串看起来不像一把有效的 Key — 应该是一串 20 位以上的字母+数字。请去控制台完整复制后再发我"
网络抖动跳过预校验"网络有点抖,在线校验跳过,先把配置写下来。如果运行时报错我再告诉你怎么修"

版本历史

共 1 个版本

  • v1.0.1 当前
    2026-05-21 13:17 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

dev-programming

Mcporter

steipete
使用 mcporter CLI 直接列出、配置、认证及调用 MCP 服务器/工具(支持 HTTP 或 stdio),涵盖临时服务器、配置编辑及 CLI/类型生成功能。
★ 196 📥 67,926
dev-programming

YouTube

byungkyu
使用托管OAuth集成YouTube Data API,支持搜索视频、管理播放列表、获取频道数据及评论互动,适用于用户需要时使用此技能。
★ 142 📥 41,851
dev-programming

Github

steipete
使用 `gh` CLI 与 GitHub 交互,通过 `gh issue`、`gh pr`、`gh run` 和 `gh api` 管理议题、PR、CI 运行及高级查询。
★ 681 📥 329,262