机器与工作区
TIP
机器(Machine)决定命令在哪个系统或容器中执行;工作区(Workspace)是该机器上模型可以直接读写文件的根目录。
读文件、执行命令、运行代码等工具最终都需要一个真实的执行环境。默认情况下,这个环境就是运行 ChatLuna 的宿主机。但有时你需要把它们分开:例如 ChatLuna 跑在轻量云服务器上,而要整理的文件在局域网的 NAS 上;或者出于安全考虑,把不受信任的命令限制在一次性容器中。这时就需要配置独立的机器。

环境页
在左侧导航栏点击「能力 → 环境」,查看所有已配置的机器。页面支持卡片和列表两种视图,可以按类型分组,或按名称、会话数排序。卡片显示:
- 名称与类型。
- 连接状态:已连接还是未打开,以及正在使用它的会话数。
- 默认标记:没有指定机器时,任务会派发到默认机器。
点击卡片打开详情抽屉,可以修改配置,或进行测试连接、设为默认、关闭连接和删除。同一台机器可以被多个会话同时使用,会话数可以作为负载参考。
四种环境
| 类型 | 说明 | 适合的场景 |
|---|---|---|
| 本机 | 就在运行 ChatLuna 的这台电脑上执行 | 个人使用、单机部署 |
| SSH | 通过 SSH 连接到一台远程服务器 | 有独立的开发机、NAS 或算力机 |
| E2B | 每个会话一个云端沙箱 | 需要隔离、又不想自己维护容器 |
| Docker | 每个会话一个本地容器 | 自托管,需要沙箱隔离 |
「本机」开箱即用,其余三种需要在「环境」页面手动添加。
本机
直接在宿主机上执行,没有网络连接也没有隔离。工作区默认位于 ChatLuna 的数据目录下,也可以改为任意路径。模型读写的文件和你在终端中看到的完全一样。本机最方便,但也最不安全。
WARNING
本机环境的命令拥有与 ChatLuna 进程相同的系统权限。不要在公开群聊中开放本机的命令执行,也不要把工作区指向存放凭据、备份或私人文件的目录。
SSH
通过远程主机的账号登录,把文件读写和命令派发到该服务器执行。需要填写主机地址、端口、用户名和登录凭据:
- 私钥:推荐,填写私钥文件路径。
- 密码:要求远程主机允许密码登录。
- 远端工作区:模型在远程服务器上可读写的根目录。
所有会话共享同一个远端工作区。需要互不干扰时,自行规划不同的工作区路径,或配置多台 SSH 机器。
E2B
托管式云端沙箱服务。填入 API 密钥和模板名称后,ChatLuna 会为每个会话创建独立的沙箱,会话之间的文件和依赖互不可见。沙箱闲置一段时间后自动挂起(默认 10 分钟),再次调用工具时自动恢复。无需维护本地容器,但依赖第三方服务并消耗 API 额度。
Docker
使用本地 Docker 守护进程,为每个会话创建独立容器。需要指定镜像,并可以设置挂载目录和容器内的工作区路径。与 E2B 一样提供会话级隔离和闲置挂起。
DANGER
Docker 环境需要访问宿主机的 Docker 服务,这通常等同于很高的系统权限。只使用可信的镜像,了解挂载目录的风险,不要在面向不受信任用户的公开实例上随意开放。
添加与修改
在「环境」页面点击「添加」,选择类型并填写参数,然后点击「测试连接」。测试会真实建立一次连接,读取系统类型和工作区路径后断开。看到「连接成功」后保存即可,只有保存过的机器才能被场景规则和模型使用。
TIP
密码、私钥和 API 密钥编辑时不会回显。留空表示保留原值,输入新内容才会覆盖。
详情抽屉中的操作:
- 测试连接:验证网络和参数。
- 设为默认:未指定机器的任务会派发到这里。
- 关闭连接:断开连接,并销毁关联的容器或沙箱。
- 删除:关闭所有连接后清除配置和密钥,不可恢复。

空闲挂起与会话恢复
E2B 和 Docker 这类隔离型机器在闲置超时后会自动挂起,下次调用工具时自动恢复,超时时间可以在机器配置中设置。
沙箱的标识会记录在会话中。ChatLuna 重启后,同一会话再次调用工具时会优先接回原来的沙箱,而不是新建一个;只要沙箱没被回收,文件都还在。要彻底清理沙箱,请在「环境」页面点击「关闭连接」,重启 ChatLuna 不会清除它们。
机器与场景规则
在「场景规则 → 安全 → 执行环境」中有两项配置:
- 默认机器:没有显式指定时使用的机器。
- 允许委派:模型可以把任务派发到哪些机器,是一个白名单。不在白名单中的机器,即使已配置也无法使用。
把白名单限制在沙箱容器内,就能确保模型碰不到宿主环境。
权限
每台机器都对应一个权限动作。本机的默认门槛较低,普通用户即可使用;其他机器默认只有管理员可以调用。即使场景规则放行了某台机器,用户等级不够依然无法调用。详见权限与安全。
工作区边界
相对路径都以工作区根目录为基准。读取工作区外的文件是允许的,但在工作区外写入或删除文件必须经过审批。
因此可以这样规划:把允许模型自由管理的目录设为工作区,减少确认打扰;敏感的系统目录和业务文件留在工作区外,由审批把关。越界检查针对的是目标机器上的路径,而不是当前用户。
推荐配置
| 场景 | 建议 |
|---|---|
| 个人自用 | 只用本机,工作区指向专门的文件夹(例如笔记库或项目目录);命令执行需要审批,文件写入自动执行 |
| 家里有台服务器 | 添加 SSH 机器并设为默认;保留本机,但从「允许委派」中移除 |
| 对外公开的群聊 | 只开放 Docker 或 E2B,把本机从「允许委派」中移除;使用干净的官方镜像并严格限制挂载 |
| 多会话并行 | 优先使用 Docker 或 E2B;只能用共享机器时,为每个会话配置独立的工作区 |
常见问题
机器列表是空的:系统通常会预置一台本机。列表为空时,到「插件」页面确认环境相关插件已启用。
测试连接失败:本机检查工作区路径是否存在、是否有读写权限;SSH 检查地址、端口、用户名、凭据和网络;E2B 检查 API 密钥和模板名;Docker 检查守护进程是否运行、镜像能否拉取。
模型提示没有可用机器:检查「允许委派」白名单、用户的权限等级,以及机器是否处于正常连接状态。
会话里的文件突然消失:隔离型机器在关闭连接或被回收后会销毁内部状态。需要长期保留文件时,改用共享机器,或用 Docker 卷挂载到宿主机。
写入工作区外的文件总被拦截:这是安全机制。如果这个目录是常规操作范围,把工作区调整到该目录即可。