@drungrin/paseo-sbx

中文文档
0.3.6发布于 2026/11/11MITES Module零依赖近 30 天下载 3065

运行每个Paseo工作空间的克洛德和Codex代理在其自己的Docker Sandboxes microVM中.

中文使用文档
文档目录11 节
  1. 显示什么
  2. 工作空间的沙盒仪表板
  3. 多克沙盒屏幕
  4. 所需资源
  5. 安装
  6. 如何运作
  7. 设计决定
  8. 宾客环境的遭遇
  9. 在沙盒内工作
  10. 解决问题
  11. 发展

Paseo 的多克沙盒

一个 Paseo 插件,将每个工作空间的 Claude 代码和 Codex 代理在它自己的内部运行 嵌入沙盒 微视. 代理在相同的路径上工作相同的文件,但是每个容器,网络,端口和测试浏览器都开始生活在工作空间的VM中. 工作空间停止相撞:一个港5432上的Postgres不会与另一个港发生相撞,另一个港再不会中断浏览器测试.

The workspace Sandbox dashboard: the sandbox's memory, CPUs and template, what needs you, and the agents running in it

截图显示的是编造的项目,代理和路径.

显示什么

工作空间的沙盒仪表板

每个工作区旁边的面板,从它的 + 键 菜单,在标签中。 每个标签的徽章都算什么,或者说有什么变化.

  • 概览: sandbox 状态,内存按其极限使用,CPU和模板,带有 停下来, (中文(简体) ), 重新创建 财务报告和审定财务报表 删除。下面是您需要的,每一个打开标签来修正它的项目:一个自沙盒创建以来变化的模板、资源或挂载,一个GSD Path 成员不检查,一个没有值的变量,一个无法公布的端口,一个失败的操作。 然后特工们在沙盒里跑 打开 财务报告和审定财务报表 存档。 。 。 .
  • 服务:在VM中收听的端口和在主机上发布的端口,每个端口都有主机地址. 发布端口于 127.0.0.1 或每个主机地址, 在您选择的端口或免费端口, 并保留它发布 每一个存储器的沙盒.
  • 模板: 哪个模板寄存器的沙盒从 删除 在旧版本上,没有使用, 和引导准备: 一个在干净的沙盒中的外壳来安装工具, 然后保存为模板.
  • 资源:存储器和存储器沙盒的CPU.
  • 挂载: 沙盒所看到的每一个主机文件夹,它来自何处,是否等待娱乐;寄存器自己的挂载,一次添加一个;以及GSD路径集成:对于这个寄存器,无论GSD路径是否计算出沙盒会话,以及成员.
  • 变量:转发到会话的宿主变量,每个宿主是否有值,以及寄存器本身的.
  • MCP 磁共振: 哪个 MCP 服务器存储器的沙盒装入, 每个都装入所有沙盒或设置在这个寄存器上, 以及它是否装入, 加载, 等待沙盒启动, 或失败 .
服务模板
Services tab: ports listening in the VM, the ones published on the host, and a form to publish oneTemplate tab: the repository's template among the saved ones, and the steps to prepare a new one
挂载在电话里,黑暗的主题
Mounts tab: each mount with its source and access, one waiting for a recreation, the repository's mounts and the GSD Path membersThe Sandbox dashboard's overview on a phone in the dark theme

多克沙盒屏幕

从侧边栏打开,每个沙盒一次.

  • 概览: VMs 相对于主机的内存,有可用的内存,互换和内存压力,以及超过您设定的阈值的提醒. 那么,什么需要你和代理 保持每个VM运行, 最大的第一,用 存档。最后,主机的磁盘:沙盒、共享图像和模板以及其他所有东西,在您设定的阈值以下有提示的自由空间,以及每个沙盒的多克磁盘、文件系统和代理状态.
  • 沙盒: 所创建的每个 VM 插件, 组合成工作空间, 模板准备和代理目录, 包含内存和磁盘, 停下来 财务报告和审定财务报表 删除。 。 。 .
  • 探员: Claude和Codex,每个都有其CLI版本,目录沙盒,提供者和登录,存储其登录的指令,以及 配置 或者说 更新。 。 。 .
  • 模板:保存的模板、大小、使用它们的储存库和沙盒,以及 删除 对于那些没有用.
  • MCP 服务器: 远程 MCP 服务器代理通过 sbx 的网关到达, 每一个有它的登录状态, 一个 打开所有的沙盒 开关和装了多少个沙盒. 添加服务器 使用其地址和OAuth的签名或API密钥; 签名 显示提供者的页面并取回浏览器结束的地址,用于另一个设备上的浏览器.
