@datalayer/personal-agent-protocol

中文文档
0.32.0发布于 2026/11/08BSD-3-ClauseTypeScriptES Module构建来源已验证近 30 天下载 1.3万

个人代理协议 0.4 (2026-11-06) 及其操作扩展 v2

中文使用文档
文档目录15 节
  1. 一分钟后了解 PAP
  2. 安装和发现公司
  3. 蟒
  4. 类型脚本
  5. 反应堆是扩展基础
  6. B. 已执行的内容
  7. 尚未执行的
  8. 安全边界
  9. 命令行
  10. 实例和第一消费者
  11. 开发 SDKs
  12. 蟒
  13. 类型脚本
  14. 学多点
  15. 许可证

Datalayer

个人代理协议

Python 和 SDK 类型 个人代理协议: 两者都执行 版本 0.4 (2026-11-06) (中文(简体) ) 草稿 46beb21,及其操作扩展v2. 见 兼容性, (中文(简体) ), 移徙, (中文(简体) ), 页:1 遵守情况报告, (中文(简体) ), 财务报告和审定财务报表 支助。 。 。 .

Personal Agent Protocol demo

PAP让个人代理发现并代表公司代理交谈 一个人 该公司仍对其身份、授权、, 个人代理人不需要个人公司 密码或他们的账户数据副本.

一分钟后了解 PAP

典型的相互作用有五个部分:

  1. 发现 ——个人代理阅读公司公众信息 /.well-known/poppy.json 文档.
  2. 开始会话 - 个人代理人的名字,新会话本身,签名 退出,并为每个请求签署一个会话.
  3. 旋转 - 个人代理人可以提问而不透露 个人的公司身份.
  4. 需要时签名 ——公司自开授权页. 证书在个人和公司之间.
  5. 继续安全 - 同样的谈话恢复 带有访问符 除了签名的会话标题之外.
sequenceDiagram
    actor Person
    participant PA as Personal agent
    participant Company as Company agent
    participant Auth as Company authorization server

    PA->>Company: Discover /.well-known/poppy.json
    Company-->>PA: Agent, API, and authorization endpoints
    PA->>PA: Start a signed-out Session, no request sent
    PA->>Company: Start a conversation, with a signed Session header
    Company-->>PA: Sign-in required for account data
    PA-->>Person: Open the company's sign-in page
    Person->>Auth: Sign in and approve scopes
    Auth-->>PA: Refresh token and access token
    PA->>Company: Continue the same conversation, with the access token
    Company-->>PA: Account-aware response

SDKs执行这些协议和安全机械. 他们不决定 代理人应该说什么,它应该使用哪种模式,或者是否提议 行动适合一个人.

安装和发现公司

蟒

python -m pip install personal-agent-protocol
import asyncio

from personal_agent_protocol import DiscoveryClient


async def main() -> None:
    async with DiscoveryClient() as client:
        company = await client.discover("example.com")
        print(company.document.organization.name)
        print(company.document.agent.protocols)


asyncio.run(main())

类型脚本

npm install @datalayer/personal-agent-protocol
import { discoverCompany } from '@datalayer/personal-agent-protocol';

const company = await discoverCompany('example.com');
console.log(company.document.organization.name);
console.log(company.document.agent.protocols);

发现是故意的 一个小的第一个例子。 生产会议, 签入,对话流量也需要主机拥有的签名密钥,授权 键控、 令牌存储和浏览器交接 。 这些能力是: 通过反应堆而不是隐藏的全球状态提供.

反应堆是扩展基础

两个SDK都是建立在 数据层反应堆,输入插件和 缴款制度。 应用程序从明确的 PAP 主机组装 用于:

  • 发现运输和URL安全政策;
  • 协议简介和扩展处理器;
  • 时钟和密码随机性;
  • 签署、授权钥匙和会话JWT;
  • 双向身份、信使存储和缓存;
  • 浏览器移交和授权状态存储;
  • PAP或第三方扩展提供的CLI命令.

此架构在允许桌面的同时保留协议核心可移植性 应用程序、浏览器应用程序、服务器或测试用带以提供 安全和平台行为适合其环境。 失踪或 含糊不清的安全捐款没有结清.

Python 接受主机组装反应堆 PluginPlatform数字 :

from reactor import PluginManifest

from personal_agent_protocol import DiscoveryClient, build_pap_reactor


async def discover_with_host() -> None:
    platform, owned_http = build_pap_reactor(
        plugins=[
            (PluginManifest(name="my-security", version="1"), my_security_plugin)
        ]
    )
    try:
        async with DiscoveryClient(reactor=platform) as client:
            company = await client.discover("example.com")
            print(company.document.organization.name)
    finally:
        platform.stop()
        if owned_http is not None:
            await owned_http.aclose()

TypeScript 可构建主机或接收已存在的 ReactorPlatformView数字 :

import {
  buildPapReactor,
  discoverCompany,
} from '@datalayer/personal-agent-protocol';

const reactor = buildPapReactor({}, [mySecurityPlugin]);
const company = await discoverCompany('example.com', { reactor });

见 反应堆存放处 联 合 国 插件模型和贡献生命周期.

B. 已执行的内容

Python 和 TypeScript 共享定着并覆盖同一主协议 表面 :

