@archildata/eve (英语)
Archil 集成用于 夜 间。 。 。 .
此软件包根据您的使用大小写提供不同的功能 .
如果您想要在 Archil 磁盘使用中为您的代理机提供对现有数据的访问权限 createDiskTools,一个将标准文件系统能力暴露为工具的前夕工具集厂.
如果您想要一个由 Archil 磁盘支持的沙盒, 并使用无服务器执行 archilBackend。 。 。 .
安装
npm install disk @archildata/eve
disk 是同级依赖。 Archil 客户端读取标准 Archil 环境
配置,包括 ARCHIL_API_KEY 财务报告和审定财务报表 ARCHIL_REGION,除非您通过一个已有的 Archil
客户端.
磁盘工具
使用 createDiskTools 从傍晚起 agent/tools/*.ts 代理服务器应当何时存档
有Archil磁盘或多磁盘工作空间的直接工具:
// agent/tools/filesystem.ts
import * as archil from "disk";
import { createDiskTools } from "@archildata/eve";
const disk = await archil.getDisk(process.env.ARCHIL_DISK_ID!);
// or mount multiple disks as a workspace...
const disk = archil.workspace({
source: { disk: await archil.getDisk(process.env.SOURCE_DISK_ID!), readOnly: true },
reports: await archil.getDisk(process.env.REPORTS_DISK_ID!),
});
export default createDiskTools(disk);
createDiskTools 返回一个前夕 defineDynamic(...) 导出准备
从一个工具文件挂载 .
沙盒后端
使用 archilBackend 从一夕沙盒定义:
// agent/sandbox/sandbox.ts
import { archilBackend } from "@archildata/eve";
import { defineSandbox } from "eve/sandbox";
export default defineSandbox({
backend: archilBackend({
disk: process.env.ARCHIL_DISK_ID!,
}),
});
设定 ARCHIL_DISK_ID 转到Archil磁盘的ID,它应该支持沙盒.
archilBackend 接受:
disk: Archil磁盘ID.client: 已存在的Archil客户端. 打开这个从环境中创建一个 配置 .rootPrefix: 磁盘上这个前夕应用的命名空间 。 默认为.eve/sandbox。 。 。 .queueMs: Archil 写出队列超时. 默认为5000。 。 。 .
在沙盒开始时使用 even 的普通靴子钩 项目特定文件或工具 :
export default defineSandbox({
backend: archilBackend({
disk: process.env.ARCHIL_DISK_ID!,
}),
revalidationKey: () => "python-tools-v1",
async bootstrap({ use }) {
const sandbox = await use();
await sandbox.run({ command: "mkdir -p .cache && python --version" });
},
});