文档

内置工具

Mework 内置 49 个可供模型调用的工具:其中 31 个由你按对话逐个开关,其余 18 个随联网、记忆、计划模式等其他设置一起出现。

怎样开启工具

在顶栏打开 更多选项 → 对话设置 → 工具,或按 ⇧⌘,(Windows 上是 CtrlShift,)。每一行是一个工具,点一下就开或关。这里的设置只对当前对话生效。

没有行的工具随别的设置出现,下面每个分组都写明了是哪一个。

新对话从所用预设的工具开始(见预设)。内置预设 mework 打开所有有行的工具,shell 只开一个:macOS 上是 zsh,Windows 上是 PowerShell。它还打开了联网搜索、两种记忆、技能按需加载和工具发现。

不论行里怎么选,请求发出时还有两项检查:对话里没有任何机器装有某个 shell 时,那个 shell 工具不会随请求发出;不支持视觉输入的模型拿不到 preview_screenshot 和 preview_upload_image。

锁住的行

第一次请求之后,有些行的 + 或 − 会换成一把锁:

  • 橘色:模型的提示缓存还没过期。缓存在上一次请求之后保持该模型的缓存失效时间(分钟),默认 30 分钟。关掉上一次请求带着的工具会让缓存失效,下一次请求就要为整段对话重新计费。橘色的行仍然可以改,在一个对话里第一次这样改时,Mework 会先弹出这样改会让缓存失效。打开一个工具永远不会是橘色。
  • 灰色:模型不支持中途追加工具(见模型属性),它的工具在第一次请求时就固定了。换一个模型才能改。

锁属于发出上一次请求的那个模型:选别的模型锁就解开,再选回它锁又回来。

审批

一次调用要不要等你批准,取决于对话的安全层级,在输入框下方选择:手动、允许编辑或完全访问。

调用 手动 允许编辑 完全访问
读取对话工作区里的内容 直接执行 直接执行 直接执行
读取其他位置 询问 直接执行 直接执行
写入工作区里的文件 询问 直接执行 直接执行
写入其他位置 询问 询问 直接执行
shell 命令、联网、工作流、预览服务器与页面操作 询问 询问 直接执行

Mework 的应用数据目录(在哪里)也算在工作区之内;但其中的 memory 和 handoffs 两个文件夹在任何层级下都不对文件工具开放。

需审查标记标出的是会写入或执行无边界操作的工具,也就是在完全访问以下可能停下来等你批准的那些:write、edit、各个 shell、联网工具、workflow、agent_spawn、fork,以及操作页面或读取控制台、网络请求、截图的预览工具。preview_snapshot、preview_inspect 和 preview_resize 只读取或调整内置浏览器,从不询问,也没有这个标记。每个工具的说明页都写明了它什么时候询问。

有些确认卡在任何层级下都会出现,完全访问也不例外:写入全局记忆;递归删除文件系统根目录、你的主目录、系统目录,或由变量、命令替换拼出的路径;在你自己登录过的预览页面上操作。卡片上的总是允许让本对话里同一个工具之后风险不高于这一次的调用不再询问,Mework 重启后依然有效;shell、预览页面操作和 MCP 工具从不提供这个按钮。详见审批与安全。

文件与搜索

这些工具处理对话工作区里的文件,每个都有自己的行。write 和 edit 只会改动模型在本对话里读过或写过的已有文件。

工具名称作用
列出文件ls列出一个文件夹里有什么,默认连同每个子文件夹里的内容一起列出,让模型看清项目的结构。
搜索内容grep用正则表达式搜索文件内容,返回每一条匹配的行及其所在文件和行号。
查找文件find用 glob 模式按名称或路径查找文件和文件夹,模型不必把整个文件夹列出来就能找到目标。
读取文件read把一个文本文件或一张图片读进对话,让模型处理里面的内容。
写入文件write用模型给出的内容新建一个文件,或者把已有文件整个替换掉。
编辑文件edit把已有文件里的一段确切文本替换成新文本,文件其余部分保持原样。
代码语义导航lsp向语言服务器询问代码:符号在哪里定义、在哪里被用到、是什么类型,以及谁调用了谁。

