- 文档
- 提示工程
- 人工智能
【免费下载链接】claude-code-system-prompts
All parts of Claude Code's system prompt, 27 builtin tool descriptions, sub agent prompts (Plan/Explore/Task), utility prompts (CLAUDE.md, compact, statusline, magic docs, WebFetch, Bash cmd, security review, agent creation). Updated for each Claude Code version.
本文聚焦 Claude Code 系统提示词仓库(claude-code-system-prompts)中
tool-description-enable-computer-use这一工具描述文档,深入拆解"启用计算机使用(Enable Computer Use)"工具的核心定位、调用时机、排除场景与调用顺序,并结合仓库内相关联的 shared 变体、stub 指引、Computer Use MCP 技能与动作参数文档,给出可直接落地的桌面自动化操作全流程。读完本文,你将掌握:何时该调用启用工具、何时严禁调用、启用后如何按应用授权与分级权限安全操作用户的电脑,以及常见故障(应用无响应、工具缺失)的处置方式。
一、工具定位:一次调用、为整个对话开启桌面操控能力
在 启用工具描述 中,这个工具被定义为"对话级"的能力开关:
Enable computer use on the user's own computer for this conversation, so you can see its screen and work in its applications (take screenshots, click, type, scroll, open apps).
翻译过来即:在本对话中启用用户自己电脑上的计算机使用能力,让 Agent 可以看到用户的屏幕,并在其应用程序中工作——具体操作包括截图(screenshots)、点击(click)、键入(type)、滚动(scroll)、打开应用(open apps)。
几个关键定位特征值得强调:
- 作用范围是"本对话"(for this conversation):启用行为是会话级的,不是一次性动作,也不是针对单个应用的临时授权;
- 目标是"用户自己的电脑"(the user's own computer):区别于浏览器内的自动化(Chrome MCP),它面向的是用户桌面上的原生应用(native apps)与跨应用工作流;
- 能力边界是"看得见 + 动得了":能够查看屏幕并通过鼠标键盘交互,这决定了后续所有 computer-use 类工具(截图、点击、输入等)能否生效。
从实现角度看,该工具描述文件带有 frontmatter 元数据:name: "Tool Description: Enable computer use",ccVersion: "2.1.284",说明它随每个 Claude Code 版本同步更新,是内置工具描述体系(builtin tool descriptions)的一部分。
二、调用时机:四种必须调用(call)的情形
原文档用"when"从句明确列出了必须调用启用工具的触发条件,按优先级可归纳为四类:
2.1 用户在某个应用中请求做事
when the user asks you to do something in an application on their computer
即:用户要求你在其电脑的某个应用程序里完成具体事务(例如"帮我在 Notes 里整理这段内容"、"打开照片 App 把这张图旋转 90 度")。此时需要看到屏幕、操作界面,就必须先调用启用工具。
2.2 用户明确要求使用其电脑或屏幕
or explicitly asks you to use their computer or their screen
即:用户明确表述"用我的电脑""看我的屏幕"这类指令。即便任务本身尚未细化,只要用户显式授权使用其电脑/屏幕,就应立即启用。
2.3(shared 变体新增)技能或任务步骤需要本机应用
在 feature-gated 变体 shared description(ccVersion: "2.1.288")中,触发条件进一步扩展:
when a step in a skill or task the user asked you to carry out needs an application on their computer
即:用户委派的技能(skill)或任务(task)中,某一步骤需要用到用户电脑上的应用时,同样需要调用启用工具。这意味着触发不局限于用户的原话,还包括"用户请求执行的任务链条中隐含的桌面操作需求"。
2.4(shared 变体新增)工具缺失时,调用即"补装"
shared 变体还补充了工具发现(tool discovery)层面的关键语义:
If the tools it turns on, or the tools for files on that computer, are missing from your tool list, calling it is how they are added, possibly a turn later.
即:如果启用工具所打开的能力(computer-use 工具)以及"该电脑上的文件工具"不在当前工具列表中,调用它正是把它们添加到工具列表的方式——而且工具的加入可能延迟一个轮次(possibly a turn later)才完成。这一点对 Agent 的决策很重要:不能因为当前列表里没有 computer-use 工具就断定"不可用",应当先调用启用工具进行探测。
三、排除场景:三种"严禁调用"(Do not call it)
原文档用 "Do not call it for ..." 明确划出了必须克制、禁止调用的三类情形,这是避免滥用桌面权限的纪律红线:
| 排除场景 | 原文依据 | 处理方式 |
|---|---|---|
| 可从对话上下文直接回答的问题 | questions you can answer from the conversation | 直接用已有信息回答,不启用 |
| 可用网络搜索(web search)回答的问题 | ...or with web search | 改用 web search / 检索工具 |
| 只需要浏览器即可完成的工作 | work that only needs their web browser | 走 Chrome / claude-in-chrome 工具链 |
| 请求仅仅是"提到"了某个应用 | merely because a request mentions an application | 不构成启用理由,先判断实际需求 |
最后一条尤其值得注意:"提到应用"不等于"需要在应用里操作"。例如用户问"我电脑上装的 Photoshop 支持导出 WebP 吗?"——这只是提及应用,完全可以用对话知识或网络搜索回答,不应触发桌面启用。这一约束与 计算机使用技能 中"Look before you assert(断言前先看屏幕)"的原则互为补充:少做假设,能低成本核实的就不动用桌面权限。
四、调用顺序与优先级:一次、提前、先于其他 computer-use 工具
原文档对调用次序有非常严格的约定:
If you already have tools whose names start with
mcp__remote-devices__computer_, use those directly instead of calling this. Otherwise call it once, before any other computer-use tool ...
可以拆解为两条硬规则:
- 已有远程设备工具则跳过启用:如果当前工具列表已经包含以
mcp__remote-devices__computer_开头的工具(例如通过远程设备 MCP 连接),则直接使用这些工具,不要再调用启用工具——启用工具只在"裸环境"下作为入口存在; - 否则只调用一次,且必须在任何其他 computer-use 工具之前:启用是一个前置动作(enable step),调用一次即可,不应重复调用;在同一轮次中,必须先完成启用,再使用截图、点击、输入等后续工具。
这一点与仓库中的 stub 指引(ccVersion: "2.1.292")完全对齐——后者正是针对"已经拥有mcp__remote-devices__computer_工具"的场景给出的替代指引:
The computer-use tools are the
mcp__remote-devices__computer_tools you have here; there is no separate enable step. Try the user's request with them now, asking for access to the applications you need first, the way those tools describe.
也就是说:在 stub 场景下不存在独立的 enable 步骤,Agent 应直接用现有 remote-devices 工具尝试任务,并按这些工具自身的描述先请求所需应用访问权限。
五、版本演进:标准版与 feature-gated shared 变体
同一启用工具在仓库中存在两个版本的描述文档,可对照使用:
| 维度 | 标准版 | shared 变体 |
|---|---|---|
| 文件 | tool-description-enable-computer-use.md | tool-description-enable-computer-use-shared-description.md |
| ccVersion | 2.1.284 | 2.1.288 |
| 触发条件 | 用户请求在应用内做事 / 明确要求使用电脑或屏幕 | 上述条件 + 技能/任务步骤需要本机应用 |
| 工具补装语义 | 未明确说明 | 明确:工具缺失时调用即可添加(可能延迟一回合) |
| 应用前提 | 默认形态 | 功能开关(rollout flag)开启时启用 |
shared 变体的 frontmatter 明确标注它是 "Feature-gated variant ... used instead of the standard one when its rollout flag is on"——即当对应功能开关开启时,用它替换标准描述。它把触发范围从"用户显式请求"扩展到"用户委派的任务内部隐含的桌面需求",并把"调用 = 工具注册"的机制写进了描述,是理解该工具行为演进的关键文档。
六、启用后的实战流程:授权 → 分级 → 操作
调用启用工具只是起点。结合 计算机使用技能,启用后的完整桌面操作模型分为四步。
6.1 工具选择层级:先选最快最准的工具
技能文档定义了严格的三级工具选择顺序(tier):
- 应用专属 MCP:如果目标应用已有专属 MCP(Slack、Gmail、Calendar、Linear 等)且已连接,优先使用——API 驱动的工具更快更精准;
- Chrome MCP(
mcp__claude-in-chrome__*):目标是 Web 应用且没有专属 MCP 时,用浏览器工具——DOM 感知,远比"点像素"快;若 Chrome 扩展未连接,应请用户安装扩展而不是降级到 computer use; - Computer use:原生桌面应用(Maps、Notes、Finder、Photos、系统设置及任何第三方原生应用)与跨应用工作流的正确选择——技能文档明确强调:不要因为某个原生应用没有专属 MCP 就拒绝处理它的任务。
同时技能文档提醒:这是"可用性"选择而非"错误处理"——专属 MCP 出错时应调试或报告,而不是默默降级到更慢的层级重试。
6.2 访问授权流(Access flow):先 request_access 再动手
before any computer-use action you must call
request_accesswith the list of applications you need.
每次 computer-use 操作之前,必须先调用request_access并附上所需应用列表,用户会逐个显式批准;如果任务中途发现还需要别的应用,必须再次调用request_access。技能文档特别举例:
- Finder 与普通应用无异:点击桌面、Dock 或 Finder 窗口(包括 Go to Folder)都需要 Finder 授权;
- 菜单栏例外:只要最前端的应用(frontmost app)是你已获授权的应用,操作菜单栏就不需要额外授权。
6.3 分级应用权限(Tiered apps):read / click / full 三档
某些应用按其类别被授予受限层级,层级会显示在批准对话框中,并随request_access响应返回:
| 层级 | 覆盖应用 | 能力限制 |
|---|---|---|
| read | 浏览器(Safari、Chrome、Firefox、Edge、Arc 等) | 截图可见,但点击与键入被拦截;导航、点击、填表改用 claude-in-chrome MCP |
| click | 终端与 IDE(Terminal、iTerm、VS Code、JetBrains 等) | 可见且可左键点击,但键入、按键、右键、修饰键点击、拖放被拦截;shell 命令改用 Bash 工具 |
| full | 其余一切应用 | 无限制 |
层级由**最前端应用检查(frontmost-app check)**强制执行:若 read 级应用在前端,left_click会返回错误;若 click 级应用在前端,type与right_click会返回错误——错误信息会告诉你该应用的层级及替代做法。而open_application在任何层级都可用(把应用带到前端属于 read 级操作)。
6.4 先看后断言(Look before you assert)
技能文档要求:用户询问应用状态(什么开着、什么连着、应用能做什么)时,先截图核实再回答,不要凭记忆断言;若要说"某应用不支持某操作",必须基于刚看到的屏幕证据。此外,list_granted_applications或一次新鲜的screenshot比"错误的断言"成本更低——这正是"先核实再行动"原则的落地。
七、安全边界:链接可疑默认化与金融操作禁区
启用桌面操控后,安全约束随之收紧,技能文档给出了两条硬边界。
7.1 链接安全:可疑默认化(Link safety)
- 绝不用 computer-use 工具点击网页链接:在原生应用(Mail、Messages、PDF 等)中遇到链接,不要
left_click,改用 claude-in-chrome MCP 打开 URL; - 跟进任何链接前先看完整 URL:可见的链接文字可能误导,应悬停或检查真实目的地;
- 来自邮件、消息或未知发件人文档的链接默认可疑:目的地 URL 陌生或可疑时,先向用户确认再继续;
- 即使在 Chrome 扩展内可点击链接,可疑检查依然适用。
7.2 金融操作:禁止代执行交易或转账(Financial actions)
预算与记账类应用(Quicken、YNAB、QuickBooks 等)虽以 full 层级授权,以便归类交易、生成报表、整理财务,但严禁代用户执行交易、下单、汇款或发起转账——此类动作必须始终由用户亲自完成。
八、故障排查:stub 场景与无响应处置
stub 指引 针对"已有 remote-devices 工具"的形态给出了详细的故障处置流程:
- 不要谎报已连接:只有某次工具调用真正成功后,才能告诉用户"你的电脑已连接";
- 调用持续无响应:说明用户电脑上的 Claude 应用没有应答——它可能被关闭或电脑处于休眠状态。应告知用户"请在那台电脑上打开 Claude 应用",并继续在本地能做的事;
- 本会话没有任何此类工具:应告诉用户"你的电脑当前不可用计算机使用功能",并提示Claude 应用内 Settings → This computer → Computer use可能显示原因,然后继续处理本地可完成的工作;
- 不要臆断权限被拒:除非结果明确说明,否则不要说"权限被拒绝"(Don't say a permission was denied unless a result says so)。
九、关联能力全景:从启用到动作的完整工具链
理解启用工具还需知道它"打开"的是怎样的能力集合。仓库中与之配套的描述文档包括:
- Computer Use MCP 技能:工具选择层级、访问授权流、分级应用、链接安全与金融限制的完整操作规范(
mcp__computer-use__*工具集); - computer 工具描述:浏览器内自动化主描述(截图与鼠标键盘交互、按截图确定坐标、光标尖端居中点击等操作技巧)——注意该工具面向 Chrome 浏览器场景,与"用户自己电脑的桌面应用"场景互补但不混同;
- computer action 参数:动作枚举参数,涵盖
left_click、right_click、double_click、triple_click、type、screenshot、wait、scroll、key、left_click_drag、zoom、scroll_to、hover等 13 种动作。
另外,ToolSearch 加载指引 建议:若 computer-use 工具位于延迟加载列表,应一次性批量加载——用单次 ToolSearch 查询{ query: "computer-use", max_results: 30 }(关键词会按服务名子串匹配到全部工具),不要用select:逐个加载(那会一次往返加载一个工具)。
十、要点速览:启用工具的决策清单
| 判断 | 动作 |
|---|---|
工具列表已有mcp__remote-devices__computer_工具 | 直接用,跳过启用;若调用无响应,按 stub 指引排查 |
| 用户在电脑应用中请求做事 / 明确要求使用其电脑或屏幕 | 调用一次,且在一切 computer-use 工具之前 |
| 技能/任务步骤需要本机应用(shared 变体场景) | 同样调用一次 |
| computer-use 工具不在工具列表 | 调用启用工具即可能添加(可能延迟一回合),不要直接断定不可用 |
| 问题可从对话或 web search 回答 | 不调用 |
| 只需浏览器完成的工作 | 走 claude-in-chrome 工具链,不调用 |
| 请求只是"提到"应用 | 不调用 |
| 启用后首次操作应用 | 先request_access列出所需应用,等用户批准 |
| 任务中途需要新应用 | 再次request_access |
| 遇到 read/click 级应用在前端 | 按错误提示改用 claude-in-chrome 或 Bash 工具 |
| 原生应用中遇到链接 / 涉及转账交易 | 不点击链接(改用浏览器 MCP)/ 不代执行金融动作 |
总结:tool-description-enable-computer-use是 Claude Code 桌面自动化能力的"总开关"。它规定了一次性、前置、有边界的启用语义:触发于"用户要在电脑应用里做事",克制于"能靠对话/搜索/浏览器解决";启用之后,配套的访问授权流、应用分级权限、链接安全与金融操作约束共同构成完整的安全操作框架。理解这份工具描述,即掌握了 Claude Code 在用户自有电脑上"看得见、动得了、守得住"的完整机制。
- 文档
- 提示工程
- 人工智能
【免费下载链接】claude-code-system-prompts
All parts of Claude Code's system prompt, 27 builtin tool descriptions, sub agent prompts (Plan/Explore/Task), utility prompts (CLAUDE.md, compact, statusline, magic docs, WebFetch, Bash cmd, security review, agent creation). Updated for each Claude Code version.
相关推荐
Claude Code Haha v0.1.4 桌面端体验优化与 Windows Computer Use 能力补强解析
Claude Code Haha v0.1.4 桌面端体验优化与 Windows Computer Use 能力补强解析 导读 Claude Code Haha
人工智能AI 应用桌面应用代码智能体MCP ClientsClaude Code 的 Computer Use MCP 使用指南:工具选择层级、应用访问权限与安全边界
Claude Code 的 Computer Use MCP 使用指南:工具选择层级、应用访问权限与安全边界 本篇技术指南以 Claude Code 系统提示词
文档提示工程人工智能Claude Code AskUserQuestion 工具深度解析:触发条件、字段体系与 Plan Mode 协作规范
Claude Code AskUserQuestion 工具深度解析:触发条件、字段体系与 Plan Mode 协作规范 Claude Code 的 AskUs
文档提示工程人工智能
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考