# 银河共享原生客户端(v2 协议) 银河在用户原来的 AI 宿主中提供获准的帮助、资料与协作。先阅读与问题有关的内容,再作必要行动,最后将可用内容带回原工作。用户模型仍由宿主提供;客户端不会替换模型配置,也不会因为打开菜单而调用模型。 2026-10-12 的 0.1.10 交付前,已在实际安装的 OpenCode 1.18.31 隔离配置中,从 `/galaxy` 查找并阅读求助,通过本机内容选择页发送一份协助说明,再从原记录将正文与来源带回原未发送输入。服务与身份为本地合成数据,提交经过正常 Native、签名 HTTP 和持久 PGlite;没有调用真实模型或发送真实用户的联系。首次操作已实际发送,随后修正返回接口并通过只读原记录验证返回,没有再发一次协助说明。本次 0.1.11 的社区与收藏增量另以正常签名 HTTP、Native MCP 和隔离网页操作验证,未重做所有真实宿主操作。实际终端、无头选择页和合同测试分别记录,不据此声明全部宿主、真人效果或整产品已经完成。公开发行状态以发布记录为准。 这是现有 v2 API 的独立 stdio 客户端。旧 local-only MCP 和旧 OpenCode 冻结发行保持原行为。当前包不依赖开发仓的绝对路径、不包含账号、密钥或已选云地址;它也不承诺八个真实宿主均完成验收。 ## 在原 AI 宿主中接入 需要 Node.js 22.13 或更新版本。先按已固定的发行公钥核验归档,解开后进入 `package` 目录: ```text npm ci --ignore-scripts node setup.mjs <已选官网-origin> ``` `setup.mjs` 读取这个官网的公开 `galaxy-web-config.json`,核对实际 API 和当前 Ed25519 公钥。选择要使用的宿主,沿用原银河资料目录;资料与接入文件位置可以直接回车接受显示的默认值。工具将完整服务信息列在同一次接入选择中,并只在新目录生成本机公开配置、宿主配置、Skill 与安装说明,不读取或修改已有模型凭据,不初始化身份,不连接服务,不覆盖原宿主设置。缺少官网公开配置时保留原资料并说明接入未完成,不猜另一个服务。 已安装 OpenCode 时,工具从本机 PATH 查找真实可执行程序,并给出 `run-opencode.mjs` 的准确命令。在原工作目录运行这条命令,随后使用 `/galaxy`。新配置只给该进程加载银河的 TUI 和 MCP 接入;已有模型继续由 OpenCode 管理。找不到 OpenCode 时查看生成目录的 `INSTALL.md`,核对实际安装位置;客户端不会自动安装或切换宿主。 菜单从“逛社区”“找帮助”“发起求助”“消息”“我的与设置”进入。已有本机身份直接读取,首次准备和接入只在确有需要时发生。原连接的身份、设备与范围已有效时,TUI 与 MCP 两个进程沿用同一选择;正常状态入口会按已保存的原范围恢复连接,无需再点一次连接或重新批准。明确断开、换身份、换设备或换服务会使旧连接和迟到结果失效。恢复暂时失败时保留原选择与工作,在原位置重试;当前设备权限已变化时明确说明,不能用重连替代设备授权。 “找帮助”在有可读取的宿主工作说明时带入查询;宿主没有提供这种公开能力时允许直接填写需要的帮助,不读取隐藏输入。选中求助后先读当前正文、目标与现状。写协助说明只填写希望提供的帮助,真实内容、接收方与范围在本机页作一次明确选择;发送后显示实际结果。该动作不会自动加入共同工作,也不会生成交付或成功履历。选择“带回原工作”会重新读取当前获准内容,在实际支持此接口的 OpenCode 中追加正文和简要来源到原未发送输入,保持原输入且不提交模型。接口不可用时在宿主显示可读内容与来源供继续使用,不冒充已写回输入。 “在官网找相关方法”沿用刚才的搜索方向和原求助,进入带有准确查询的“找帮助”页。系统只为这次方法查找增加方法读取范围,原返回位置仍是同一求助;没有准确方法时显示实际查询结果或空态,不创建方法对象。网页已有同一身份且权限足够时直接沿用;确需新设备获得附加范围时,先核对本机批准,再在官网选择“使用这个设备继续”。这一次本机采用不会新建主体、重新提交已批准的设备操作或删除旧设备钥匙。 普通 MCP 返回先呈现当前有用的内容、动作和简要来源;精确版本、原操作与完整事实保留在 `structuredContent`,模型据此进一步调用,不把内部编号或 JSON 当作用户结果。MCP Apps 小面板按同一目的组织消息与结果;其浏览器合同验证不替代实际宿主验收。 ## 把网页里的事情接回自己的 AI 在帖子、求助、项目、人物、方法或对话中选择“用自己的 AI 继续”,可以填写这次希望 AI 做什么,复制一段可直接使用的请求。请求包含同一身份、所选内容和准确版本的定位,以及返回原页面的位置;没有复制私人草稿、全部聊天历史或附件正文。已经连接同一服务和身份的 Agent 使用 `galaxy_work_continue` 读取这段请求中的链接,不要求用户另填对象编号或工具 JSON。 读取会重新核对当前权限。旧帖子和方法保持所选版本,求助分别返回当前目标、已报告的结果和实际限制,不能将“希望取得”当成“已经完成”。暂不可读的材料保持未知;服务、身份或连接改变时停止旧读取,不自动连接另一个身份,也不扩大材料权限。只读接续不会发布、联系、加入工作或记录成功复用。 OpenCode 的 `/galaxy` 菜单提供“接着网页里的事情”,可粘贴整段请求。客户端读取当前内容后,将正文、必要来源和返回位置追加到原未发送输入;模型何时开始仍由用户决定。普通 MCP 宿主取得可读内容与同一个返回链接。宿主是否支持直接写入输入框须以实际能力为准。 ## 浏览社区与收藏 “逛社区”打开同一身份的社区网页,可按主题浏览、搜索标题和正文、阅读或回复,再继续原工作。Agent 可使用 `galaxy_community_topics`、`galaxy_community_query`、`galaxy_community_read`、`galaxy_community_replies`、`galaxy_community_versions` 和 `galaxy_community_owned` 取得实际内容。公开帖子可按服务实际能力匿名读取;本人内容与收藏使用当前身份。查询继续服务给出的游标,不把首批结果当全部,也不把主题或编辑时间猜成作者的原始选择。 明确收藏或取消某条内容时,`galaxy_bookmark_set` 只需要准确引用和 `saved` 选择;客户端自动保留同一次提交,并在结果未知时查询原回执。`galaxy_bookmarks` 读取本人的帖子、准确方法版本、项目和人物收藏,可按种类分页;它不要求填写工作目的、比较理由或开启关注。网页与 Native 沿同一身份共享收藏选择,正文仍按当前来源权限重新读取。 `galaxy_open` 支持 `community`(可选 `topic`、`query`)、`post`(准确帖子,可选版本)和 `bookmarks`,原工作引用留在本机。返回时通过原 navigationId 重新读取当前对象。收藏与历史成功回执不会授予新权限;来源撤回或暂不可核查时保留定位并说明实际状态,不显示已失效正文。以上工具与当前网页的协议检查不表示所有真实宿主都已经独立验收。 ## 专业配置与其他宿主 需要直接接入 stdio 的宿主使用 `node galaxy.js`,并将 `GALAXY_NATIVE_CONFIG` 指向生成的公开配置。配置字段是 `version:2`、`endpoint`(精确 HTTPS API origin)、`website`(精确 HTTPS 官网 origin)、`dataDirectory`(本人本地绝对目录)、`trustedKeys`(kid 到 publicKeyPem/notBefore/notAfter/revoked 的映射)。不要在配置中加入令牌、恢复码或私钥。源码首次构建尚无锁文件时才使用 `npm install` 形成锁,之后按锁执行 `ci`。 高级接入可单独运行 `node prepare-service-config.mjs <官网-origin> <本机数据目录绝对路径> <新的配置文件绝对路径>`,用于明确核对已知 API 并生成新的公开配置。它不创建身份、数据目录或绑定,不跟随重定向,不覆盖旧文件,也不自动更换已保存信任。普通安装使用前述 `setup.mjs` 自动读取公开 API,不需要手填上述配置对象。 加载只读取本地状态,不创建身份或连接。初始化按当前本机配置步骤进行;已经有身份时直接读取并保留原GUID,不为了进入官网重复初始化。首次连接由用户选择,后续同一设备可在调用已允许工具时重连。会话令牌只在进程内存。原生设备密钥保存在本机用户目录的独立 PEM 文件,浏览器 IndexedDB CryptoKey 的不可导出特性不适用于此原生文件存储。初次升级旧身份沿用 Genesis 控制密钥,后续新设备通过公开批准协议加入;邮箱不能接管 GUID。恢复材料仍经官网私有输入界面处理。 任务、参与、逐收件人材料、聊天、发现、项目、联系人、招聘、Capsule、事实、通知、摘要、统一搜索、个人选择快照和任务评论工具重用服务端现有 MCP schemas,只将动作映射到现有 HTTP 入口。Capsule 保留精确版本、原操作回执和所选来源许可查询;评论与治理不代替任务交付或能力判定;选择快照的云同步须另行选定具体快照,不能套用摘要同步权限。HelpSession 复用既有帮助引擎,保留四条路径、来源依据、选项与原任务引用。服务端继续负责当前身份、Consent、权限、配额、版本和真实运行条件。查询、读取、已有精确 Consent 重试与当前 Agent 授权行为不重复要求新选择。 新权限范围优先使用 MCP elicitation;宿主缺少能力时返回临时本机审阅链接。它绑定 127.0.0.1 随机端口,显示本次实际内容、用途、接收方和范围,用户点击允许或取消后回到原宿主。原操作与准确字节仍绑定原选择;MCP Agent 沿同一参数继续,当前 Worker 小面板在焦点返回时自动继续同一操作。无需复制确认口令;关闭页面不批准。无名称的身份和所选设备在明确详情中核对,完整原始输入通过来源与诊断下载。页面不接收任意目标、私钥或恢复材料,5 分钟过期,stdio 退出即销毁。它与官网房间不同,不产生第二套云服务。工具不接受模型填入的假确认字段。 `galaxy_open` 只把稳定对象种类和 ID 放入网址,原工作来源留在本机;输出“已请求打开”与实际页面已呈现分开。Task、Room、Capsule、Project 有独立详情路由。Capsule 可选 versionId 对应 `/app/capsules/:id/versions/:versionId`,返回时沿用该版本读取,不擅自改成最新版;也可打开 `/app/capsules` 列表。Project 对应 `/app/projects/:id`,返回重新读取同一项目。`galaxy_return` 刷新同一对象。房间关闭不是离开、取消或撤回。目标官网是否已发布这些页面仍以该服务实际部署记录为准。 返回记录绑定创建时的本机身份、所选 API 和官网。同一身份明确重新连接后,可以沿用原记录;切换身份、服务或官网时不能拿到另一范围的原工作引用。旧发行留下的无归属记录会保留,但不能推断其属于当前身份;从当前身份重新打开准确对象即可建立新的返回记录。创建身份或连接变化期间迟到的旧请求也不能继续展示原范围数据。 原对象目前不可读或服务暂时不可用时,返回结果保留原对象定位和原工作引用,明确标记 `current:false`、`data:null` 与来源错误,不重放缓存正文、不自动授权或重新提交业务。认证或会话本身失效仍按原错误处理。宿主可以据此回到原工作、说明当前缺口,并在条件恢复后再次查询同一对象;历史回执不授予当前正文访问权。HelpSession 刷新或返回遇到发布、参与接受结果未知时,先查询原 operationId 与原载荷摘要,确认后再读取当前任务,不通过另建任务或另一次接受猜测结果。 个人摘要默认本地,不产生模型调用。私有同步和房间分享分别选择。持续关注需要当前连接的房间 Agent grant、限定目的与结束时间;使用 agent_grants/grant/revoke 查看与管理,再由用户宿主执行 check/ack/stop。绑定变化后停止旧关注,需重新选择当前连接授权;不会复制旧权限。并发检查使用本机锁和租约,待处理内容只保存定位信息,每次重新读取来源权限。当前实现不安装后台服务,不会在宿主退出后代替用户运行模型。检查没有新事件时模型调用为零;有事件只返回供用户模型处理的数据。Agent 处理游标与人类已读分开。宿主实际子会话启动、睡眠恢复、按钮或侧栏能力需分别验证。 安装 Skill 时将 `skills/galaxy` 放到对应宿主认可的 Skill 路径。MCP 配置的 command 指向该机 Node 可执行文件,args 为独立候选中的 `galaxy.js`,env 只含 `GALAXY_NATIVE_CONFIG` 路径。不要同时启用同名旧 Galaxy MCP。切换版本保留原数据目录并关闭旧进程,不重跑初始化。 本包附 `host-configs.mjs`:运行 `node host-configs.mjs <公开配置绝对路径> <尚不存在的输出目录绝对路径>` 生成八端配置与 Skill;只生成新目录,不修改用户配置。参见 HOSTS.md 和 host-capabilities.json。复制到另一台电脑需用该机路径重新生成,恢复身份使用批准流程而非把账号密钥塞入插件。 开发追溯:M15/M16/M17;CUR-02/03、08/09、12、23—32;B10-Q02—04、DISC-ROOT、DISC-HANDOFF 与关注采用决定。操作与验证的实际范围记录在项目 `07-logs/development/native-client-v2.md`,本 README 不是上线证明。 分发采用独立的 galaxy-native-client-release 签名种类。protocolAcceptance 范围是 local-stdio-http-fixtures,actualHostAcceptance 固定 false;它与旧 OpenCode 真宿主报告互不替代。标准 JWS/Ed25519 绑定发行包与报告的准确字节,公钥由调用者固定,签名最长 30 天。验签通过不表示已经安装、公开发布、运行或完成人工验收。 ## 可选 A2A 对端 当前源码新增可选 `a2a: { peers: [...] }`;未配置时不注册 A2A 工具,也不发现或联系对端。每个 peer 使用 `id`、可选 `name`、精确 `endpoint`、可选 `tenant`、`peerPrincipal`、已审阅公开 `agentCard`、`cardHash` 和 `trustExpiresAt`(毫秒)。卡片摘要是 SHA256(JSON.stringify(agentCard)),选择卡片时保存原 JSON 字段顺序。只接受卡片列出的 A2A 1.0 JSONRPC 精确接口;不自动刷新卡片、延长期限或切换接口。 peer 还可携带公开的 `authentication` 选择:默认 `{"mode":"none"}` 适用于无凭据对端;Bearer 对端使用 `{"mode":"bearer-environment","variable":"GALAXY_A2A_PEER_<所选名称>_TOKEN"}`。只给该 MCP 子进程注入所选变量;配置、插件、日志与聊天均不放原始值,不永久导出全局环境。启动与 peers 工具不读取变量,实际调用才读取该精确变量;缺失时报告对端授权不可用,不降级成匿名、不借用 Official token。若宿主不能注入所选变量,先使用已有浏览器衔接或处理该宿主配置,不改变协议信任。OAuth、任意请求头和自动凭据发现尚不支持。 配置后额外注册 peers、read、prepare、execute、abort_local 等当前协议工具,准确列表以实际工具发现为准。prepare 返回待审预览,execute 复用既有 MCP elicitation/本机审阅页;它不接受模型传入 confirmed。对端状态和来源单列为 peer-reported,导入 Result 不等于原问题解决。具体生命周期与 Python 互通证据见源码仓 `packages/galaxy-a2a/docs/native-v2-python.md`;源码变化不会自动更新已经签名发布的包,新包须独立捕获、验证和发行。 ## 设备清单与明确撤销 ### 已有Agent身份接官网(当前开发候选) 本次新增 `galaxy_identity_web_connect` 与 `galaxy_identity_web_connect_status`,最终固定包与实际验证范围以其发行记录为准。先用status读取当前Native已有身份,按真实工具schema传入原对象、可选原工作来源和固定requestId;准备连接不会另建GUID。工具打开受控的临时本机页面,再由用户进入配置中的固定官网。官网生成自己的设备钥;原Native设备只有在本机页明确核对同一GUID、所示设备和范围并批准后才签署授权。模型不能填写确认布尔值代替这次选择。 本机页与官网通过精确窗口和来源交换限定用途的公开证明、设备申请、批准与回执,私钥、恢复码及令牌不跨窗口。URL只携带必要公开定位;原宿主和workRef留在Native本机。新握手有效期为180秒,与原有5分钟普通操作审阅页不同;过期、关闭、弹窗被阻止或窗口引用丢失都不表示已经批准或连接。 已有官网设备在本次持钥证明绑定的同一GUID、deviceId与keyId下可以复用。后续正常刷新沿持久身份读取当前设备控制,不把180秒握手当永久权限,也不要求每次重新初始化。设备当前有效不保证旧任务根Consent继续有效;原Task保留定位,正文无权时返回明确不可用,不重放缓存。 同一GUID的旧网页设备缺少本次所需范围时,远端批准新设备并不自动替换本机当前设备。原操作先核对准确结果,官网随后显示新设备和实际权限变化供本人采用。预览或选择期间发生撤销、身份/连接变化或另一页选择不同设备时,本次旧选择失效,原钥匙、草稿和原操作保留;同一原操作的完成回应丢失时核对并接续,不重新创建设备。 结果未知时保留原requestId、handoffId及已有设备操作journal,用status和原设备reconcile核对;已有未决授权操作不能走复用设备捷径或改ID重建。status中的网页连接报告不等于Native独立观察到了网页会话,工具保持两者的区别。确认页关闭不撤销已经接受的业务事实。 完成网页工作后,使用同一navigationId调用 `galaxy_return` 刷新原对象并接回原工作。当前模型负责向用户说明实际取得的帮助、仍未解决部分和当前来源限制;网页返回、方法引用或设备接续本身都不生成成功履历。 `galaxy_identity_device_native_read` 的 `current`/`list` 返回本机身份在所选服务的当前设备控制,`pending` 读取本机待处理操作,`reconcile` 配合原 `operationId` 核对原回执。读取不会签名、重连或恢复私有资料;本机已有身份时,普通连接断开后仍可核对公共控制状态。 使用 `galaxy_identity_device_native_prepare_revoke` 选择当前清单中的准确 `deviceId`。返回的 `previewId` 仅指向本进程保存的原预览,预览列出目标设备、公钥标识、控制版本、控制链、原请求和挑战摘要、期限及后果。prepare 会登记未签署的挑战,尚未撤销设备。`galaxy_identity_device_native_confirm` 接受这个 `previewId`,再经过真实宿主选择或本机审阅页;模型不能填写确认布尔值替代本人选择。 撤销成功后,所选服务拒绝目标设备的原连接和凭据,GUID 与历史证明保持。它不删除数据、不消耗恢复码,也不声称其他服务同步撤销。最后一个管理设备只有在服务已登记恢复依据时才允许明确自撤;“已登记”不能证明本人仍安全持有恢复码。 连接、控制版本或预览期限改变后重新核对。提交结果未知时保留原 operation、挑战及证明,只查询原状态;不要生成另一份撤销来猜测结果。`galaxy_identity_device_native_stop_retry` 经真实选择仅停止本机继续提交,已签署未知操作仍保留定位,不能称为服务取消。终态历史回执不授予当前访问权。官网“身份与设置”提供同义清单、预览、原回执与本机停止入口。 ## 已选 Worker Pack 的原生使用 可选配置 `workerPacks: { workers: [...] }` 把已选择的 Pack 固定版本关联到已有 `a2a.peers`,不安装或启动任意程序。每个 worker 使用以下公开字段: | 字段 | 含义 | |---|---| | `id` | 本机唯一名称,1—80 个字母、数字、下划线或连字符 | | `peerId` | 当前配置中已经核对的 A2A peer ID | | `pack.builderId` / `pack.manifestId` / `pack.manifestHash` | 真实可读的 Builder、精确 Manifest 及其 SHA-256 | | `sourceHash` / `version` | 所选 Pack 内容摘要与版本,执行前再核对 | 未配置时不注册 Worker 工具;每个 Worker 必须有对应的显式 A2A peer。配置最多 32 项,不接收 shell command、下载地址或模型传入的程序路径。工具发现不创建身份、连接、执行进程或模型。连接后的本人首次操作才打开按身份隔离的本机记录。 四个工具为 `galaxy_worker_host_read`、`galaxy_worker_host_prepare`、`galaxy_worker_host_execute`、`galaxy_worker_host_abort_local`。开始使用需本人当前可读的精确 Attempt、Configuration、用途和必要文本。prepare 返回完整预览及本进程句柄,execute 经既有真实选择执行;支持 MCP Apps 的宿主复用同一紧凑资源,不支持的宿主保留可读普通 MCP 预览与同一本机选择页。 当前 Worker 小面板先显示工作目的、必要输入、处理位置与范围,返回后先显示对端实际输出,再提供可选的结果保留。可识别的结构化内容显示可读字段并提供完整原始内容下载;精确关联、版本与原操作保留在来源与诊断。已知的对端 Task 在面板可见时自动读取进度,已有 Result/PackUse 未确认时自动查原回执;这些读取不会批准、再次派发或自动记录成功。离开页面仍可带当前引用回到原工作。 本地 Chromium 与 SDK App/AppBridge 已运行真实 Node 参考 Worker、签名 HTTP 和 PGlite;Native 租约与宿主本地选择存储是显式合同夹具。实际计算、未知初次发送不重发、既有 Task 自动读取、本地取消与真实远端取消分别有检查。它们不证明实体 AI 宿主或独立运营 Worker 的使用效果。 对端完成、导入 participant-reported Result、记录独立 PackUse 是三个不同事实。后两者各有自己的准确预览、披露选择和回执;对端完成不会自动解决原任务、形成 Verification 或成功履历。丢失回执时查询原关联和原操作,不能重复发送。`abort_local` 只结束本地等待或预览,远端取消需另行准备并确认 CancelTask。仓库中的 reference-worker-pack 是隔离示例,不是已被独立运营者采用的生产 Worker。 ## 本机系统提醒 提醒默认关闭,重启后需要再次明确启用。`galaxy_host_notifications_status` 不启动辅助进程、定时器或模型;`enable` 经过现有真实选择后,每60秒检查当前收件箱,`check` 可在已启用时手工核对,`disable` 停止检查并撤回仍由本进程持有的提醒。退出及断开连接也执行清理。通知展示、人类已读和 Agent 处理游标分别记录。 可选公开配置为 `hostNotifications: { kind: "linux-freedesktop", command: "/usr/bin/python3" }`;`kind` 只接受 `linux-freedesktop`、`windows-notify-icon` 或 `macos-user-notifications`,`command` 如提供必须为本机绝对路径。此配置不接受 `enabled`、任意参数、脚本文本或通知正文;MCP 工具也不接受这些字段。省略配置时 Linux、macOS 分别选择对应通道,其余系统选择 Windows 通道;缺少所需辅助程序或系统能力时保留前台收件箱。配置本身不会启用提醒。 Windows 使用固定 NotifyIcon 辅助程序,只有收到 `BalloonTipShown` 才记录客户端观察到的展示。Linux 使用已安装的 Python3、PyGObject/GIO 和当前同一用户的本地 Unix D-Bus;缺依赖或通知服务时保留前台入口,不自动安装、启动 session bus 或切换远端总线。固定辅助进程只收到模式和条目数量,不接收私有标题、正文、网址、收件人或业务对象ID。 Linux 的 `Notify` 返回只表示系统接收了请求,输出始终保留 `displayed:false`,不会写成已展示或人类已读。原短生命周期连接固定通知服务的唯一名称和原通知ID;来源撤回、静音、禁用或退出时只请求关闭原提醒,不重连寻找另一条通知。系统实际撤回仍与辅助进程已关闭分开。未知展示保留原尝试记录,重启后不会再发送同一事件来猜测结果。 当前 Windows 环境的 Linux 自动检查使用真实受控 Node 子进程代替 Python/GIO,核验固定命令合同、管道、取消、退出及原ID撤回;它不是物理 Linux 桌面验收。实际宿主显示、焦点与用户体验仍需在对应设备核验。 macOS 通道当前为源码和协议验证阶段,未提供已编译、签名或公证的辅助程序。默认不启动任何 helper。受信本机配置的 `command` 必须指向绝对路径 `.../GalaxyNotifications.app/Contents/MacOS/GalaxyNotifications`;不会改用 AppleScript 或任意命令。开发者在已有 macOS SDK 的机器上可运行源码目录 `notifications/macos-helper/build.mjs`,传入尚不存在的绝对输出目录。该构建仅生成新目录,不签名、公证、安装、启动或改变系统安全设置;本轮 Windows 测试没有编译 Swift,也没有验证真实 Notification Center。 `galaxy_host_notifications_permission` 使用一次独立的真实宿主选择,仅在 macOS 权限尚未决定时请求系统 alert 权限。已拒绝时只返回当前状态;普通 `status`、`enable` 和自动检查不会触发权限弹窗。此动作不启用或停用已有提醒、不读取业务收件箱、不展示通知、不写人类已读。每次调用重新审阅,审批记录不作为后续调用的授权缓存;浏览器批准在等待本机记录写完之前即被消费,原链接不能再次授权。身份或连接变化时不沿用旧选择;禁用和退出会关闭本次拥有的 helper。 macOS `UNUserNotificationCenter.add` 成功仅表示系统受理,仍返回未知展示及 `displayed:false`。撤回仅请求移除同一辅助进程原 UUID 的 pending/delivered 通知;“请求已发出”和“随后观察到列表中不存在”分别返回,不宣称用户看见、已读或永久删除。真正的系统授权、显示及发行适用性仍需 macOS 环境验证。 ## AI Agent 部署与核验 部署代理先核对用户所选官网和当前发布公钥,再通过随包 `setup.mjs` 从公开配置读取准确 API;已知专业配置可使用 `prepare-service-config.mjs`。版本从包内 `package.json` 与 `native-v2.json.releaseId` 读取;“v2”指协议,不能当作发行版本。保留原数据目录、旧可用包和已保存信任,依随包锁文件安装依赖。签名和文件摘要必须用已明确固定的发行公钥核验,不从归档内容自行推导信任。原生内部客户端默认仍拒绝非公开端点;仅正常 Native 明确选定的 HTTPS origin 可沿该配置使用,其他 origin、路径、查询参数、嵌入凭据和重定向不因本机模式放行。 逐项记录安装、stdio 握手、工具发现、实际选择、业务回执和宿主 UI 的结果。先读 `galaxy_native_status`;未选择连接时由本人选择,已有有效选择在原范围恢复。工具出现不能当作业务执行成功。Worker 工具缺失时核对 `workerPacks` 与同名 `a2a.peers`,不要自动补一个对端。设备预览失效时查询原记录,不能把重绑后旧句柄重新当成授权。 本机审阅页只接受准确的 loopback Host 与 Origin。实际浏览器表单使用同源 referrer 策略;Origin 为 `null` 或来自另一来源时仍拒绝,不能为绕开 403 放宽校验。退出时停止接收新调用、使设备预览失效、等待在途回执和本机保存完成,随后关闭协议;未知操作保留在原 journal。测试替身、参考子进程、真实浏览器、物理宿主及真人验收须分别说明,自动测试结果不填补真实验收缺口。