概览沙盒
Overview: host memory split between the sandbox VMs, everything else and what is available, and the agents keeping each VM runningSandboxes tab: workspace sandboxes, a template preparation and the agent catalogs
探员模板
Agents tab: Claude and Codex with their CLI version, catalog sandbox, provider and loginTemplates tab: saved templates with their size and the repositories using them
MCP 服务器从另一个设备签名
MCP servers tab: three remote servers with their sign-in, the switch that loads each into every sandbox, how many sandboxes have it, and the form to add oneA sign-in: the provider's page to open, and a field for the address the browser ends on

每个标签都折叠关于如何读取的注释 怎么会这样. 屏幕遵循了Paseo的光和暗的主题,并适合手机.

所需资源

  • Linux 主机. 开发于Ubuntu 26.04 sbx 0点49分.
  • sbx 安装并签名于(sbx login) (中文(简体) ). 登录符号活在OS密钥环:在无头主机上,使用没有密码的密钥环,或者 sbx 一旦键盘锁出,就停止回答(HTTP 503).
  • python3 在沙盒图像(sbx的代理图像有)中。 代理商的CLI来自沙盒的模板,所以不需要安装在主机上.
  • 帕塞奥0.13.0 或后作.

安装

paseo plugin install npm:@drungrin/paseo-sbx

发布时间为npm. 接下来 main从 GitHub 安装 paseo plugin install github:drungrin/paseo-sbx; Paseo 提供插件导入的模块, 因此不需要构建步骤 。 要运行检出, 您会更改, 请安装其目录 : paseo plugin install /path/to/paseo-sbx。 。 。 .

然后说:

  1. 打开 嵌入沙盒 在边栏上 探员 选项卡,按 配置 每一个代理。 它登记代理人的提供者(claude-sbx, (中文(简体) ), codex-sbx)并创建其目录沙盒. 第一次,它要求您允许从多克枢纽下载 sbx 的工具包图像. 代码关闭,直到你打开它 探员 在插件设置中.
  2. 存储每个代理登录一次, 然后按 更新编码符号 XDG_STATE_HOME=~/.local/state/paseo-sbx/sbx sbx secret set openai --oauth克劳德与 env ;没有登录,请存储 anthropic 秘密一样.
  3. 选择 克劳德( 沙盒) 或者说 代码( 沙盒) 当您创建代理或打开 在沙盒中运行新的克洛德特工 在插件设置中.

概览.md 解释每个设置和插件的限制 .

如何运作

块何处作用
插件服务器Paseo 守护进程设置、 设置 agent.session_open 用于构建每个会话的沙盒光谱的钩子,可选 agent.create 钩住路线 claude 改为 claude-sbx,用于UI的RPC
发射器paseo-sbx-claude, (中文(简体) ), paseo-sbx-codex(中文(简体) )主机, 注册提供者命令用守护进程本身的节点(当守护进程在Electron内部运行时,以节点模式)运行包装器,命名代理
包装器paseo-sbx-claude.cjs(中文(简体) )东道主创建 sandbox, 调和其网络政策和 MCP 服务器, 启动回路中继, 从 VM 内的模板中运行代理的 CLI; 发送到代理的目录 sandbox 不包含会话
壳牌发射器paseo-sbx-shell(中文(简体) )主机, Sandbox 终端配置文件的命令运行包装器的外壳模式: 确保工作空间的沙盒从记录的光谱中选择, 然后在其中设置一个外壳与会话“ ” 克劳德配置和登录
guest-supervisor.py沙盒将 sbx 的 MCP 网关添加到 Claude 的 MCP 配置中, 输入 Claude 的 stdin 并在会话结束时停止其进程树
loopback-forward.py沙盒中继来宾 127.0.0.1:<port> 返回主机的回转
guest-agent.py沙盒运行已发布端口的中继并报告来宾的监听端口
seed-claude-settings.py沙盒开始一个沙盒自己的克洛德设置 从工具包,一次
paseo-sbx-shellrc沙盒Sandbox终端的bash启动:一个登录外壳,即时,和 claude 带有 sbx 的 MCP 网关
starship, (中文(简体) ), starship.toml, (中文(简体) ), starship-user.toml沙盒与 星舰提示 上面:被钉住的"星舰"建筑,插件的配置,以及终端每次启动时需要的您的副本

