Kimi Code CLI 会话与任务管理实战

Kimi Code CLI 会话与任务管理实战

内置工具参考

3 分钟阅读

内置工具

内置工具是 Kimi Code CLI 随核心引擎提供的原生工具集,无需安装 MCP server 即可使用,是AI实现自动化操作的核心能力载体。Agent 在每次对话中会根据任务需要自动选择并调用这些工具,无需用户手动触发;用户可以通过权限审批界面查看每次工具调用的细节、参数和返回结果,全程可控。

与 MCP 工具相比,内置工具由运行时直接管理,生命周期与会话绑定,无需启动外部进程,调用速度更快、稳定性更高。两者都遵循统一的审批机制:只读类工具(如 ReadGrepGlob)默认自动放行,不会修改系统,安全风险低;写入与执行类工具(如 WriteEditBash)默认需要用户审批,避免AI误改文件、执行危险命令。YOLO 模式下普通工具调用的审批会被跳过,但 Plan 模式下的退出审批不受影响,确保规划方案的安全性。

文件类

文件类工具负责读取、写入、搜索本地文件系统,是代码分析和修改任务的基础工具,覆盖绝大多数编码场景的文件操作需求。

工具默认审批说明补充参数说明
Read自动放行读取文本文件内容接受文件路径(path)以及可选的 line_offset(起始行号,支持负数从末尾倒数)和 n_lines(读取行数上限)。单次最多返回 1000 行或 100 KB,超出部分会附带截断提示,AI会自动分页读取剩余内容。如果文件是图片或视频,工具会提示改用 ReadMediaFile,避免返回乱码。
Write需审批创建或覆盖文件接受 pathcontent 和可选的 modeoverwriteappend,默认覆盖)。父目录必须已存在;append 模式将内容追加到文件末尾,不自动添加换行,AI会根据需要自行添加换行符。写入前会自动检查文件是否存在,避免误覆盖。
Edit需审批精确字符串替换接受 pathold_string(要替换的精确文本)和 new_string(替换后的文本)。默认只替换唯一一处匹配,若文件中存在多处相同内容会报错并提示使用 replace_all: trueold_stringnew_string 不能相同,避免无意义的替换。相比Write更安全,只会修改匹配的局部内容,不会覆盖整个文件。
Grep自动放行基于 ripgrep 的全文搜索调用 ripgrep 搜索文件内容,速度极快,支持正则表达式(pattern)、搜索路径(path)、文件类型过滤(type,如 tspy)、glob 过滤(glob)和输出模式(output_modefiles_with_matches / content / count_matches,默认 files_with_matches)。content 模式支持上下文行(-A-B-C)、忽略大小写(-i)、行号(-n,默认 true)、跨行匹配(multiline)。所有模式支持 offset + head_limit 分页,head_limit 默认 250、传 0 表示不限。.env、私钥等敏感文件会被自动过滤,不会返回内容;include_ignored=true 可搜索被 .gitignore 忽略的文件,但敏感文件仍保持过滤,避免泄露敏感信息。
Glob自动放行按 glob 模式查找文件按 glob 模式(pattern)在指定目录(path,默认工作目录)中匹配文件,结果按修改时间倒序排列,最近修改的文件排在前面,最多返回 1000 条。纯通配符模式(如 **)和含花括号扩展({a,b,c})的模式会被拒绝,避免返回过多文件占用token。
ReadMediaFile自动放行读取图片或视频文件将图片或视频以多模态内容发送给模型,仅接受 path,文件大小上限 100 MB。是否可用取决于当前模型的视觉能力(image_in / video_in),普通文本模型会忽略媒体内容。适合让AI分析报错截图、设计稿等场景。

Shell

Shell类工具提供命令行执行能力,是功能最通用、权限要求最严格的工具,默认需要人工审批。

工具默认审批说明补充参数说明
Bash需审批执行 Shell 命令接受参数:
- command(必填):要执行的 Shell 命令
- cwd:工作目录,默认当前会话目录
- timeout:超时时间(毫秒);前台默认 60 秒、最长 5 分钟
- run_in_background:是否以后台任务运行;后台默认 10 分钟超时
- description:后台任务描述,run_in_background=true 时必填
- disable_timeout:后台任务是否取消超时限制,适合长时间运行的任务(如训练模型)

前台模式会阻塞当前轮次,直到命令结束或超时;命令运行期间,TUI 会把 stdout 和 stderr 流式显示在正在运行的 Bash 工具卡片中,可实时查看执行进度。后台模式立即返回任务 ID,任务结束时自动通知 Agent。stdin 始终被关闭,交互式命令(如python、mysql)会立即收到 EOF,无法交互,需要交互式操作请手动在终端执行。两阶段终止策略(SIGTERM → 5 秒宽限期 → SIGKILL)确保超时后进程可靠结束,不会残留僵尸进程。Windows 平台默认使用 Git Bash,支持Linux风格命令。

网络类

网络类工具提供互联网访问能力,支持搜索、抓取网页内容,帮助AI获取最新信息。