Shell

每种 shell 一个工具。只有对话里某台机器装有的 shell 才会出现在列表里:Windows 上是 PowerShell 和 Bash(Git Bash);macOS 上是 zsh、Bash 和 sh;Linux 和 WSL 上是 Bash、zsh 和 sh。打开任何一个 shell 都会同时带来 task_wait 和 task_list,因为命令可能转成后台任务。

工具名称作用
PowerShellpowershell在对话工作区里用 PowerShell 运行一行命令,并返回它的输出。
Bashbash在对话工作区里用 Bash 运行一行命令,并返回它的输出。
zshzsh在对话工作区里用 zsh 运行一行命令,并返回它的输出。
shsh在对话工作区里用 sh 运行一行命令,并返回它的输出。

预览

这些工具操作预览面板里的浏览器,以及项目 .mework/launch.json 里列出的开发服务器(见浏览器与预览)。其中 12 个有行。preview_start、preview_stop 和 preview_list 没有行:只要任何一个其他预览工具开着,它们就开着,并且会带来 task_wait 和 task_list。

工具名称作用
启动预览preview_start从工作区的 .mework/launch.json 启动一个开发服务器,并把本对话的预览页面指向它。
停止预览preview_stop停止本对话的一个开发服务器,连同它启动的所有进程一起结束。
预览列表preview_list列出本对话能操作的开发服务器,以及其他预览工具要用的服务器 ID。
服务器日志preview_logs读取开发服务器自己输出到 stdout 和 stderr 的内容,供模型检查构建错误和服务器行为。
控制台日志preview_console_logs读取本对话预览页面的浏览器控制台:console 消息、未捕获的错误和未处理的 Promise 拒绝。
页面截图preview_screenshot把本对话预览页面当前可见的部分截成一张 JPEG 图片交给模型。
页面快照preview_snapshot读取本对话预览页面的无障碍树:以缩进文本列出每个元素的角色、名称和值。
检查元素preview_inspect用 CSS 选择器在本对话的预览页面上找到一个元素,报告它的计算样式、盒子和文字。
点击元素preview_click点击本对话预览页面上的一个元素,用 CSS 选择器或页面快照给出的 uid 指定;设置 doubleClick 则点击两次。
填写输入preview_fill在本对话的预览页面上填写输入框、文本域、下拉框或可编辑元素,用 CSS 选择器或页面快照给出的 uid 指定。
执行脚本preview_eval在本对话的预览页面里执行一段 JavaScript 表达式,并以 JSON 返回结果。
网络请求preview_network列出本对话预览页面发出的网络请求,或按请求 ID 返回某个响应的正文。
调整视口preview_resize在本对话的预览页面上模拟设备尺寸或浅色、深色配色,用来测试响应式布局。
上传图片preview_upload_image把本对话里的一张图片作为真实文件放进预览页面上的文件输入框。
回答对话框preview_dialog接受或关闭本对话预览页面弹出的 alert、confirm 或 prompt 对话框。

联网

没有行。两个工具都来自 对话设置 → 高级工具 里的启用联网搜索:只要搜索提供商不是不启用就有 web_search,只要抓取提供商不是不启用就有 web_fetch(选原生时,只有 Anthropic Messages 和 AWS Bedrock 的模型才有)。所选提供商在设置里被关掉、不可用或缺少 API Key 时,工具照样提供:菜单显示请修复搜索提供商或请修复抓取提供商,每次调用都会失败,并说明要改哪项设置。详见联网搜索与抓取。

工具名称作用
联网搜索web_search用一条查询搜索网络,把结果带进对话。
抓取网页web_fetch按网址抓取最多 20 个网页,把它们的正文带进对话。

代理编排

