@adelie/amsp

中文文档
0.6.4发布于 2026/11/05Apache-2.0TypeScriptES Module零依赖近 30 天下载 2728

AMP(代理消息流协议):Adelie代理的API和Node 24和浏览器的零依赖客户端的电线类型.

中文使用文档
文档目录3 节
  1. 没有客户端的读者
  2. 文档
  3. 发展

@ adelie/ amsp

Adelie 代理的 API 的客户端,以及 AMP (代理消息流协议) 的类型, API 服务的事件流 。 没有运行时间依赖性; 在节点 24 和当前浏览器中运行 fetch, (中文(简体) ), ReadableStream, (中文(简体) ), TextDecoder 财务报告和审定财务报表 AbortController。 。 。 .

项目所有者在Adelie Web App中打开代理的API(代理的) API 密码 选项卡)和薄荷的密钥。 一个程序然后运行代理, 读取运行随其发生

import { AgentClient } from "@adelie/amsp";

const client = new AgentClient({
  baseUrl: "http://localhost:7364/api/amsp/v1",
  agent: "demo/coder", // <projectId>/<agentId>
  apiKey: process.env.PENGUIN_AGENT_KEY,
});

const run = client.run({ input: "Summarize README.md" });
for await (const event of run) {
  if (event.type === "text.delta") process.stdout.write(event.text);
}
const first = await run.result();

const second = await client.ask({
  sessionId: first.sessionId,
  input: "Now list its headings",
  onApproval: () => "allow", // without a callback, approval requests are denied
});
console.log(second.text, second.usage.total);
  • run() 启动运行并返回它: 为事件刻出一次, 等待 session 页:1, result() 和呼吁 abort() 让服务器中止它. ask() 返回结果.
  • result() 解析每次跑到 run.done,无论它 status在溪流拒绝之前 AmspHttpError (单位:千美元)status, (中文(简体) ), code, (中文(简体) ), message); 结束或中断的流 run.done 拒绝方式 AmspStreamError; 中止 signal 拒绝它的理由.
  • onApproval 每个答案 approval.requested,客户会张贴答案; parseArguments 读取工具调用中的 JSON 参数.
  • agent(), (中文(简体) ), session(id), (中文(简体) ), abort(id) 财务报告和审定财务报表 approve(id, toolCallId, decision) 打电话给API的其他路线; readSse 是SSE读取器, 对于一个读取跑者身体本身的程序.
  • 每个 AMP 事件类型都导出(AmspEvent, (中文(简体) ), RunDone, (中文(简体) ), ToolCallDone(中文(简体) ). 客户端不知道的某类事件被传递.

没有客户端的读者

发送请求的程序本身 fetch,它自己的证书或URL——读取正文 readSse 并用 RunCollector,哪个 AgentClient 用于 result()数字 :

import { readSse, RunCollector } from "@adelie/amsp";
import type { AmspEvent } from "@adelie/amsp";

const collector = new RunCollector();
for await (const data of readSse(response.body!)) {
  if (data === "[DONE]") break;
  collector.add(JSON.parse(data) as AmspEvent);
}
const result = collector.result(); // throws AmspStreamError when the stream ended before run.done

文档

  • API探员: 打开代理服务器的 API、 密钥、 批准模式、 路线、 错误、 节点和浏览器中的客户端
  • 第二届缔约国会议: 协议, 事件

发展

pnpm --filter @adelie/amsp build       # tsup → dist/ (exports point at dist)
pnpm --filter @adelie/amsp typecheck
pnpm --filter @adelie/amsp test

部分 爱德莉 • Apache-2.0

版本与发布记录

@adelie/amsp 共发布 18 个版本,首次发布于 2026/10/17;过去 12 个月发布了 18 个版本。

版本发布日期距今
0.6.4latest2026/11/052 天前
0.6.32026/11/043 天前
0.6.22026/11/025 天前
0.6.12026/11/016 天前
0.6.02026/10/308 天前
0.5.102026/10/309 天前

关于 @adelie/amsp 的常见问题

@adelie/amsp 是什么?

AMP(代理消息流协议):Adelie代理的API和Node 24和浏览器的零依赖客户端的电线类型.

如何安装 @adelie/amsp?

在项目目录运行 npm install @adelie/amsp,或使用 pnpm add / yarn add / bun add。

@adelie/amsp 支持 TypeScript 吗?

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

@adelie/amsp 支持 ESM 还是 CommonJS?

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

@adelie/amsp 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=24。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@adelie/amsp 可以商用吗?

@adelie/amsp 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@adelie/amsp 的下载量有多少?

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

@adelie/amsp 还在维护吗?

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