工具默认审批说明补充参数说明
WebSearch自动放行网络搜索接受 query(搜索词)和可选的 limit(返回结果数,1–20,默认 5)及 include_content(是否返回网页正文,默认 false)。需要宿主提供搜索实现,官方发行版默认内置搜索能力,自行编译部署时需要配置搜索服务。适合AI查找最新文档、报错解决方案、开源项目信息等场景。
FetchURL自动放行获取指定 URL 的内容接受单个 url 参数,返回页面内容。对 HTML 页面,宿主会自动提取正文而非返回完整 HTML,去除冗余标签和广告,节省token;纯文本或 Markdown 页面直接透传。同样需要宿主注入实现,官方发行版默认支持。适合AI读取开源项目README、文档、技术博客等场景。

Plan 模式

Plan模式专用工具用于控制Plan模式的生命周期,确保规划过程的安全性。

工具默认审批说明补充参数说明
EnterPlanMode自动放行进入 Plan 模式不接受任何参数,进入成功后返回工作流指引及计划文件路径,此时AI仅能写入该计划文件,无法修改其他业务文件,TaskStop工具被完全拦截,其余工具(包括 Bash)仍按当前权限规则处理。
ExitPlanMode自动放行(需用户确认计划)退出 Plan 模式并提交计划读取当前计划文件内容,将计划呈现给用户审批后退出 Plan 模式。可选参数 options 允许 Agent 提供 1–3 个备选方案(每项含 labeldescriptionlabel 最长 80 字符),供用户在审批时选择;label 不能重复,也不能使用 ApproveRejectReject and ExitRevise 等保留词,避免与系统选项冲突。用户确认方案后,AI才会退出Plan模式开始执行。

状态管理

状态管理工具用于维护任务状态,提升多步骤任务的可观测性。

工具默认审批说明补充参数说明
TodoList自动放行管理任务待办列表在多步骤操作中维护一份可见的子任务列表,状态存储在 Agent 会话内,TUI中可实时查看待办进度。todos 参数接受一个数组,每项含 titlestatuspending / in_progress / done);省略 todos 则仅查询当前列表,传入空数组则清空列表。适合复杂任务的进度跟踪,用户可清晰看到当前完成情况。

协作类

协作类工具负责 Agent 间协作、用户交互和 Skill 调用,支持复杂任务的拆分与并行处理。

工具默认审批说明补充参数说明
Agent自动放行派生子 Agent 执行子任务将子任务委托给子 Agent 执行,实现任务拆分与并行处理。必填参数:prompt(完整任务描述)和 description(3–5 个词的简短说明)。可选参数:subagent_type(默认 coder,可指定不同类型的子Agent)、resume(恢复已有 Agent 的 ID,与 subagent_type 互斥)和 run_in_background(默认 false)。Agent 任务使用固定 30 分钟超时。前台模式下父 Agent 等待子 Agent 完成再继续;后台模式立即返回任务 ID,完成时通过合成 User 消息自动回到主 Agent。多个前台 Agent 调用在同一步运行时,TUI 会合并展示,并为每个子 Agent 显示运行、等待、完成或失败状态以及已耗时长。子 Agent 拥有独立的上下文,不会污染主 Agent 的会话,适合复杂任务的模块化处理。子 Agent 体系细节见 Agent 与子 Agent
AgentSwarmswarm mode 中自动放行,否则需审批启动基于 item 的子 Agent,或恢复已有子 Agent可以从共享的 prompt_templateitems 数组启动子 Agent,也可以通过 resume_agent_ids 恢复已有子 Agent,或在一次调用中同时使用两者。模板必须包含 {{item}} 占位符;每个 item 会替换该占位符,并启动一个新的子 Agent。传入 subagent_type 可以指定整个 swarm 中所有新启动的子 Agent 使用的 profile;省略时默认使用 coder。不传 resume_agent_ids 时,本工具要求至少 2 个 item;传入 resume_agent_ids 时,可以恢复 1 个或多个已有子 Agent。本工具最多支持 128 个子 Agent,会等待全部子 Agent 完成,并返回聚合报告。在 TUI 中,前台 swarm 会在输入框上方显示实时 Agent swarm 进度面板,可查看每个子Agent的执行状态。若一次模型响应调用 AgentSwarm,该调用必须是该响应中的唯一工具调用;如需运行多个 swarm,应先调用一个 AgentSwarm 并等待结果,再调用下一个,若单个模板可以覆盖这些工作,也可以合并为一个 swarm。在 manual 权限模式下,未处于 swarm mode 时调用 AgentSwarm 会触发审批,除非已有权限规则允许;swarm mode 已开启时,AgentSwarm 本身会自动放行。权限规则只能按工具名 AgentSwarm 匹配,不支持 AgentSwarm(swarm) 这类参数模式。适合批量处理类场景,如同时修改10个配置文件、批量测试多个接口等。
AskUserQuestion自动放行向用户提问以获取结构化输入以结构化多选题的形式向用户提问,适用于需要消歧或选择方案的场景,避免AI猜侧用户需求。questions 参数接受 1–4 道题,每道题需提供 question(以 ? 结尾)、options(2–4 个选项,每项含 labeldescription)以及可选的 header(最多 12 字符)和 multi_select(默认 false,是否支持多选)。系统自动附加"其他"选项,用户可输入自定义内容。background 为 true 时启动后台问题任务并立即返回任务 ID,用户可稍后回答,不中断当前任务。宿主未实现交互式提问能力时返回失败提示,Agent 应改为在文本回复中直接提问。
Skill自动放行调用已注册的 inline Skill允许 Agent 主动调用已注册的 inline 类型 Skill,复用自定义提示词和工作流。接受 skill(Skill 名称)和可选的 args(附加参数文本)。只有 type = "inline" 的 Skill 能通过此工具调用;disableModelInvocation: true 的 Skill 会被拒绝。嵌套调用深度上限 3 层,避免死循环。Skill 体系细节见 Agent Skills

