实际使用
真实的工作,无论你身在何处
这些画面重现自 OAR 自己的开发历史——一个 Cloudflare 邮件服务器和一款多人游戏,全程在浏览器中操控。阅读智能体的思考过程,回答它的提问,并在一轮进行中随时引导它。
智能体团队
一轮工作,一整支队伍
智能体可以把工作分给并行运行的子智能体——而 OAR 会把每一个都显示在屏幕上:它所用的模型、此刻正在执行的命令、实时 token 计数、已用时间,以及一个在手机上也能用的 Stop 按钮。
- 后台任务会继续运行,无论你是在阅读、在引导,还是干脆走开。
- 每个子智能体都可以单独跟踪、单独取消。
- 开箱即用地支持 Claude 和 Copilot 的任务系统——后台智能体和分离式 shell 都包括在内。
监视会话
智能体监视智能体
智能体可以订阅其他会话——同一个中继上的,或已配对中继上的——那里一有动静,它就会被唤醒:一个等待回答的问题、一个错误、一条回复、一个已完成的后台任务、一个沉寂下来的会话。无需轮询:OAR 会在监视者的对话中写入一条简短的通知,接下来交给智能体处理。
- 订阅只负责通知。事件不会批准任何操作,也不会回答任何问题;智能体能做的事和订阅之前完全一样。
- 一个对话的第一个订阅需要你在卡片上批准。之后标题栏会显示 watching N sessions,每个订阅都附有 Unsubscribe。
- 跨已配对的中继同样可以:每个事件都会标明来自哪个中继,连接中断期间发生的事会作为一行重放记录送达。
- 一连串事件合并为一条消息,繁忙的一小时会汇总成一份摘要——问题和错误仍会立即送达。
- 智能体之间互相对话时,通知和回复会折叠成一行;每个子智能体的完整记录,点一下就能打开。
运行时
一个中继,八种运行时
每个对话单独选择运行时。一个队列,一份历史记录,一套界面。
- CopilotSDK 引擎,支持中途引导和后台智能体
- ClaudeAgent SDK,支持中途引导和思考控制
- Claude API使用 Console 的 API 密钥运行 Claude,可设每月上限
- Claude Cloud实验性:在 Anthropic 的沙箱中,基于 GitHub 仓库运行 Claude Code
- CursorAgent,可固定子智能体所用的模型
- Grok通过 ACP 协议
- OpenAI使用你自己的密钥,支持图片
- DeepSeek用 DeepSeek 模型思考的 Claude Code,使用你自己的密钥
主题
日间与夜间
OAR 有日间模式和夜间模式,本页的每张截图都会跟随顶栏中的切换按钮变化。拖动分隔线即可对比两者;旁边的手机显示的是本页当前未使用的那种模式。
功能
你能得到什么
- 可安装的 PWA添加到主屏幕,用起来就像一个 App,因为它本来就是。
- 中途引导智能体工作时照样可以发送——你的消息会并入正在运行的这一轮。
- 后台智能体让智能体并行运行,在面板中查看它们的工作。
- 提问卡片智能体在一轮中途提问;选一个答案或多个,躺在沙发上就能回复。
- 随你走的草稿在笔记本电脑上开始写一条消息,在手机上写完。
- 文件与预览浏览工作区、预览文件,无需离开聊天。
- 预览通道直接从对话中把开发服务器发布到一个公开网址。
- 推送通知一轮结束或智能体需要你时,你会收到通知。
- 文件夹也能管在文件浏览器中创建、重命名和删除文件及文件夹——在手机上长按即可。
- 回到最新往上滚动了?⌄ 按钮会统计期间新到的消息,并带你回到末尾。
- 谨慎归档归档一个进程仍在运行的会话时,会先询问你。
- 一开始就能设置还没有任何对话时就能打开设置,全新安装后也能直接启用提供商。
- 保留期限由你定选择子智能体的工具输出保留多久:一周、最长 90 天,或永久保留。
- 由智能体查询套餐开始高成本的工作之前,智能体可以查询每个提供商的套餐还剩多少——这个中继上的,或已配对中继上的。
套餐用量
了解你的套餐还剩多少
OAR 按提供商跟踪套餐用量,并把所有数据放在一个弹窗里。在一轮进行中打开“Check Usage”,就能看出让智能体运行一个晚上是否还在套餐额度之内——赶在提供商切断服务之前,而且就在你引导智能体的同一个浏览器标签页里。
- Claude 订阅:5 小时会话窗口、每周限额,以及本次会话按模型计算的花费。
- Copilot:高级请求配额,以及 SDK worker 每轮的明细——AI credits、token、模型调用次数。
- DeepSeek:余额、可选的月度预算、按天和按模型估算的花费,以及网页搜索次数。
- Claude API:今天和本月按模型估算的花费,以及可选的月度上限进度条。
- Cursor 和 Grok 有各自的卡片,数据来自同一个面板。
- 数字来自 worker 自身的上报和各提供商的配额 API,并随着你的工作实时更新。
有一点要说清楚:这不是账单。配额数字来自提供商,但会话花费是 OAR 根据 token 数在客户端估算的——把它当作参考仪表,而不是发票。
安装
快速开始
- 你至少需要一个你已在使用的提供商 CLI(Copilot、Claude、Cursor 或 Grok——或者一个 OpenAI、DeepSeek 或 Claude Console 的 API 密钥)。Linux 和 macOS 不需要其他东西;Windows 还需要 Node.js ≥ 22.13。
- 运行那条一行命令。在 Linux 和 macOS 上,它会先说明将要做什么,只询问一次。你的 Node.js 足够新就直接使用,否则会下载一份仅供 OAR 使用的 Node.js,然后把
@oar-sh/oar安装到你的主目录——全程不需要 root。macOS 上的安装流程尚未经过测试。 - 它会写入配置文件并生成一个新的认证令牌,启动中继,并打印中继网址和二维码——打开即可进入。在由 systemd 运行用户会话的系统上,中继会作为服务运行,重启电脑后会自动恢复。在 Windows 上,安装程序会交给
oar setup,由它询问令牌、访问范围和端口;之后用oar start启动中继。 - 可选,默认关闭:局域网访问,让手机直接连接——用
oar setup开启;以及从外网访问所需的隧道,在配置文件中设置,使用你自己安装的cloudflared运行。此后只输入oar就会打开一个菜单,包含启动、停止、重启、状态、网址和服务;Copilot 终端会话是oar copilot。
下一步:文档中的 首次运行——登录、在手机上打开中继,以及之后的一切。
信任
安全性,说清楚
OAR 运行在你自己的硬件上,默认只绑定 localhost。认证令牌在本地生成,绝不会离开你的机器;远程访问需要你主动开启,并通过一条由你掌控的隧道。有一点需要清醒地认识到:你所中继的智能体以你的用户权限运行——OAR 增加的是可达范围,而不是沙箱。
FAQ
常见问题解答
- 我需要 Copilot 订阅吗?
- 不需要。任意一种运行时就够了——OAR 中继的是你已有的那些智能体。
- 智能体工作时,我能给它发消息吗?
- 可以。在 Claude 上,以及 Copilot 默认的 SDK 引擎上,你发送的内容会并入正在运行的这一轮,而不必等它结束。如果智能体正在等你回答一个问题,你的消息会排队,并紧接着送出。
- 能在 Windows 上运行吗?
- 可以。中继可以运行在 Windows、macOS 和 Linux 上;浏览器端在任何地方都能用。
- OAR 会把我的代码发送到别处吗?
- OAR 本身不发送任何东西。你的代码只会发给你调用的模型提供商,和你直接使用它们自己的 CLI 时完全一样。
- 更新是如何进行的?
- 检查更新需要你主动开启——在你于设置中启用或点击“Check now”之前,中继不会连接任何地方。出现新版本时,点一下即可更新;只有在没有智能体处于一轮进行中时才会重启。绝不自动更新。
- 可以在 VPS 上或家庭实验室里运行吗?
- 可以——任何能运行 Node 的地方都行。妥善保管认证令牌,优先使用隧道,而不是开放端口。
更新日志
最新变化
-
0.9.19
- 内存耗尽的中继现在会自行重新启动,而不是一直停着。它启动时带有堆上限(RAM 的 60%,介于 2048 到 8192 MB 之间,可用
config.json中的heapLimitMb设置),接近上限时会把一个堆快照写入数据文件夹中的diagnostics。堆快照包含中继的认证令牌和 API 密钥:切勿原样分享。日志每 10 分钟以及堆超过上限的 80% 时会显示中继的内存。 - 智能体会话无需重启,就能使用之后的中继更新新增的提供商:
relay_tool接受任何提供商 id,中继会按当前列表检查,拒绝时列出该列表。 - Copilot 会在创建任何内容之前,以
COPILOT_MODEL_UNAVAILABLE和最接近的候选拒绝其他提供商的模型 id,例如 Copilot 的claude-opus-5.5被写成claude-opus-5-5时。 - 所有变更见发布说明。
- 内存耗尽的中继现在会自行重新启动,而不是一直停着。它启动时带有堆上限(RAM 的 60%,介于 2048 到 8192 MB 之间,可用
-
0.9.18
- Claude 对话现在可以使用 Claude Console 的 API 密钥运行。Claude API 是与 Claude(你的订阅套餐)并列的提供商,费用计入密钥所属的 Console 组织。Settings → Providers → Claude API 中保存密钥、默认模型,以及可选的每月花费上限(美元);密钥保存在中继所在的机器上,之后不再显示。New Chat 提供 Claude API,它的对话会显示金色的“Claude API”标签。
- Claude 对话可以通过 Subscription | API key 开关在你的订阅套餐和密钥之间切换,并保留它的 Claude Code 会话。切换从下一轮起生效;使用密钥的第一轮没有提示缓存,花费更高。订阅套餐的对话因 Claude 的用量上限而暂停时,如果该对话可以改用密钥,横幅就会提供切换,暂停的这一轮会立即改用密钥继续。系统绝不会自行切换;智能体也可以用
relay_tool的send切换会话的计费方式。 - 用量视图新增 Claude API 卡片:本中继使用密钥运行的轮次今天和本月的估算花费(按模型,含 token 数),以及设置后以进度条显示的每月上限。这些数字是 Claude Code 自己的估算;实际金额见 Console 的账单页面。本月估算达到上限后,使用密钥的新一轮不会运行,切换到密钥会被拒绝,新的 Claude API 对话会收到
CLAUDE_API_CAP_REACHED;这时 New Chat 会提供 Start on subscription。已在运行的一轮会运行完毕。 - DeepSeek 和 Claude API 对话启动时关闭所有 hook,因此不会运行任何 hook 或状态栏,目录的设置也无法重新打开它们。managed settings 中的 hook 仍会运行;使用你的 Claude 登录的对话保留它们的 hook 和状态栏。
- 订阅套餐的对话绝不会使用 Claude Code 设置交给它的 API 密钥运行(
env.ANTHROPIC_API_KEY、apiKeyHelper或 Console 登录)。这一轮会在 Claude Code 启动时停止,并附上说明,指出密钥的来源和需要删除的设置;在此之前最多只会发出一个模型请求。 - 中继的智能体工具更名为
relay_tool(在 Claude 中为mcp__relay__relay_tool),操作和字段不变。如果你自己的指令、权限规则或 hook 中写的是remote_relay,请改掉:在 OAR 的 MCP 服务器之外,旧名称会被拒绝。 - 所有变更见发布说明。
-
0.9.17
- DeepSeek 成为独立的提供商。在 Settings → Providers → DeepSeek 粘贴 DeepSeek 的 API 密钥,New Chat 就会提供 DeepSeek 的模型。DeepSeek 对话在中继所在的机器上运行 Claude Code,连接 DeepSeek 的 API;全部四种模式、工具、问题卡片、子智能体、引导和后台任务都能用,推理强度可选 low、high 或 max,并有 1M 的上下文窗口。
- 密钥保存在中继所在的机器上,绝不会发送到浏览器,只交给 DeepSeek 的 worker。对话目录中的
.claude/settings.json或.claude/settings.local.json无法把密钥转到别处。这项保护针对设置,不针对命令:这些文件里的 hook 和状态栏仍以中继的用户身份运行,和任何 Claude Code 对话一样,所以请只在你信任的目录中使用 DeepSeek 对话。 - 用量视图新增 DeepSeek 卡片:账户余额、本中继上 DeepSeek 轮次按模型估算的花费(按 DeepSeek 公布的价格,区分高峰和低谷时段)、最近 30 天的每日花费,以及设置后的月度预算。在 DeepSeek 选项卡中使用 Import usage export,导出文件覆盖的日期就会在卡片上显示 DeepSeek 自己的数据。
- 分组中的新会话会显示在分组顶部。你设定的顺序保持不变。
- 中继自身的 Anthropic 凭据不再传给它启动的智能体:
ANTHROPIC_API_KEY和ANTHROPIC_AUTH_TOKEN不会传给任何 worker,中继环境中的 Claude 登录令牌只会传给 Claude 和 Claude Cloud 的 worker。原先用这类密钥运行的 Claude 对话,现在改用主机的 Claude 登录。 - 修复:Inbox 会在顶部或你上次离开的位置打开;手机上的会话标题栏分为两行;OpenAI 的图像模型在 SDK 引擎上又能用了。
- 所有变更见发布说明。
-
0.9.16
- 智能体可以向你提问,同时不中断手上的工作。侧边栏中新增的 Inbox 会把本中继及其已配对中继上的所有待回答问题集中列在一处。你可以在那里或在会话中回答;已配对中继的审批卡片会在该中继上打开。
- 智能体可以定时发送提示词,一次或每隔几分钟一次,中继重启后定时任务依然保留。对话的标题栏会列出它的定时任务,每个都带有 Cancel 按钮。
- 智能体可以更改另一个会话的模型、模式、标题、分组或工作目录。不是由它启动的会话,需要你先点 Allow。
- 智能体可以把它启动的会话放进你的会话分组;监视会话的智能体可以要求少被唤醒:每隔几分钟一份摘要、免打扰时段,或排除某些会话。
- 由智能体启动的会话,其 🧠 设置中新增了一个开关,允许其中的智能体自行启动会话。
- 修复:中继事件和其他自动消息不再被算作你的消息,因此不断互相发送提示词的智能体会更早来询问你。
-
0.9.15
oar setup会询问中继在 Windows 上如何启动:在你登录时、开机后任何人登录之前(需要一次管理员确认),或者不自动启动。之后可以用oar autostart signin|boot|off|status切换,并查看当前设置。oar uninstall会停止中继,移除 OAR 创建的自启动项,然后删除软件包。你的配置、对话和上传文件会保留,并告诉你它们的位置;--purge会在你输入delete之后将它们一并删除。- 拒绝管理员确认不会改变任何东西;用户配置文件路径中含有空格、撇号或 ü 等非 ASCII 字母时,开机模式也能正常工作。
- 手动创建的自启动任务,或只有管理员才能读取的任务,绝不会在没有备份的情况下被删除或替换:OAR 会停下来并要求使用
--replace,它会先保留一份备份。在 0.9.14 中,切换到开机模式可能会在没有备份的情况下删除这类任务。 - npm 包变小了:两份面向开发者的 README 只放在 GitHub 上。
-
0.9.14
- 如果你使用 Windows 自启动,或中继是由普通的
gh copilot启动的,从 0.9.13 更新之前请注意:这些中继把对话保存在已安装的软件包内,更新时会随包一起被删除。请关闭所有gh copilot会话并运行oar stop(如果中继仍在运行,请在任务管理器中结束它的 node.exe),把软件包的server\data和server\uploads文件夹复制到安全的位置,然后用npm i -g @oar-sh/oar --allow-scripts=@oar-sh/oar,better-sqlite3,koffi更新——切勿使用--ignore-scripts。所有步骤见发布说明。 - 自启动和
gh copilot启动的中继现在与oar start使用同一份数据,位于软件包之外。更新会在 npm 删除软件包之前,复制早期版本存放在包内的数据,中继会在下次启动时接管这些数据。不会删除任何东西;如果中继无法判断哪个数据库较新,它会停下来并说明。 - 崩溃或断电后遗留的中继锁不再阻止下一次启动,两次启动也不会再同时运行。Windows 自启动会等待
%TEMP%和数据所在的驱动器最多 5 分钟,因此内存盘或较晚挂载的驱动器不会再让它出错。 - Cursor 对话在更新后保留它的智能体,上传文件跟随配置中的
dataDir,oar setup --migrate-from在安装程序运行之后也能使用。 - 智能体可以要求在中继重新运行时被唤醒(
relay_restarted),这样它们的工作在重启后可以继续。智能体的预览工具只会列出和关闭它自己所在对话的预览。 - 审批卡片通过点击作答,而不是输入文字:在回复框里输入的“yes”不再被当作拒绝。
- 修复:文件夹已被删除或重命名的对话会如实说明,而不是归咎于 CLI;回答问题不再导致一个很长的轮次被重新发送;恢复运行的子智能体能打开它的记录,并在运行期间列出;每个支持推理强度的 Cursor 模型都会获得推理强度设置。
- 如果你使用 Windows 自启动,或中继是由普通的
-
0.9.13
- 中继重启:🌄 Restart web relay 会先列出它要等待的运行中轮次、它会暂存的消息以及后台任务,并标明每一项是否会继续运行;Restart when idle 会把重启排入队列,Restart now 则不等待。等待期间,每个页面都会显示一个横幅,列出相关会话、已等待的时长,以及 Restart now 和 Cancel restart。
- 排队中的重启不再无限期等待:超过你在 Settings › General 中设置的时间(默认 30 分钟)后,横幅和推送通知会询问你是立即重启、继续等待还是取消。只要还有轮次在运行,它绝不会自行重启。
- 可在 Settings › General 中开启:中继重启后,被重启打断了一轮的会话会收到一条简短提示,让它检查自己刚才在做什么并继续。你的消息绝不会被重新发送。
- 任务控制台在中继重启后依然保留:已结束的行带着 ✓ 或 ✘ 回来,正在运行的命令的输出可以立即读取。它会标出
| tail拦住输出的位置,并提示改为记录到文件;在宽屏上,任务所在的行及其 Stop 按钮会一直显示在控制台下方。 - Load earlier 也放到了控制台的标题栏中;测试运行按完整日志计数,而不再只看最后 64 KB;vitest 的 RUN、PASS 和 FAIL 徽标以实心显示。
- 由脚本或智能体发送、未指定模型的消息,会保留对话的模型、推理强度和模式,而不再切换到列表中的第一个模型。
remote_relay会拒绝提供商未列出的模型,并给出最接近的名称(“did you mean 'gpt-5.4'?”)。 - 监视中的智能体不再被每一条顺利结束的 shell 命令唤醒:默认情况下,它们只会收到子智能体完成和任务失败的通知。指定
task_finished即可像以前一样收到每个任务结束的通知。 - 修复:即使连接挂起,worker 也会在中继重启后重新连接;任务行的描述和摘要中的凭据会被遮蔽;加载更早的消息后紧接着的滚动不再被撤销,⌄ 徽标也会计入你向上滚动时恰好到达的消息;任务面板不再短暂缩回;单元测试套件在 Windows 上再次通过。
-
0.9.12
- 任务控制台:在任务面板中点击一个后台命令或监视器,即可实时查看它的输出——保留颜色、遮蔽凭据、进度条只保留最终状态,Load earlier 可回溯整个日志,还有自己的 Stop 按钮。Claude 的后台 shell 和监视器、Copilot 的分离式与附加式 shell,以及 Grok 的终端都可以打开控制台。
- 安静的任务与测试运行:任务行会显示“no output for 12 min”,超过你在 Settings › General 中设置的时间(默认 10 分钟)后变为琥珀色;测试运行(vitest、Playwright、node:test、jest、pytest)会显示一个 ✓ 412 ✘ 2 标签,点击即可跳到第一个失败项。
- Claude 后台命令默认可运行 2 小时,最长 8 小时(Settings › Providers › Claude);Claude 也会被告知把长时间运行的输出记录到文件,并用
nohup启动需要在重启后存活的运行。 - 子智能体的行会统计步骤数;智能体可以用
remote_relay的read_task_output读取已配对中继上任务的输出。 - 长对话打开和向前翻页都很快:无论对话多长,中继只读取你请求的那一页。
- 切回一个对话或刷新页面时,会回到你正在阅读的那条消息,更早的页面也一样。每个对话为此保留多少条消息,可在 Settings › General 中设置。
- 对话列表用颜色显示活动状态:正在工作的会话标题保持亮绿色,空闲的变为深绿色,动画圆点已去掉。
- 修复:在历史记录中往上阅读时,新消息不再跳过中间的消息——它们会等待,计数显示在 ⌄ 按钮上,并在你向下滚动时按顺序加载;从那里发送的消息会带你到末尾;较晚加载的图片不再把你正在阅读的文字往下推;Copilot 后台任务会报告结束方式和退出码,而不是“unknown”。
-
0.9.11
- 会话分组:智能体启动的会话会排在启动它的会话之下,并带有一个汇总分组状态的标签(“3 · 1 waiting for you, 2 running”)。分组内的一切都完成后会自动折叠,分组可以命名,也可以整体归档或停止;折叠的成员中有提问时,会显示在分组的首行上。
- 拖放:把会话拖入分组、拖出分组或重新排序;把一个会话拖放到另一个会话上即可新建分组。在手机上长按并移动;使用键盘时用 Move up 和 Move down。
- Settings › Sharing 会列出每个分享链接,附有 Copy、Renew 和 Stop,以及每次打开的访问日志——时间、国家或地区、浏览器,以及 IP 地址(除非你关闭这一项)。
- 分享链接不会暴露你的路径:可以显示路径、只保留文件名,或两者都隐藏。Preview as shared 显示查看者会看到什么,🙈 列表汇集了对查看者隐藏的消息。
- 安全:同一地址输错十次令牌会被锁定一分钟,实时通道只接受中继自身的源,转发头只在来自可信代理时才被采信,
?token=只用于登录页面。如果位于另一台主机上的反向代理之后,请设置trustProxy和allowedOrigins。 - Day/Night 回到了 ⋯ 菜单中,旁边是新的 About OAR:版本、提供商、累计数据和中继的健康状况一目了然。
- 修复:预览链接在中继重启后依然有效,重启不再忘记正在运行的后台任务,worker 在重启后会重新连接,PATH 中没有
node也能启动,你往上阅读时对话不再自行滚动,阅读器中的宽表格在自己的框内滚动。
-
0.9.10
- 智能体监视智能体:智能体可以订阅其他会话,无论是在它自己的中继上还是在已配对的中继上,那里发生的事都会唤醒它——等待回答的问题、错误、回复、已完成的后台任务、沉寂下来的会话。订阅只负责通知,不批准任何操作。对话中的第一个订阅会通过卡片征求你的同意,标题栏会显示 watching N sessions,每个订阅都附有 Unsubscribe。
- 打开子智能体的完整记录:它的思考、每次工具调用的输入和结果,以及它的回复,运行期间实时更新。工具输出保留多久,由 Settings → General 决定。
- 智能体之间的通知会折叠成一行,展开即可看到提示词和回复。智能体可以查询每个提供商的套餐还剩多少,并查看某个会话是在工作、在后台忙碌还是处于空闲。
- 文件浏览器可以创建文件夹,也能重命名和删除文件及文件夹——右键点击,或在手机上长按。
- ⌄ 按钮可跳回最新消息,并统计期间新到的消息;对话记录会持续跟随流式输出的回复和刚启动的后台任务。
- 归档一个进程仍在运行的会话时会先询问你,而且在第一个对话创建之前就能打开设置。
- 修复:断开的 WebSocket 不再导致中继崩溃,在手机上点 ⌄ 不再弹出键盘,排队中的中继重启不再在繁忙的中继上无限等待,主机从睡眠中唤醒不再重启正在运行的轮次,等待长时间命令的 Cursor 轮次不再被当作卡住而结束,切换对话后立即发送的消息会出现在发送它的那个对话中。
-
0.9.9
- 单独输入
oar会打开一个菜单:显示中继是否在运行,以及版本、网址、端口、访问范围和服务,并提供启动、停止、重启、网址和二维码、设置、服务、更新和 doctor。新命令:oar stop、oar restart、oar status、oar url和oar service;Copilot 终端会话是oar copilot。oar setup会询问访问范围(仅本机,或局域网)和端口,更改后的设置会传达到正在运行的中继。 - 文件全屏显示:图片、视频和音频衬在黑色背景上,文字排成易读的一栏。在文件夹或对话的媒体中滑动浏览,方向键同样可用;PDF 在浏览器自带的查看器中打开,音频在查看器中播放,返回手势只关闭查看器,不影响其他任何东西。
- 置顶消息:每条消息在 Hide 旁边都有一个 Pin 按钮(在手机上,点一下消息气泡即可显示);有置顶消息的对话会在标题栏显示一个带数量的 📍 按钮,列表会带你跳到那条消息,即使它在历史记录中很靠前的位置。
- 下载得到的是文件当前的样子:链接带有文件的版本,保存的文件名带有最后修改时间,并且你与中继之间的任何缓存都不能保留 API 响应。
- 内置的 Cloudflare 隧道改为运行你自己安装的
cloudflared;捆绑的副本已移除。如果你用过隧道,请在更新后安装cloudflared——中继一找到它就会启动隧道。 - 提供商 SDK:Copilot SDK 1.0.17、Claude Agent SDK 0.3.292、Cursor SDK 1.0.36。
- 修复:PDF 又能在浏览器的查看器中打开了,音频文件和 SVG 以正确的类型提供,上传的视频可以拖动进度,文件名含日文、中文或 emoji 的文件又能正常提供,跳转到历史记录中的某处后会停留在那里。
- 单独输入
-
0.9.8
- OAR 有了标志:一只水獭。启动画面、登录框、标签页图标和已安装应用的图标都会跟随日间和夜间模式,主题在首次绘制之前就已应用。
- 已安装的应用一气呵成地启动:启动画面无缝衔接手机的启动屏。
- Claude 会话压缩上下文时,运行中的轮次上方会显示一行 Compacting context…;完成后显示 Context compacted 以及 token 数。
- 更改后的自动压缩窗口现在真正生效:会话会在其中没有任务运行时重启一次,回复中也会说明。
- Linux 和 macOS 安装程序会完成全部工作:只需确认一次,你的 Node.js 缺失或太旧时自带一份,无需 root,结束时中继已在运行。新命令:
oar start和oar setup --start。 - 用鼠标更容易抓住滚动条:指针停在滚动条上时,它的宽度会加倍。
-
0.9.7
- Claude Cloud(实验性,默认关闭):一种在 Anthropic 的沙箱中运行 Claude Code 的对话,使用某个 GitHub 仓库的独立克隆。从列表中选择仓库和分支,实时跟进这一轮,回答它的提问,停止它,在轮次之间切换模型;结果以推送的分支形式返回。
- 可以归档对话而不必删除;右键点击对话(在手机上长按)会打开菜单:打开、重命名、停止、强制结束、归档、删除。
- 智能体会话:你开启这一功能后,智能体可以在它所在的中继上启动其他会话,等待它们并读取结果。
- Claude 会话的提交和拉取请求会写上
Co-authored-by: Open Agent Relay (model);可以按中继和文件夹选择 OAR 的署名、Claude Code 自己的署名或不署名。 - Check Usage 会立即以上次的读数打开,并只实时读取当前打开的标签页。
- 修复:同一段落中的两个价格不再被显示为公式,提到错误代码的回复不再被记录为失败的轮次,在 Windows 上中继读取进程列表时不再卡住。
-
0.9.6
- Claude 会话在达到用量限额时暂停,并在额度重置后继续:横幅会告诉你何时继续,附有 Resume now 和 Cancel,暂停状态在中继重启后依然保留。重置时间在六小时以后的,会等你决定;另一个横幅会在达到限额的 90% 时发出警告。
- 什么都不输出的命令不再导致这一轮失败(Copilot、Cursor、Grok):没有进行中的操作时,一轮可以静默 2 分钟,模型请求期间 5 分钟,工具运行期间 30 分钟。
- Copilot 的轮次即使失败,也失败得体面:失败会立即显示,智能体已写出的文字就在上方;Stop 能停下卡住的轮次;已完成的回复在中继重启后依然保留;已终止的运行时的命令会被停止;命令运行期间发送的消息会等它结束。
- 已配对中继上的智能体可以在整个会话中互相回复;在你一言未发的情况下,智能体之间连续发送 30 次提示词后,下一次会先询问你。
- 子智能体在运行中的轮次里折叠为一行标题,计划看板显示在它所属的回复中——你的选择也会设置会话的模式。
- 失败提示不再建议重启中继,中继会把控制台输出保存在
relay-console.log中。
-
0.9.5
- Claude 的回复以后台续写的形式发布,而不是出现在你的消息下方时,不再让对话阻塞长达 5 分钟。大约 45 秒没有动静后,你的消息就会结束,并附上一条指明那条回复的简短说明。
- 智能体可以为它在另一个中继上启动或发送提示词的会话设置推理强度。
- 等待另一个中继的回复时,不再因为远端智能体给出了中间答复就停下来,只要它仍在工作就会继续等待。
- Windows 上的会话 worker 现在也会写入 worker 日志,与 Linux 上一样。
-
0.9.4
- 远程中继:在 Settings → Relays 中配对两个中继,一个中继上的智能体就能列出、读取另一个中继上的会话,向它们发送提示词,并在那里启动会话。
- 已配对的中继只有在你在对话中提到它之后,才会在该对话中解锁。你按中继设置限制,在 Ask 和 Plan 模式下写操作会先询问你,令牌始终保留在中继上。
- Grok 和 Copilot 扩展引擎通过新的 OAR MCP 服务器获得了真正的工具。
- 跟随正在生成的回复:三个开关可以让它的思考、回答或工具列表在增长时始终保持在视野中。
- Suspend host(Windows)会等到智能体、后台任务和 CI 运行都结束后再执行,Stop 在取消一轮之前会先询问你。
- 修复:切换 Claude 模型后,下一条消息不再卡住;空闲连接会保持打开 65 秒。
-
0.9.3
- 中途引导正在运行的一轮:智能体工作时照样可以发送,Claude 和 Copilot 都支持,你的消息会并入这一轮。
- Copilot 的后台智能体和 shell 会显示在任务面板中,附有它们的模型、实时工具调用和真正有效的 Stop。
- 提问卡片支持多个答案。
- 草稿在多台设备之间也安全:空闲的设备不会再覆盖你正在输入的内容。
- 标题筛选可以搜索所有对话,手机旋转屏幕时会保持你的阅读位置。
- 删除对话时也会停止它的 worker,并删除 OAR 为它创建的 CLI 会话。
-
0.9.2
- 自更新,需主动开启:在设置中或用
oar update更新。在你同意之前,不会检查任何新版本。 - Copilot 默认运行在 SDK worker 引擎上。
- 图片、视频和音频直接内嵌在智能体的回复中——点击即可打开、缩放、下载。
- Copilot 模型目录准确无误:真实的上下文窗口,按模型区分的推理强度。
- Windows 可以在系统启动时、任何人登录之前启动中继。
- 一大批会话、队列和 worker 的可靠性修复。
- 自更新,需主动开启:在设置中或用
-
0.9.1
修复了全局可执行文件,安装后
oar能被正确找到。 -
0.9.0
以 OAR — Open Agent Relay 之名发布的第一个版本。





















