# Claude Code Runtime Report

## 本轮目标
为 `code-worker` 建立一条可实际运行的 Claude Code 执行链路：
- 非 root 用户执行
- 支持多 provider mode
- 默认策略可控
- 具备独立 coding workdir

---

## 已完成内容

### 1. 专用执行用户
已将 `lighthouse` 配置为 Claude Code 专用执行用户。

### 2. 独立安装
已在 `lighthouse` 用户下安装独立的：
- nvm
- Node.js 22
- npm
- Claude Code

### 3. provider 模式
已实现统一入口脚本：
- `scripts/claude-code-mode`

当前 provider 策略：
- 默认：`anyrouter`
- 备选：`volc`
- 受限：`openrouter`（需用户显式批准）

### 4. 独立工作目录
已建立 Claude Code 默认工作目录：
- `/home/lighthouse/coding-work`

原因：
- 避免在 `/root/.openclaw/workspace` 下触发 `.claude` / `.mcp.json` 权限问题
- 保证 `lighthouse` 有完整访问权限
- 适合作为 clone repo / worktree / 编码任务目录

---

## 关键诊断结论

### 根因 1：root 不适合直接运行 Claude Code
在 root 环境下，Claude Code 的权限模式受到限制，不适合作为稳定执行路径。

### 根因 2：`/root/.openclaw/workspace` 不是 `lighthouse` 的合适工作目录
当 `lighthouse` 在 `/root/.openclaw/workspace` 下执行 Claude Code时，会因读取以下文件失败而出现权限问题：
- `.claude/settings.json`
- `.claude/settings.local.json`
- `.mcp.json`

表现为：
- CLI 启动
- 退出码可能为 0
- 但没有可用输出

### 解决方案
改为在：
- `/home/lighthouse/coding-work`
中执行 Claude Code。

### 根因 3：anyrouter 对模型名兼容性敏感
经验证：
- `anyrouter + --model claude-opus-4-6` → 403
- `anyrouter + --model opus` → 正常返回 `OK`

### 解决方案
对 `anyrouter` 默认追加：
- `--model opus`

---

## smoke test 结果

### volc
结果：通过

最小任务：
- `Reply with exactly OK`

返回：
- `OK`

说明：
- `lighthouse + coding-work + volc` 链路已验证可用

### anyrouter
结果：通过（在 `--model opus` 条件下）

最小任务：
- `Reply with exactly OK`

返回：
- `OK`

说明：
- `lighthouse + coding-work + anyrouter + --model opus` 链路已验证可用

---

## 当前可用结论

当前已经可以认为以下链路可正式投入使用：
- `scripts/claude-code-mode "..."`（默认 anyrouter，内部自动追加 `--model opus`）
- `scripts/claude-code-mode volc "..."`

以下链路默认禁止：
- `scripts/claude-code-mode openrouter "..."`

---

## 建议

### 当前建议
- 日常复杂编码任务可优先使用默认模式：
  - `scripts/claude-code-mode "Your task"`
- 当默认模式异常时，显式切换：
  - `scripts/claude-code-mode volc "Your task"`

### 后续建议
- 如需更高自动化，可增加：
  - 默认失败自动切 volc
  - provider 成功率记录
  - 任务类型与 provider 绑定策略