服务器捆绑无法从插件目录读取文件, 因此插件会写入启动器、 包和来宾帮助器 ~/.local/state/paseo-sbx/bin 启动时将提供者注册到 config.patch,保留您在该条目上定制的标签、嵌入或模型字段.

国家生活 ~/.local/state/paseo-sbx (对) XDG_STATE_HOME:

  • sbx/: 仅限 Paseo sbx 实例XDG_STATE_HOME 页:1 sbx) (中文(简体) ). 检查一下 XDG_STATE_HOME=~/.local/state/paseo-sbx/sbx sbx ls。 。 。 .
  • claude/<sandbox>/: 每张相框 Claude 配置目录, 包含每个相框自己的设置以及共享文件的副本( 收录于 .paseo-sbx/shared-copies.json) (中文(简体) ). Paseo在这里阅读历史记录和倒带.
  • catalog/<agent>.json 财务报告和审定财务报表 catalog/<agent>/:每个代理的目录沙盒(名称,工具包的CLI版本,运行需要什么)及其工作空间.
  • homes/<agent>/:每个沙盒和目录共用的代理家,在它们内部的同道上(Codex's) CODEX_HOME) (中文(简体) ).
  • sandboxes/<sandbox>.json:每个沙盒是如何创建的(存储器,模板及其图像ID,内存,CPU,多克盘,挂载),对其适用的网络规则,以及装入或仍然需要卸载的插件的MCP服务器. 从设置中删除规则将在下一次发射时取消 .
  • locks/:每张沙盒锁,运行会话的租赁,以及正在娱乐的标志.
  • run/: 每一个会话内存文件, 向用户保密, 并且从未挂载 .
  • workspaces/<workspace>.json:最后一个为每个工作空间所构建的光谱,没有它的变量,由Sandbox终端读取. 每个会话和每个新的工作空间都会写出它;从它存在之前的工作空间,每个插件启动时,在第一个代理回合或多克·桑德博克视图被填充.
  • agents/<agent>.json:每个代理商先打开了沙盒. 恢复,刷新和历史再利用它,所以改变隔离模式不会移动已存在的代理或他们的笔录.

设计决定

  • 失败了 东道主什么也没有. 包装器拒绝在没有插件所注入的光谱的情况下启动会话:由于插件被禁用,沙盒代理器以明显的出错而失败. Paseo在会外运行一些事(模型目录,诊断,Codex的存档和无存档,存档代理的历史);那些去代理目录的沙盒,从不去主机. 届会由 PASEO_AGENT_ID Paseo 添加了它,除非守护进程本身是用这个值开始的(一个代理会话启动的守护进程).
  • 下载需要您的同意 . Catalogs,以及没有模板的沙盒或模板准备,可以从多克枢纽下载sbx的工具包图像. 服务器和包装器拒绝,直到 allowImageDownloads 设置已打开, 应用程序在启动前询问, 所以下降开始什么。 创建模板的沙盒 --pull never 无需同意.
  • 每剂一发. Paseo 的一些版本探测器只运行提供商命令 --version,放弃任何论证,所以代理不能成为论证:每个代理的发射器在环境中命名它.
  • 模板中的 CLI . 会话运行模板中找到的 CLI PATH;为一个代理工具箱所建的模板缺少其他工具箱,因此与克勞德和克勞德克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克 sbx将工具包应用到模板的图像上,只有在工具包构建时:用工具包创建了沙盒,模板的口味名,或者启动代理没有模板.
  • 编目在没有会话的情况下解答. 每个代理的目录沙盒都是从 sbx 的工具包中创建的,没有您的工作空间,并记录了CLI的版本. Paseo先要求版本,并给予克洛德的模型探测器5 s,因此该版本在目录VM开始的同时来自记录. 克劳德的设置到达目录 没有他们的 env (一个网关的标志): 网关通过它的私人网关文件,每跑一次.
  • 通过 sbx 的秘密登录 . Sbx 代理交换 a proxy-managed 标记所储存的秘密,在任何沙盒中,以及沙盒创建后储存的秘密。 一个工具包在创建时会写出它的标记:目录被复制到代理共享的家(Codex's) auth.json),所以API密钥和OAuth在插件不知道格式的情况下工作. 存储一个秘密后更新 。 Claude总是自己签字: 每一个会都得到 env 您的 Claude 设置( 网关、 密钥、 Bedrock、 Vertex ) , 通过其私人内存文件, 以及 apiKeyHelper 仅在共享时计数 settings.json编辑 anthropic 秘密只在没有别的东西时才适用.
  • 每个沙盒都有克劳德的设置. 文件挂载保留它开始的inode 。 克劳德拯救 settings.json 通过在它上面重新命名一个新的文件,所以一个挂载 settings.json 在保存前创建的每个沙盒中都变得不可读取,直到 VM 重新启动,并用它登入. 共享文件在每次会话中都会复制, 只读, 以及您的 settings.json 默认不再共享: 沙盒的起步是套装的,是克劳德的改变,只有它的 env 你每一次发射都要读 设置版本 3 滴入 settings.json 从一个仍然处于旧默认状态的列表中.
  • Codex的家是共享的. Codex的线程必须能够从目录中达到,该目录运行它的存档,无存档和历史; 1 CODEX_HOME 每个沙盒都像 ~/.codex 主办几会。 在它没有挂载之前创建的沙盒: Codex 那里要求重新创建 。 即时图像 Codex 获得当主机临时文件被复制到沙盒的配置目录中.
  • 证书不在 sbx 进程之外 . 在守护进程环境中看起来像证书的名字从每个 sbx 所以沙盒守护进程从不继承它们 Claude的共享文件夹是逐一挂载的,从不附带证书的配置目录;共享文件被复制.
  • 泪倒入客内. 这个 sbx exec 客户端可以在克劳德仍在一个工具呼叫中时退出,守护进程树杀死了包装器和它关闭时产生的任何东西. 客座主管在Claude的流程树上停了下来,一旦它的stdin到达EOF,然而会话却会发生在主机上. 它记得它在克洛德下所看到的过程,克洛德的出道会重新做父母,但忘记了克洛德还跑的时候离开树的过程:一个故意脱落的工作会像在主机上一样不停地跑.
  • 仅限 Paseo sbx。 。 。 . Paseo的沙盒是自己住的 sbx 实例,由守护进程按要求启动。 重启Paseo会阻止它们;您自己的沙盒不会受到影响.
  • 秘密不在Sbx进程之外. 转发的值通过 0600 文件传送到来宾 run/,通过 sbx exec --env-file 并且当会话结束时被删除(所杀会话的文件在下一次发布时被删除)。 没有 sbx 客户端在它的环境里和它们运行,所以沙盒守护进程永远不会继承它们,无论哪个呼叫开始它. 带有新行的值不能在该文件中跳出并返回客户端环境 。 变量 sbx 客户端自读( e)PATH, (中文(简体) ), HOME, (中文(简体) ), XDG_*, (中文(简体) ), SBX_*, (中文(简体) ), DOCKER_*,.)从不转发.
  • 每个寄存器设置 . 模板,内存,CPU,挂载和变量由寄存器的git common dir键入,因此一个repo的每个工作树在每人得到自己的沙盒的同时共享. 一个沙盒保存它所创建的寄存器. 无法移动到一个寄存器的版本 1 / sandbox 覆盖被列出在 Docker Sandboxes 屏幕中重新指定 .
  • 标本. 模板是 Paseo 实例中保存的 sandbox 文件系统(sbx template save) (中文(简体) ). 它不包括VM自己多克的图像. sbx只保存一个已停止的沙盒,所以插件在它里运行会话时先停止并拒绝. 在一个干净的沙盒中准备一个,没有您的变量或证书:保存一个工作沙盒捕获 /home/agent,包含登录符号.
  • 重建需要存档代理 . 插件 API 既不能关闭,也不能重新打开代理的运行时间,常驻代理可以随时启动一转,因此,该插件只有在每个与它相连的代理被存档而无会话运行时,才重新创建出一个沙盒. 服务器持有整个操作的沙盒锁并标记它,因此新的发射会很快失败.
  • GSD Path 通过其配置计算沙盒会话. 沙盒的克洛德在插件状态下写下记录 ~/.claude/projects,所以与 GSD 路径集成 在插件上列出每个沙盒 projects 文件夹(和共享的 Codex 主机) sessions,并启用代码x) session_dirs 联 合 国 ~/.gsd-path/daemon.json (或 $GSD_DAEMON_CONFIG) (中文(简体) ). 它在文件没有列表时添加了GSD Path的默认文件夹,从不创建文件,并且当一个寄存器关闭集成或文件夹消失时,它只删除所添加的文件夹. 一个被移除的沙盒文件夹在主机上记录时会保留列表. 重读文件的GSD观察者和GSD路径守护进程立即取出一个新的沙盒;更古老的GSD路径守护进程需要重启.
  • 家用山是捆绑山. 在每一次发射时,你家下的一个挂载在客人家下同一地的挂载上沙盒用户的sudo,因为绑载无法活过VM重启. 一个同位链接不需要根, 但 GSD Path 拒绝对齐运行时间存储 .
  • 每个沙盒多克盘. 缩放大小 /var/lib/docker 从 sandbox.disk.dockerVolume,由用户的每个 sbx 实例共享的设置。 插件通过 DOCKER_SANDBOXES_DOCKER_SIZE 改为 sbx create 所以你们自己的沙盒 保持了Sbx的尺寸 音量在主机上是稀有的.
  • 记忆不入VM. 每个VM的常住记忆从它的 containerd-shim-nerdbox-v1 进程,通过 config.json 在进程的工作目录中。 任意 sbx exec 将推迟自动停车, 投票通过它会保持VMs运行.
  • 每个出版物都要经过接力. sbx只发布VM外部界面上的收听内容,dev服务器经常在回回回回听. 嘉宾代理在自有的端口上收听(41000-41999),再以"嘉宾回回回"向服务端口收听,该回回回还服务端口收听 0.0.0.0。如果服务晚些时会绑定每个地址,则它自己的端口不会阻止服务。 代理将监听端口写入沙盒的 Claude config dir, 上面的两边可以写, 所以面板没有列出 sbx exec;主机读取该文件为不可信输入. 每一发售时都保存出版物并进行核对;在那里增加一个储存库自动公布的端口。 每个都有一个明确的主机端口, 空出时选中: sbx 0. 49 每个起始时恢复出版物, 并保留一个发光端口 --unpublish 无法去除, 因此每次重启后会返回 。 明确端口被永久去除并保持了URL的稳定.
  • MCP服务器通过sbx的网关. 每个沙盒都有一个MCP网关在VM的主机一侧;sbx保存服务器的令牌和API密钥并加入网关的请求. 只有远程服务器:本地服务器会运行在主机上,每个沙盒外. sbx在其工具包自己的Claude config中注册网关,该插件会话不使用,因此来宾主管将同一条目合并入MCP config Paseo通行证. sbx没有命令列出本地沙盒所装入的内容;插件读取了 sbx 的记录,并说当该记录改变形状而不是猜测时. 卸载需要一个正在运行的VM,所以在沙盒被停止时关闭的服务器在下一次发射时被卸下. 关闭表示插件不加载: 代理仍然可以将任何注册的服务器添加到网关 mcp-add 工具.
  • 在任何设备上签名. 没有展示, sbx mcp auth 打印提供者的页面并等待回回转的收听器。 在另一个设备上的浏览器只能在一个地址上登陆, 只有这个主机才能打开; 您粘贴它回来, 插件把它交给 sbx 。 它只接受一个地址 与该登录的回路端口,路径和 state,所以一个粘贴从不要求其他东西,而一个呆板的不能结束登录(sbx在错误上中止) state) (中文(简体) ).
  • 外壳的终端简介 . 插件不能添加动作到工作空间 + 键 菜单,只打开面板,并打开一个插件标签. 沙盒终端 是一个终端配置文件, 在 Docker Sandboxes 视图首次打开时添加到 Paseo 的配置文件中( 一个存储列表取代了 Paseo 的默认值, 因此它们被保存在一起 ); 一个您删除的 。 它的发射装置不能询问工作空间的哪个沙盒插件,所以服务器记录每个工作空间的光谱,没有变量,每当它构建一个:仪表板,代理会话,或者 打开沙盒终端 在命令中心,在打开终端前记录它. 该 shell 设置标签的标题, 因为 Paseo 显示终端的命令行.
  • 存档没有停止 . 存档一个代理关闭了运行时间,VM在最后一会后停了30秒. 保持VMs运行的是未存档的代理;插件 API 无法关闭运行时间,因此多克沙盒屏幕用存档动作列出它们.
  • 散开的特工持有他们的VM. sbx 在最后一秒后停止一个 VM 30秒 sbx exec,而Paseo在1小时后关闭了闲置代理的运行时间(其闲置的运行时间清理),这结束了会话的执行. 在主机上, 工作代理离开运行, 例如 setsid nohup 测试运行, 寿命超过如此接近; 在VM中,它与VM一起下降。 插件中每个 VM 还有一个执行器, 它会等待在它的 stdin 上, 从它的代理第一个转弯发现它运行到最后的被存档, 或者直到 保持闲置代理的 VM 运行 在他们最后转弯几小时后 牵引力从不启动一个被停止的VM: 它被取入沙盒锁下,所以 停下来,模板保存和娱乐 仍然停止VM。 插件的重新启动会将控件降为下个转弯 。 插件不能否决Paseo的亲近性:沙盒提供商延长了Paseo的自有性能,它没有为此提供钩子.
  • 无效的设置失败而不是默认 . 回到默认状态可能会默默地关闭路由或重新开启网络政策. 插件保留它读取的最后有效设置; 没有任何, claude-sbx 会话和路由代理创建失败,信件指向设置屏幕.

