coordination.halt模块 06Emergency stop switches
立即停止一个智能体、一份授权或一个资源,留下理由记录,并在安全时解除停止。
coordination.halt 在准入热路径上设置停止,范围为 agent、mandate 或 resource 三种之一。下一次准入会回答拒绝。只有已登录的管理员才能设置或解除停止;整个工作区的停止是单独的 kill 开关。
coordination.halt模块 06立即停止一个智能体、一份授权或一个资源,留下理由记录,并在安全时解除停止。
coordination.halt 在准入热路径上设置停止,范围为 agent、mandate 或 resource 三种之一。下一次准入会回答拒绝。只有已登录的管理员才能设置或解除停止;整个工作区的停止是单独的 kill 开关。
coordination.stops.halt 模式列出 why,但路由读取 reason 并拒绝没有它的停止。unhalt 接受停止的 id,而不是 scope 和 target。无论哪种,智能体和令牌都会被拒绝。
scopeagent、mandate 或 resource。其他任何值都是 400,并指向 kill 开关。targetreasonscope: agent,target 为 DID。该智能体加入隔离集合,所以对它的每次准入都回答 quarantine。
scope: mandate,target 为授权名称。对于授权来自该授权的任何动作,准入回答 。
请按下运行(或者 ⌘/Ctrl + Enter),即可为左侧的请求签名。
首次运行时,系统会在此浏览器中为您创建一个免费的测试密钥:7 天之内大约可以调用 35 次,无需注册账户。回执会返回到这里,并使用已经公开发布的公钥进行验证,整个过程完全无需信任我们。
一个符合 API 接受格式的请求,以及模块返回格式的示例响应。
POST /api/v1/acp/coordination/halt Authorization: Bearer av_workspace_•••• Content-Type: application/json { : , : , : }
附理由停止该智能体。它的下一次写入在准入时以 quarantine 被拒绝,其授权不变。
按名称停止该授权。它的许可立即停止准入,而来自其他授权的许可继续有效。
停止 repo:payments。其下的一切都以 resource_halted 被拒绝,直到停止被解除。
模块是对一件狭窄事情的强力保证。请仅在其确切范围内依赖它。
coordination.halt 事件。coordination.unhalt 记入账本,带有管理员、范围和目标。halt、unhalt、kill 和 resume 限管理该工作区的已登录真人。智能体或 API 令牌会被以 403 拒绝。
先检查隔离和资源停止,然后是确认、授权,最后是授权停止。kill 开关在这些之前就拒绝。
kill 接受可选的 ,并记入账本为 。 清除它;运维人员设置的开关只能由运维人员解除,否则返回 409。
使用工作区 API 密钥作为 Bearer 令牌进行认证。基础 URL 为 https://api.intramedial.com。
/api/v1/acp/coordination/halt停止一个智能体、一份授权或一个资源。/api/v1/acp/coordination/unhalt按 id 解除停止。haltid(前缀为 hlt_)、scope、target、reason、by 和 at。createdfalse;返回现有的停止。ledgeredcoordination.halt 事件是否到达了账本。无论如何停止都有效。idunhalt。要解除的停止。单独被隔离的智能体在 switches 中显示为 q:<did>。mandate_haltedscope: resource,target 为资源。它涵盖其下的内容,因此 repo:acme 也会停止 repo:acme/x。准入回答 resource_halted。
halt 接受 scope、target 和 reason。三者都必填,资源停止不能以 * 或 / 为目标。
停止保存在内存中并写入策略存储。下一次准入会看到它,早于读取任何授权或租约。
switches 列出工作区的 kill 开关、所有生效的停止(含设置者和原因),以及您是否可以更改它们。
unhalt 接受停止的 id 和可选的 why。解除会作为 coordination.unhalt 记入账本;未知的 id 返回 404。
{
"ok": true,
"halt": {
"id": "hlt_5d2c81",
"scope": "agent",
"target": "did:web:acme.example:agent:billing",
"reason": "runaway writes",
"by": "did:web:acme.example:person:ines",
"at": "2026-11-01T09:20:00.000Z"
},
"created": true,
"ledgered": true
}使用 kill。它触发工作区的协调开关,在 resume 之前,准入对每个智能体都回答 kill_switch。
coordination.quarantine,它需要双人控制或裁决的案件。coordination.approve;停止是一刀切的拒绝。watchdog.check 标出异常;停止是在您知道原因之后做的事。KILL_SWITCH_KV;没有它,kill 和 resume 回答 503。reasoncoordination.killresumeswitches 还会显示没有停止行的被隔离智能体(例如被裁决隔离的),显示为 q:<did> 且原因为空。
agent、mandate 和 resource。停止整个工作区用 kill 开关。reason 或没有 target 的停止返回 400,对 * 或 / 的资源停止也一样。halt 和 unhalt 上得到 403;读取 switches 不需要角色。/api/v1/acp/coordination/switches/api/v1/acp/coordination/kill触发工作区的协调 kill 开关。/api/v1/acp/coordination/resume重新开启工作区的协调。coordination.stops.halt通过操作调用设置停止;除非调用方是管理员,否则被拒绝。coordination.stops.unhalt通过操作调用解除停止。coordination.stops.switches从智能体读取停止开关。coordination.kill通过操作调用触发 kill 开关。watchdog.check36mcp.enforce04MCP gateway enforcement在 MCP 服务器前面设一道前门,使每个工具调用像其他意图一样被准入,被拒绝的调用永远到不了服务器。github.enforce29GitHub write gate除非提交背后的智能体持有授权,并且写入已获真人确认,否则让该提交的检查变红。saas.admit30SaaS connector admission询问智能体是否可以接触某个 SaaS 来源,并仅在通过管控其他一切的同一检查之后,才让它通过该来源写入。iam.assume31Cloud credential broker仅当智能体持有该角色的有效租约时,才给它一个短期云凭据,并让凭据随租约一同消亡。