区域当前支助
模型与前向兼容的发现, OAuth 元数据, 客户端元数据, 消息, 事件, 以及 Operation v2 模型
发现poppy.json,公司域和发行方验证,限定响应,并重定向控制
会议对等用户ID, 本地会话由随机命名 sid,每个请求的会话 JWT, 并编辑符号
密码学ES256/PS384 JOSE、委托钥匙和代表团、会议JWT的创建和核查、盲目签字和重放检查
直接签名 - 单位State, S256 PKCE, 回调验证, 浏览器交接, 以及单用代码交换管弦
浏览器会话一次性代码,代理以会话标题授权它,控制格式 POST,以及重放安全性验证
运输主机拥有的授权和会话标题,每次尝试一次新鲜的会话 JWT,一次在之后重启 invalid_session,没有方向
对话开始和继续,随机用户-全球消息ID,命令长投票,光标恢复,重复压制,安全出错
扩展性用于平台、安全、协议、储存和CLI行为的反应堆贡献点
国 际非机密简介、公司核查、扩展诊断和版本的JSON输出

Python 额外提供了 SQLite 双向识别的参考提供者. 便携式 TypeScript 条目拒绝明显的本地和私有文字 地址 电话地址 其明确的服务器条目添加 NodeUrlSafetyPolicy 财务报告和审定财务报表 createResolvingFetch (A/AAAA决议,每个地址都是全球的,经过审查的。) 拨号, JoseSigner,并检查公司制作的会话标题:

import {
  JoseSigner,
  NodeUrlSafetyPolicy,
} from '@datalayer/personal-agent-protocol/server';

重复JSON成员在Python和TypeScript信任边界被拒绝.

尚未执行的

在SDKs和SDKs中,执行0.4草案和操作v2的每一流程 两个参考公司:发现、会话、直接、装置和介质 签入、刷新令牌、DPoP、OpenAPI和MCP、与SSE的对话、交接和 关闭、浏览器会话、反馈和操作。 剩下的是:

  • 生产后端 主机贡献:没有 KMS/HSM 标志的 SDK 船 或长期委托保管的钥匙,没有耐用物品储存,只有内存 公司商店和回放缓存(check_store (一) 检查耐用;
  • 帮助指南建议,但东道主今天决定:在 登录方法,将任务范围与持有的刷新符号相匹配,以及 在更广泛的登录后撤销以前的刷新令牌;
  • 费率限额和 RateLimit 参考公司(主机可以)中的标题 贡献 pap.company.rateLimit),并用于日志和 痕迹;
  • 在节点中,用于元数据获取的套接字 与此同时,DNS-约束间隔).

每项开放性或部分性要求及其理由列于 议定书覆盖面。 。 。 .

安全边界

PAP证书属于主机,而不是代理模式或工具呼叫.

  • 访问令牌、刷新令牌、会话JWT、授权代码和 双相标识符不得输入提示或可显示模型的工具结果.
  • Direct Sign-In需要主机提供的状态存储,浏览器交接,以及 签署捐款.
  • 会话请求在合适之前关闭 pap.signer 财务报告和审定财务报表 pap.sessionSigner 已安装捐款.
  • 拒绝从协议端点调试;调用 Authorization, (中文(简体) ), DPoP,以及 Poppy-Session 头被拒绝.
  • CLI 配置文件只存储配置 —— 绝不是符或私钥 .

指南对每一流动的这些界限加以解释,而不是将其作为: 适用公约.

命令行

Python 分布安装可扩展 pap 命令。 它的命令 使用反应堆的 datalayer.reactor.cli 进入点合同.

pap config set domain example.com --profile work
pap config show --profile work --json
pap company verify --profile work --json
pap extensions list --profile work

见 CLI 指南 页:1 配置优先级、安全边界、机器可读输出以及 第三方扩展.

实例和第一消费者

这个 examples/pydantic-ai 目录包含小, 聚焦 Python 示例。 每个例子都教一个特征——发现,身份, 会话、 直接签名- In、 浏览器会话、 加密、 对话或 会话运输——不给模型提供协议秘密.

数据层代理运行时间 这是 这些SDK的第一消费者。 它的个人代理协议画廊转动 与交互式反应堆/循环应用相同的特性,包括制导 {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}人与公司之间的旅程 {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}和运行时间的真实信息一起完成的 这个 美术馆的当地公司模拟器具有确定性,并明确识别; pAP客户,运输,验证, 和解析交换是真实的.

条目 @datalayer/personal-agent-protocol/decks 四艘飞船 个案 作为甲板: PAP_DECKS, (中文(简体) ), PAP_DECK_IDS 财务报告和审定财务报表 papDeck(id),每个带有 yaml 和同样的 甲板解析为 spec它带来了 yaml 和没有SDK.

每个已落实的特征应具有所有三个学习层面:

  1. 此寄存器中的重点 SDK 示例;
  2. 载有解释和人鱼序列图的Docusaurus指南;
  3. 一个交互式代理运行时当一个用户界面实质性澄清 流动.

开发 SDKs

克隆寄存器,然后安装您的 SDK 的依赖性 改变.

蟒

python -m pip install -e '.[test,lint,typing,examples]'
python -m pytest personal_agent_protocol/__tests__

类型脚本

TypeScript包位于寄存器根. 源和检测在 src/; 已出版的 JavaScript 和声明发布到 lib/。 。 。 .

npm install
npm test

共有的固定装置在 fixtures/文档是 Docusaurus 的网址 docs/。 。 。 .

学多点

许可证

BSD 三相乐. 见 LICENSE。 。 。 .

版本与发布记录

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

版本发布日期距今
0.32.0latest2026/11/083 天前
0.31.02026/11/073 天前
0.30.02026/10/3111 天前
0.29.02026/10/3111 天前
0.28.02026/10/3012 天前
0.27.02026/10/2715 天前

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

@datalayer/personal-agent-protocol 是什么?

个人代理协议 0.4 (2026-11-06) 及其操作扩展 v2

如何安装 @datalayer/personal-agent-protocol?

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

@datalayer/personal-agent-protocol 支持 TypeScript 吗?

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

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

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

@datalayer/personal-agent-protocol 可以商用吗?

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

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

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

@datalayer/personal-agent-protocol 还在维护吗?

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