agent_spawn、workflow、ask_user 和 fork 有行(见子代理与工作流)。其余几个随别的东西出现:

  • task_wait 和 task_list:任何会启动后台工作的工具,即 agent_spawn、workflow、shell 或预览工具。
  • box:每次运行都有。Mework 在模型工作期间追加的内容,例如已完成的后台结果和通知,都经由它送达。
  • skill:技能页里打开技能按需加载,并且至少选了一个技能(见技能)。
  • tool_search:MCP 页里打开工具发现,模型支持中途追加工具,并且本次运行有被暂缓声明的 MCP 工具(见MCP 服务器)。
工具名称作用
子代理agent_spawn启动一个子代理:一次独立的模型运行,在后台处理一项任务,再把结果交回这段对话。
工作流workflow运行一段由模型编写的脚本,按固定的结构把工作分给多个子代理,整体作为一个后台任务。
提问ask_user给你弹出一张最多四道选择题的卡片,等你回答之后模型才继续。
分叉会话fork请你根据模型写下的任务另开一段独立的新对话;那段对话里的任何东西都不会回到这里。
等待任务task_wait让模型停下来,等它点名的后台任务都结束,再把这些任务的结果一次性交给它。
任务列表task_list列出这段对话的任务,以及每个任务的地址、状态和最新进展,让模型知道什么在运行、能等什么。
后台结果boxMework 在对话进行中把后台结果和自己的通知交给模型时所用的通道。
技能skill在模型判断当前任务需要时,载入对话所选技能之一的完整说明。
工具发现tool_search取回被 Mework 暂时扣下的 MCP 工具的完整定义,让模型能调用它确实需要的那些。

计划模式

第一次打开输入框下方的计划时,这两个工具出现,并在本对话余下的时间里一直保留。子代理永远拿不到它们。详见计划模式。

工具名称作用
计划文档plan写入或读取对话的计划:计划模式下,模型改动你的仓库之前交给你审阅的那份 Markdown 文档。
退出计划模式exit_plan_mode把写好的计划交给你批准;批准后计划模式关闭,模型开始实施。

长期记忆

高级工具里的启用全局记忆和启用项目记忆各带来三个工具。项目记忆需要磁盘上的工作区文件夹。创建或编辑全局记忆在任何层级下都会询问。详见记忆与指令。

工具名称作用
读取全局记忆read_global_memory从全局记忆里读取一篇文档;全局记忆是模型留给自己、在这台电脑的所有工作区之间通用的笔记。
创建全局记忆create_global_memory经你批准后,在全局记忆里新建一篇文档,并把它的一句话描述加进记忆索引。
编辑全局记忆edit_global_memory经你批准后,修改一篇已有全局记忆文档中的一段文字,并改写它在记忆索引里的那一行。
读取项目记忆read_project_memory从项目记忆里读取一篇文档;项目记忆是模型留给自己、关于对话某个工作区的笔记。
创建项目记忆create_project_memory在项目记忆里新建一篇文档,并把它的一句话描述加进记忆索引。
编辑项目记忆edit_project_memory修改一篇已有项目记忆文档中的一段文字,并改写它在记忆索引里的那一行。

交接

这些工具属于输入框下方上下文用量环里的自动压缩。上下文越过阈值后,模型会拿到全部四个工具,写下交接文档,然后在一个新对话里继续。继承了交接文档的对话从第一次请求起就有 read_handoff_note。子代理永远拿不到它们。详见自动压缩。

工具名称作用
读取交接文档read_handoff_note读取一份交接文档;交接文档把未完成的工作从一段对话带进接着它往下做的那段对话。
写交接文档create_handoff_note新写一份交接文档,告诉下一段对话在这段对话交接之后要接着做下去需要知道什么。
修改交接文档edit_handoff_note修改一份已有交接文档中的一段文字,并改写它在交接索引里的那一行。
交接handoff结束这段对话的运行,在一段从交接文档开始的新对话里接着把工作做下去。

在 GitHub 上编辑本页