宾客环境的遭遇

自动: 以 ANTHROPIC_, (中文(简体) ), CLAUDE_, (中文(简体) ), PASEO_, (中文(简体) ), MCP_ 或者说 DISABLE_附加时 API_TIMEOUT_MS, (中文(简体) ), MAX_THINKING_TOKENS, (中文(简体) ), LANG, (中文(简体) ), TZ 财务报告和审定财务报表 NO_BROWSER从守护进程环境。 Paseo的MCP服务器从其配置中的守护进程端口被转发,因为Codex在其协议中获得了MCP URL. 任何其它需要的工具(许可证密钥、云证书)都会下沉 转发变量,变量文件中的值。 该插件添加 GIT_CONFIG_* 条目 通过 HTTPS 的 GitHub 在任何您前进后, 在使用 GSD 路径的仓库中, GSD_PATH_WORKTREE_ROOT 在主办单位 ~/.gsd-path/projects: GSD Path 否则会注册嘉宾家下所创建的工作树,这是主持人的git无法到达的路径. 导入主机 Claude 会话到 claude-sbx 先把项目记录抄入沙盒的配置目录.

在沙盒内工作

  • 沙盒终端 在工作空间 + 键 菜单,或 打开沙盒终端 在命令中心,打开一个在 VM,工作空间, 与会话' 克劳德的配置和登录.
  • 航站楼的"星际飞船"只从它的启动文件开始,从不从 /etc/sandbox-persistent.sh: sbx 为每个非交互 shell 也运行此文件(BASH_ENV)),因此特工的命令会支付一个他们从未显示的快件. 星舰已经启动 /etc/profile.d 或模板是原样.
  • PASEO_SBX_SANDBOX 设定为沙盒名称,所以脚本可以在沙盒中检测出它们运行.
  • PASEO_SBX_OUT 实值 <workspace>/.sandbox-out,在代理保存文件时,您会打开聊天室。 克劳德的用户内存( Q)CLAUDE.md 在沙盒的配置目录中,在你之后)和Codex的 AGENTS.md (在其共同住所内有一个有标记的街区)这样说; /.sandbox-out/ 进入仓库 .git/info/exclude 一次 一次吗.
  • k3d 需要两面旗帜, 在 VM 内部, 它没有 /dev/kmsg数字 : --volume "/dev/null:/dev/kmsg@server:*" --k3s-arg "--kube-proxy-arg=conntrack-max-per-core=0@server:*"。 。 。 .
  • 构建输出记录绝对缓存路径 。 当在主机和一个沙盒(或两个沙盒)上建出相同的检出时,在测试前恢复: 对于.NET, dotnet test --no-build 否则可以在不进行测试的情况下通过.
  • .NET SDK 挂载的只读需要 DOTNET_SKIP_WORKLOAD_INTEGRITY_CHECK=1 在一个新鲜的沙盒.

