面向未来的个人 AI Agent 数字操作系统
Human → Agent → Sandbox → Internet
当前 AI Agent 存在一个核心缺陷:它们拥有推理能力,但没有身份。 Manus、OpenAI Operator、Browser Use、Computer Use 虽然可以控制浏览器,但每次运行都像"游客"——没有长期登录态、没有个人数据、没有数字身份。
"真正的 Agent 不是执行一次任务的脚本,而是拥有你数字身份、长期驻留、持续学习的数字分身。"
每次重启后需要重新登录,OAuth Token 丢失,Cookie 过期,无法维持用户身份连续性。
无法访问用户的真实社交媒体、邮件、日历、文档,Agent 与真实世界完全隔离。
对话结束后所有上下文丢失,无法积累对用户偏好、习惯、关系的深度理解。
没有可恢复的文件系统、浏览器状态、安装的工具链,每次从零开始。
从 Human → Chat Interface → API 进化为 Human → Agent → Sandbox → Internet。Agent 不再是 API 的调用者,而是拥有完整数字身份、在持久沙盒中运行的"数字居民"。
Agent Sandbox OS 采用七层架构设计,每层负责不同的关注点,层间通过定义良好的接口通信。
graph TB
subgraph User["👤 User"]
U1[Chat App
WeChat/Slack/Discord]
U2[Voice/CLI]
end
subgraph Runtime["⚡ Runtime Layer"]
R1[Agent Orchestrator]
R2[Task Queue]
R3[Event Bus]
R4[Context Engine]
R5[Planning Engine]
end
subgraph Sandbox["🎯 Sandbox Layer"]
S1[GUI Desktop]
S2[File System]
S3[Browser Sessions]
S4[Vector DB]
S5[Secret Vault]
end
subgraph Browser["🌐 Browser Layer"]
B1[Playwright / Chromium]
B2[Session Manager]
B3[Anti-Bot Engine]
B4[DOM Extractor]
end
subgraph CLI["💻 CLI & MCP Layer"]
C1[OpenCLI Hub]
C2[MCP Servers]
C3[Shell Runtime]
C4[Docker Engine]
end
subgraph Identity["🔑 Identity Layer"]
I1[OAuth Manager]
I2[Cookie Vault]
I3[Profile Manager]
I4[Device Fingerprint]
end
subgraph Security["🛡 Security Layer"]
SEC1[Permission System]
SEC2[Risk Engine]
SEC3[Audit Log]
SEC4[Kill Switch]
end
subgraph External["🌎 External Services"]
E1[Twitter/X]
E2[GitHub]
E3[Gmail]
E4[SaaS APIs]
end
U1 -->|WebSocket/gRPC| R1
U2 --> R1
R1 --> R2
R1 --> R3
R1 --> R4
R1 --> R5
R1 -->|Execute| Sandbox
S3 -->|Control| Browser
S3 --> B2
B2 --> I2
I1 -->|Auth| B2
S1 -->|Run| CLI
CLI -->|Tool Call| MCP
C2 -->|Protocol| External
Browser -->|HTTP| External
Identity -->|Inject| Browser
Identity -->|Inject| CLI
Security -->|Policy| Runtime
Security -->|Monitor| Sandbox
Security -->|Block| Browser
style User fill:#e0f2fe
style Runtime fill:#dbeafe
style Sandbox fill:#d1fae5
style Browser fill:#fef3c7
style CLI fill:#f3e8ff
style Identity fill:#ffe4e6
style Security fill:#fee2e2
style External fill:#f1f5f9
聊天软件桥接、Webhook、消息队列,让用户通过任意聊天应用调用 Agent
Agent 编排、任务调度、规划引擎、上下文管理、多 Agent 协作
持久化桌面、文件系统、浏览器 Session、向量数据库、密钥保险库
Playwright/Chromium 控制、反爬虫、多标签页、Session 持久化、DOM 理解
CLI 工具运行时、MCP Server 生态、Docker、Shell、结构化输出
数字身份管理、OAuth 生命周期、Cookie 加密、设备指纹、人机验证
沙盒隔离、权限系统、风险引擎、审计日志、操作回放、Kill Switch
Runtime 层是 Agent Sandbox OS 的核心,负责 Agent 的生命周期管理、任务调度、上下文工程和长短期记忆。
参考开源项目 mcp-agent(8.3K stars)和 rivet-dev/agent-os(2.9K stars),编排器负责:
# Task Schema
{
"task_id": "uuid",
"priority": 1-10,
"type": "browser | cli | api | composite",
"status": "pending | running | paused | completed | failed",
"sandbox_snapshot": "snapshot_hash",
"identity_profile": "profile_id",
"requires_human_approval": true | false,
"risk_score": 0-100,
"created_at": "ISO8601",
"deadline": "ISO8601 | null",
"dependencies": ["task_id"],
"retry_count": 0
}
采用滑动窗口 + 摘要 + RAG 的三级上下文策略:
保留最近 N 轮对话的完整内容,token 上限 32K-128K(取决于模型)
超过窗口的历史对话通过 LLM 压缩为结构化摘要,保留关键决策和结论
长期记忆通过向量数据库(ChromaDB / Qdrant / Milvus)检索,支持语义搜索
用户偏好、关系网络、项目状态等通过知识图谱(Neo4j / Memgraph)持久化
sequenceDiagram
autonumber
participant User
participant Connector
participant Orchestrator
participant Planner
participant Memory
participant Sandbox
participant Tool
participant Web
User->>Connector: "帮我投 AI Infra 岗位"
Connector->>Orchestrator: 消息入队
Orchestrator->>Memory: 检索用户历史
Memory-->>Orchestrator: 返回用户背景、偏好
Orchestrator->>Planner: 生成执行计划
Planner-->>Orchestrator: Plan: [搜索岗位→筛选→生成简历→投递]
Orchestrator->>Sandbox: 创建/恢复沙盒
Sandbox-->>Orchestrator: 沙盒就绪 (Browser+CLI)
Orchestrator->>Tool: 调用 Browser: 搜索岗位
Tool->>Web: LinkedIn / Boss 直聘
Web-->>Tool: HTML / JSON
Tool-->>Orchestrator: 提取的岗位列表
Orchestrator->>Memory: 存储中间结果
Orchestrator->>Tool: 调用 CLI: 生成简历
Tool-->>Orchestrator: PDF 简历
Orchestrator->>Tool: 调用 Browser: 投递
Tool->>Web: 表单提交
Web-->>Tool: 投递成功
Tool-->>Orchestrator: 完成
Orchestrator->>Memory: 归档任务
Orchestrator->>Connector: 推送结果给用户
Connector->>User: "已投递 5 个岗位,详见..."
Sandbox 是 Agent 的持久化运行环境。参考 rivet-dev/agent-os(WebAssembly + V8 isolates)和 akitaonrails/ai-jail 的设计,Sandbox 层需要提供长期运行、可恢复、可快照、可迁移的能力。
基于 noVNC / KasmVNC 的远程桌面,Agent 可操作真实 GUI 应用,非 headless 模式
持久化存储,支持 OverlayFS 快照、增量备份、版本控制
隔离的浏览器 Profile,每个身份对应独立 Cookie、LocalStorage、IndexedDB
HashiCorp Vault / Bitwarden SDK 集成,密钥加密存储,Agent 通过策略访问
ChromaDB / Qdrant 存储长期记忆、文档、网页快照的 Embedding
基于 CRIU / Docker Checkpoint 的快照机制,秒级恢复运行状态
graph TB
subgraph Host["💻 Host OS"]
subgraph NS["Linux Namespace"]
subgraph C1["cgroup v2"]
subgraph Container["Docker Container / Firecracker MicroVM"]
subgraph Process["Agent Process"]
P1[Browser]
P2[CLI Tools]
P3[Python Runtime]
end
FS[OverlayFS
/home/agent]
NET[veth + iptables]
end
end
end
SECBPF[seccomp-bpf
syscall filter]
AppArmor[AppArmor
profile]
end
subgraph External["🌎 External"]
Proxy[Traffic Proxy
TLS Inspection]
DNS[DNS Filter
恶意域名阻断]
end
Container -->|所有流量| Proxy
Proxy --> External
SECBPF -->|限制| Container
AppArmor -->|限制| Container
style Container fill:#d1fae5
style Host fill:#dbeafe
style External fill:#fef3c7
# 快照流程
1. 暂停 Agent 进程 (SIGSTOP)
2. 通过 CRIU checkpoint 保存进程状态
3. 通过 OverlayFS diff 保存文件系统变更
4. 加密序列化状态到持久存储 (S3 / local)
5. 恢复 Agent 进程 (SIGCONT)
# 恢复流程
1. 从存储拉取基础镜像 + 增量层
2. 通过 CRIU restore 恢复进程状态
3. 恢复浏览器 Session(Cookie + LocalStorage)
4. 恢复向量数据库连接
5. Agent 继续执行中断的任务
GUI Browser 是 Agent 与互联网交互的最通用兼容层。参考 browser-use(94.1K stars)和 Lightpanda(30.3K stars),Browser 层需要提供类人行为、反爬虫绕过和多标签页管理能力。
sequenceDiagram
autonumber
participant Agent
participant Planner
participant BrowserCtl
participant AntiBot
participant Chromium
participant Page
participant Identity
Agent->>Planner: 任务: 在 Twitter 发推文
Planner->>BrowserCtl: open_page("twitter.com")
BrowserCtl->>Identity: 获取 Twitter Profile
Identity-->>BrowserCtl: Cookie + Token
BrowserCtl->>Chromium: new_context(profile)
Chromium->>AntiBot: 注入 stealth 脚本
AntiBot-->>Chromium: 修改指纹、覆盖 WebDriver
Chromium->>Page: navigate("twitter.com")
Page-->>Chromium: DOM loaded
Chromium->>BrowserCtl: screenshot + DOM tree
BrowserCtl->>Agent: 页面状态
Agent->>BrowserCtl: click("[data-testid='tweetButton']")
BrowserCtl->>Page: perform_click()
Page-->>BrowserCtl: 新页面状态
BrowserCtl->>Agent: 等待输入框
Agent->>BrowserCtl: type("...")
BrowserCtl->>Page: fill_input()
Page-->>BrowserCtl: 输入完成
Agent->>BrowserCtl: click("[data-testid='tweetButtonInline']")
BrowserCtl->>Page: submit()
Page-->>BrowserCtl: 发布成功
BrowserCtl->>Agent: 任务完成
BrowserCtl->>Identity: 保存新 Cookie / Session
| 检测维度 | 平台策略 | Agent 对抗方案 | 开源工具 |
|---|---|---|---|
| WebDriver 检测 | 检测 navigator.webdriver | stealth.min.js 覆盖 | puppeteer-extra-plugin-stealth |
| Canvas 指纹 | 生成唯一 canvas hash | 随机化 canvas 输出 | fingerprintjs 反向工程 |
| WebGL 指纹 | GPU 厂商/渲染器检测 | 虚拟化 WebGL 参数 | 自定义 CDP 命令 |
| 时区/IP 一致性 | 时区与 IP 地理位置比对 | 代理 IP 匹配浏览器时区 | proxy-chain + tz |
| 鼠标轨迹 | 检测非人类移动模式 | 贝塞尔曲线模拟人类轨迹 | browser-use 内置 |
| 行为节奏 | 操作间隔过于规律 | 高斯分布随机延迟 | custom implementation |
| TLS/JA3 指纹 | TLS 握手特征识别 | utls 随机化 JA3 | utls / curl-impersonate |
CLI 是 Agent 的母语——可组合、可脚本化、可结构化输出。Anthropic 推出的 Model Context Protocol (MCP) 正在快速成为 Agent 工具调用的标准协议。
参考 OpenCLI 理念,每个 SaaS/App 都应提供 CLI + MCP + SDK 三重接口:
# OpenCLI Hub 工具注册表
opencli/
├── github/ # github-cli (gh)
├── aws/ # aws-cli
├── vercel/ # vercel-cli
├── lark/ # lark-cli
├── twitter/ # twit-cli
├── notion/ # notion-cli
└── custom/ # 用户自定义工具
# Agent 调用方式
agent.run("github repo list --visibility=public")
agent.run("aws s3 ls s3://my-bucket")
agent.run("lark message send --user=boss --content='周报已提交'")
graph LR
subgraph Agent["Agent Runtime"]
A1[MCP Client]
end
subgraph MCPHub["MCP Hub"]
M1[GitHub MCP]
M2[Slack MCP]
M3[FileSystem MCP]
M4[Browser MCP]
M5[Database MCP]
end
subgraph External["External Services"]
E1[GitHub API]
E2[Slack API]
E3[Local FS]
E4[Playwright]
E5[Postgres]
end
A1 -->|JSON-RPC 2.0| M1
A1 --> M2
A1 --> M3
A1 --> M4
A1 --> M5
M1 -->|REST| E1
M2 -->|WebSocket| E2
M3 -->|syscall| E3
M4 -->|CDP| E4
M5 -->|SQL| E5
style Agent fill:#dbeafe
style MCPHub fill:#d1fae5
style External fill:#fef3c7
传统 CLI 输出为人眼优化,对 LLM 不友好。OpenCLI 要求工具支持 --format=json 或 --agent-mode:
# 人类模式
$ github pr list
# 显示表格,带颜色
# Agent 模式
$ github pr list --format=json
[{"number":123,"title":"Fix bug","author":"alice","status":"open"}]
# 或者使用 MCP
$ mcp-call github.list_prs {"state":"open","limit":10}
# 返回结构化 JSON Schema
Identity 是整个系统最重要的层。没有身份,Agent 只是访客;有了身份,Agent 才是用户的数字分身。
graph TB
subgraph Vault["🔒 Secret Vault"]
V1[OAuth Tokens
AES-256-GCM]
V2[Cookie Store
ChaCha20-Poly1305]
V3[Passwords
Argon2id + Vault]
V4[API Keys
Hardware-backed]
end
subgraph IdentityMgr["👤 Identity Manager"]
I1[Profile Registry]
I2[Session Lifecycle]
I3[Token Refresh]
I4[Device Fingerprint]
end
subgraph Profiles["🎨 Digital Profiles"]
P1[Twitter/X
实名账号]
P2[GitHub
开发者账号]
P3[Gmail
主邮箱]
P4[LinkedIn
职场身份]
P5[小红书
生活分享]
P6[Slack
工作协作]
end
subgraph Browser["🌐 Browser Layer"]
B1[Profile A
Chrome #1]
B2[Profile B
Chrome #2]
B3[Profile C
Firefox]
end
I1 -->|关联| Profiles
I2 -->|读写| Vault
I3 -->|刷新| V1
I4 -->|注入| Browser
Profiles -->|绑定| Browser
Vault -->|解密| IdentityMgr
style Vault fill:#fee2e2
style IdentityMgr fill:#dbeafe
style Profiles fill:#d1fae5
style Browser fill:#fef3c7
sequenceDiagram
autonumber
participant User
participant Agent
participant IdentityMgr
participant Vault
participant Browser
participant IdP
participant Service
User->>Agent: "帮我登录 Twitter"
Agent->>IdentityMgr: 发起 OAuth 流程
IdentityMgr->>Browser: 打开 OAuth 授权页
Browser->>IdP: GET /oauth/authorize
IdP-->>Browser: 登录页面
Browser->>User: 请求人机验证
User->>Browser: 完成验证 (2FA / CAPTCHA)
Browser->>IdP: 提交凭证
IdP-->>Browser: 授权码 + 重定向
Browser->>IdentityMgr: 提取授权码
IdentityMgr->>IdP: POST /oauth/token
IdP-->>IdentityMgr: access_token + refresh_token
IdentityMgr->>Vault: 加密存储 Token
Vault-->>IdentityMgr: 确认存储
IdentityMgr->>Browser: 同步 Cookie
IdentityMgr->>Agent: 登录完成
Agent->>User: "Twitter 登录成功"
Note over IdentityMgr,Vault: Token 自动刷新机制
loop Token 即将过期
IdentityMgr->>Vault: 读取 refresh_token
IdentityMgr->>IdP: 请求刷新
IdP-->>IdentityMgr: 新 access_token
IdentityMgr->>Vault: 更新存储
end
| 风控维度 | 检测手段 | Agent 应对策略 |
|---|---|---|
| 登录频率 | 短时间内多平台登录 | 错峰登录,模拟人类作息 |
| IP 异常 | IP 地理位置突变 | 固定住宅代理,IP 与身份匹配 |
| 设备指纹 | 浏览器指纹一致性 | 每身份绑定固定指纹,跨会话一致 |
| 行为模式 | 操作速度过快/规律 | 加入随机延迟,模拟人类节奏 |
| 人机验证 | reCAPTCHA / hCaptcha | 截图 + 多模态模型 / 人工介入 |
| Cookie 新鲜度 | 检测 Cookie 生成时间 | 定期自然浏览保持 Cookie 活跃 |
| TLS 指纹 | JA3 / JA4 指纹检测 | utls 随机化或模拟真实浏览器 |
# 每个数字身份拥有固定的设备指纹
profile_fingerprint = {
"user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)...",
"screen": {"width": 1920, "height": 1080, "colorDepth": 24},
"timezone": "Asia/Shanghai",
"locale": "zh-CN",
"webgl_vendor": "Apple Inc.",
"webgl_renderer": "Apple M2",
"fonts": ["Arial", "Times", "Helvetica", ...], # 固定字体列表
"plugins": ["Chrome PDF Plugin", ...],
"webrtc_ip": null, # 禁用 WebRTC 防止真实 IP 泄漏
"canvas_noise": "fixed", # 固定 canvas 噪声,非随机
}
安全不是可选功能,是 Agent Sandbox OS 的生存底线。一个拥有用户全部数字身份的 Agent,一旦失控,后果比任何恶意软件都严重。
graph TB
subgraph Perimeter["🌐 边界防御"]
P1[DNS Filter
恶意域名阻断]
P2[TLS Inspection
流量解密审计]
P3[Rate Limiting
请求频率控制]
end
subgraph Sandbox["🎯 沙盒隔离"]
S1[Namespace
PID/Net/UTS/IPC]
S2[cgroup
CPU/内存/IO限制]
S3[seccomp-bpf
系统调用过滤]
S4[AppArmor
文件访问控制]
S5[OverlayFS
只读基础层]
end
subgraph Runtime["⚡ 运行时安全"]
R1[Permission System
RBAC + ABAC]
R2[Risk Engine
实时风险评分]
R3[Human Approval
高风险操作确认]
R4[Kill Switch
紧急停止]
end
subgraph Data["🔒 数据安全"]
D1[Token Encryption
AES-256-GCM]
D2[Key Derivation
Argon2id]
D3[Hardware Binding
TPM / Secure Enclave]
D4[Memory Scrub
敏感数据清零]
end
subgraph Audit["📜 审计与回放"]
A1[Operation Log
结构化审计日志]
A2[Screenshot Timeline
操作截图时间线]
A3[Session Recording
完整会话录制]
A4[Anomaly Detection
异常行为检测]
end
Perimeter --> Sandbox
Sandbox --> Runtime
Runtime --> Data
Data --> Audit
style Perimeter fill:#fef3c7
style Sandbox fill:#d1fae5
style Runtime fill:#dbeafe
style Data fill:#fee2e2
style Audit fill:#f3e8ff
Prompt Injection 是当前 Agent 面临的最严重安全威胁之一。攻击者通过网页内容、邮件、文档注入恶意指令,让 Agent 执行非预期操作。
用户指令与外部内容严格分离,使用 XML/JSON 标签包裹外部输入,防止指令混淆
所有 Agent 输出经过二次校验层,敏感操作(转账、删除、发送)必须匹配白名单
独立的小模型专门检测 Prompt Injection 攻击模式,与主 Agent 隔离运行
外部内容触发的操作自动降级为"只读",需要显式人工确认才能执行写操作
# 权限策略示例
{
"role": "agent_browser",
"permissions": {
"browser": {
"read": ["*"],
"write": ["twitter.com", "github.com"],
"execute": [],
"blocked": ["bank.com/transfer", "*.onion"]
},
"cli": {
"read": ["cat", "ls", "grep"],
"write": ["echo", "mkdir"],
"execute": ["npm", "python"],
"blocked": ["rm -rf /", "curl | sh", "sudo"]
},
"api": {
"budget_daily": "$100",
"rate_limit": "100 req/min",
"scopes": ["read:repos", "write:issues"]
}
},
"approval_rules": {
"spending_over": "$50",
"data_deletion": true,
"external_communication": true,
"credential_access": true
}
}
必须设计物理/逻辑上的 Kill Switch,在 Agent 失控时立即切断所有操作:
用户不应该打开一个专门的 App 来使用 Agent。Agent 应该存在于用户已经在用的聊天软件中。
graph LR
subgraph ChatApps["💬 Chat Applications"]
C1[WeChat
itchat/wechaty]
C2[Slack
Bolt SDK]
C3[Discord
discord.py]
C4[Telegram
python-telegram-bot]
C5[Feishu
lark-sdk]
C6[WhatsApp
whatsapp-web.js]
end
subgraph Gateway["📡 Message Gateway"]
G1[Webhook Receiver]
G2[Message Parser]
G3[Intent Router]
end
subgraph Agent["🤖 Agent Runtime"]
A1[Task Queue]
A2[Response Formatter]
end
ChatApps -->|Webhook / WS| Gateway
Gateway -->|Normalized Event| Agent
Agent -->|Formatted Response| Gateway
Gateway -->|Platform API| ChatApps
style ChatApps fill:#d1fae5
style Gateway fill:#dbeafe
style Agent fill:#fef3c7
# 标准化消息格式(与平台无关)
{
"message_id": "uuid",
"platform": "wechat | slack | discord | telegram",
"channel": {"type": "dm | group | channel", "id": "..."},
"sender": {"id": "user_id", "name": "Alice"},
"content": {
"type": "text | image | file | voice",
"text": "帮我看今天 Twitter 热搜",
"attachments": []
},
"mentions": ["@agent"],
"timestamp": "ISO8601",
"reply_to": "message_id | null"
}
# Agent 响应
{
"action": "reply | defer | ask | error",
"content": "今天 Twitter 热搜:1. AI Agent OS 发布...",
"rich_content": {"type": "card | carousel | image"},
"requires_followup": false
}
| 场景 | 用户消息 | Agent 行为 |
|---|---|---|
| 信息查询 | "今天 Twitter 热搜是什么" | Browser 访问 Twitter → 提取趋势 → 返回摘要 |
| 任务执行 | "帮我投递 AI Infra 岗位" | 浏览器自动化投递,每份简历生成后推送确认 |
| 电商购买 | "帮我买 Mac mini M5" | 比价 → 加入购物车 → 请求人工确认 → 支付 |
| 沟通代理 | "帮我回复老板" | 读取上下文 → 生成草稿 → 请求人工确认 → 发送 |
| 文件处理 | "总结这份 PDF" | 下载 → OCR/解析 → 生成摘要 → 返回 |
| 代码任务 | "部署这个仓库到 Vercel" | git clone → CLI 部署 → 返回 URL |
| 维度 | 本地部署 | 云端部署 | 混合模式(推荐) |
|---|---|---|---|
| 硬件 | Mac mini / NAS / Home Server | VPS / GPU 云主机 / 云桌面 | 本地存储 + 云端推理 + Browser Proxy |
| 隐私 | 极高 数据不出家门 | 较低 信任云服务商 | 高 身份本地,推理可选 |
| 可用性 | 依赖家庭网络 | 24/7 在线 | 高可用 |
| 登录态稳定性 | 最佳 IP 固定 | IP 可能变化 | 本地 Browser 固定 IP |
| Token 安全 | 本地加密 | 云端存储风险 | 本地 Vault |
| 运维复杂度 | 中等 需维护 | 中等 需配置 | 较高 |
| 成本 | 一次性硬件投入 | 按月付费 $50-500 | 混合成本 |
| 代表方案 | Home Assistant + Docker | VPS + Kasm Workspaces | Local First + Cloud Inference |
graph TB
subgraph Local["🏠 本地设备 (Mac mini / NAS)"]
L1[Identity Vault
OAuth + Cookie + Secret]
L2[Browser Instance
Playwright + 持久 Session]
L3[File System
用户数据 + 向量 DB]
L4[Local Gateway
gRPC / WebSocket]
end
subgraph Cloud["☁ 云端服务"]
C1[LLM Inference
Claude / GPT / Local LLM]
C2[Agent Runtime
任务调度 + 规划]
C3[Public Proxy
固定出口 IP]
end
subgraph Edge["🌎 Edge Runtime"]
E1[Cloudflare Workers
轻量代理 + KV 缓存]
E2[Vercel Edge
Webhook 接收器]
end
User -->|Chat| Edge
Edge -->|指令| Cloud
Cloud -->|需要身份| Local
Local -->|API 调用| Cloud
Cloud -->|结果| Edge
Edge -->|推送| User
Local -->|Browser| Internet
Cloud -->|Browser Proxy| Local
style Local fill:#d1fae5
style Cloud fill:#dbeafe
style Edge fill:#fef3c7
再宏大的系统也需要从 MVP 开始。以下是可在 4-6 周内实现的最小可用版本。
Playwright + Chromium + puppeteer-extra-plugin-stealth,单 Profile 单身份
Python + FastAPI + Celery (任务队列) + Redis
Slack Bolt SDK 或 Telegram Bot,单一聊天入口
本地 JSON 加密存储 Cookie + 手动 OAuth 登录
Docker Compose 单容器,OverlayFS 持久化
ChromaDB 本地模式 + 简单摘要机制
| Phase | 功能 | 周期 | 验证目标 |
|---|---|---|---|
| W1 | Docker + Playwright 基础沙盒,可访问网页并截图 | 1周 | 验证沙盒可行性 |
| W2 | 单一身份登录(Twitter),Session 持久化 | 1周 | 验证身份持久化 |
| W3 | Slack 连接器,通过聊天指令驱动 Agent | 1周 | 验证交互模式 |
| W4 | 任务队列 + 规划引擎,支持多步骤任务 | 1周 | 验证任务编排 |
| W5 | 基础安全层:权限白名单 + 操作日志 | 1周 | 验证安全基础 |
| W6 | 集成测试 + 文档 + 演示场景 | 1周 | MVP 交付 |
# 项目结构
agent-sandbox-os/
├── docker-compose.yml # Docker 编排
├── sandbox/
│ ├── Dockerfile # 沙盒镜像
│ ├── browser/
│ │ └── controller.py # Playwright 控制
│ ├── cli/
│ │ └── runner.py # CLI 执行
│ └── fs/
│ └── volume.py # 文件系统管理
├── runtime/
│ ├── orchestrator.py # Agent 编排器
│ ├── planner.py # 任务规划
│ ├── memory.py # 记忆管理
│ └── queue.py # 任务队列
├── identity/
│ ├── vault.py # 密钥保险库
│ ├── session.py # Session 管理
│ └── fingerprint.py # 设备指纹
├── security/
│ ├── permissions.py # 权限系统
│ ├── risk.py # 风险引擎
│ └── audit.py # 审计日志
├── connector/
│ └── slack.py # Slack 连接器
└── config/
└── policies.yaml # 安全策略配置
# 最小启动
$ docker-compose up -d
$ python -m runtime.orchestrator
$ python -m connector.slack
gantt
title Agent Sandbox OS 工程路线图
dateFormat YYYY-MM
section Phase 1: 基础
MVP 沙盒 :p1, 2026-06, 2M
单身份浏览器 :p2, 2026-06, 1M
任务队列 :p3, 2026-07, 1M
section Phase 2: 能力
多 Agent 协作 :p4, 2026-08, 2M
MCP 生态集成 :p5, 2026-09, 2M
多连接器 :p6, 2026-10, 1M
section Phase 3: 安全
权限系统完善 :p7, 2026-11, 2M
风险引擎 :p8, 2026-12, 2M
审计回放 :p9, 2027-01, 1M
section Phase 4: 规模
快照迁移 :p10, 2027-02, 2M
多设备同步 :p11, 2027-03, 2M
商业化发布 :p12, 2027-05, 1M
| 阶段 | 时间 | 目标 | 关键交付 |
|---|---|---|---|
| Phase 1 | 2026 Q2-Q3 | 基础可用 | MVP 发布,单身份单浏览器,Slack 连接器,基础安全 |
| Phase 2 | 2026 Q3-Q4 | 能力扩展 | 多 Agent 协作,10+ MCP Server,微信/Discord 连接器 |
| Phase 3 | 2026 Q4-2027 Q1 | 安全 hardened | RBAC + ABAC,实时风险评分,操作回放,Kill Switch |
| Phase 4 | 2027 Q1-Q2 | 产品化 | 云端托管版,企业版,Agent Marketplace,开放生态 |
| 维度 | Manus | OpenAI Operator | Agent Sandbox OS |
|---|---|---|---|
| 持久性 | 任务级,无长期状态 | 会话级,无跨会话记忆 | 永久驻留,长期记忆 + 环境 |
| 数字身份 | 无,每次需手动登录 | 无,每次需手动登录 | 核心能力,多平台身份管理 |
| 登录态 | 不持久 | 不持久 | 持久化,Cookie + OAuth + 自动刷新 |
| 部署模式 | 云端托管 | 云端托管 | 本地优先 + 混合 + 云端 |
| 数据隐私 | 数据在服务商 | 数据在 OpenAI | 本地存储,用户完全控制 |
| CLI 工具 | 有限 | 无原生 CLI | 一等公民,OpenCLI Hub + MCP |
| 聊天集成 | Web 界面 | ChatGPT 内置 | 任意聊天软件,微信/Slack/Discord |
| 安全架构 | 基础沙盒 | 基础隔离 | 纵深防御,Kill Switch,审计回放 |
| 开源 | 闭源 | 闭源 | 开源核心 + 商业托管 |
| 架构理念 | 云端工具调用 | 浏览器自动化 | 个人数字 OS |
"Manus 和 Operator 是'借用你的浏览器',Agent Sandbox OS 是'给你建一个数字分身'。前者是工具,后者是身份。"
| 风险 | 等级 | 缓解策略 |
|---|---|---|
| 平台风控升级导致账号批量封禁 | 高 | 多身份冗余、模拟真人行为、人工介入机制 |
| Prompt Injection 导致越权操作 | 高 | 输入隔离、输出过滤、权限降级、人工确认 |
| Token 泄漏导致账号被盗 | 高 | 硬件加密、定期轮换、最小权限原则 |
| 浏览器漏洞导致沙盒逃逸 | 中 | Firecracker MicroVM、seccomp、定期更新 |
| 模型幻觉导致错误决策 | 中 | 多模型验证、操作确认、可回滚设计 |
| 供应链攻击(依赖包) | 中 | SBOM、签名验证、最小依赖 |
$20-50/月。本地部署 + 云端同步,支持 5-10 个身份,基础 MCP 工具。
$100-300/月。云端托管沙盒,无限身份,高级反风控,API 访问,优先支持。
按席位 $500+/月。私有部署、SSO、审计合规、自定义 MCP、SLA 保障。
抽成 20-30%。第三方 Agent 和 MCP Server 交易市场,类似 App Store。
Year 1: 开源核心 + 早期用户 (1000人) x $30 = $30K/MRR
Year 2: 产品化 + Pro 版 (10K人) x $50 = $500K/MRR
Year 3: 企业版 + Marketplace (100企业 + 50K个人) = $5M/MRR
Year 4: 平台效应 + 生态 = $20M+/MRR
timeline
title Agent Infra 演进时间线
2026 : Browser Agent 爆发
: MCP 成为事实标准
: 个人 Agent OS 概念验证
2027 : Agent Sandbox 产品化
: OpenCLI Hub 生态形成
: 数字身份管理成为刚需
2028 : Agent 跨设备持续运行
: Agent-to-Agent 协议标准化
: 企业级 Agent 基础设施成熟
2029 : Agent Marketplace 爆发
: "Agent 即服务" (AaaS)
: AI Agent 成为操作系统级组件
2030 : 人-AI 共生工作流
: Agent 拥有法律身份
: 全球 Agent 互操作网络
2028 年起,操作系统将内置 Agent Runtime,macOS / Windows / Linux 原生支持 Agent 生命周期管理。
用户将拥有"数字身份钱包",Agent 携带用户身份在平台间自主流动,类似加密钱包。
每个 SaaS 都会提供 CLI + MCP,OpenCLI Hub 成为 Agent 的"应用商店",CLI 安装量超过 GUI。
在 API 标准统一之前,Browser Automation 是 Agent 与互联网交互的"通用翻译器",长期存在。
未来不是一个大 Agent,而是多个 Specialist Agent 协作:浏览器专家、安全专家、数据专家。
Agent 的长期记忆将成为用户最重要的数字资产之一,可继承、可交易、可迁移。
当前的 AI 应用是"你去找 AI"——打开 ChatGPT,输入问题。未来的 AI 是"AI 找你"——Agent 在你的沙盒中持续运行,感知你的需求,主动完成任务。
Agent Sandbox OS 不是又一个 ChatBot,它是:
"未来每个人都将拥有一个 Agent。这个 Agent 将比你的手机更了解你,比你的秘书更称职,比你的密码管理器更安全。Agent Sandbox OS 就是为了让这个未来提前到来。"
| 组件 | 推荐方案 | 备选方案 | 理由 |
|---|---|---|---|
| 容器运行时 | Docker + Firecracker | gVisor / Kata | Docker 生态成熟,Firecracker 提供 VM 级隔离 |
| 浏览器控制 | Playwright | Puppeteer / Selenium | 微软维护,多浏览器支持,CDP 深度集成 |
| 反检测 | stealth + utls | CreepJS 规避 | 社区活跃,持续更新指纹库 |
| 任务队列 | Celery + Redis | RQ / Temporal | Python 生态,成熟可靠 |
| 向量数据库 | Qdrant | Chroma / Milvus | Rust 高性能,Cloud Native |
| 密钥管理 | HashiCorp Vault | Bitwarden SDK | 企业级,动态凭据,审计完善 |
| API 框架 | FastAPI | Go Gin / Rust Axum | Python 生态,MCP 集成友好 |
| 前端桌面 | noVNC | KasmVNC / Apache Guacamole | 轻量,Web 原生,无需客户端 |
| LLM 调用 | LiteLLM | LangChain / 原生 SDK | 统一接口,多模型路由,成本优化 |
| 监控 | Prometheus + Grafana | Datadog / New Relic | 开源,自托管,Agent 行为可视化 |