文档

在 ORG-2 中运行、审阅并共享智能体工作所需的一切。

全部文档

智能体

ORG-2 自己的 Rust 智能体,与它能驱动的外部 CLI 之间的区别——支持列表、各自如何启动与监管、模型与权限设置,以及自定义智能体。

在 ORG-2 里,「Agent」指的是两样不同的东西,而这个区分几乎决定了其余的一切。一类是内置智能体,它们跑在 ORG-2 自己的 Rust 引擎里,用的是引擎的工具、权限和事件记录;另一类是 CLI 智能体,也就是 claudecodex 这样的第三方二进制程序,ORG-2 把它们作为子进程启动,再把它们的输出解析回同一份记录里。本页两者都讲,包括支持列表和你能配置的东西。

内置智能体与 CLI 智能体

内置(Rust)智能体CLI 智能体
跑在哪里进程内,在 Tauri 的 Rust 后端里ORG-2 为每个会话派生的一个子进程
工具ORG-2 自己的工具集,加上你的 MCP 服务器和 Skill厂商 CLI 自带的那些
权限ORG-2 的审批提示和按智能体划分的策略厂商自己的配置,在启动时基本被绕过
凭据密钥库里的任意账号,包括 CLI 订阅该 CLI 自己的账号
恢复不支持——请开新会话在 CLI 支持的前提下,用 --resume 加上一次的会话 id

侧边栏据此把会话分组:OS AgentSDE AgentWingman AgentCustom AgentCLI AgentCursor History。在设置里,对应的区块是内置 Agents(Built-in Agents)自定义 Agents(Custom Agents)CLI Agent(CLI Agents)团队(Teams)

内置智能体

内置智能体是在 Rust 里定义的,无法删除。它们构成一棵小小的继承树,根节点是极简模板 builtin:base

  • OS Agent —— 通用助理,也是唯一一个会与聊天渠道对话的智能体。
  • SDE Agent —— 编码助理,设置里对它的描述是「限定在工作区范围内的编码助理——模型、迭代次数、压缩与工具策略」。
  • Wingman Agent —— 一种被动的桌面副驾模式。
  • ExploreGeneral —— 用于委派的子智能体。Explore 只读,负责代码库检索;General 拥有完整的工具权限。这两个始终可用,既不能被加进、也不能被移出某个智能体的子智能体列表。
  • 记忆抽取器(memory extractor)记忆整合器(memory consolidator) —— 后台工作者,详见记忆

另外还有几个面向内部角色的智能体——一个 AI 研究智能体、一个工作项管理者和一个智能体架构师——通常不需要你手动启动。

支持的 CLI 智能体

以下是 ORG-2 能安装、认证并驱动的那些 CLI。安装向导和启动器共用同一份注册表。

智能体类型 key二进制ORG-2 使用的协议订阅方案
Claude Codeclaude_codeclaudestdout 上的流式 JSON支持
Codexcodexcodexstdout 上的流式 JSON支持
Cursor CLIcursor_clicursorstdout 上的流式 JSON支持
Gemini CLIgemini_cligeministdout 上的流式 JSON支持
GitHub Copilotcopilotcopilotstdio 上的 ACP支持
Amazon Kirokirokiro-cli-chatstdio 上的 ACP支持
Kimi Code CLIkimi_clikimistdout 上的流式 JSON不支持
OpenCodeopencodeopencodestdio 上的 ACP支持

设置 → 模型 & Keys → CLI 客户端(CLI Clients)里的每一行都会显示该二进制是否已安装(Installed)安装方式(Installed via)是什么,以及该工具所支持的各个包管理器的安装与卸载脚本——curl、Homebrew、npm、WinGet、uv 等等。各自的认证方式见 API 密钥

注意: 这八个是 ORG-2 直接启动并监管的智能体。另有若干工具的会话可以被读进记录里,而无需由 ORG-2 驱动——见下方在其他工具里开始的会话

ORG-2 如何启动并监管一个智能体

内置智能体不需要进程:你的消息进入会话运行时,经过轮次执行器发往模型服务商,返回的工具调用由 Rust 工具层执行。这一切发生的同时都会写进会话的事件记录里,这也正是回放得以成立的原因。

CLI 智能体则是一个子进程。ORG-2 会构造一条显式的非交互命令,用管道化的 stdio(而不是 PTY)把它派生出来,把它的 stdout 流过一个按厂商定制的解析器,存下由此产生的活动分片,并广播给界面。派生失败最多重试三次,中间带一小段退避。Runner 会跟踪每一个活着的进程,因此一个会话可以被取消,并连带终止它的整棵进程树。

