
沙箱化 Claude Code AgentShepherd 如何让 AI 写代码却绝不触碰你的工作目录【免费下载链接】shepherdA runtime substrate that turns an agents execution into a reversible, Git-like trace, so meta-agents can observe, fork, replay, and revert any run. Couples agent and environments in a copy-on-write fork ~5x faster than docker commit, with ~95% KV-cache reuse on replay. Framework built for meta-agents to supervise, optimize, and train other agents项目地址: https://gitcode.com/gh_mirrors/shepherd16/shepherd你是否担心 Claude Code 之类的 AI 编码 Agent 在替你写代码时会顺手改乱你的项目Shepherd 是一个专为 Agent 打造的运行时沙箱底座它把 AI Agent比如 Claude Code的每次执行记录成一条可回滚的 Git 式轨迹并用操作系统级的权限围栏保证——Agent 写的每一行代码都只是待审提案在你明确接受之前绝不会落在你的工作目录里。一、问题AI 写代码谁来守住你的工作目录 让 Agent 直接在你项目里干活风险在于隐式修改它改了哪些文件往往要事后从终端滚动日志里考古它有没有越权去动不该动的目录只能靠约定约束改坏了怎么办只能手动git checkout一点点还原。Shepherd 的思路是反过来把改了什么变成一个可读的值把能不能改交给操作系统去强制。二、任务签名即权限一行类型标注划出可写范围在 Shepherd 里一个任务就是一个没有函数体的 Python 函数——函数体由 Claude Agent 在运行时完成而签名和文档字符串就是 Agent 必须履行的契约def write_program(repo: sp.GitRepo, prompt: str, output_path: str program.py) - None: 写一个小的、自包含的 Python 程序……其中repo: sp.GitRepo这一个类型标注就是授予 Agent 的可写工作区句柄想只读不让改就写成May[GitRepo, ReadOnly]。换句话说读签名 读权限不存在另一份隐藏的权限文档完整演示见 agent_task.py。三、系统调用级沙箱越界写入被 OS 直接拒绝 ️光有声明还不够Shepherd 还支持placementjail的沙箱化执行任务签名里的权限会被编译成该次运行的可写根目录并由操作系统原生强制——macOS 用 SeatbeltLinux 用 Landlock。这意味着对只读仓库的任何写入在系统调用层面直接被拒绝而不是靠 Agent 自觉权限默认拒绝default-deny签名里没给写权限的目录Agent 根本碰不到执行位置可选jail/advisory/auto三档记录中永远写清这次运行是沙箱强制还是仅记录见 placements.md。更关键的是Agent 的产出不会写进你的文件而是成为一份保留输出retained output——一个安全搁在一旁的提案随时可以查看、试运行甚至直接丢弃。四、审查你的 AI 提案查看、试运行、保留或丢弃 ✅Agent 跑完后工作目录依然是干净的。你可以用 CLI 从容审查shepherd run changeset --latest --read donut.py | python3 - # 直接从提案里试运行 shepherd run select run-ref # 保留合并进工作区 shepherd run discard run-ref # 丢弃你的文件毫发无损每一次运行包括失败的都会留下一条完整、有序的轨迹发了什么请求、做了什么操作、产出是什么都能用shepherd run trace回放查询——调试变成了读记录而不是猜日志概念解释见 runs.md、effects.md。下面两张图来自仓库的可视化示例展示 Agent 生成方案后被审查、对比、挑选的过程示例源码位于 visual_variant_studio.ipynb 与 visual_pipeline_recovery.ipynb配套脚本在 shepherd_usecases/。五、快速上手三步启动你的沙箱 Agent装好环境pip install shepherd-aiPython 3.11macOS 与 Linux 支持 OS 级强制Windows 请用 WSL初始化工作区并体检shepherd init然后shepherd doctor claude确认 Claude CLI 登录态与沙箱就绪跑第一个 Agent 任务shepherd demo write agent-task agent_task.py python agent_task.py约一分钟后Agent 写好的donut.py就作为提案躺在保留输出里——你的目录里什么都没多出来。想让它改别的编辑脚本里的PROMPT重跑即可契约不变。想让 Claude 修改已有文件比如润色 README参考 claude_readme.py。六、总结让 Agent 自由发挥让边界不可逾越 Shepherd 把AI 写代码拆解成一条闭环签名声明权限 → OS 沙箱强制 → 保留输出隔离 → 人工审查决定。你既享受 Claude Code 的生产力又始终握有最终决定权——写得快收得住回得去。想深入了解概念体系可以从 docs/shepherd/concepts/index.md 读起。【免费下载链接】shepherdA runtime substrate that turns an agents execution into a reversible, Git-like trace, so meta-agents can observe, fork, replay, and revert any run. Couples agent and environments in a copy-on-write fork ~5x faster than docker commit, with ~95% KV-cache reuse on replay. Framework built for meta-agents to supervise, optimize, and train other agents项目地址: https://gitcode.com/gh_mirrors/shepherd16/shepherd创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考