SuperAPI AI 工具集

agent-id-git

智能体与模型

查看项目

更新于 10-16 04:59

技能介绍

用途:为智能体编写的代码提交提供可验证的来源证明。每次提交在提交对象中包含 SSH 签名(可用 git log --show-signature 查看),提交信息中始终带有 Agent-ID-JKT 指纹,当智能体由真人绑定时另有 Agent-ID-Owner。提交还会在 refs/notes/agent-id 下附加 v3 证明包,内含智能体公钥 JWK,绑定时还含 SSO 签名的 id_token。

主要能力:绑定为可选,任何保证级别都能提交。未绑定的 L0 智能体仅用自身密钥签名,可独立验证为“该密钥”但无人属证明;之后绑定(agent-id-core auth + bind)后,后续提交自动成为人工背书(L1 匿名 / L2 关联),密钥不变。验证是通用的,只依赖提交及其证明 note,无需智能体本地状态:对绑定提交依次验证 SSH 签名、agent_jwk、cnf.jkt、SSO RS256 签名与 owner sub;对 L0 提交确认 SSH 签名、agent_jwk 与 JKT trailer 并报告级别 0。

使用方式:CLI 位于本插件目录 bin/cli.mjs,示例中以 ${CLAUDE_PLUGIN_ROOT} 表示加载时填充的路径。一次性设置:在 agent-id-core init 或 bootstrap 生成密钥对后运行 node CLI setup,会写入 $stateDir/ssh 下的 agent-id、agent-id.pub、allowed_signers 并打印公钥;将其添加到 GitHub(Settings → SSH and GPG keys → New SSH key,类型选 Signing Key)可获得 Verified 徽章。提交:node CLI commit --message "feat: implement auth flow",可用 --push 推送提交与证明 note,--remote 指定远端。输出为 JSON,包含 ok、commitHash、signed、level、assurance、jkt、ownerSub、proofAttached、pushed、notesPushed 等字段,level 为 0/1/2。验证:node CLI verify --commit HEAD 或 --commit <hash>,成功返回 ok、commit、level、assurance、jkt、ownerSub、issuer、aud、iat、summary,级别 0 时 ownerSub 为 null。--state-dir 仅 setup 与 commit 需要,默认 $AGENT_ID_STATE_DIR 或 ~/.agent-id;verify 无状态。普通 git commit 仍可用,但不会有 trailer、签名和证明 note。验证器独立运行,审计者、CI 与代码审查者可在任何带 v3 证明 note 的仓库上执行。限制:资料未提供价格、平台支持范围及性能数据。