
clawk
给 AI 编码代理一个一次性 Linux 虚拟机,保护你的电脑。
项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 1041
使用教程
环境要求
- macOS 14+ 且为 Apple 芯片(Apple silicon)
- Homebrew(使用 brew 安装方式时)
- Go 1.26+(仅源码构建时需要)
- 无需 Docker、qemu 或 sudo;Linux 支持为实验性,走 firecracker
安装与启动步骤
-
1用 Homebrew 安装
README 推荐的常规安装方式,一条命令即可,无需额外宿主机工具链。
brew install clawkwork/tap/clawk -
2从源码安装(可选)
贡献者或不使用 Homebrew 时选此方式,需要本机有 Go 1.26+,make install 安装到 $GOBIN。
git clone https://github.com/clawkwork/clawk && cd clawk make install -
3进入项目并启动沙箱
先 cd 到代码仓库目录,再执行 clawk:它会为该目录启动一个一次性 Linux VM 并自动附加 claude。
cd ~/code/my-project clawk -
4在同一沙箱跑其他代理
同一个沙箱里可以换用 shell、codex、pi、opencode 等;向代理传参需用 -- 分隔。
clawk run shell clawk run codex clawk run claude -- --resume -
5转发端口与网络白名单
把 guest 内的开发服务器暴露到本机端口,或把域名加入沙箱网络允许列表(不在白名单的请求会被拒绝)。
clawk forward add my-project 3000 clawk network allow my-project api.example.com -
6停止、恢复与销毁
clawk down 停止 VM(仓库与代理状态保留);clawk attach 稍后恢复会话;clawk destroy 删除 VM 但保留对话历史。
clawk down clawk attach clawk destroy -
7一次配置 Claude 认证
使用 Claude Code 时先取 token 并写入 clawk,之后每个沙箱开机即已登录,避免并行沙箱的登录冲突。
claude setup-token clawk auth set-token -
8可选:编写 clawk.mod
项目需要更多配置时,在仓库放一个 go.mod 风格的 clawk.mod 文件,声明沙箱的 CPU、内存、镜像、网络与转发。
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
vm image | 否 | 指定沙箱 rootfs,任意 OCI 镜像均可。 | golang:1.25 |
vm cpu | 否 | 分配给沙箱虚拟机的 CPU 核数。 | 4 |
vm memory | 否 | 分配给沙箱虚拟机的内存大小。 | 8GiB |
network allow | 否 | 沙箱网络允许列表,仅放行列出的域名。 | allow api.example.com |
forwards | 否 | 把 guest 内端口转发到本机,便于访问开发服务器。 | forwards ( 3000 ) |
env | 否 | 从宿主 shell 转发环境变量进沙箱,值来自当前 shell。 | env ( DATABASE_URL ) |
如何确认成功
在仓库目录执行 clawk 后,VM 启动并自动附加 Claude Code;在沙箱内执行 curl https://tracker.evil.example 会因不在允许列表而被拒绝,说明边界生效。
常见问题
Q:需要安装 Docker、qemu 或 sudo 吗?
A:不需要。hypervisor 使用 Apple 的 Virtualization.framework 并链接进二进制,发布版本已内置 guest 代理,无额外宿主机工具,也不需要 sudo。
Q:Linux 上能用吗?
A:可以但属实验性,通过 firecracker 支持。README 建议从 docs/linux-quickstart.md 开始,其中说明了配置、工作流与当前缺口。
Q:怎么彻底卸载?
A:先 clawk destroy 删除沙箱,再 rm -rf ~/.clawk,最后用 brew uninstall clawk(源码安装则删除 $GOBIN 中的文件)。没有 launchd 任务残留。
Q:怎样避免每个沙箱都要重新登录 Claude?
A:执行一次 claude setup-token 再执行 clawk auth set-token,之后所有沙箱启动时即为已登录状态,并行沙箱之间也不会登录冲突。
Q:改了 clawk.mod 会立刻影响正在运行的沙箱吗?
A:不会。该块是模板,在创建沙箱时被快照,因此运行中的沙箱不会意外变更,需要重建沙箱才会生效。
注意事项
- README 以 macOS 为先,要求 macOS 14+ 的 Apple 芯片机器。
- 首次运行会探测缺失依赖并提示修复。
- clawk.mod 不是必需的,无配置文件时使用合理默认值。
- 同一目录下的沙箱状态可持久保存,clawk destroy 只删除 VM,对话历史仍保留。
核心亮点
- 通过 microVM 实现强隔离,代理操作不影响宿主机,安全性高
- 一次性环境,用完即弃,避免环境污染和残留
- 与 Claude Code、Codex 等主流代理集成,即插即用
不足之处
- 早期项目,文档和社区生态尚待完善
- 虚拟化开销可能影响性能,尤其在低配机器上
适用场景
- 在本地开发中安全运行 AI 编码代理,防止恶意或误操作
- 测试不可信代码或依赖,无需担心污染开发环境
- 多代理并行开发,每个代理拥有独立隔离环境
替代项目
Firecracker、gVisor、Docker sandbox
上一篇:IAGA-Sentinel
下一篇:bunqueue
同类项目推荐
model-compose
开源
一个 YAML 文件,快速部署生产级 AI 服务,随处运行。
Declarative AI pipelines in one YAML file. Tokens, audio chunks, and video frames fl···
pgvector_pgsql_windows
开源
Windows 上原生跑 pgvector,免 Docker 直接装
pgvector for PostgreSQL Windows (native compiled in Microsoft Windows environment)
tma1
开源
让 AI 代理读取自己的运行日志,自动优化下一轮决策。
Local-first observability your agent reads back. TMA1 records every LLM call, then r···
project-maya
开源
本地跑 321B MoE 大模型,单卡到 16 卡,兼容 OpenAI 接口
Run GLM-5.3-Flash (321B), DeepSeek-V4.1-Flash (748B) and MiniMax-M3.1-Flash (428B) o···
ThinkWatch
开源
给企业 AI 接入装上安全闸门,统一管控、审计、控费
Self-hosted AI API and MCP gateway for organizations: SSO and RBAC, per-user identit···
redb-open
开源
统一接入多数据库,实时迁移复制,为AI和大规模数据而生。
Distributed data mesh for real-time access, migration, and replication across divers···
rapid_llm
开源
用 Triton 手写轻量推理框架,快速读懂并改造 LLM 内核
RapidLLM is an LLM inference framework with continuous batching, tensor and data par···
xDiT
开源
多卡并行加速 DiT 出图,单卡跑不动的高分辨率也能秒级生成
xDiT: A Scalable Inference Engine for Diffusion Transformers (DiTs) with Massive Par···
vllm-rlt
开源
给循环 Transformer 做循环级调度的推理引擎
A vLLM-inspired inference engine for looped transformers, with loop-level scheduling···