背负( 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 许可证,它包含在柏油球。 保留主机
权威与连接投影分离,运行软件包和
在提出修改建议之前先对消费者进行检查。 出版物是单独的
释放决定.