有三个细节值得知道,因为它们常常出乎人们意料:

  • ORG-2 以非交互、预先批准的方式启动这些 CLI。 Claude Code 用 --dangerously-skip-permissions 启动,Gemini CLI 用 --yolo,Copilot 用 --allow-all-tools,Cursor 用 --force --approve-mcps,Codex 用 --sandbox workspace-write。ORG-2 为这些工具暴露的审批设置改的是它们自己的配置文件,对从 ORG-2 发起的运行基本不起作用。想要有所约束的话,请使用 ORG-2 的会话模式和 worktree。
  • 只有 Claude Code 和 Codex 支持额外目录。 面对多根工作区时,其他 CLI 只会收到主根目录,Runner 会记一条警告,而不是悄悄把它丢掉。
  • Copilot、Kiro 和 OpenCode 讲 ACP,即 Agent Client Protocol,通过子进程的 stdin 和 stdout 走双向 JSON-RPC。它们的审批请求会以 ORG-2 的权限提示形式浮现出来,并带有一个会被记住的始终允许选项。

对于接受 base-URL 覆盖的 CLI——Claude Code、Codex、Gemini CLI——ORG-2 会设置厂商自己的环境变量。Cursor、Copilot 和 Kiro 不接受,所以 ORG-2 可以改为在一个临时端口上为该会话启动一个短命的本地 HTTPS 代理,拦截这个 CLI 的 API 流量。这条路径需要一次性安装 CA 证书,而且只在必须替换凭据时才会用到。

选择模型

模型是按会话选的。输入区下方的胶囊控件会打开一个两栏面板——顶部是最近模型(Recent Models),左边是所有模型(All Models),右边是能提供这些模型的账户(Accounts),这样你一次就能选好模型以及为它付费的密钥。当某个模型有多个推理变体时,会出现一个 {n} 个版本的胶囊,让你在更快(Faster)更智能(Smarter)之间选择 Effort 档位。

每个智能体还带有一个默认模型(Default Model)、一个首选账户,以及一个用于压缩的可选摘要模型(Summarization Model)——「留空 = 使用该智能体的主模型。建议用一个快模型。」旁边还有一组可靠性设置:提供商重试(Provider Retry)最大重试次数(Max Retries)(1–10)、以毫秒计的基础退避(Base Backoff),以及一个用逗号分隔的备用模型(Fallback Models)列表,在主模型耗尽之后依次尝试。

模式、权限与隔离

内置智能体运行在一种执行模式下,这个模式决定了哪些工具会存在。选择器提供 Build(默认,完整工具权限)、Ask(只读调研与问答)、Plan(产出一份需要你批准的方案文件)和 Debug(复现、收敛假设、定位根因)。还有两种模式——reviewwingman——只作为协议取值存在,由内部驱动。对 CLI 智能体,ORG-2 无法改变它的工具集,因此改为把一段模式指令注入到提示词里;请把它当作引导,而不是强制。

模式之下是一份按智能体划分的策略:访问模式(Access Mode)只读(Read Only) / 读取 + 写入(Read + Write))、仅限工作区(Workspace Only)禁止访问路径(Forbidden Paths)、命令阻止列表(Block List),以及始终询问列表(Always Ask List)。高危命令无论哪个智能体都会被一律拦截。当某次工具调用需要你同意时,你会看到一个需要你的授权(Your permission is needed)提示,带有允许(Allow)拒绝(Deny)始终允许(Always Allow);提示会在五分钟后超时,而始终允许的规则可以按工具或按模式匹配,并持久化在 .orgii/permissions.json 里。

警告: ORG-2 不会把智能体放进操作系统级别的沙箱。真正的隔离手段是 git worktree——可以给某个子智能体开启 Worktree isolation,即「在临时 Git Worktree 中运行(文件和 Shell 访问相互隔离)」。参见安全与隐私

智能体定义与自定义智能体

每一个智能体,无论内置与否,都是一份智能体定义。其中有意思的字段包括:它的身份与 Soul(「Agent 的身份与口吻」——写在系统提示词开头的角色与语气提示)、它继承自谁、它的能力集合、它的工具允许与拒绝列表、它的子智能体、它的模型与账户偏好、它的策略,以及它的会话模型,其中包括每轮最大迭代次数,默认为 500。

设置 → Agent 团队 → Agents 下用添加 Agent(Add Agent)创建一个。向导有四个标签页:

  • 通用(General) —— Agent 名称(Agent Name)(「用于标识此 Agent 的唯一名称」)、描述(Description),以及 Soul 的 Markdown 编辑器。
  • 模型(Models) —— 上下文窗口(Context Window)自动(跟随模型) 或一个自定义值)、最大响应 Token(Max Response Tokens)(默认 16384)、Temperature(默认 0.0),以及上下文压缩(Context Compaction)——启用后会展开触发比率、保留比率、一个摘要模型(Summarization Model)和若干 token 下限。
  • 能力(Capabilities) —— 「选择该 Agent 能使用的子系统,关闭后对应工具与门控逻辑都不会装载」:编码(Coding)(内嵌一个模式切换(Mode Switch)开关)、桌面(Desktop)外部浏览器(External Browser)内嵌浏览器(Internal Browser)Gateway数据(Data)管理(Management)。除模式切换外,其余默认全部关闭。
  • Subagents —— 添加 Sub-Agent...(Add Sub-Agent…)、每个子智能体各自的 Worktree isolation,以及 Max tool-use concurrency(「每条 assistant message 的并发 Tool 调用数上限。默认:10。」)。

