@fungi.computer/knapsack

中文文档
0.4.13发布于 2026/11/14MITTypeScriptES Module近 30 天下载 1.4万

投射到 Mycelium 容量源的代理工具连接

中文使用文档
文档目录8 节
  1. 设置
  2. 快速启动: 验证已读请求
  3. 连接
  4. 核心概念
  5. API 参考
  6. 实例和检查
  7. 限制和错误
  8. 贡献和许可证

背负( K)@fungi.computer/knapsack(中文(简体) )

Knapsack 提供了从它连接到的东西中获取的代理工具: 计算机, 文件系统,远程MCP服务器和App在其浏览器中打开. 每个 连接发现一个提供者提供什么,并将其投放到一个 菌类 能力来源,所以 探员通过一个电话 execute 工具.

设置

npm install @fungi.computer/knapsack

一揽子措施是无害环境管理。 这取决于凯恩 福吉 穆尔 密西里 惠斯勒 MCP SDK 客户端、 效果、 Zod 和 diff 财务报告和审定财务报表 ignore。其清晰的文件列表 包含编译的 JavaScript 和声明, API 引用, 此 README 和许可证文本。 它没有安装脚本.

快速启动: 验证已读请求

此示例使用与包装消费者证明相同的公共解码器 测试/测试/运行时间它认可一项请求; 它不批准文件访问或执行I/O.

import { readInputSchema } from "@fungi.computer/knapsack";

export const request = readInputSchema.parse({
  path: "notes.md",
  offset: 0,
  limit: 4,
});

连接

第一个连接是 Knapsack.computer计算机提供者继续 拥有其运行实施,计划,存储和执行. 背书包 解析服务商的广告并转发普通电话; Mycelium 拥有 由此而来的能力生命周期和执行门.

Knapsack.computers 抓取主机的计算机列表。 电脑被描述 在超时状态下同时进行;拒绝、挂起或广告不可用 计划投放并报告 onUnavailable,其余则 电脑仍然可用。 没有隐含共享文件模块 。 连接 可自行供应 files 端口和 namespace: ["computers"]; 广告 命令和筑巢 files.* 然后分享计算机的权威 env.computers.<name>。失败的获取会删除计算机文件 它的命令.

Knapsack.files 工程 : files 模块和,何时 主机提供补丁引擎,直接 apply_patch 工具。 两种解码 通过同样的Zod计划.

Knapsack.mcpServers 连接主机拥有的远程 MCP 服务器列表 维持了 MCP SDK 客户端超流式HTTP. 每个服务器成为模块 env.mcp.<name>,每个广告工具操作一次. 工具名称映射到 来宾标识语法( e)create-note 变成 create_note) (中文(简体) ). 其输入方案 通过 Forage 的 JSON Schema 子集解码; 该子集以外的一个方案仍然 接受 JSON 对象,服务器验证它。 工具仅在 服务器标记它 readOnlyHint。一个呼叫返回工具的 structuredContent, (中文(简体) ), 或者说 { isError, content } 当没有工具或工具失败时。 东道主 供应 fetch 包含每个请求和任何信头,例如 无记名符号; 拒绝重定向, 信头从未到达快照, 即 目录或结果。 服务器在超时下同时连接 。 一个 拒绝、拒绝其证书、时间流出或公布无法使用的清单 下降并报告通过 onUnavailable,而其他人则保持可用.

Knapsack.ui({ id, hasSession }) 在代理会话中连接 App 打开 浏览器. 内容 source 借出每个会话运行 ui 模块 : ui.discover 列出 App 的活口哨命令(其代理投影)和 ui.execute 运行一个。 运行结束时返回模块 。 内容 fetch 服务 /browser/sessions/<sessionId>/browser/{events,claims,results}: 浏览器 在运行前声明每个请求,主机只接受匹配 结果。 浏览器侧面是 connectBrowser({ baseUrl, whistle }) 从 @fungi.computer/knapsack/ui/browser。 。 。 .

Knapsack 不拥有模型循环、 工具执行政策、 计算机存储或 特定供应商的操作.

@fungi.computer/knapsack/files-patch 显示相同的补丁输入/输出 没有加载工具连接或代理运行时间的合同。 浏览器和 运输消费者使用这一子路径.

@fungi.computer/knapsack/files-search 用品 SearchVisibility 致当地和 托管文件适配器 。 一例援引——地方政策检查 根相对搜索路径(根和每个条目),排除 .git 路径 尊重被排斥的祖先。 适配器提供有边框的被忽略文件 文本; 维护 ignore 拥有基蒂格诺语法 和窝式否定。 精确路径 读取时不使用搜索可见度.

