)
文档提示工程人工智能【免费下载链接】claude-code-system-promptsAll parts of Claude Codes 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.项目地址https://gitcode.com/gh_mirrors/cl/claude-code-system-prompts点击查看免费下载本文围绕 Data: Interrupt send_now message_uuid parameter 这一内部 schema 说明展开逐句拆解message_uuid参数在 interrupt 控制请求中的读取条件、精确字符串匹配规则、nothing_waiting应答的触发边界以及请求生效后的实际行为。读完你能理解 Claude Code 客户端协议中Send now立即发送如何被定位到一条具体的用户消息、哪些情况下请求会被判定为无效以及如何与cancel_queued、still_queued、cancelled等相邻字段正确配合。一、参数定位只有伴随 send_now:true 才被读取该文档源自 Claude Code v2.1.287 的内部 schema 描述标注为internal开篇即给出了最重要的前置条件Read only besidesend_now:true也就是说message_uuid只在 interrupt 请求同时携带send_now: true时才会被读取。它承载的语义是用户在某条等待中的用户消息上按下 Send now 时该消息的 uuid——以这条消息到达 CLI 时的原始形态a session service may deliver it in lower case会话服务可能以小写形式投递它为准。这个参数存在的目的是把send_now的作用范围从所有等待中的用户消息收窄到用户实际按下的那一条。这一点在姊妹文档 Data: Interrupt send_now parameter 中有对应说明不带message_uuid时every waiting user message counts, which may be another than the one pressed所有等待中的用户消息都算数可能按到的根本不是用户按的那条。message_uuid正是为了消除这种歧义而设计。理解这个参数的前提是理解send_now本身是什么它是客户端对一条等待消息的 Send now 操作要求等待中的消息立即到达模型但它不是 Stop——不会让后续 turn 以 aborted 方式启动、不取消任何已入队内容、也不会结束后台任务与订阅。该文档所在仓库整体收录了 Claude Code 各版本从 npm 包编译产物中提取的系统提示与内嵌数据字符串本仓库 README 说明其提取自最新 npm 版本因此该 schema 描述是客户端真实使用的协议契约文本而非设计文档。二、匹配规则与 cancel_async_message 一致的精确字符串比较文档明确规定了匹配方式it is compared as an exact string, ascancel_async_messagecompares即message_uuid是逐字符精确字符串比较与 CLI 的cancel_async_message请求所用的比较方式完全一致。这带来两个工程要点大小写敏感。文档特别提示a session service may deliver it in lower case——会话服务层可能会把 uuid 以小写形式投递。若你的宿主host把 uuid 规范化成了大写或反之而 CLI 内部记录的是小写形态精确比较就会失配请求将被当作CLI 不认识这个 uuid处理见下一节的 no-op 语义。因此正确做法是原样保存并回传 CLI/会话服务实际使用的 uuid 形态不要自行做大小写转换。没有模糊匹配兜底。前缀匹配、忽略大小写匹配都不存在。这保证了行为完全可预测要么精确命中那一条消息要么整条请求落空。三、nothing_waiting请求被判定无效的四种边界message_uuid生效后等待集合被收窄为只有这一条消息算 waitingWith it only that message counts as waiting。但即使带了名字以下任一情况成立时无论还有多少其他消息在等待whatever else waits请求都不产生任何动作应答为nothing_waiting条件含义运行中的 turn 已经把它取走already taken it in该消息已作为当前 turn 的输入被消化正在被回答运行中的 turn 就是为它而启动的was started for it当前 turn 正是由这条消息触发的CLI 不认识它does not know ituuid 未在 CLI 的记录中找到如大小写形态不符、消息已清理CLI 不把它算作人的消息does not count it as a persons该条目不是人类用户的消息不在 waiting 判定范围内这与 Data: Interrupt send_now parameter 中被当前 turn 取走或作为其启动输入的消息正在被回答的 no-op 语义完全一致message_uuid版本只是把是否有等待消息这一判定替换成了指定的这一条是否处于等待。对实现方而言nothing_waiting是一个确定性信号它不代表队列空了只代表你点名的那条此刻不处于可加速的等待状态。此时合理的跟进动作来自 send_now 文档是若消息其实还没到 CLI发送方应先把消息投递出去或以 prioritynow发送或退化为发送一个普通 interrupt。四、请求生效后与不带名字的行为完全一致文档给出了关键的一致性保证Once the request acts, it acts as without the name: everything queued decides between the move to the background and the abort, and goes along with the named message.一旦请求通过了点名消息确实等待中的判定并开始动作它的行为与不带message_uuid的 send_now 完全相同CLI 决定当前运行中 turn 如何让路——要么把该 turn 正在等待的东西移入后台move to the background让 turn 立即取入这条消息要么像普通 interrupt 一样直接中止该 turnrunning tools are ended, the interruption marker is written, the result is anerror_during_execution。两种走法的选择依据响应中的send_now字段。命名消息不是单独插队它带着队列里的一切一起走goes along with the named message——排在它前面的已入队内容仍然先于它运行其余排队消息的命运移入后台或被中止与整批决定绑定。发送方从turn 的 result得知该 turn 已结束而不是从 send_now 请求的响应本身。message_uuid改变的唯一一件事是谁有资格让请求生效只认点名那条而不改变生效后的执行路径。这个设计让两种形态可以共享同一套执行逻辑降低了协议实现面。五、取值归一化空串、null 与非字符串文档最后一段定义了三个容易出错的取值边界空字符串按未命名读取An empty string is read as no name——等价于未传message_uuid所有等待消息都算数null同样按未命名读取——虽然本 schema 并不允许 null但an encoder may write编码器可能写出 null因此实现必须容忍这一畸形输入并降级为空串语义任何其它非字符串值 点名失败any other value that is no string names nothing——例如数字、对象等一律视为没有指定任何消息请求按 nothing_waiting 的边界处理。这三条共同构成一个稳健的归一化规则字符串 → 参与精确匹配空串/null → 视为未命名宽行为所有等待消息生效其他类型 → 视为未点名窄行为什么都不点名。六、与相邻 interrupt 参数的协同与辨析message_uuid不是孤立字段放在完整的 interrupt 请求矩阵中理解才不容易出错与cancel_queued的互斥语义按 Data: Interrupt send_now parameterwithcancel_queued:truethe request is a Stop——cancel_queued为 true 时整个请求升级为 Stop 语义中止运行 turn 并取消所有 uuid 标记的主线程排队命令见 Data: Interrupt cancel queued parameter。只有布尔true值算数。因此带message_uuid的 send_now 与 Stop 是两条正交路径前者加速投递、不中止后者全面停止。与收据字段的关系interrupt 的响应收据会列出still_queued本次中断后仍会运行的异步用户消息 uuid含 first-command prewait 窗口的 latch 语义见 Data: Interrupt receipt still queued field与cancelled被本次取消的 uuid见 Data: Interrupt receipt cancelled field。send_now 请求本身不是 abort 路径不会走cancel_queued的取消腿但理解这些字段有助于你在同一会话中区分加速与停止两类控制请求的后果。与worker_epoch的叠加服务自发service-sent的中断可能携带worker_epoch以绑定单一 worker 生命周期且在所有其他成员之前被读取见 Data: Interrupt worker epoch parameter。它不会改写message_uuid的语义但提醒我们interrupt 请求的成员是逐个独立生效的——worker_epoch拒绝stale_worker_epoch/invalid_worker_epoch发生在任何其他成员被处理之前。能力发现capability negotiationsend_now本身由 system/init 上的interrupt_send_now_v1能力位宣告a CLI without it handles the request as a plain interrupt不具备该能力的 CLI 会把它当普通 interrupt 处理。因此健壮的实现应先检查能力位再发送带message_uuid的 send_now 请求。排队计数的交叉验证会话侧可用 query result 的 pending command count 观察还有多少用户发送在排队等待 turn见 Data: Query result pending command count作为判断目标消息是否仍处于等待态的辅助信号——该计数统计的是待处理的发送sends而非剩余结果数且系统生成的队列条目不计入。七、实现与调用方清单综合本文档全文调用方thin client、会话服务中继在构造带message_uuid的 send_now 请求时应满足仅在send_now: true同发时携带message_uuid原样回传消息到达 CLI 时的 uuid 字符串注意小写投递场景绝不做大小写或格式改写接受nothing_waiting作为点名消息当前不可加速的确定应答并理解它不意味着队列为空容忍与null的未命名降级拒绝/忽略其他类型的值不依赖 send_now 响应来获知 turn 终局——以 turn 的 result 为准确认目标 CLI 支持interrupt_send_now_v1否则按普通 interrupt 处理该请求。八、适用前提与版本边界本文依据的 schema 文本来自 system-prompts/data-interrupt-send-now-message-uuid-parameter.md其 front matter 标注ccVersion: 2.1.287仓库整体快照截至 Claude Code v2.1.292见 README相邻 interrupt 参数文档的版本介于 2.1.219–2.1.292 之间。引用具体行为时应以对应文档标注的版本为适用前提。该文档以internal标注属于 Claude Code 内部控制协议的 schema 描述面向的是驱动会话的客户端/中继实现而非终端用户的操作指南。本文所有语义均逐句对应原文档及仓库内已列出的相邻文档未引入仓库之外的实现细节对CLI 如何内部选择后台化与中止等未在该文档展开的内部机制建议以 Data: Interrupt send_now parameter 与 Data: Interrupt receipt still queued field 的对应描述为准。赞分享文档提示工程人工智能【免费下载链接】claude-code-system-promptsAll parts of Claude Codes 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.项目地址https://gitcode.com/gh_mirrors/cl/claude-code-system-prompts点击查看免费下载相关推荐Claude Code interrupt 协议详解cancel_queued 参数与排队命令的取消语义Claude Code interrupt 协议详解cancel_queued 参数与排队命令的取消语义 本篇文章基于开源仓库 claude code sys文档提示工程人工智能claude-code-system-prompts 精读Provider context 系统提醒与 Claude Code 第三方 Provider 会话的功能差异claude code system prompts 精读Provider context 系统提醒与 Claude Code 第三方 Provider 会话文档提示工程人工智能Claude Code 配置指南基于运行构建、内置参考与官方文档的准确查询方法claude-code-system-promptsClaude Code 配置指南基于运行构建、内置参考与官方文档的准确查询方法claude code system prompts 导读 Claude C文档提示工程人工智能上一篇抖音批量下载器架构解析与实践指南下一篇3分钟搞定抖音批量下载douyin-downloader完整使用指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考