工具、MCP 服务器、Skill 和规则是之后在该智能体自己的详情标签页里编辑的。自定义智能体以一个 JSON 数组的形式存放在 ~/.orgii/agent-definitions.json;内置智能体仍然编译在程序里,但 ~/.orgii/builtin-overrides.json 这份用户覆盖层可以让你重新指定它们的模型、工具和策略,而不必去 fork 源码。

导入为其他工具编写的智能体。 从其他平台导入(Import from another platform)会扫描你的仓库和主目录,找出 .claude.cursor.codex.gemini 下的厂商智能体文件,并把每一个转换成 ORG-2 的智能体。

团队。 添加Agent团队(Add Agent Team)会把若干智能体归到一位协调者(Coordinator)之下,并带一种层级模式(Hierarchy mode)——扁平(Flat)(人人都能给任何人发消息)、柔性(Soft)(推荐的默认值,汇报关系只是给模型的提示,路由并不受限),或严格(Strict)(成员只能给它的直属上级、直接下属或协调者发消息)。严格模式可达性(Strict-mode reachability)预览会在你启动之前,先空跑一遍谁能联系到谁。

在其他工具里开始的会话

ORG-2 会读取其他工具写在你机器上的历史记录,所以你在应用之外做过的活也会出现在侧边栏里,并按来源分组:Codex AppClaude CodeOpenCodeWindsurfWorkBuddyCursor History。这些会话是只读的——你可以浏览和回放它们,但给它们发消息会被拒绝。这里没有开关:接入始终开启、按需触发、并有缓存兜底,而 Cursor 的数据库是以严格只读的方式打开的。

Claude Code 读自 ~/.claude/projects/*/(它的 sessions-index.json 加上每个会话的 JSONL),Codex 读自 ~/.codex/sessions/YYYY/MM/DD/rollout-*.jsonl,Cursor 读自它的 state.vscdb,而 OpenCode、Windsurf 和 WorkBuddy 各自读自它们自己的本地数据库,在 macOS、Windows 和 Linux 上还有各平台特有的备选路径。另有一个扫描器为开发记录(Dev Record)分析提供数据,来源包括 ~/.gemini/tmp/*/chats/*~/.kiro/sessions/~/.aider/history/;结果会被缓存,按文件修改时间重新扫描并带一分钟冷却,解析器版本变化时则整体重新解析。这两轮扫描的结果都不会被上传。

ORG-2 还可以接上一个此刻正在运行的 Cursor IDE composer,把它的输出镜像进一个实时会话,并且能把它在导入历史里发现的仓库一步注册成 ORG-2 的仓库。

感知资源的执行

ORG-2 真正围绕着调度的资源,是你的注意力。在侧边栏的胶囊控件里设置你的在线状态——「设置你的在线状态 — Agent 会根据你是否在键盘前调整行为。」——可选在线(Online)隐身(Invisible)离开(Away),还可以附上一个回来的时间。

在线状态会做两件事。第一,它会把一段引导文字换进智能体的提示词里;离开状态的默认文字是「我现在不在键盘前。不要卡在等我上——用你已有的信息做出最好的判断,能做完的就做完,然后把发生了什么以及还有哪些待决问题简明地留给我。」第二,它会改变三项由后端强制执行的超时,这些都可以在我的角色(My roles)下编辑:

设置在线隐身离开
自动跳过提问(秒)030180
计划自动批准(秒)01200
目标续跑预算(轮次)0200

填 0 表示禁用该行为。这些都是在 Rust 后端强制执行的,所以即使界面关着,待回答的提问也会被解决,而被自动批准的方案会在它的审批卡片上标注出来。如果你希望一台正在跑智能体的机器保持唤醒,请打开会话运行时阻止系统休眠——它默认是关闭的。

硬件那一半要窄得多。设置 → 设备 & 网络(Device & Network) 里有一个性能监控(Performance Monitor),包含逐核 CPU、一张 RAM 历史(RAM History)图表、按子系统划分的 RAM 明细,以及智能体派生出来的子进程——但没有任何东西会因为 CPU 而给智能体的某个轮次限速。内存确实门控着一件事:当后端的常驻内存先后越过软阈值和硬阈值、或者系统可用内存偏低时,后台的会话分析流程会暂停,等它回落后再继续。硬件影响决策的另一个地方是本地模型——ORG-2 会拿候选模型去比对你的机器,在你运行它们之前先给出适配度评级。

下一步

  • API 密钥 —— 接入智能体所依赖的账号。
  • 会话 —— 启动、引导并限定一次运行的范围。
  • 工具 —— 内置工具集能触及什么。
  • 排程 —— 不用你动手就能开启智能体会话的例程。

有问题?欢迎到 ORG-2 Discord 提问。 Discord