内置 Tools 参考
本页帮助你理解运行中出现的工具名称,不是输入区开关清单;当前添加菜单没有 Tools 选择器。实际可用能力取决于模型、对话模式和运行环境。提出需要的结果,再检查真实工具调用与输出。
网络
| Tool | 用途 | 典型结果 | 注意事项 |
|---|---|---|---|
| WebSearch | 按关键词搜索当前网页信息。 | 标题、摘要和可打开的来源链接。 | 搜索结果是线索,不等于来源正文;重要结论应继续打开原始页面。 |
| WebFetch | 打开并读取指定网页。 | 页面正文、结构化内容或读取错误。 | 登录墙、机器人验证、动态页面和站点限制可能阻止读取。 |
建议组合:先用 WebSearch 找到权威来源,再用 WebFetch 阅读具体页面。需要“最新、当前价格、当前规则”时,在消息中明确时间范围,并核对页面日期。
搜索特定平台时,XSearch 用于 X,RednoteSearch 用于小红书,需要先完成相应服务配置,参见网页与社交搜索。普通网页搜索成功,不代表这两种登录平台搜索也可用。
个人历史检索不是网页搜索
- Recall 检索已保存的事实或会话内容。核对引文或日期时,应要求查看原始消息;提炼后的事实不是逐字原文。Team 检索遵循当前 Team 记忆范围。返回不可用,不代表记录不存在。
- ActivityLog 在活动记录启用时检索活动报告、近期摘要或搜索结果,不搜索公共网页。参见活动记录。
- Memory 可以读取记忆或更改长期偏好。与 Recall 不同,写入操作会修改保存的信息。应保存已确认的偏好,而非临时任务进度;群记忆应使用对应的 Team 工作流。
检索出的个人信息可能进入模型请求。查询私人历史前,请先检查数据共享范围。
浏览器操作
浏览器工具会操作页面;WebFetch 则用于获取页面内容。目标可以是 Ghast 内置浏览器或 Chrome,但并非所有操作都同时支持两者。
| 运行中显示的名称 | 用途 |
|---|---|
| BrowserOpen、BrowserTabs、BrowserNavigate | 打开 URL、查看标签页或导航浏览历史。 |
| BrowserRead、BrowserState、BrowserReadDom | 查看页面文字、状态或可交互元素。 |
| BrowserClick、BrowserType、BrowserScroll | 操作页面控件或滚动页面。 |
| BrowserScreenshot | 截取当前页面。 |
| BrowserUpload | 在支持时通过页面上传控件提交本地文件。 |
| BrowserEval | 执行页面 JavaScript,不能假定它只读。 |
| BrowserBack、BrowserForward、BrowserReload、BrowserClose | 对内置浏览器后退、前进、刷新或关闭。 |
请求中请明确页面和预期操作。点击、输入、上传或执行 JavaScript 可能修改网站数据或发送信息,操作前应核对账号和目标。BrowserOpen 使用 HTTP(S) 地址;本地项目文件需通过开发服务器提供。
打开预览及选择元素请看 Coding 浏览器面板,桌面控制的配置与权限请看电脑操作。
工作区
| Tool | 用途 | 是否会修改文件 | 常见场景 |
|---|---|---|---|
| Glob | 按路径模式查找文件。 | 否 | 找出某类配置、测试或组件文件。 |
| Grep | 在文件内容中搜索文字或模式。 | 否 | 查找函数、界面文案、配置项或错误来源。 |
| Read | 打开文件内容。 | 否 | 阅读实现、日志、配置或文档。 |
| Edit | 对现有文件应用精确修改。 | 是 | 修复代码、调整配置、更新文档。 |
| Write | 创建文件或替换文件内容。 | 是 | 新建文档、生成配置或完整重写文件。 |
Glob 与 Grep 怎么选
- 已知文件名或扩展名,不知道目录:用 Glob。
- 已知函数名、文案、错误信息或配置键:用 Grep。
- 找到候选文件后:用 Read 打开必要部分。
Edit 与 Write 怎么选
运行中还可能出现 HashlineEdit,它使用最近一次文件读取提供的行标识定位修改;或 PatchTransaction,在可用时成组执行新增、更新、删除或移动。这些操作会修改文件,不是预览。
若提示内容或行标识已过期,应让 Ghast 重新读取文件,再判断如何修改,不要要求强行用旧修改覆盖新工作。多文件补丁要检查全部目标路径,包括删除和移动。发生错误或中断后,先检查实际文件和差异再重试,不能仅凭操作名称判断工作区的最终状态。
- 修改已有文件的一小部分:优先 Edit,更容易核对 Diff。
- 新建文件,或明确需要完整替换内容:使用 Write。
- 计划中出现工具名称不能证明文件已写入,应检查实际调用、批准情况及最终文件。
代码诊断与符号查找
Coding 运行中出现以下操作时,它们用于检查工作区代码,不会编辑文件:
| 操作 | 结果中应检查什么 |
|---|---|
| lsp_diagnostics | 文件诊断,以及返回的列表是否被截断。 |
| lsp_definition | 符号定义所在的文件和位置。 |
| lsp_references | 引用所选符号的位置。 |
| lsp_hover | 指定位置符号的类型信息或说明。 |
直接描述目标即可,例如:“找到这个函数的定义和使用位置,不要修改文件。”说明文件和符号;提供精确位置时,行号和列号均从 1 开始。
先看结果状态,再解读空列表。Skipped、unavailable、timeout、error 都不代表代码没有问题或没有引用。能否使用取决于文件语言及当前环境中的语言服务。查找不可用时,可以让 Ghast 阅读文件并进行文本搜索,但要区分文本匹配与语言分析得到的引用。
诊断成功不等于完整项目测试通过。接受代码修改前,仍应单独运行项目构建、类型检查和相关测试。
Shell
| Tool | 用途 | 生命周期 | 风险 |
|---|---|---|---|
| Bash | 在工作区运行 Shell 命令。 | 启动命令;长任务可保持运行。 | 命令可以修改、上传或删除数据,需检查当前目录与参数。 |
| BashOutput | 读取仍在运行的 Shell 会话输出。 | 不启动新命令。 | 输出可能包含路径、日志或敏感值,分享前先检查。 |
| KillBash | 停止一个运行中的 Shell 会话。 | 向目标进程发送终止动作。 | 停止构建、迁移或写入任务可能留下中间状态。 |
使用长时间命令时,先让 Bash 启动,再用 BashOutput 查看新输出;仅在确认目标进程后使用 KillBash。关闭聊天窗口不等于一定停止后台进程,最终状态应在终端面板或系统中确认。
规划与工作流
| Tool | 用途 | 适用场景 |
|---|---|---|
| Task | 把一部分工作委派给专注的 Agent 配置。 | 任务可以独立调查、实现或审查,并需要并行推进时。 |
| TodoWrite | 在当前对话中维护多步骤任务状态。 | 任务跨多个文件、阶段或验收步骤时。 |
| EnterPlanMode | 暂停直接执行,先整理实现计划。 | 影响范围大、存在关键选择或需要先审阅计划时。 |
| ExitPlanMode | 结束计划阶段并返回执行。 | 计划已确认,可以开始操作时。 |
| Skill | 载入与任务匹配的 Skill 说明。 | 已启用 Skill 可以提供专业流程、格式或约束时。 |
| SlashCommand | 运行已注册的命令工作流。 | Plugin 或当前 Agent 提供了需要通过 / 调用的命令时。 |
| ToolSearch | 在可用能力中查找适合当前任务的 Tool。 | Tool 很多、具体名称不明确,或能力由扩展动态提供时。 |
问题与运行状态
运行中还可能出现以下交互:
- AskUserQuestion 显示可选答案,并可能提供自定义回答。通过 Next 进入下一题,最后使用 Submit 提交。Skip 不代表批准某项操作;已回答、已跳过或已过期的卡片不是新的待回答请求。
- ContextRemaining 在生成过程中读取可用上下文的估计值,不会执行压缩或购买容量。估计值不可用,不代表剩余空间为零。
- AttemptCompletion 展示最终结果,但不证明测试通过、文件已交付或外部操作成功。仍需检查结果和相应证据。
Task 与 Team 的区别
Task 是一次运行中的委派能力;Team 是 Ghast 的同事、私聊、群组、工作项和独立记忆界面。需要持续协作和可见工作记录时使用 Team;只需要当前任务里拆出一项专注工作时使用 Task。
TaskOutput 读取已有子任务的状态和消息,不会启动替代任务。结果仍为运行中时,应继续跟踪该任务;创建任务或查询状态不等于任务完成。
Skill 与 Tool 的区别
Skill 是一组可复用的工作说明;Tool 是可执行动作。加载 Skill 后,它需要的工具可能加入当前运行。选择一个 Skill 不会将运行限制在固定的工具白名单中;命令授权、操作系统权限和外部账号权限仍然生效。详见选择和使用 Skills。
InstallSkill 从提供的说明、支持的 URL 或本地来源创建或导入 Skill。完成后在 Skills 库核对返回的名称、来源、安装范围和路径。Team 之外默认安装到个人范围;项目安装需要工作区,Team 安装使用同事工作区。下载成功不等于导入成功,安装成功也不证明 Skill 能加载或完成工作流。尝试前先审阅说明。
设置与会话操作
运行中出现以下名称时,应区分查询和实际修改:
| 操作 | 影响 |
|---|---|
| ReadSettings | 读取当前 Ghast 设置。 |
| UpdateSettings | 保存设置修改,不是设置窗口中的草稿。 |
| ReadConversation | 读取会话及其中的消息。 |
| CreateConversation | 创建新会话;创建成功不代表已在其中执行任务。 |
| DeleteConversation | 删除指定会话,不要把它当作诊断步骤。 |
排查问题时,先要求 Ghast 只检查和解释,不修改设置或删除会话。确需修改时,明确具体设置或会话及预期结果。设置更新后,重新打开对应设置页核对;之后放弃设置草稿并不能撤销工具已经保存的更改。删除前仔细核对目标会话,并保留所需内容。
Team 消息与指定提醒
TeamSendMessage 在当前 Team 请求范围内联系同事。提问需要回复,告知消息不要求回复。进入队列不代表同事已阅读或完成工作;这项操作不是任务委派,也不会向接收者授予工具。请明确同事和主题,不要要求转发无关的私人会话历史。
TeamFollowUp 安排或取消你要求的 Team 提醒。请明确未来日期、时间、时区和提醒内容;取消时指明已有提醒。检查返回的时间和内容。安排成功表示请求已记录,不代表未来提醒已经送达。这些操作需要正在执行的 Team 任务,不是普通 Chat 命令。参见 Team 工作项。
模型辅助审查
可用时,ReviewWithModels 会请指定或已配置的模型,根据给定问题、相关证据和审查标准提供意见,并可将意见整理为建议。应检查哪些模型实际返回、哪些失败、意见有何分歧;汇总回答不代表一致批准。
ReviewInIsolation 使用主会话的模型审查提供的差异或工作区文件列表,不带入主会话历史,并返回文件、行号、严重程度和问题摘要。请在审查请求中明确相关约束,因为独立上下文不会继承整段讨论。
两者都会产生额外模型请求,并可能产生用量费用。只提供你愿意发送给相应 Provider 的材料。“隔离”指独立的审查上下文,不是离线处理。它们不会应用修复,也不能替代测试和人工判断。
MCP Tools
已连接的 MCP Server 提供相应服务的工具。名称和说明由 Server 提供,可能随版本变化。使用前:
- 先确认 Server 和账号;
- 明确任务需要哪些操作,以及禁止哪些更改;
- 第一次调用先检查参数;
- 写入、发送、删除、购买或发布后,到目标系统确认结果。
如果 Server 更新后新增或修改 Tool,Ghast 可能要求你先审查新的描述再继续使用。不要仅凭 Tool 名称判断副作用。
常见组合
| 目标 | 建议起点 |
|---|---|
| 阅读项目结构 | Glob + Grep + Read |
| 修改并验证代码 | Glob + Grep + Read + Edit + Write + Bash |
| 运行持续开发服务器 | Bash + BashOutput + KillBash |
| 当前资料研究 | WebSearch + WebFetch |
| 先评审方案再执行 | EnterPlanMode + ExitPlanMode + TodoWrite |
| 使用专业流程 | Skill,并加入该 Skill 实际需要的 Tool |
| 操作外部服务 | 对应 MCP Server 的必要 Tool,先做只读查询 |
这些组合不是额外权限模板。每次发送前仍要确认当前工作区、Tool 模式、命令授权和外部账号。