@datalayer/agent-shield

中文文档
0.2.20发布于 2026/11/12BSD-3-ClauseTypeScriptES Module零依赖构建来源已验证近 30 天下载 2082

Agent Shield: 政策文件的类型和决定的句子,用于网络和电话.

中文使用文档
文档目录7 节
  1. 前五分钟
  2. 地址: serve
  3. 已注册到数据层
  4. 政策
  5. 何为所建,何为所非
  6. 发展
  7. 文档

Datalayer

Become a Sponsor

盾牌探员

PyPI - Version npm

每个代理都有一个运行时间防火墙. 和每个特工一起部署防护罩 执行 执行、集中管理策略并保留 审计线索.

盾牌站在代理人和世界之间 其第一艘起落架是 代理服务器数字 : agent-shield run -- <an ACP agent's command> 启动代理为 其子进程并作为一个 代理客户协议 所以任何非加太公司的客户——Zed, vscode-acp玛丽莫, Datalayer的跑步时间——与"盾牌"对话,"盾牌"则与特工对话. 在决定之间:

  • session/request_permission 根据政策: 动手 答案没有 客户端, 先问我 以相同的选项转发,并答复如下: 选择的人, 交给我吧 (一) 被拒判者所见之刑罚;
  • 经纪人的 tool_call 通知分类(非加太国家) kind → read, (中文(简体) ), write, (中文(简体) ), delete, (中文(简体) ), execute· ; other 未关闭到 write并坚持 (b) 拒绝取消转弯,并说明原因;
  • fs/* 财务报告和审定财务报表 terminal/* 誓以盾牌 工作空间 ——其外道被拒绝,命令运行环境被修剪 - 每一个都是客户看到的工具行;
  • mcpServers 重新撰写,使代理只得到保险单借出的东西;
  • 每一个行动和决定都是 ~/.agent-shield/audit.jsonl, (中文(简体) ), 证书已编辑, 文件的内容从未在其中 .

前五分钟

pip install "datalayer-agent-shield[claude-code]"   # one extra per harness
agent-shield setup        # finds node, the vendor CLIs and the credentials present; installs the pinned adapter into ~/.agent-shield/harnesses/<id>@<version>; writes agent-shield.yaml beside the project
agent-shield run -- claude-agent-acp               # Claude Code behind the Shield, on this directory, with the default policy

2026年10月15日从一个干净的前缀测量: setup 带了 27岁s (适配器) @agentclientprotocol/[email protected], 325 MB,通过 npm install --prefix,从一个全球 npx(三); run 初始化适配器 并宣布会议开幕 1.5 s (韩语); 第一个决定遵循第一个工具 电话 整个,从 pip install 在终端上看到的决定,是 一分钟内,5次 在5分钟的目标下.

setup 它不要求它找到任何东西:它说哪些证书由 名称( 绝不是一个值) , 缺少名称和如何导出名称和存储 没有秘密 它在一句话中拒绝登记簿禁止的证书——a Claude Code 或 ChatGPT 订阅登录, 只有 API 密钥服务 第三方,Google登录双子座个人等级.

然后说:

agent-shield log                 # the audit, one line per action and decision
agent-shield policy show         # every line of the policy in force, and where it came from
agent-shield policy schema       # the document's JSON Schema
agent-shield harnesses           # the register: each harness, its terms, where they were read
agent-shield upgrade --check     # a newer Shield or adapter?
agent-shield upgrade             # move the adapters to the register's pinned versions
agent-shield uninstall           # previews; --yes removes the adapters and the config, keeps the audit and the policy

赛德, settings.json数字 :

"agent_servers": {
  "Claude Code behind the Shield": { "command": "agent-shield", "args": ["run", "--", "claude-agent-acp"] }
}

每个启动命令的ACP客户端都使用同一条线——VS代码的ACP 客户端,代理.nvim,代理-客户端-内核,一个Telegram桥像 acp-连接器 与 页面上写着曾经尝试过的,有版本和日期.

地址: serve

export SHIELD_TOKEN=$(openssl rand -hex 24)
agent-shield serve --host 0.0.0.0 --port 8788 --token-env SHIELD_TOKEN -- claude-agent-acp   # one harness per connection
agent-shield connect ws://host:8788/acp --token-env SHIELD_TOKEN                               # a served Shield as a local stdio agent

serve 和服务器是相同的代理服务器, 完毕 网络安全套 财务报告和审定财务报表 ACP 可流性 HTTP 密码 打开 /acp ——生态系统桥梁的运输汇合(非加太) 远程, acp_rpc_bridge,非加太项目的RFD)——标注在 Authorization 在第一个消息中,从不在 地址; --harness <id> 登记在 /acp/<id>· ; --bridge 实值 同一个服务器,没有盾牌, 一个Datalayer运行时舱的侧车. 非加太技术合作公司 connect 反对 serve数字 : VERDICT: CONFORMANT。 。 。 .

已注册到数据层

export AGENT_SHIELD_SERVICE_KEY=...   # a service agent's key, made by the organization's administrator
agent-shield setup --register --org <organization uid> --agent <service agent uid>

密钥在 IAM 交换一个符号(client_credentials)并保持原样 进去 ~/.agent-shield/credentials.yaml,模式0600,从未显示; serve 接下来 从IAM中抽取其政策,没有这些政策就无法关闭,并输出其周期 并算上数据显示器的可观察性 多么独立 盾不能有——操作员的网络边界和同伴的 数据显示器运行时间的挂载, 由 setup 财务报告和审定财务报表 policy show; PAP 被说成无法使用, 而只在当地使用, 并且已经注册过 agent-shield run --pap <company> -- <agent> 借出网关的 PAP 工具 在有盾牌的公司, 当保险单的 mcp.allow 名称 pap_<company>。 。 。 .

政策

每个范围一份文件—— organization, (中文(简体) ), team, (中文(简体) ), session 内 agent-shield.yaml 在项目旁( ~/.agent-shield/agent-shield.yaml, (中文(简体) ), 与计划在 schema/policy.schema.json。 。 。 . 最严格的范围首先决定 第一个决定获胜; 范围 上面写着任何动作都无法通过 任何规则名称都无法通过 先问我从不 动手。 。 。 .

默认 setup 写道:在工作空间内阅读和搜索——做; 编辑并在其中移动——做,显示为diffs;删除,运行命令,以及 工作空间外的任何路径——先问我;一个命令命名证书, sudo,从网络安装软件包,或 git push -先问我 命令; 获取-通过 network.fetch'允许列表,即 空的,所以拒绝;发送或购买——先问我. 限制:100至200个工具 电话,4个接8个终端,5个接20个米B 软 阈值询问 一次,a 难 一个拒绝每个会越过它的电话 并说些什么 让会议继续.

scope: session
rules:
  - name: read inside the workspace
    decision: allow
    classes: [read]
    where: inside
  - name: git push
    decision: ask
    classes: [execute]
    commands: ['\bgit\b[^;&|]*\bpush\b']
limits:
  tool_calls: {soft: 100, hard: 200}
network:
  fetch: []
mcp:
  allow: []

agent_shield.policy.decide(action, context, policies) 纯: 它回答 allow | ask | deny,句子, 以及决定的范围和规则.

三个级别维持: 联合国 文档来自IAM 图像的 规则是团队的,和 届会 上面的默认值加上一个人允许或收紧的内容 当它运行。 下层文件只收紧: agent_shield.policy.widening 在句子中,如果允许更多, IAM拒绝团队文件 和他们在一起, 运行时间拒绝 与他们的会话规则。 还有两个限制 按住模型 : model_tokens (预算)和 spend (信贷,每美元100美元), 柔软而硬; decide_budget 确定针对他们的下一个模式请求. A 类 harnesses 一节说,谁利用了一个范围承认,谁 证书管理他们.

由数据层管理agent_shield.saas),政策从IAM提取 在代理的创作, 保存到它的 expires,每30 s或 被推时 未关闭:与IAM相通而无穷 复制,吊带被拒绝 在句子命名IAM.

何为所建,何为所非

建造(0.1.2, 第0阶段和第二阶段的政策方面):政策 发动机及其图案, 三个级别 widening,模型限制和 decide_budget,则 harnesses saaS客户端从IAM中提取 未关闭 登记簿从 代理规格 (单位:千美元)claude-code, (中文(简体) ), codex, (中文(简体) ), gemini-cli, (中文(简体) ), goose, (中文(简体) ), opencode, (中文(简体) ), openhands, (中文(简体) ), fast-agent; 官方上的 stdio 和 WebSocket 客户端频道 agent-client-protocol SDK(protocol 第1版); 代理,通过 ACP 测试兼容性套件 试验剂(VERDICT: CONFORMANT审计 agent-shield 命令; @datalayer/agent-shield政策类型.

建于0.1.7年 (中文(简体) ). (第3阶段独立部分): agent-shield serve 结束 WebSocket 和 ACP 可流回式HTTP,每个连接一个接合器 头或第一个消息(SH-52,SH-56); agent-shield connect; 桥 会 议 日 程 和 议 程 datalayer-harnesses 侧车(SH-40); setup --register 通过a 在注册的IAM交换服务代理密钥 serve 拉起来 政策和对OTEL的出口(SH-47,SH-73); 类型脚本 由图、图、图 diff 财务报告和审定财务报表 terminal 显示,报告 渲染器(SH-53);以CI建成的文件网站,其政策参考文献 和生成的注册,每个页面都保存在所建(SH-22).

未构建: Datalayer 校验标签( SH- 36) 中的盾牌报告; IAM 服务 服务代理的组织文件,登记为独立文件 盾牌等待(它不从任何物入手), Neovim and marimo(每个都需要一个窗口).

Claude Code已经运行在代理机后面(claude-agent-acp 0.91.0: (中文(简体) ) 初始化、 会话、 模式 ; 转弯需要获得资助的 Anthropic API 键 .

发展

pip install -e ".[test]"
pytest tests/ -q
npm install && npm test            # the TypeScript types against schema/policy.schema.json
make tck                            # the ACP TCK against the proxy (uv tool install acp-tck first)

文档

代理屏蔽器 数据显示器 技术

版本与发布记录

@datalayer/agent-shield 共发布 18 个版本,首次发布于 2026/10/15;过去 12 个月发布了 18 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.2.20latest2026/11/121 天前
0.2.192026/11/103 天前
0.2.182026/11/104 天前
0.2.172026/11/104 天前
0.2.152026/11/085 天前
0.2.142026/11/085 天前

关于 @datalayer/agent-shield 的常见问题

@datalayer/agent-shield 是什么?

Agent Shield: 政策文件的类型和决定的句子,用于网络和电话.

如何安装 @datalayer/agent-shield?

在项目目录运行 npm install @datalayer/agent-shield,或使用 pnpm add / yarn add / bun add。

@datalayer/agent-shield 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@datalayer/agent-shield 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@datalayer/agent-shield 可以商用吗?

@datalayer/agent-shield 使用 BSD-3-Clause 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。另外不得用原作者名义为衍生产品背书。以上为概括,不构成法律意见,请以许可原文为准。

@datalayer/agent-shield 的下载量有多少?

根据 npm 官方下载统计,@datalayer/agent-shield 在 2026/10/12 – 2026/11/10 这 30 天内被下载 2,082 次,日均约 69 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@datalayer/agent-shield 还在维护吗?

最新版本 0.2.20 发布于 2026/11/12(1 天前);至今共发布 18 个版本,其中过去 12 个月发布了 18 个;首次发布于 2026/10/15。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。