博客 · 指南 · 2026年10月28日

在全新的 Ubuntu VPS 上安装 AEGIS,并运行你的第一个经批准的任务

其他语言: English, Español, Português, 日本語, Deutsch, Français, 한국어, Italiano, हिन्दी · 全部中文指南

声明:AEGIS 由 100monkeys.ai 开发,因此请把这篇指南当作开发方的说明来读。它由我们的一个 AI 智能体根据 docs.100monkeys.ai 上公开的 AEGIS 文档(英文)起草,并经公司审阅;这个简体中文版是英文原版指南的译文。下面的每条命令都是从这些文档或我们的主页原样复制的。为写这篇指南,我们没有在全新的 VPS 上完整跑过这一串步骤;文档之间说法不一致的地方,我们会直接指出,而不是猜测。

AEGIS by 100monkeys.ai, in beta 是一个自托管的编排器,它在隔离的、强制执行策略的运行时中运行自主智能体,并保存持久状态。本指南把一台全新的 Ubuntu 服务器带到一套正在运行的本地服务,然后在人工审批关卡之后运行一个智能体:智能体的工作会停下来,等你回答 yes。

开始之前

先弄清快速安装的用途。Getting Started 页面说得很直白:aegis init "is designed for local testing and evaluation only. It uses an in-memory secrets store and does not deploy Keycloak (IAM) or OpenBao (secrets management)."(仅用于本地测试和评估。它使用内存中的密钥存储,不部署 Keycloak(IAM)或 OpenBao(密钥管理)。)Infrastructure Requirements 页面把它的 IAM 列为 "None (unauthenticated)"(无,未认证),TLS 列为 "None"(无)。对于生产环境,文档改为指向 aegis-deploy 仓库。

所以在 VPS 上,请把这套服务当作私人实验环境。CLI 的健康检查默认使用主机 127.0.0.1 和端口 8088。不要把这个端口开放到互联网;通过 SSH 访问这台机器。

你需要:

第 1 步. 运行安装脚本

从 100monkeys.ai 上复制印在页面上的那一行,以你的普通用户身份运行:

curl -fsSL https://get.100monkeys.ai | bash

如果愿意,可以先读一遍脚本。文档说 https://get.100monkeys.ai 会重定向到 aegis-orchestrator 的 main 分支上的 install.sh。在 Linux 上,它会在缺少时安装 curl、ca-certificates 和 fuse3,在二进制文件需要时安装 libfuse3,在没有 Docker 时安装 Docker Engine(docker-ce)。如果 Docker 在运行但你的用户无法访问,它会把你加入 docker 组。然后它把 aegis 安装到 /usr/local/bin/aegis,并用 aegis up --tag <version> 启动整套服务。

如果要固定某个版本,请在运行前把 AEGIS_VERSION 设为一个发布标签;文档的 Releases 页面列出了每个已发布的包。

第 2 步. 检查二进制文件和整套服务

aegis --version
aegis status

aegis status 报告本地服务的健康状况。如果安装过程中你被加入了 docker 组,请注销后重新登录,让新的 shell 带上这个组。

第 3 步. 运行引导式设置并选择模型提供方

aegis init

这个向导 "prepares stack files, configures the node, starts Docker Compose services, verifies health, and can optionally load smoke-test agents"(准备服务文件、配置节点、启动 Docker Compose 服务、检查健康状况,并可选择加载冒烟测试智能体)。当它询问时,接受 hello-world 冒烟测试;下一步会用到它。它写入的配置会把模型别名 default、smart、judge 和 tool-judge 映射到你选择的提供方。hello-world 智能体使用 smart,而节点没有映射的别名会以 Model alias '<alias>' not found 失败,所以请完成提供方的提问。除非传入 --dir,服务文件会放在 ~/.aegis。

第 4 步. 无人值守地运行一次 hello-world

在加关卡之前,先证明循环能跑通:

aegis task execute hello-world \
  --input '{"task": "Write a Python function that returns the Fibonacci sequence up to n."}' \
  --follow

--follow 会流式输出迭代事件。智能体生成代码、运行验证,要么成功,要么在多轮迭代中不断改进,直到验证器通过。

第 5 步. 编写带审批关卡的工作流

在 AEGIS 中,审批是 kind: Human 类型的工作流状态。把下面的内容保存为 approved-task.yaml。它沿用 Building Workflows 页面示例的结构,精简为一个智能体和一个关卡:

apiVersion: 100monkeys.ai/v1
kind: Workflow
metadata:
  name: approved-task
  version: "1.0.0"
  description: "One agent drafts, a person approves, then the run completes."
spec:
  initial_state: DRAFT
  states:
    DRAFT:
      kind: Agent
      agent: hello-world
      timeout: 600s
      transitions:
        - condition: on_success
          target: APPROVE
        - condition: on_failure
          target: FAILED
    APPROVE:
      kind: Human
      prompt: |
        Draft:
        {{DRAFT.output}}

        Approve? (yes/no)
      timeout: 86400s
      transitions:
        - condition: input_equals_yes
          target: DONE
        - condition: input_equals_no
          target: FAILED
    DONE:
      kind: System
      command: "echo 'Approved'"
      transitions: []
    FAILED:
      kind: System
      command: "echo 'Rejected or failed'"
      transitions: []

第 6 步. 部署并启动一次运行

aegis workflow deploy ./approved-task.yaml --force
aegis workflow run approved-task \
  --input '{"task": "Write a Python function that returns the Fibonacci sequence up to n."}'

run 命令会打印一个执行 ID。观察它:

aegis workflow logs <execution-id> --follow --verbose
aegis workflow executions get <execution-id>

草稿完成后,executions get 会把当前状态显示为 APPROVE (WAITING FOR HUMAN SIGNAL)。在有人回应之前,关卡之后的任何步骤都不会运行。

第 7 步. 阅读草稿,然后回应

aegis workflow signal <execution-id> --response yes

如果回答 no,运行会转到 FAILED。没有人回应的关卡会在超时后失效;按默认行为,运行会以 human_input_timeout 为原因被标记为失败。

有一点需要知道:各文档页对这个回应词的说法不一致。Human Approvals 页面说是非关卡接受 ["yes", "no"] 两种回应;Building Workflows 页面用 --response approved 发送信号;CLI 页面展示的是 --response "approve"。我们使用 yes,因为 input_equals_yes 这个转换正是以它命名的。如果运行没有推进,请检查 executions get 并尝试其他写法。

本指南不涉及的内容

接下来

关于关卡背后的思路,请阅读 How to give an orchestrator an approval step(英文)。关于每次运行前后要记录什么,请阅读 生产环境中 AI 智能体的可追溯性清单。如果你希望智能体的笔记和代码放在一份它们能通过 MCP 读写的记录里,请看 通过 MCP 把 Claude Code 连接到 Carbon Forge。

从 100monkeys.ai 安装 AEGIS