核心概念

主机提供一个已经承认的计算机或文件端口 。 背包没有 薄荷证书或选择一个团队,成员,计算机,路径根或权限. Knapsack.computer({ id, name, computer }) 捕捉电脑的广告 操作. Knapsack.computers 订阅主机主机连接列表 当列表更改时, 其抓取的模块无效 .

电脑呼叫保存了Mycelium的引用语境,包括它的执行 身份,中止信号和最后期限。 电脑操作有标记 因为它的执行可以改变外部状态。 这个 东道主的提供者仍负责每通电话的接收。 互动 主机可能设置 confirmCalls: true 在其计算机连接上请求 Mycelium 在每次公布的电话之前确认 广告没有 将只读与变异操作区分开来,因此这一政策确认了两者; 其他连接保持其现有的批准政策.

Knapsack.files({ port }) 从一个端口建立文件模块和直接工具. 使用的文本编辑 port.replace 包含预期的原始内容; 主机必须 从解剖角度取代或拒绝冲突。 可用的本地补丁操作 只有在那个端口提供补丁引擎时 路径被验证,而不是限制 由克纳帕斯克(Knapsack):被俘的宿主港执行自己的根和权威.

Knapsack.ui 每个会话保留一个浏览器主机,由浏览器事件打开 用于存储的会话或运行的流,当它们都无法保存时会掉入. 也没有 fetch 或浏览器的请求由 Knapsack 认证 : 挂载 fetch 在主持人自己承认的背后. close() 结束每条流; 后来要求回答410,后来运行失败借入.

API 参考

这个 生成的参考 覆盖这些条目:

条目使用
根号计算机源,文件连接,编辑操作及其解码器.
/files-patch没有工具运行时间的补丁输入/输出编码器 .
/files-read校对:Soup.
/patch读取 Codex 补丁操作进行演示;本地引擎验证并应用它们.
/files-read-codec编码读取请求并调整一个框架主机传输到文件读取端口 .
/ui/browser连接 App 的口哨运行时间到一个代理会话 Knapsack.ui 运输.

公众 /files-search 条目提供描述的搜索可见度政策 上;没有生成的参考页.

实例和检查

计算机测试 获得、取消、, 提供者失败和引用上下文. 文件测试 练习 . 读取编码测试 进行框架运输. Knapsack.ui 测试 锻炼运行借款和拆解 东道主, (中文(简体) ), 事件流 财务报告和审定财务报表 会话主办人 测试包括发现、执行、, 索赔、断开和多塔布交付。 消费者的运行时间和 从孤立的柏油球导入根和文件项 安装.

从配置的仓库取出 :

pnpm turbo:run run build [email protected]/knapsack
pnpm --dir packages/knapsack run test
pnpm --dir packages/knapsack run docs
pnpm --dir packages/knapsack run stranger

限制和错误

一台电脑的广告最多达到256个容量. 每个广告都有一个 10 秒默认超时; 列表获取描述最多 8 个计算机 同时 无法使用的计算机通过 onUnavailable 财务报告和审定财务报表 省去,不删除健康的。 取消收购 拒绝.

文件读取和补丁输入被限制在UTF-8文本的128 KiB. 列名和 搜索结果最多包含256个条目并显示截取。 Schemas 拒绝 无效的请求和结果 . FilesEditError 区分冲突,缺失 或模棱两可的匹配、大小过大的文件和部分特征编辑.

一个会话的浏览器服务一个尚未解决的请求:第二个得到 browser_busy,缺少浏览器 browser_not_connected。如果浏览器 声称执行后断开,结果为 browser_execution_indeterminate,因为命令可能已经运行.

贡献和许可证

Knapsack 的软件包许可证是 麻省理工学院。保留代码补丁语法 内 src/patch-grammar.ts 携带其现有 Apache-2.0 许可证,它包含在柏油球。 保留主机 权威与连接投影分离,运行软件包和 在提出修改建议之前先对消费者进行检查。 出版物是单独的 释放决定.

版本与发布记录

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

版本发布日期距今
0.4.13latest2026/11/141 天前
0.4.122026/11/141 天前
0.4.112026/11/142 天前
0.4.102026/11/132 天前
0.4.92026/11/097 天前
0.4.82026/11/087 天前

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

@fungi.computer/knapsack 是什么?

投射到 Mycelium 容量源的代理工具连接

如何安装 @fungi.computer/knapsack?

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

@fungi.computer/knapsack 支持 TypeScript 吗?

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

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

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

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

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

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

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

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

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