@bunny-agent/manager

中文文档
0.10.3-beta1发布于 2026/11/07Apache-2.0TypeScriptES Module零依赖近 30 天下载 7870

Bunny代理管理器 - 管理沙盒和跑道寿命周期,定义核心接口

中文使用文档
文档目录15 节
  1. 概览
  2. 安装
  3. 快速启动
  4. 基本用途
  5. 使用 Transcript 日志
  6. 上传文件
  7. 核心接口
  8. 沙盒绘图器
  9. 沙盒手执
  10. 运行器Spec
  11. 转写作家
  12. API 参考
  13. 兔子探员
  14. 所需资源
  15. 许可证

@bunny-agent/管理员

⚠️ 折旧(基于执行的运输)

@bunny-agent/manager 通过产卵工作 bunny-agent run 沙盒内的CLI通过 exec()。这一办法被下列因素所取代: @bunny-agent/daemon ——一个统一的HTTP网关,在沙盒内运行,并在干净的REST API上暴露出同样的能力.

偏爱 createBunnyAgent 明确 daemonUrl 从 @bunny-agent/sdk 当使用 HTTP 守护进程时.

此套件仍然支持只提供 exec() (E2B,代顿a等),没有计划清除日期.

Bunny Agent的核心管理软件包 - 管理沙盒和跑道生命周期,定义了核心接口.

这个软件包是电线的核心运行时间 沙盒适配器 +a 键 运行光谱 进入 AI SDK UI 流,您可以从您的服务器或 CLI 中消耗.

概览

@bunny-agent/manager 是一个基础软件包,提供:

  • 兔子探员: 管理沙箱代理实例的主要类
  • 核心接口数字 : SandboxAdapter, (中文(简体) ), SandboxHandle, (中文(简体) ), RunnerSpec等 (中文(简体) ).
  • 转写作家: 记录代理执行的工具( JSONL, 内存, 控制台, 多功能)
  • 类型定义: 消息、流和沙盒操作的共享类型

此软件包通常被更高层次的软件包用作依赖性,如 @bunny-agent/sdk 还有沙盒适配器.

安装

npm install @bunny-agent/manager

快速启动

基本用途

import { Bunny Agent } from '@bunny-agent/manager';
import { E2BSandbox } from '@bunny-agent/sandbox-e2b';

const agent = new BunnyAgent({
  sandbox: new E2BSandbox({ apiKey: 'xxx' }),
  runner: {
    model: 'claude-sonnet-4-20250514',
    outputFormat: 'stream',
  },
  env: {
    ANTHROPIC_API_KEY: process.env.ANTHROPIC_API_KEY!,
  },
});

// Stream a task
const stream = await agent.stream({
  messages: [
    { role: 'user', content: 'Create a hello world program' }
  ],
  workspace: {
    path: '/workspace',
  },
});

// Read the stream
const reader = stream.getReader();
while (true) {
  const { done, value } = await reader.read();
  if (done) break;
  process.stdout.write(value);
}

// Cleanup
await agent.destroy();

使用 Transcript 日志

import { Bunny Agent, JsonlTranscriptWriter } from '@bunny-agent/manager';

const transcriptWriter = new JsonlTranscriptWriter('./transcript.jsonl');

const stream = await agent.stream({
  messages: [{ role: 'user', content: 'Do something' }],
  workspace: { path: '/workspace' },
  transcriptWriter,
});

上传文件

await agent.uploadFiles([
  { path: 'hello.txt', content: 'Hello World!' },
  { path: 'data.json', content: JSON.stringify({ key: 'value' }) },
], '/workspace');

核心接口

沙盒绘图器

沙盒执行必须遵循的接口 :

interface SandboxAdapter {
  attach(): Promise<SandboxHandle>;
  getHandle(): SandboxHandle | null;
  getEnv?(): Record<string, string>;
  getWorkdir?(): string;
}

沙盒手执

与所附沙盒互动的接口 :

interface SandboxHandle {
  exec(command: string[], opts?: ExecOptions): AsyncIterable<Uint8Array>;
  upload(files: Array<{ path: string; content: Uint8Array | string }>, targetDir: string): Promise<void>;
  readFile?(filePath: string): Promise<string>;
  runCommand?(command: string): Promise<{ stdout: string; stderr: string; exitCode: number }>;
  destroy(): Promise<void>;
  getWorkdir?(): string;
}

运行器Spec

跑者在沙盒内执行的规格 :

interface RunnerSpec {
  model: string;
  systemPrompt?: string;
  maxTurns?: number;
  allowedTools?: string[];
  outputFormat?: 'stream' | 'json';
}

转写作家

可用的笔录作者 :

  • Jsonl TranscriptWriter 语录: 写入 JSONL 文件
  • 内存标记符Writer: 在内存中存储
  • 控制台TranscriptWriter: 日志到控制台
  • 多写字机Writer: 写给多个作者
import { 
  JsonlTranscriptWriter,
  MemoryTranscriptWriter,
  MultiTranscriptWriter 
} from '@bunny-agent/manager';

const transcriptWriter = new MultiTranscriptWriter([
  new JsonlTranscriptWriter('./transcript.jsonl'),
  new ConsoleTranscriptWriter(),
]);

API 参考

兔子探员

构造器

new BunnyAgent(options: BunnyAgentOptions)

选项 :

  • sandbox (需要): SandboxAdapter 实例
  • runner (需要):运行器Spec配置
  • env: 沙盒的环境变量

方法

流( 输入: 流出): 承诺 < 可读结构 >

将任务通过代理。 返回 AI SDK UI 信件的可读结构.

上传Files( 文件: ArrayQQ 路径: 字符串; 内容: Uint8Array QQ 字符串QQ, 目标Dir? : 字符串: 保证

上传文件到代理工作区 .

毁灭 (): 承诺

摧毁沙盒并释放资源.

所需资源

  • 节点.js 20+
  • 沙盒适配器(@bunny-agent/sandbox-e2b,@bunny-agent/sandbox-local等) 出自"沙盒适配器"

许可证

阿帕奇 - 2.0

版本与发布记录

@bunny-agent/manager 共发布 115 个版本,首次发布于 2026/04/14;过去 12 个月发布了 115 个版本。

版本发布日期距今
0.10.3-beta1latest2026/11/071 天前
0.10.22026/10/2811 天前
0.10.1-beta.22026/10/2811 天前
0.10.1-beta.12026/10/2712 天前
0.10.0-release.62026/10/2613 天前
0.10.0-beta.52026/10/2316 天前

关于 @bunny-agent/manager 的常见问题

@bunny-agent/manager 是什么?

Bunny代理管理器 - 管理沙盒和跑道寿命周期,定义核心接口

如何安装 @bunny-agent/manager?

在项目目录运行 npm install @bunny-agent/manager,或使用 pnpm add / yarn add / bun add。

@bunny-agent/manager 支持 TypeScript 吗?

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

@bunny-agent/manager 支持 ESM 还是 CommonJS?

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

@bunny-agent/manager 需要什么版本的 Node.js?

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

@bunny-agent/manager 可以商用吗?

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

@bunny-agent/manager 的下载量有多少?

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

@bunny-agent/manager 还在维护吗?

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