# Horsie：为 LLM Agent 图提供沙箱化编排的安全多智能体工作流引擎

> Horsie 是一个 Rust 编写的多 Agent 工作流编排工具，通过沙箱隔离每个 Agent 的执行环境，支持持久化任务状态、自动恢复和细粒度权限控制，为生产级 AI 工作流提供安全保障。

- 板块: [Openclaw Llm](https://www.zingnex.cn/forum/board/openclaw-llm)
- 发布时间: 2026-06-06T14:15:11.000Z
- 最近活动: 2026-06-06T14:21:22.321Z
- 热度: 163.9
- 关键词: Horsie, LLM Agent, 沙箱, 多智能体, 工作流编排, Rust, 安全隔离, nono, 能力系统, 持久化任务
- 页面链接: https://www.zingnex.cn/forum/thread/horsie-llm-agent
- Canonical: https://www.zingnex.cn/forum/thread/horsie-llm-agent
- Markdown 来源: ingested_event

---

## 原作者与来源

- 原作者/维护者：zhxiaogg
- 来源平台：github
- 原始标题：horsie
- 原始链接：https://github.com/zhxiaogg/horsie
- 来源发布时间/更新时间：2026-06-06T14:15:11Z

## 原作者与来源\n\n- **原作者/维护者**: zhxiaogg\n- **来源平台**: GitHub\n- **原始标题**: horsie\n- **原始链接**: https://github.com/zhxiaogg/horsie\n- **发布时间**: 2026年6月6日\n\n---\n\n## 引言：多 Agent 系统的安全困境\n\n随着大型语言模型（LLM）能力的不断提升，基于 Agent 的自动化工作流正在从实验走向生产。一个典型的开发场景可能涉及多个 Agent 协作：规划 Agent 分析需求、编码 Agent 生成代码、审查 Agent 检查质量、提交 Agent 创建 PR。\n\n然而，这种多 Agent 架构带来了一个严峻的安全挑战：**如何确保每个 Agent 只能访问它被授权访问的资源？**\n\n传统的解决方案通常是在同一个进程中运行所有 Agent，依靠代码层面的权限检查来限制访问。但这种方式存在明显缺陷：一旦某个 Agent 被提示注入（prompt injection）攻击控制，它就可能突破限制，访问敏感文件或发起恶意网络请求。\n\nHorsie 正是为解决这一问题而生。它通过操作系统级的沙箱隔离，为每个 Agent 提供独立、受限的执行环境，从根本上消除了 Agent 越权访问的可能性。\n\n---\n\n## 什么是 Horsie？\n\nHorsie 是一个用 Rust 编写的 LLM Agent 工作流编排引擎。它的核心设计理念可以概括为三个关键词：**沙箱隔离、持久化执行、图式工作流**。\n\n### 沙箱隔离：安全的基石\n\nHorsie 使用 [nono](https://github.com/always-further/nono) 沙箱技术，为每个 Agent 创建独立的执行环境。这意味着：\n\n- **文件系统隔离**：Agent 只能访问被显式授权的文件和目录\n- **网络隔离**：Agent 只能访问被允许的网络端点\n- **进程隔离**：每个 Agent 运行在独立的子进程中，崩溃不会影响其他 Agent\n- **权限最小化**：默认情况下 Agent 没有任何权限，所有权限都必须显式授予\n\n这种设计让 Horsie 特别适合处理敏感任务——比如自动化的代码审查、涉及生产数据库的运维操作、或者处理机密文档的工作流。\n\n### 持久化执行：可靠性的保障\n\nHorsie 将每个工作流作为后台任务（job）运行，并持久化记录每个步骤的执行状态。这意味着：\n\n- **自动恢复**：如果守护进程重启，正在运行的任务会自动恢复\n- **断点续传**：可以暂停任务，稍后从断点继续执行\n- **审计追踪**：完整的执行日志，便于问题排查和合规审计\n- **容错处理**：单个 Agent 失败不会导致整个工作流崩溃\n\n### 图式工作流：灵活的编排\n\nHorsie 将工作流建模为有向图（graph），节点代表 Agent，边代表执行顺序。这种设计支持：\n\n- **顺序执行**：Agent A → Agent B → Agent C\n- **并行分支**：Agent A 同时触发 Agent B 和 Agent C\n- **条件路由**：根据中间结果决定下一步执行哪个 Agent\n- **循环迭代**：支持需要多轮迭代的复杂任务\n\n---\n\n## 架构设计解析\n\nHorsie 由两个核心组件构成：\n\n### horsie（CLI 与守护进程）\n\n这是用户直接交互的入口，负责：\n\n- 启动/停止守护进程\n- 提交新任务\n- 查询任务状态\n- 查看执行日志\n- 管理任务生命周期（暂停、恢复、删除）\n\n守护进程在后台运行，通过 Unix Socket 与客户端通信，并管理所有任务的执行。\n\n### horsie-runtime（沙箱子进程）\n\n这是真正执行 Agent 逻辑的组件，每个任务对应一个独立的 runtime 进程：\n\n- 在 nono 沙箱中运行，受限于显式授予的能力（capability）\n- 是唯一直接与 LLM API 通信的进程\n- 是唯一直接访问工作目录的进程\n- 与主进程通过 IPC 通信，传递执行结果和事件\n\n这种分离架构确保了即使 runtime 进程被完全攻破，攻击者也无法突破沙箱限制访问未授权资源。\n\n---\n\n## 快速上手\n\n### 安装\n\nHorsie 需要 Rust 工具链（建议使用最新稳定版）：\n\n```bash\n# 克隆仓库\ngit clone https://github.com/zhxiaogg/horsie.git\ncd horsie\n\n# 构建并安装\nmake build-cli\nmake install-cli\n```\n\n默认安装到 `~/.local/bin`，可以通过 `PREFIX` 和 `BINDIR` 变量自定义安装路径。\n\n### 启动守护进程\n\n```bash\n# 前台运行\nhorsie daemon start\n\n# 后台运行\nhorsie daemon start --background\n```\n\n### 提交任务\n\n```bash\nhorsie job run \\\n  --workflow examples/dev-workflow.json \\\n  --capabilities examples/dev-workflow-capabilities.json \\\n  --workdir /path/to/project \\\n  --input \"为 CLI 添加 --version 参数\"\n```\n\n这里的关键是 `capabilities.json` 文件，它定义了该任务中所有 Agent 的权限边界。\n\n### 任务管理\n\n```bash\n# 查看守护进程状态\nhorsie daemon status\n\n# 列出所有任务\nhorsie job list\n\n# 查看任务详情\nhorsie job status <job-id>\n\n# 实时跟踪日志\nhorsie job logs <job-id> --follow\n\n# 暂停任务\nhorsie job stop <job-id>\n\n# 恢复任务\nhorsie job resume <job-id> -m \"继续执行\"\n\n# 删除已完成任务\nhorsie job remove <job-id>\n```\n\n---\n\n## 配置详解\n\n### 全局配置\n\n配置文件位于 `$XDG_CONFIG_HOME/horsie/config.json`（默认 `~/.config/horsie/config.json`）：\n\n```json\n{\n  \"providers\": {\n    \"openai\": {\n      \"api_key\": \"sk-...\"\n    }\n  },\n  \"models\": {\n    \"default\": \"gpt-4\",\n    \"planner\": \"gpt-4\",\n    \"coder\": \"gpt-4-turbo\"\n  },\n  \"sandbox\": {\n    \"default_timeout\": 300\n  }\n}\n```\n\n### 工作流定义\n\n工作流使用 JSON 定义 Agent 图：\n\n```json\n{\n  \"name\": \"dev-workflow\",\n  \"agents\": [\n    {\n      \"id\": \"planner\",\n      \"model\": \"planner\",\n      \"prompt\": \"分析需求并制定实现计划...\"\n    },\n    {\n      \"id\": \"coder\",\n      \"model\": \"coder\",\n      \"prompt\": \"根据计划编写代码...\"\n    },\n    {\n      \"id\": \"reviewer\",\n      \"model\": \"default\",\n      \"prompt\": \"审查代码质量...\"\n    }\n  ],\n  \"edges\": [\n    {\"from\": \"planner\", \"to\": \"coder\"},\n    {\"from\": \"coder\", \"to\": \"reviewer\"}\n  ]\n}\n```\n\n### 能力（Capability）定义\n\n能力文件定义每个 Agent 的权限边界：\n\n```json\n{\n  \"planner\": {\n    \"files\": [\"README.md\", \"docs/*.md\"],\n    \"network\": false\n  },\n  \"coder\": {\n    \"files\": [\"src/**/*.rs\", \"Cargo.toml\"],\n    \"network\": false\n  },\n  \"reviewer\": {\n    \"files\": [\"src/**/*.rs\"],\n    \"network\": false\n    \"commands\": [\"cargo check\", \"cargo test\"]\n  }\n}\n```\n\n这种细粒度的权限控制让每个 Agent 只能访问它真正需要的资源。\n\n---\n\n## 安全设计亮点\n\n### 默认拒绝原则\n\nHorsie 采用"默认拒绝"的安全模型：\n\n- 新 Agent 默认没有任何权限\n- 每个权限必须显式声明\n- 权限声明采用白名单模式\n- 通配符权限需要特别审批\n\n### 最小权限原则\n\n每个 Agent 只获得完成其任务所需的最小权限集：\n\n- 规划 Agent 只需要读取文档权限\n- 编码 Agent 只需要读写源代码权限\n- 审查 Agent 只需要读取代码和执行测试命令权限\n\n### 纵深防御\n\n多层安全机制共同保护系统：\n\n1. **沙箱隔离**：操作系统级进程隔离\n2. **能力系统**：细粒度权限控制\n3. **审计日志**：完整执行记录\n4. **资源限制**：CPU/内存/超时限制\n\n---\n\n## 适用场景\n\n### 自动化代码审查\n\n在 CI/CD 流程中集成 Horsie，让多个 Agent 协作审查代码：\n\n- 安全审查 Agent：检查潜在漏洞\n- 风格审查 Agent：检查代码规范\n- 测试 Agent：生成并运行测试用例\n\n每个 Agent 在沙箱中运行，无法访问敏感配置或修改生产代码。\n\n### 敏感文档处理\n\n处理包含机密信息的工作流：\n\n- 解析 Agent：提取关键信息\n- 分析 Agent：生成洞察报告\n- 脱敏 Agent：移除敏感内容\n\n通过能力控制，确保解析 Agent 无法将数据发送到外部 API。\n\n### 多租户 SaaS\n\n为不同用户提供隔离的 AI 工作流执行环境：\n\n- 每个用户的任务在独立沙箱中运行\n- 用户数据完全隔离\n- 防止跨租户数据泄露\n\n---\n\n## 局限与考量\n\n### 性能开销\n\n沙箱隔离带来额外的性能开销：\n\n- 进程创建成本：每个 Agent 需要启动新进程\n- IPC 通信成本：跨进程通信比函数调用慢\n- 沙箱检查成本：每次系统调用都需要权限检查\n\n对于延迟敏感的场景，可能需要权衡安全与性能。\n\n### 平台限制\n\n目前 Horsie 主要支持：\n\n- Linux（借助 nono 沙箱）\n- macOS（部分支持）\n- Windows 支持仍在开发中\n\n### 学习曲线\n\n相比简单的脚本编排，Horsie 需要理解：\n\n- 能力系统的设计原则\n- 工作流图的建模方法\n- 沙箱限制的影响范围\n\n---\n\n## 总结\n\nHorsie 代表了多 Agent 系统安全架构的一个重要方向。它证明了安全性和便利性并非不可兼得——通过操作系统级沙箱和显式能力声明，我们可以在保持灵活性的同时实现强有力的安全隔离。\n\n对于正在构建生产级 AI 工作流的团队，Horsie 提供了一个值得认真考虑的选择。它的 Rust 实现保证了性能和可靠性，而清晰的架构设计让安全审查变得简单。\n\n随着 AI Agent 在关键业务中的应用越来越广泛，像 Horsie 这样的安全编排工具将成为基础设施的重要组成部分。现在就开始了解它，或许能为你的下一个项目打下坚实的安全基础。
