Crux 快速上手指南
本指南帮助你在 15 分钟内完成 Crux 的安装和首次运行,体验 AI 智能体操作系统的核心功能。
前置条件
Go 环境
确认已安装 Go 1.26 或更高版本:
$ go version
go version go1.26.0 linux/amd64如果未安装,请前往 Go 官方下载页面 安装。
Claude Code CLI
Crux 通过 Claude Code CLI 调用 LLM 推理。确认已安装:
$ claude --version
2.1.69如果未安装:
npm install -g @anthropic-ai/claude-code安装后,需要配置有效的 API 密钥。请参考 Claude Code 文档 完成配置。
安装 Crux
使用 go install 一键安装:
go install github.com/usecrux/crux/cmd/crux@latest验证安装成功:
$ crux version
crux v0.1.0
claude-code: 2.1.69如果看到以下输出,说明 Claude Code CLI 未安装或不在 PATH 中:
crux v0.1.0
✗ claude-code CLI not found
→ 建议: npm install -g @anthropic-ai/claude-code首次运行
最简用法
向 Crux 传递一个意图字符串,即可 Spawn 一个智能体进程来完成任务:
$ crux -i "分析 ./README.md"首次运行时,Crux 会自动启动一个后台 daemon 进程来管理内核和进程表。daemon 通过 Unix domain socket 与 CLI 通信,空闲 60 秒后自动退出。你无需手动管理 daemon——一切都是透明的。
你将看到类似以下的输出:
[kernel] spawning PID 1...
[agent/1] reasoning step 1...
[agent/1] reasoning step 2...
══ Result ══════════════════════════════════════════════════════════════════════
## README.md 分析
该文件是 Crux 项目的入口说明文档,包含项目简介、安装方式和基本用法。
结构清晰,涵盖了新用户上手所需的关键信息...
════════════════════════════════════════════════════════════════════════════════
[kernel] PID 1 exited(0) | tokens: 1024 | elapsed: 5.3s解读输出
| 输出行 | 含义 |
|---|---|
[kernel] spawning PID 1... | 内核正在创建智能体进程,分配 PID 1 |
[agent/1] reasoning step 1... | PID 1 的智能体正在执行第 1 步推理 |
══ Result ══... | 双线边框内是智能体的最终输出结果 |
[kernel] PID 1 exited(0) | 进程正常退出(退出码 0) |
tokens: 1024 | 本次执行消耗的 token 数量 |
elapsed: 5.3s | 总耗时 |
使用 Agent
Agent 定义了智能体的身份和角色。通过 --agent 参数可以使用预定义的 Agent:
$ crux -i "分析 ./cmd/crux/main.go" --agent=code-analystcode-analyst 是 Crux 内置的参考 Agent,专门用于分析代码质量、识别潜在问题并提供改进建议。它引用了 code-analysis Skill,拥有访问文件系统(/dev/fs)和 Shell(/dev/shell)的权限。
你将看到类似以下的输出:
[kernel] spawning PID 1...
[agent/1] reasoning step 1...
[agent/1] reasoning step 2...
[agent/1] reasoning step 3...
══ Result ══════════════════════════════════════════════════════════════════════
## 代码分析报告: cmd/crux/main.go
### 总体评价
该文件是 Crux CLI 的入口点,结构清晰,职责明确...
### 发现
- **Info** — 全局变量较多,可考虑封装到结构体中
- **Info** — 建议为 runRoot 添加更多错误分类处理
════════════════════════════════════════════════════════════════════════════════
[kernel] PID 1 exited(0) | tokens: 2340 | elapsed: 12.5s💡 想了解 Agent 和 Skill 的设计原理?请参阅 核心概念文档 中的"Agent 与 Skill"章节。
astrace 调试体验
astrace(Agent Strace)是 Crux 的调试工具,类似 Unix 的 strace,可以实时查看智能体进程的每一步系统调用(Syscall),帮助你理解智能体的完整执行过程。
得益于 daemon 架构,astrace 支持跨终端操作——你可以在任意终端追踪任意正在运行的进程,无需在启动进程的终端中操作。
使用方法
在一个终端启动一个智能体任务:
# 终端 A
$ crux -i "分析当前项目结构并给出建议"打开另一个终端,用 crux ps 找到正在运行的进程 PID,然后 attach:
# 终端 B
$ crux astrace 1预期输出
[astrace] attached to PID 1 (state: running)
[ 0.013s] Open(flags=2, path="/dev/llm/claude") → 3 1ms ← LLM 调用
[ 0.014s] Write(fd=3, size=1234) → <nil> 5.20s ← 慢操作
[ 5.214s] Read(fd=3, length=1048576) → 892 2ms
[ 5.216s] Open(flags=2, path="/dev/fs/./README.md") → 4 1ms
[ 5.217s] Write(fd=4, size=56) → <nil> 0µs
[ 5.217s] Read(fd=4, length=1048576) → 2048 1ms
[ 5.218s] Close(fd=4) → <nil> 0µs
[ 5.218s] Write(fd=3, size=3456) → <nil> 3.10s ← 慢操作
[ 8.318s] Read(fd=3, length=1048576) → 1024 2ms
[ 8.320s] Close(fd=3) → <nil> 0µs
[astrace] detached from PID 1 (process exited)解读关键 Syscall
| Syscall 行 | 含义 |
|---|---|
Open(path="/dev/llm/claude") | 打开 LLM 推理设备 |
Write(fd=3, size=1234) | 向 LLM 发送推理请求(1234 字节) |
Read(fd=3, ...) | 读取 LLM 响应 |
Open(path="/dev/fs/./README.md") | 智能体请求读取文件(工具调用) |
Close(fd=4) | 关闭文件设备 |
← LLM 调用 | 标注涉及 /dev/llm/ 设备的操作 |
← 慢操作 | 标注耗时超过 1 秒的操作(通常是 LLM 推理) |
💡
<nil>表示操作成功且无返回值(类似其他语言中的null或void)。
按 Ctrl+C 可随时脱离 astrace,不会影响被追踪的进程。
进程管理
Crux 的进程在系统级别可见——与 Unix 进程一样,你可以在任意终端查看和管理所有正在运行的智能体进程,无论它们是从哪个终端启动的。
查看进程列表
$ crux ps输出示例:
PID STATE SKILL TOKENS ELAPSED
───── ───────── ─────────────── ──────── ────────
1 running code-analysis 456 3.2s
2 zombie — 123 1.1s
1 active, 1 zombie, 2 total使用 --json 获取 JSON 格式输出,方便脚本处理:
$ crux ps --json输出示例:
{
"ok": true,
"data": {
"processes": [
{
"pid": 1,
"ppid": 0,
"state": "running",
"intent": "分析 ./README.md",
"skills": ["code-analysis"],
"tokens_used": 456,
"elapsed_ms": 3200
}
]
}
}终止进程
你可以从任意终端终止正在运行的进程:
$ crux kill 1
[kernel] PID 1: signal sent (SIGTERM)如果没有任何 crux 实例运行(daemon 未启动),crux ps 会输出 "No active processes.",crux kill 会输出标准错误提示——不会崩溃或报连接错误。
下一步
恭喜!你已经体验了 Crux 的核心功能。以下资源帮助你进一步探索:
- 核心概念文档 — 深入理解进程、VFS、Syscall、Agent 与 Skill 的设计哲学
- 参考手册 — 完整的 CLI 命令参考、Syscall 签名和 Manifest 字段说明
- Agent 和 Skill 扩展 — 创建自定义 Agent(
lib/agents/)和 Skill(lib/skills/),扩展 Crux 的能力边界
实战教程
想要手把手学习 Crux 开发?查看 教程目录:
- 编写第一个 Skill — 创建 Skill、Agent 并运行(~20 分钟)
- 调试第一个 bug — 使用 astrace 定位和修复问题(~15 分钟)
- 组合多智能体工作流 — 用 Compose 编排多智能体协作(~25 分钟)