拦截智能体的 GitHub 写入
经 Intralock 准入智能体对仓库的写入,并把裁决作为检查运行或状态发布到提交上。
github.enforce
经 Intralock 准入智能体对仓库的写入,并把裁决作为检查运行或状态发布到提交上。
github.enforce智能体向仓库写入,您希望对该写入作出裁决,并把裁决显示在提交上。需要确认的写入会被拒绝,直到审批人签发令牌。
代码从 INTRAMEDIAL_KEY 读取密钥。请把它放在您的 shell 或密钥存储中,切勿放进要提交的文件。需要已登录用户的调用不能使用密钥:这些调用由控制台发起。
发送仓库、智能体、提交 sha 和动词。准入以仓库为单位;action 默认为 write。
账本仅可追加,并封存在 Merkle 根之下。条目上的时间取自 Intramedial 自己的时钟,签名包可用已发布的公钥离线核查。
github.enforcegithub-enforcecurl -sS -X POST https://api.intramedial.com/api/v1/acp/github/enforce \
-H "Authorization: Bearer $INTRAMEDIAL_KEY" \
-H "Content-Type: application/json" \
-d '{
"repo": "acme/payments",
"actorDid": "did:web:acme.example:agent:billing",
"sha": "9fceb02d0ae598e95dc970b74767f19372d61af8",
"action": "write"
}'const res = await fetch("https://api.intramedial.com/api/v1/acp/github/enforce", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.INTRAMEDIAL_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
repo: "acme/payments",
actorDid: "did:web:acme.example:agent:billing",
sha: "9fceb02d0ae598e95dc970b74767f19372d61af8",
action: "write",
}),
});
console.log(res.status, await res.json());import os, requests
res = requests.post(
"https://api.intramedial.com/api/v1/acp/github/enforce",
headers={"Authorization": "Bearer " + os.environ["INTRAMEDIAL_KEY"]},
json={
"repo": "acme/payments",
"actorDid": "did:web:acme.example:agent:billing",
"sha": "9fceb02d0ae598e95dc970b74767f19372d61af8",
"action": "write",
},
timeout=30,
)
print(res.status_code, res.json())在审批人签发令牌之前,allow 为 false 并带有 confirmation_required。GitHub App 将其作为 intramedial/acp 检查发布。
{
"allow": false,
"llm": false,
"reason": "confirmation_required",
"sha": "9fceb02d0ae598e95dc970b74767f19372d61af8",
"repo": "acme/payments",
"commitStatus": null,
"checkRun": { "id": "4417203551", "url": "https://github.com/acme/payments/runs/4417203551" }
}在分支保护中要求 intramedial/acp 检查。否则该检查虽会显示,但不会阻止任何合并。拉取请求和合并组事件会强制执行;推送只做记录。
内容复制自: /docs/github-enforce
让被拒绝的写入在审批队列中等待,直到已登录的人批准,然后带令牌重试。
coordination.approve向 MCP 网关请求 Intralock 对智能体工具调用的裁决,读取理由,并列出它已见过的调用方。
mcp.enforce询问平面:智能体能否对已连接的 SaaS 源执行操作,并在发送任何内容之前读取裁决。
saas.admit当我们向实用示例中添加新示例时,会发送一封简短的邮件。不会发送其他任何邮件,而且您可以从任意一封邮件中退订。
完全无需账户:在 7 天之内可以在各个 attest 路由上调用 35 次,所生成的回执都会被标记为测试回执。当您想继续使用时,再注册账户即可。