解决问题

  • claude-sbx 代理失败的"错过PASEO SB SPEC": 插件被禁用或未加载( )paseo plugin ls) (中文(简体) ).
  • Docker Sandboxs 屏幕显示 sbx 守护进程未运行: 运行 XDG_STATE_HOME=~/.local/state/paseo-sbx/sbx sbx daemon status。锁上键盘是通常的原因.
  • 代理无法到达主机服务: 将其端口添加到 额外主机端口在沙盒里, 沙盒里, 127.0.0.1:<port> 被转发到主机.
  • 一栋楼用出站码137死亡: VM 内存耗尽. 给寄存器增加内存或减少 CPU 资源 选项卡 沙盒仪表板,然后重建沙盒.
  • 用“ 设备上没有空格” 测试失败 来源于 VM 的 Docker 数据库: 升起 每个沙盒多克盘,然后重建沙盒.
  • 已公布的端口显示“ 未公布 ”:其主机端口被取用于沙盒启动时. 选择另一个固定的端口,或者留空.
  • MCP 服务器的工具不会在代理中显示: 检查状态于 MCP 服务器 (在您签名之前,服务器只提供其登录工具)及其在工作空间的开关 MCP 磁共振 选项卡。 在此版本到达无网关之前, 会话开始: 重新开始 .
  • 折叠日志 在守护进程日志中显示为 Claude Agent SDK stderr 前缀的行 [paseo-sbx]。 。 。 .

