@fungi.computer/mule

中文文档
0.2.3发布于 2026/11/08MITTypeScriptES Module近 30 天下载 1.3万

效果本地化 Pi 模型和工具循环

中文使用文档
文档目录6 节
  1. 设置
  2. 没有提供者账户的快速启动
  3. 工具和控制
  4. 取消、重试和错误
  5. API 和实例
  6. 贡献和许可证

木浆( M)@fungi.computer/mule(中文(简体) )

Mule在Effect内部运行了Pi的模型和工具回路. 当主机已经使用时使用 拥有模型,消息和工具,需要等待,可以取消运行. 皮丝 模型、消息、提供者重放字段和流出事件保留其原始内容 类型.

设置

npm install @fungi.computer/mule

包船无害环境管理仅取决于 effect 和 Pi 键 (单位:千美元)@earendil-works/pi-ai)在运行时,加上类型框和 @fungi.computer/cairn 身份证 Mule不要求或安装MCP SDK. 进行类型检查的消费者 扶养申报skipLibCheck: false必须安装 Pi 的 Google GenAI 可选声明依赖性本身:

npm install --save-dev @modelcontextprotocol/sdk

根入点输出承诺的外表, mule.run。 。 。 . @fungi.computer/mule/effect 出口峡谷 muleEffect.run编辑 保证让工具,钩子和听众 适应同样的效果程序, 因此,公开承诺声明不需要效果类型.

没有提供者账户的快速启动

这个决定性的例子使用公共测试帮助. 没有网络 请求和不需要证书.

import { fauxAssistantMessage } from "@earendil-works/pi-ai/providers/faux";
import { mule } from "@fungi.computer/mule";
import { fauxModel } from "@fungi.computer/mule/testing";

const faux = fauxModel([fauxAssistantMessage("pong")]);
const outcome = await mule.run(
  {
    model: faux.model,
    retryable: faux.retryable,
    stream: faux.stream,
    systemPrompt: "Reply once.",
    messages: [{ role: "user", content: "ping", timestamp: 1 }],
  },
  () => {},
);
console.log(outcome.status);

结果是 completed。当等待运行时,没有活动流存在 解决。 这个 测试助手 使用此提供者和输入形状, 财务报告和审定财务报表 表面测试 比较承诺和效果 寿命周期。 这个假的提供商 检查管弦,而不是真正的供应商.

对于一个真正的模型,供应Pi's Model<Api> 要么是正常的 要么是正常的 streamSimple 或明确的提供者流。 东道主提供证书和账单。 等着 收听者:它的完成是跑道生命周期的一部分.

工具和控制

工具配对 Pi 的描述符 prepare(call, signal)。准备解码 并授权准确的呼叫。 它返回输入的拒绝或准备 执行者。 承诺执行者通过 AsyncIterable编辑 效果执行器使用流 。 每个执行者都必须遵守取消.

运行,转动,消息和工具事件带有因果关系. 他们让东道主 记录哪些处决产生了意见。 他们不会创造持久 会话存储. 主机可能选择平行或相继的工具执行, 引导 通过现有的控制接口进行活动工作和排队后续输入.

一个工具只有在只读或明确读取时才选择安全崩溃重放 一相能发. 宿主坚持要使用检查站 resume。宣布 replay: "safe" 并不使外部写作具有独到性。 Pi的供应商 消息和重放字段不会改变.

取消、重试和错误

中止承诺的外观信号 或中断效果纤维。 木浆中止 已取消 Pi 流和运行工具及记录 run_end承诺 表面保存着一个 Error 中止理智并拒绝它。 一个非Error 理由变成一个 AbortError。忽略中止的操作仍然需要其 由主机负责辅助工作.

工具准备拒绝和执行失败成为模式可见错误 结果,所以运行可以继续. 致命模型或控制故障产生 失败 run_end。无法信任一个失败的听众来记录终端 活动。 在报告时要保留拒绝及其原因.

retry 选择 Pi每一次的助理电话都有限制重试政策. 别管它了 意思是不要重试 提供方重试证据和重试观察使用 已存在的运行接口。 Mule 不为您的主机选择提供者政策 . modelStreamIdleTimeoutMs 将提供者事件之间限定为沉默.

穆尔没有模型目录 证书存储 耐用会话数据库, 压缩服务或进程重起调度器. 组成那些在东道主.

API 和实例

使用 生成 API 引用 出口数量 软件包.json。 。 。 . 取消对等, (中文(简体) ), 重试策略 财务报告和审定财务报表 工具批次 测试练习共享循环.

即时实例 是一个可选的现场服务员。 这个 需求 CAMEL_API_KEY 通过本地环境提供。 它的终点 和模型覆盖属于这个例子,而不是穆尔的API. 没必要 为决定的快速开始。 不承诺证书.

贡献和许可证

使用已有的 faux 提供者添加一个管弦回归 。 从根出:

pnpm --dir packages/mule run test
pnpm --dir packages/mule run docs

麻省理工学院. 见 自由主义 财务报告和审定财务报表 第三层( P)。 。 。 .

版本与发布记录

@fungi.computer/mule 共发布 9 个版本,首次发布于 2026/10/15;过去 12 个月发布了 9 个版本。

版本发布日期距今
0.2.3latest2026/11/088 天前
0.2.22026/11/0213 天前
0.2.12026/10/2818 天前
0.2.02026/10/2620 天前
0.1.12026/10/2521 天前
0.1.02026/10/2323 天前

关于 @fungi.computer/mule 的常见问题

@fungi.computer/mule 是什么?

效果本地化 Pi 模型和工具循环

如何安装 @fungi.computer/mule?

在项目目录运行 npm install @fungi.computer/mule,或使用 pnpm add / yarn add / bun add。

@fungi.computer/mule 支持 TypeScript 吗?

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

@fungi.computer/mule 支持 ESM 还是 CommonJS?

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

@fungi.computer/mule 可以商用吗?

@fungi.computer/mule 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@fungi.computer/mule 的下载量有多少?

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

@fungi.computer/mule 还在维护吗?

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