# Claude Code
<subtitle>在沙箱中提供 Claude Code Agent。</subtitle>

> 关于在 UCloud Sandbox 中运行 Claude Code 的完整指南——包括处理代码仓库、流式输出等——请参阅 [代码 Agent 最佳实践](/docs/agent-sandbox/best-practices/codeagent.md)。

## 模板定义

```python
# template.py
from ucloud_sandbox import Template

template = (
    Template()
    .from_node_image("24")
    .apt_install(["curl", "git", "ripgrep"])
    # Claude Code 将作为 "claude" 全局可用
    .npm_install("@anthropic-ai/claude-code@latest", g=True)
)
```

## 构建模板

```python
# build.py
from ucloud_sandbox import Template, default_build_logger
from .template import template as claudeCodeTemplate

Template.build(claudeCodeTemplate, 'claude-code',
    cpu_count=1,
    memory_mb=1024,
    on_build_logs=default_build_logger(),
)
```

## 从模板创建沙箱

```python
# sandbox.py
from ucloud_sandbox import Sandbox

sbx = Sandbox.create(
    'claude-code',
    envs={
        'ANTHROPIC_API_KEY': '<your api key>',
    },
)
print("Sandbox created", sbx.sandbox_id)

# 打印 Claude Code 帮助信息
# result = sbx.commands.run('claude --help')
# print(result.stdout)

# 使用 Claude Code 运行一个提示
result = sbx.commands.run(
    "claude --dangerously-skip-permissions -p 'Create a hello world index.html'",
    timeout=0,
)
print(result.stdout)

sbx.kill()
```