发展

npm install
npm run typecheck
npm test

包装测试对着假的包装 sbx 将沙盒保存在 JSON 文件并运行 exec 命令本地,带有类似 VM 的环境和它自己的 stdin 管.

版本与发布记录

@drungrin/paseo-sbx 共发布 9 个版本,首次发布于 2026/10/27;过去 12 个月发布了 9 个版本。

版本发布日期距今
0.3.6latest2026/11/112 天前
0.3.52026/11/058 天前
0.3.42026/11/049 天前
0.3.12026/10/3014 天前
0.3.02026/10/2915 天前
0.2.22026/10/2915 天前

关于 @drungrin/paseo-sbx 的常见问题

@drungrin/paseo-sbx 是什么?

运行每个Paseo工作空间的克洛德和Codex代理在其自己的Docker Sandboxes microVM中.

如何安装 @drungrin/paseo-sbx?

在项目目录运行 npm install @drungrin/paseo-sbx,或使用 pnpm add / yarn add / bun add。

@drungrin/paseo-sbx 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/drungrin__paseo-sbx 是否存在。

@drungrin/paseo-sbx 支持 ESM 还是 CommonJS?

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

@drungrin/paseo-sbx 可以商用吗?

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

@drungrin/paseo-sbx 的下载量有多少?

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

@drungrin/paseo-sbx 还在维护吗?

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