Files
system-prompts-and-models-o…/Cursor Prompts/Agent Tools v1.0.json
Codex CLI ea12d19914 feat(chinese): 新增 Xcode、Kiro、Claude Code 提示词
- 新增文件总数: 86 个
- 主要目录: Xcode、Kiro、Claude Code、Amp、Anthropic、Augment Code、Cluely、CodeBuddy、Comet Assistant、Cursor Prompts、Devin AI、Emergent、Junie、Leap.new、Lovable、NotionAi、Open Source prompts(Codex CLI、Gemini CLI、Lumo)、Orchids.app、Perplexity、Poke、Qoder、Replit、Same.dev、Trae、Traycer AI、VSCode Agent、Warp.dev、Windsurf、Z.ai Code、dia、v0 Prompts and Tools
- 示例: Xcode/System.txt、Kiro/Mode_Clasifier_Prompt.txt、Claude Code/claude-code-system-prompt.txt

变更仅包含新增提示词与工具文件,不含已修改项。
2025-10-20 10:51:10 +08:00

328 lines
22 KiB
JSON
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
[
{
"description": "查找代码库中与搜索查询最相关的代码片段。\n这是一个语义搜索工具因此查询应该要求在语义上匹配所需的内容。\n如果仅在特定目录中进行搜索有意义请在 target_directories 字段中指定它们。\n除非有明确的理由使用您自己的搜索查询否则请直接重用用户带有其措辞的精确查询。\n他们精确的措辞/措辞通常有助于语义搜索查询。保持相同的精确问题格式也可能有所帮助。",
"name": "codebase_search",
"parameters": {
"properties": {
"explanation": {
"description": "关于为何使用此工具以及它如何有助于目标的一句话解释。",
"type": "string"
},
"query": {
"description": "用于查找相关代码的搜索查询。除非有明确的理由不这样做,否则您应该重用用户精确的查询/最近的消息,并保留其措辞。",
"type": "string"
},
"target_directories": {
"description": "要搜索的目录的 Glob 模式",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"query"
],
"type": "object"
}
},
{
"description": "读取文件的内容。此工具调用的输出将是文件中从 start_line_one_indexed 到 end_line_one_indexed_inclusive包含的 1-索引行内容,以及 start_line_one_indexed 和 end_line_one_indexed_inclusive 之外的行的摘要。\n请注意此调用一次最多可以查看 250 行,最少 200 行。\n\n使用此工具收集信息时您有责任确保您拥有**完整的上下文**。具体来说,每次调用此命令时,您应该:\n1) 评估您查看的内容是否足以继续您的任务。\n2) 记下未显示的行。\n3) 如果您查看的文件内容不足,并且您怀疑它们可能在未显示的行中,请**主动**再次调用该工具以查看这些行。\n4) 如果不确定,请再次调用此工具以收集更多信息。请记住,部分文件视图可能会遗漏关键的依赖项、导入或功能。\n\n在某些情况下如果读取一系列行不够您可以选择读取整个文件。\n读取整个文件通常是浪费且缓慢的特别是对于大文件即数百行以上。因此您应该**谨慎**使用此选项。\n在大多数情况下不允许读取整个文件。**仅当文件已被用户编辑或手动附加到对话中时,才允许您读取整个文件**。",
"name": "read_file",
"parameters": {
"properties": {
"end_line_one_indexed_inclusive": {
"description": "结束读取的 1-索引行号(包含)。",
"type": "integer"
},
"explanation": {
"description": "关于为何使用此工具以及它如何有助于目标的一句话解释。",
"type": "string"
},
"should_read_entire_file": {
"description": "是否读取整个文件。默认为 false。",
"type": "boolean"
},
"start_line_one_indexed": {
"description": "开始读取的 1-索引行号(包含)。",
"type": "integer"
},
"target_file": {
"description": "要读取的文件的路径。您可以使用工作区中的相对路径或绝对路径。如果提供绝对路径,它将保持不变。",
"type": "string"
}
},
"required": [
"target_file",
"should_read_entire_file",
"start_line_one_indexed",
"end_line_one_indexed_inclusive"
],
"type": "object"
}
},
{
"description": "**提议**一个代表用户运行的命令。\n如果您拥有此工具请注意您**确实**有能力直接在用户的系统上运行命令。\n请注意用户必须批准命令才能执行。\n用户可能会拒绝它或者在批准之前修改命令。如果他们确实进行了更改请将这些更改考虑在内。\n在用户批准之前实际命令**不会**执行。用户可能不会立即批准。**不要**假设命令已开始运行。\n如果步骤正在**等待**用户批准,则它**尚未**开始运行。\n使用这些工具时请遵守以下准则\n1. 根据对话的内容,您将被告知您是否与上一步在同一个 shell 中或在不同的 shell 中。\n2. 如果在新的 shell 中,除了运行命令之外,您还应该 `cd` 到适当的目录并进行必要的设置。\n3. 如果在同一个 shell 中,请**查看聊天记录**以了解您当前的工作目录。\n4. 对于**任何**需要用户交互的命令,请**假定用户无法进行交互**并**传递非交互式标志**(例如 `npx` 的 `--yes`)。\n5. 如果命令使用分页器,请将 ` | cat` 附加到命令后。\n6. 对于长时间运行/预计无限期运行直到中断的命令,请在后台运行它们。要在后台运行作业,请将 `is_background` 设置为 `true`,而不是更改命令的详细信息。\n7. 命令中不要包含任何换行符。",
"name": "run_terminal_cmd",
"parameters": {
"properties": {
"command": {
"description": "要执行的终端命令",
"type": "string"
},
"explanation": {
"description": "关于为何需要运行此命令以及它如何有助于目标的一句话解释。",
"type": "string"
},
"is_background": {
"description": "命令是否应在后台运行",
"type": "boolean"
}
},
"required": [
"command",
"is_background"
],
"type": "object"
}
},
{
"description": "列出目录的内容。在进行语义搜索或文件读取等更有针对性的工具之前,用于发现的快速工具。有助于在深入研究特定文件之前尝试了解文件结构。可用于探索代码库。",
"name": "list_dir",
"parameters": {
"properties": {
"explanation": {
"description": "关于为何使用此工具以及它如何有助于目标的一句话解释。",
"type": "string"
},
"relative_workspace_path": {
"description": "相对于工作区根目录,要列出内容的路径。",
"type": "string"
}
},
"required": [
"relative_workspace_path"
],
"type": "object"
}
},
{
"description": "### 说明:\n这最适合查找精确的文本匹配或正则表达式模式。\n当我们知道要在某些目录/文件类型中搜索的精确符号/函数名称/等时,它比语义搜索更受欢迎。\n\n使用此工具可以使用 `ripgrep` 引擎对文本文件运行快速、精确的正则表达式搜索。\n为避免输出过多结果最多限制为 50 个匹配项。\n使用包含或排除模式按文件类型或特定路径过滤搜索范围。\n\n- 始终转义特殊的正则表达式字符:` ( ) [ ] { } + * ? ^ $ | . \\`\n- 当这些字符出现在搜索字符串中时,请使用 `\\` 对其进行转义。\n- **不要**执行模糊或语义匹配。\n- 仅返回有效的正则表达式模式字符串。\n\n### 示例:\n| 字面值               | 正则表达式模式            |\n|-----------------------|--------------------------|\n| function(             | function\\(              |\n| value[index]          | value\\[index\\]         |\n| file.txt               | file\\.txt                |\n| user|admin            | user\\|admin             |\n| path\\to\\file         | path\\\\to\\\\file        |\n| hello world           | hello world              |\n| foo\\(bar\\)          | foo\\\\(bar\\\\)         |",
"name": "grep_search",
"parameters": {
"properties": {
"case_sensitive": {
"description": "搜索是否应区分大小写",
"type": "boolean"
},
"exclude_pattern": {
"description": "要排除的文件的 Glob 模式",
"type": "string"
},
"explanation": {
"description": "关于为何使用此工具以及它如何有助于目标的一句话解释。",
"type": "string"
},
"include_pattern": {
"description": "要包含的文件的 Glob 模式例如TypeScript 文件的 '*.ts'",
"type": "string"
},
"query": {
"description": "要搜索的正则表达式模式",
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
}
},
{
"description": "使用此工具提议对现有文件进行编辑或创建新文件。\n\n这将由一个不太智能的模型读取该模型将快速应用编辑。您应该清楚地说明编辑内容同时最大限度地减少您编写的未更改代码。\n在编写编辑时您应该按顺序指定每个编辑并使用特殊注释 `// ... existing code ...` 来表示编辑行之间的未更改代码。\n\n例如\n\n```\n// ... existing code ...\nFIRST_EDIT\n// ... existing code ...\nSECOND_EDIT\n// ... existing code ...\nTHIRD_EDIT\n// ... existing code ...\n```\n\n您仍应倾向于重复尽可能少的原始文件行来传达更改。\n但是每个编辑都应包含您正在编辑的代码周围足够的未更改行的上下文以解决歧义。\n**不要**在不使用 `// ... existing code ...` 注释来指示其缺失的情况下省略预先存在的代码(或注释)跨度。如果您省略现有代码注释,模型可能会意外删除这些行。\n确保清楚地说明编辑应该是什么以及应该在哪里应用它。\n要创建新文件只需在 `code_edit` 字段中指定文件的内容即可。\n\n您应该在其他参数之前指定以下参数`[target_file]`\n\n**始终**在单个 `edit_file` 中对文件进行所有编辑,而不是对同一文件进行多次 `edit_file` 调用。应用模型可以一次处理许多不同的编辑。编辑多个文件时,**始终**并行进行 `edit_file` 调用。",
"name": "edit_file",
"parameters": {
"properties": {
"code_edit": {
"description": "**仅**指定您希望编辑的精确代码行。**切勿**指定或写出未更改的代码。相反,使用您正在编辑的语言的注释来表示所有未更改的代码 - 示例:`// ... existing code ...`",
"type": "string"
},
"instructions": {
"description": "描述您将要对草图编辑执行的操作的一句话说明。这用于帮助不太智能的模型应用编辑。请使用第一人称描述您将要做的事情。不要重复您之前在普通消息中说过的话。并用它来消除编辑中的不确定性。",
"type": "string"
},
"target_file": {
"description": "要修改的目标文件。始终将目标文件指定为第一个参数。您可以使用工作区中的相对路径或绝对路径。如果提供绝对路径,它将保持不变。",
"type": "string"
}
},
"required": [
"target_file",
"instructions",
"code_edit"
],
"type": "object"
}
},
{
"description": "使用此工具提议对现有文件执行搜索和替换操作。\n\n该工具将在指定文件中用 `new_string` 替换 `old_string` 的**一次**出现。\n\n使用此工具的**关键要求**\n\n1. **唯一性**`old_string` **必须**唯一标识您要更改的特定实例。这意味着:\n   - 在更改点**之前**至少包含 3-5 行上下文\n   - 在更改点**之后**至少包含 3-5 行上下文\n   - 准确包含文件中出现的所有空格、缩进和周围代码\n\n2. **单个实例**:此工具一次只能更改**一个**实例。如果您需要更改多个实例:\n   - 为每个实例分别调用此工具\n   - 每次调用都必须使用广泛的上下文唯一标识其特定实例\n\n3. **验证**:在使用此工具之前:\n   - 如果存在多个实例,请收集足够的上下文以唯一标识每个实例\n   - 计划对每个实例进行单独的工具调用\n",
"name": "search_replace",
"parameters": {
"properties": {
"file_path": {
"description": "您要在其中搜索和替换的文件的路径。您可以使用工作区中的相对路径或绝对路径。如果提供绝对路径,它将保持不变。",
"type": "string"
},
"new_string": {
"description": "替换 `old_string` 的编辑后的文本(必须与 `old_string` 不同)",
"type": "string"
},
"old_string": {
"description": "要替换的文本(在文件中必须是唯一的,并且必须与文件内容完全匹配,包括所有空格和缩进)",
"type": "string"
}
},
"required": [
"file_path",
"old_string",
"new_string"
],
"type": "object"
}
},
{
"description": "基于与文件路径的模糊匹配的快速文件搜索。如果您知道文件路径的一部分但不知道它的确切位置,请使用此选项。响应将限制为 10 个结果。如果需要进一步过滤结果,请使您的查询更具体。",
"name": "file_search",
"parameters": {
"properties": {
"explanation": {
"description": "关于为何使用此工具以及它如何有助于目标的一句话解释。",
"type": "string"
},
"query": {
"description": "要搜索的模糊文件名",
"type": "string"
}
},
"required": [
"query",
"explanation"
],
"type": "object"
}
},
{
"description": "删除指定路径的文件。在以下情况下,操作将优雅地失败:\n    - 文件不存在\n    - 操作因安全原因被拒绝\n    - 文件无法删除",
"name": "delete_file",
"parameters": {
"properties": {
"explanation": {
"description": "关于为何使用此工具以及它如何有助于目标的一句话解释。",
"type": "string"
},
"target_file": {
"description": "要删除的文件的路径,相对于工作区根目录。",
"type": "string"
}
},
"required": [
"target_file"
],
"type": "object"
}
},
{
"description": "调用一个更智能的模型来应用对指定文件的上次编辑。\n**仅当**差异与您预期的不符时,才在 `edit_file` 工具调用结果之后立即使用此工具,这表明应用更改的模型不够智能,无法遵循您的指示。",
"name": "reapply",
"parameters": {
"properties": {
"target_file": {
"description": "要重新应用上次编辑的文件的相对路径。您可以使用工作区中的相对路径或绝对路径。如果提供绝对路径,它将保持不变。",
"type": "string"
}
},
"required": [
"target_file"
],
"type": "object"
}
},
{
"description": "搜索网络以获取有关任何主题的实时信息。当您需要训练数据中可能不可用的最新信息或需要验证当前事实时,请使用此工具。搜索结果将包括来自网页的相关摘要和 URL。这对于有关时事、技术更新或任何需要最新信息的主题的问题特别有用。",
"name": "web_search",
"parameters": {
"properties": {
"explanation": {
"description": "关于为何使用此工具以及它如何有助于目标的一句话解释。",
"type": "string"
},
"search_term": {
"description": "要在网络上查找的搜索词。要具体并包含相关的关键字以获得更好的结果。对于技术查询,如果相关,请包含版本号或日期。",
"type": "string"
}
},
"required": [
"search_term"
],
"type": "object"
}
},
{
"description": "创建将在聊天 UI 中呈现的 Mermaid 图。通过 `content` 提供原始 Mermaid DSL 字符串。\n使用 `<br/>` 进行换行,始终将图表文本/标签用双引号括起来,不要使用自定义颜色,不要使用 `:::`,也不要使用测试版功能。\n图表将预先渲染以验证语法 - 如果存在任何 Mermaid 语法错误,它们将在响应中返回,以便您可以修复它们。",
"name": "create_diagram",
"parameters": {
"properties": {
"content": {
"description": "原始 Mermaid 图表定义(例如,'graph TD; A-->B;')。",
"type": "string"
}
},
"required": [
"content"
],
"type": "object"
}
},
{
"description": "使用此工具编辑 jupyter notebook 单元格。**仅**使用此工具编辑 notebook。\n\n此工具支持编辑现有单元格和创建新单元格\n\t- 如果您需要编辑现有单元格,请将 `is_new_cell` 设置为 `false` 并提供 `old_string` 和 `new_string`。\n\t\t-- 该工具将在指定单元格中用 `new_string` 替换 `old_string` 的**一次**出现。\n\t- 如果您需要创建新单元格,请将 `is_new_cell` 设置为 `true` 并提供 `new_string`(并保持 `old_string` 为空)。\n\t- **至关重要**的是,您正确设置 `is_new_cell` 标志!\n\t- 此工具**不**支持单元格删除,但您可以通过将空字符串作为 `new_string` 传递来删除单元格的内容。\n\n其他要求\n\t- 单元格索引是 0-based。\n\t- `old_string` 和 `new_string` 应该是有效的单元格内容,即**不带** notebook 文件在底层使用的任何 JSON 语法。\n\t- `old_string` **必须**唯一标识您要更改的特定实例。这意味着:\n\t\t-- 在更改点**之前**至少包含 3-5 行上下文\n\t\t-- 在更改点**之后**至少包含 3-5 行上下文\n\t- 此工具一次只能更改**一个**实例。如果您需要更改多个实例:\n\t\t-- 为每个实例分别调用此工具\n\t\t-- 每次调用都必须使用广泛的上下文唯一标识其特定实例\n\t- 此工具可能会将 markdown 单元格保存为“raw”单元格。不要尝试更改它这没关系。我们需要它来正确显示差异。\n\t- 如果您需要创建新的 notebook只需将 `is_new_cell` 设置为 `true` 并将 `cell_idx` 设置为 `0`。\n\t- **始终**按以下顺序生成参数:`target_notebook`、`cell_idx`、`is_new_cell`、`cell_language`、`old_string`、`new_string`。\n\t- 优先编辑现有单元格而不是创建新单元格!\n",
"name": "edit_notebook",
"parameters": {
"properties": {
"cell_idx": {
"description": "要编辑的单元格的索引0-based",
"type": "number"
},
"cell_language": {
"description": "要编辑的单元格的语言。应该**严格**是以下之一:'python'、'markdown'、'javascript'、'typescript'、'r'、'sql'、'shell'、'raw' 或 'other'。",
"type": "string"
},
"is_new_cell": {
"description": "如果为 true将在指定的单元格索引处创建一个新单元格。如果为 false将编辑指定单元格索引处的单元格。",
"type": "boolean"
},
"new_string": {
"description": "替换 `old_string` 的编辑后的文本或新单元格的内容。",
"type": "string"
},
"old_string": {
"description": "要替换的文本(在单元格中必须是唯一的,并且必须与单元格内容完全匹配,包括所有空格和缩进)。",
"type": "string"
},
"target_notebook": {
"description": "您要编辑的 notebook 文件的路径。您可以使用工作区中的相对路径或绝对路径。如果提供绝对路径,它将保持不变。",
"type": "string"
}
},
"required": [
"target_notebook",
"cell_idx",
"is_new_cell",
"cell_language",
"old_string",
"new_string"
],
"type": "object"
}
}
]