跳转到内容

内置工具

createAgent() 默认会给每个 agent 配备私有 workspace 工具。如果没有传入 workspace,传了 name 时文件存储在 ~/.agent/workspaces/<name>,否则存储在 ~/.agent/workspaces/agent-<session-id>

只有需要覆盖默认位置时,才传入 workspace

import { createAgent } from "agent-lattice";
const agent = createAgent({
apiKey,
name: "backend",
model,
workspace: {
cwd: process.cwd(),
allowedDirectories: [process.cwd()],
bashTimeoutMs: 30_000,
},
});

createBareAgent() 初始不带工具、不带 workspace 提示词,也不会创建默认 workspace 目录。当你需要一个 bare agent,但仍想显式接入 SDK 内置文件和 Shell 工具时,使用 createBuiltinTools()

import { createBareAgent, createBuiltinTools } from "agent-lattice";
const agent = createBareAgent({
apiKey: process.env.DEEPSEEK_API_KEY,
baseURL: "https://api.deepseek.com/anthropic",
model: "deepseek-v4-flash",
systemPrompt: "使用已配置的项目目录完成文件工作。",
tools: createBuiltinTools({
cwd: process.cwd(),
allowedDirectories: [process.cwd()],
bashTimeoutMs: 30_000,
}),
});

createBuiltinTools()createAgentWorkspaceTools() 返回的都是下表这套 ToolDefinition。如果代码里更想强调 workspace 语义,也可以继续使用 createAgentWorkspaceTools()

工具 说明
Read 读取工作区文件,支持按行偏移和数量读取。
Write 写入工作区文件,并自动创建父目录。
Edit 替换已有文件中的文本。
LS 列出目录。
Glob 按 glob 查找文件。
Grep 按正则搜索文件内容。
Bash 在工作区执行 Shell 命令,带超时控制。

这些工具可以读写文件、执行命令,所以生产环境建议配合 permission

permission: async request => {
if (request.toolName === "Bash" || request.toolName === "Write") {
return {
behavior: "deny",
message: "This host did not approve shell or write access.",
};
}
return { behavior: "allow" };
}

allowedDirectories 会限制 WriteEdit 和明显 Shell 写入的写入根目录。只读工具仍可检查宿主进程有权限读取的任意路径。这些检查不能替代宿主应用自己的权限策略。