Skip to content

机器 (Machines) ​

字数
551 字
阅读时间
3 分钟

ctx.computer(@chatluna/computer)负责统一管理可执行命令与读写文件的运行环境。无论是本地进程、SSH、容器还是云端沙箱,均可通过统一接口进行交互。

注册与配置 ​

方法作用
kind(name, kind)注册一种机器类型(如 local、ssh、docker、e2b 等)
kindNames() / kindConfigs()获取已加载的类型列表及其配置 Schema
configure(config)新增或更新指定机器的配置
list() / definitions()获取机器列表与对应的原始配置定义
bind(agent, name)将指定的 Agent 绑定到对应机器

调用 configure() 时会自动注册 machine:<name> 权限。其中 local 的权限等级为 2,其他类型为 4。

使用 ​

方法作用
of(agent?)获取该 Agent 当前使用的机器(按「绑定 → 路由默认 → local」顺序解析)
usable(agent?)过滤出路由白名单与用户权限均允许调用的机器
test(name)测试机器连通性,并返回可用的机器句柄
close(name, session?)关闭机器实例;传入 session 时仅关闭该会话对应的沙箱
useEnv(provider)注册环境变量提供者
encryptConfig(config) / plainConfig(name)加密存储配置凭据,或读取解密后的明文配置
path(machine, path) / contains(machine, path)解析工作区路径,或检查目标路径是否在安全边界内

Machine 句柄 ​

成员作用
name / kind / os / root / isolated机器基本属性
id远程沙箱的重连标识,用于进程重启后找回已有实例
exec(request, signal?) / spawn(request)执行命令或创建进程
read / write / list / stat / remove工作区文件与目录操作
watch?(path, listener)监听工作区文件变化(可选)

生命周期 ​

会话作用域的机器状态会保存在会话的 computer/machine 标记中,进程重启后将依据该标记自动重连。

共享作用域的机器在无人使用并达到空闲超时后会自动暂停,再次被调用时将自动恢复。

继续阅读 ​

页面历史

在 CC-BY-SA-4.0 许可下发布