后台任务

后台任务工具用于管理通过 BashAgentAskUserQuestion 启动的后台任务,无需等待任务完成即可继续其他工作。任务进入终止状态时会自动把状态和末尾输出送回 Agent;如需提前检查进度,使用 TaskOutput

工具默认审批说明补充参数说明
TaskList自动放行列出后台任务返回后台任务列表。可选参数 active_only(默认 true,仅列出运行中的任务)和 limit(默认 20,取值范围 1–100)。可查看所有后台任务的状态、ID、描述、运行时间等信息。
TaskOutput自动放行查看后台任务的输出根据 task_id 返回任务状态与输出。内联预览最多包含最近 32 KB 的内容;完整日志保存在磁盘上,工具会一并返回 output_path 并提示通过 Read 分页读取。可选 block(默认 false,是否等待任务完成后再返回)和 timeout(等待秒数,默认 30,取值范围 0–3600)参数可用于等待任务完成后再返回结果,适合同步等待后台任务执行结果的场景。
TaskStop需审批停止正在运行的后台任务接受 task_id 和可选的 reason(默认 Stopped by TaskStop)。对已处于终止状态的任务也能安全调用,不会报错。需人工审批,避免AI随意停止用户正在运行的重要任务。

定时任务

定时任务工具允许 Agent 把一段 prompt 在未来某个时间重新注入到当前会话——既可以是一次性提醒,也可以是按 cron 周期触发的任务(定期巡检、每日报表、部署监控等)。计划绑定到会话,执行 kimi resume 后仍然有效,但不会带入全新的会话。单个会话最多保留 50 个生效中的定时任务。设置 KIMI_DISABLE_CRON=1 可整体禁用,详见环境变量

工具默认审批说明补充参数说明
CronCreate需审批安排一个在未来时刻触发的 prompt接受 cron(用户本地时区下标准的 5 段 cron 表达式:minute hour day-of-month month day-of-week)、prompt(触发时要注入的文本,UTF-8 上限 8 KB)以及可选的 recurring(默认 true;传 false 表示一次性提醒,触发后自动删除)。成功时返回 8 位 16 进制 id、人类可读的 humanSchedule(如 every 5 minutes)和 nextFireAt(下次触发时间的 ISO 时间戳)。

为避免整批用户在整点同时触发,调度器会做确定性抖动:周期任务向后偏移 min(周期的 10%, 15 分钟);一次性任务若恰好落在 :00:30 则向前提前最多 90 秒,减轻服务压力。如果调度器错过了若干触发时刻(如笔记本合盖),唤醒后只会触发一次,prompt 会包裹在 <cron-fire> 信封里并附带 coalescedCount(合并的触发次数)。周期任务存活超过 7 天后会以 stale="true" 做最后一次触发后自动删除;想继续保留时,再次调用 CronCreate 即可。适合定期巡检、每日自动构建、定时备份等场景。
CronList自动放行列出已安排的定时任务是只读工具,不接受任何参数。为每个生效中的任务返回一条记录,字段包括 idcronhumanSchedulenextFireAtrecurringageDaysstale。记录用 --- 分隔,按调度时间排列,可查看所有定时任务的执行计划。
CronDelete需审批取消已安排的定时任务只接受一个 id。对周期任务,未来所有触发立即停止;对一次性任务,挂起的那次触发会被取消。已触发的一次性任务会自动删除,因此对已触发过的一次性任务调用 CronDelete 会返回 No cron job with id ...。删除不可撤销,需要还原时只能再次 CronCreateCronDelete 在 Plan 模式下同样会被拦截,避免定时任务在Plan模式下修改文件。

博极客AI是专业人工智能学习平台,提供通俗易懂的AI入门教程、大模型应用、实战项目与行业动态,全站内容免费阅览,零基础也能轻松学AI,适配学生、职场新人及技术爱好者。

© 版权所有 2026 博极客AI,保留一切权利。 | 桂ICP备2026007205号 | 桂公网安备45010502001169号