# @fungi\.computer/knapsack 中文文档

规范地址：https://npmcn.com/package/%40fungi.computer/knapsack/

版本：0\.4\.13
npm 元数据更新时间：2026-11-14T11:57:55.922Z
中文译文更新时间：2026-11-15T18:09:26.279Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40fungi.computer/knapsack
原文对照：https://npmcn.com/package/%40fungi.computer/knapsack/?lang=original
项目主页：https://github.com/fungi-computer/knapsack#readme
源码仓库：https://github.com/fungi-computer/knapsack

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：201 kB，43 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：10 个
- 首次发布：2026-10-15T08:00:37.769Z
- 最新版本发布：2026-11-14T11:57:55.756Z
- 近 30 天下载量：14136（2026-10-16 至 2026-11-14，npm 官方下载统计）
- 已发布版本数：22（近 12 个月 22 个）

## 中文简介

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

## 安装

```sh
npm install @fungi.computer/knapsack
```

也可以使用：`pnpm add @fungi.computer/knapsack`、`yarn add @fungi.computer/knapsack`、`bun add @fungi.computer/knapsack`

## README

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

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

## 设置

```sh
npm install @fungi.computer/knapsack
```

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

## 快速启动: 验证已读请求

此示例使用与包装消费者证明相同的公共解码器 [测试/测试/运行时间](https://npmcn.com/package/%40fungi.computer/knapsack/test/stranger/runtime.mjs)它认可一项请求; 它不批准文件访问或执行I/O.

```ts
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 参考

这个 [生成的参考](https://npmcn.com/package/%40fungi.computer/knapsack/docs/api/README.md) 覆盖这些条目:

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

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

## 实例和检查

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

从配置的仓库取出 :

```sh
pnpm turbo:run run build --filter=@fungi.computer/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 的软件包许可证是 [麻省理工学院](https://npmcn.com/package/%40fungi.computer/knapsack/LICENSE)。保留代码补丁语法 内 `src/patch-grammar.ts` 携带其现有 [Apache-2.0 许可证](https://npmcn.com/package/%40fungi.computer/knapsack/LICENSE.codex),它包含在柏油球。 保留主机 权威与连接投影分离,运行软件包和 在提出修改建议之前先对消费者进行检查。 出版物是单独的 释放决定.

## 常见问题

### @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 和提交记录判断。

