新闻详情

新闻详情

首页 / 资讯中心 / 详情

Open Interpreter 的 kimi-cli 线束:拆解「Kimi Code CLI」系统提示词模板与其运行时注入机制

发布时间:2026/9/5 16:23:41来源:尧图网络
Open Interpreter 的 kimi-cli 线束:拆解「Kimi Code CLI」系统提示词模板与其运行时注入机制
Open Interpreter 的 kimi-cli 线束拆解「Kimi Code CLI」系统提示词模板与其运行时注入机制【免费下载链接】openinterpreterA coding agent for open models like Kimi K3项目地址: https://gitcode.com/GitHub_Trending/op/openinterpreter本文以codex-rs/core/src/harness/kimi_cli_prompt.md这一系统提示词模板为核心完整解析 Open Interpreter 中kimi-cli线束harness如何定义模型角色、约束工具调用行为、注入工作环境与AGENTS.md/技能上下文并结合 kimi_cli.rs 的源码说明每个模板变量背后的真实填充逻辑与请求组装细节。读完后你既能读懂这份提示词的每一节设计意图也能理解它在 Chat Completions 线路上是如何被渲染、缓存和压缩的。1. kimi-cli 线束在项目中的位置Open Interpreter 的「线束模式」是一种运行时附加层它改变面向模型的提示词、工具 schema、消息转换与响应处理但工具调用仍由原生 Rust 运行时执行而不是 shell 出去调用外部 Agent 可执行文件。这一机制的总览见 docs/harness.md。在全部线束中kimi-cli的定位是遗留 Python Kimi CLI 的兼容画像它使用 Chat Completions 兼容请求附带旧版 Kimi CLI 风格的系统提示词、工作目录列表、AGENTS.md加载、Kimi 技能发现、prompt 缓存键、推理强度映射与 Kimi 工具 schema。官方文档的建议是只有当确实需要兼容已退役的 Python CLI 画像时才保留该模式新的 Kimi 会话应使用kimi-code。配置方式摘自 docs/harness.mdharness kimi-cli harness_guidance true单次运行也可以内联指定interpreter -c harnesskimi-cli solve this taskkimi-cli的配套工具处理器包括 Shell、ReadFile、WriteFile、StrReplaceFile、Glob、Grep、ReadMediaFile、SearchWeb、FetchUrl、SetTodoList、计划模式控制、后台任务 list/output/stop、AskUserQuestion 和 Agent。路由是严格的从 routing.rs 可以看到wire_api chat搭配kimi-cli会被解析为ChatHarnessRoute::KimiCliharness 原生聊天路由而wire_api messages搭配kimi-cli会直接报错wire_api messages is not supported by harness kimi-cli。因此该模式只能跑在 Chat Completions 兼容线路上。模板本身通过编译期内嵌进入二进制// codex-rs/core/src/harness/kimi_cli.rs第 29-30 行 const KIMI_CLI_DEFAULT_MAX_TOKENS: u32 32_000; const KIMI_CLI_SYSTEM_PROMPT_TEMPLATE: str include_str!(kimi_cli_prompt.md);2. 模板结构总览变量与条件块kimi_cli_prompt.md 不是一段静态文本而是一个带占位符的模板。运行时的build_system_prompt函数kimi_cli.rs 第 128-185 行按以下顺序处理它先用render_conditional_block处理两个条件块见下表再做${VAR}逐个字符串替换最后若会话历史中存在developer角色指令追加一段# Additional Developer Instructions。模板变量与填充来源对照模板变量填充来源源码位置说明${ROLE_ADDITIONAL}role_additional(session_source)子代理会话时插入一段「你是父级 Kimi Code CLI 对话派生的子代理」的限定文本否则为空串${KIMI_OS}current_kimi_os()输出macOS/Windows/Linux等${KIMI_SHELL}kimi_shell()Windows 下为powershell (\powershell.exe)其他平台为bash (/bin/bash)${KIMI_NOW}current_kimi_now()RFC3339 微秒精度本地时间若设置了环境变量OPENINTERPRETER_TEST_TIME则使用该假时间便于确定性测试${KIMI_WORK_DIR}prompt.cwd工作目录缺省为.${KIMI_WORK_DIR_LS}cached_work_dir_listing()两级目录树形列表按会话ID:目录缓存${KIMI_AGENTS_MD}load_kimi_agents_md()从项目根到工作目录逐级合并的AGENTS.md内容${KIMI_SKILLS}render_kimi_skills()按作用域分组渲染的技能清单${KIMI_ADDITIONAL_DIRS_INFO}当前固定为空串附加工作区目录信息位条件块随之被移除条件块共两处均通过render_conditional_block第 1299-1330 行按起始/结束标记匹配并整体保留或删去{% if KIMI_OS Windows %}非 Windows 平台整块删除{% if KIMI_ADDITIONAL_DIRS_INFO %}当前实现恒为 false整块删除。3. 提示词正文逐节解析3.1 角色定义从「问答者」到「行动者」模板开头将模型定义为Kimi Code CLI, an interactive general AI agent running on a users computer并确立核心行为准则通过工具在用户系统上制造真实变更而不是在文本里描述方案。关键规则包括简单问候/不涉及工作目录或网络的提问可以直接回答其余情况默认走工具当一个请求既可以理解为提问也可以理解为任务时一律按任务处理涉及创建、修改、运行代码时必须用WriteFile、Shell等工具落盘——「只出现在文本回复中的代码不会被保存到文件系统也不会生效」调用工具时不要附加解释工具调用应自解释回复语言必须与用户语言保持一致。${ROLE_ADDITIONAL}注入的子代理限定文本见 kimi_cli.rs 第 916-925 行要求子代理聚焦被指派的子任务、保持回复简洁、且不要假设能直接访问人类用户——这对应模板中关于Agent工具的委派规则新建子代理看不到父级上下文委派时必须携带完整 prompt若已有子代理握有相关上下文优先用agent_id恢复而不是新建默认前台执行仅在「对话需要先继续、且下一步不立即依赖结果」时才设run_in_backgroundtrue。3.2 工具编排规则并行调用与系统标签模板对工具编排有三条强约束并行调用单次响应可输出任意数量的工具调用若预判多个调用互不干扰强烈建议并行发出「这对你的性能非常重要」system标签系统可能把补充上下文包在system标签里插入用户或工具消息模型应将其纳入下一步决策——这与运行时对工具输出的包装方式呼应见第 7 节失败输出会被包成systemERROR: .../systemsystem-reminder标签与system不同这是权威系统指令必须遵守可以覆盖或约束正常行为例如在计划模式下限制为只读操作且与其所在的那条工具结果/用户消息没有直接语义关系。3.3 后台 Bash 与任务管理模板第 23 行是后台任务协议的核心规定当Shell、TaskList、TaskOutput、TaskStop均可用且自己是根代理时通过Shell加run_in_backgroundtrue和一个简短description启动后台任务系统会在任务到达终态时主动通知需要时尤其是上下文压缩之后用TaskList重新枚举活动任务TaskOutput用于非阻塞地取状态/输出快照只有明确想等待完成时才设blocktrue启动后台任务后默认把控制权还给用户而不是就地空转等待TaskStop仅用于取消面向交互用户任务管理的斜杠命令只有/task禁止让用户去跑/task list、/tasks等不存在的子命令子代理或工具不可用时不得假设自己能创建/控制后台任务。另外模板声明前台工具调用或后台代理的审批请求统一经由「统一审批运行时」协调并通过根 UI 通道呈现不能假设审批只发生在某个子代理的回合内。3.4 编码守则从 0 到 1 与存量代码库「General Guidelines for Coding」一节给出两条工作路径从零构建理解需求 → 有疑问就澄清 → 设计架构并制定实施计划 → 以模块化、可维护的方式写代码。并且必须用工具实施变更WriteFile创建/覆盖文件、Shell运行测试、失败则读错误 → 用WriteFile或StrReplaceFile修复 → 再跑Shell验证形成迭代闭环。存量代码库要点逐条动代码之前先用ReadFile、Glob、Grep读懂代码库识别最终目标与最重要的达成判据修 bug查错误日志或失败测试扫描代码库找根因用户提到的失败测试在改动后必须通过加功能设计架构、最小侵入地写代码项目已有测试体系则补新测试重构接口变更时更新所有调用点不要改动既有逻辑尤其是测试只修接口变更引发的错误做出达成目标的最小改动遵循项目既有代码风格需要大范围探索或深度调研时用Agent工具加subagent_typeexplore——这是一个快速、只读、专用于搜索与理解代码库的代理当任务预计需要超过 3 次搜索查询或需调查多个文件/模式时启用且可以并发启动多个 explore 代理调查独立问题。版本控制方面有一条硬红线除非用户明确要求禁止执行git commit、git push、git reset、git rebase或其他 git 变更操作即便早前对话已确认过每次需要 git 变更时都要重新确认。3.5 研究与数据处理守则针对调研、生成/处理多媒体文件的任务模板要求先彻底理解需求必要时开工前澄清深度或广度调研前先做计划条件允许时上网搜索精心设计查询词以提升效率与准确率用合适的工具、shell 命令或 Python 包处理/生成图片、视频、PDF、文档、表格、演示等先探测环境里是否已有工具必须安装第三方依赖时确保装进虚拟/隔离环境生成或编辑任何媒体文件后先读回产物确认内容符合预期再往下走避免在当前工作目录之外安装或删除任何东西确需如此先征得用户同意。4. 工作环境注入目录树、OS 与时间模板「Working Environment」一节声明运行环境不在沙箱中任何操作会立即影响用户系统因此必须极其谨慎除非被明确要求不要读写执行工作目录之外的文件。${KIMI_WORK_DIR_LS}的目录树由 kimi_cli.rs 第 1342-1410 行的list_directory生成规则很具体根目录最多列30个条目KIMI_LIST_DIR_ROOT_WIDTH每个子目录最多列10个条目KIMI_LIST_DIR_CHILD_WIDTH目录排在文件前面同级按名称排序超出部分折叠为一行└── ... and N more/... and N more entries——这正是模板第 93 行提示「tree 只显示前两级标记了 ... and N more 的条目请用 Glob 或 Shell 进一步探索」的来源列表结果按会话ID:目录为键缓存在KIMI_WORK_DIR_LS_CACHE里同一会话内不重复枚举。${KIMI_NOW}注入 ISO 时间模板明确其用途是搜索或核对文件修改时间的参考需要精确时间时应通过 Shell 获取。5.AGENTS.md的加载与优先级模板「Project Information」一节解释了为什么单列AGENTS.mdREADME.md面向人类快速上手、项目描述、贡献指南而AGENTS.md承载编码代理需要的、放进 README 会显得杂乱的细节构建步骤、测试命令、代码约定。优先级规则AGENTS.md可以出现在目录树任意层级包括.kimi/目录内每个文件管辖所在目录及其全部子目录多个文件同时适用时深层目录指令优先于父目录用户对话中的直接指令优先级最高。若修改了AGENTS.md中提到的文件/样式/结构/配置/工作流必须同步更新对应AGENTS.md。源码侧的实现load_kimi_agents_mdkimi_cli.rs 第 944-993 行与模板描述一一对应先用find_kimi_project_root向上找含.git的目录作为项目根找不到则退化为工作目录本身从根到叶子逐级查找.kimi/AGENTS.md以及AGENTS.md/agents.md每级取先命中者合并时按从叶子到根的顺序做字节预算分配总预算KIMI_AGENTS_MD_MAX_BYTES 32 * 102432 KB——预算从最深层文件开始扣减保证深层优先级更高的指令优先完整保留超出部分被截断每段内容前标注!-- From: 路径 --多段之间以空行分隔。6. 技能Skills体系模板「Skills」一节定义技能是可复用的目录化能力每个技能是一个包含SKILL.md的自包含目录提供领域知识、工作流模式、预配置工具链和参考资料。清单按作用域分组Project、User、Extra、Built-in同名技能按Project 覆盖 User 覆盖 Extra 覆盖 Built-in的优先级取用。使用策略是「需要时才读SKILL.md细节」以节约上下文窗口。render_kimi_skillskimi_cli.rs 第 1082-1107 行的组装逻辑磁盘发现kimi_skill_roots第 1113-1148 行按候选目录取第一个存在者作用域候选路径按顺序取第一个存在的目录Project工作目录/.kimi/skills→.claude/skills→.codex/skillsProject工作目录/.agents/skillsUserhome/.kimi/skills→.claude/skills→.codex/skillsUserhome/.config/agents/skills→home/.agents/skillsBuilt-in$KIMI_CLI_SOURCE_DIR/src/kimi_cli/skills每个技能目录下读取SKILL.md用parse_kimi_skill_frontmatter第 1221-1262 行手工解析---包围的 frontmatter 中的name:与description:description 支持 YAML 块标量|/|-/|会话级技能由上层组装的skills_instructionsdeveloper 块解析而来归入Extra作用域追加按名称小写去重渲染格式为### 作用域下的- 名称 / Path: / Description:列表磁盘与会话均无技能时回退到内置清单builtin_kimi_skill_listing第 1109-1111 行固定列出kimi-cli-help与skill-creator两个内置技能路径指向/tmp/kimi-cli/src/kimi_cli/skills/...。7. 请求组装与消息转换模板之外的另一半模板渲染完成后build_request第 37-90 行把系统提示词、历史消息与工具 schema 组装成 Chat Completions 请求{ model: model_info.slug, messages: [{ role: system, content: 渲染后的系统提示词 }, ...], max_tokens: 32000, prompt_cache_key: conversation_id, stream: true, stream_options: { include_usage: true }, tools: [ ... ] }几个值得注意的实现事实prompt_cache_key直接取会话 IDkimi_prompt_cache_key用于让提供商对同一会话的前缀命中缓存——系统提示词中稳定注入的目录树、AGENTS.md与技能清单正是缓存友好的大段前缀max_tokens固定 32000推理强度映射apply_reasoning_effort第 96-126 行None不注入Minimal/Low→reasoning_effort: lowMedium→mediumHigh/XHigh/Max/Ultra→highCustom(v)→ 透传自定义值以上均附带thinking: { type: enabled }。对「开关型」思考模型ReasoningControl::ThinkingToggle开启思考时注入thinking.enabled不强制 effort 档位未开启则补thinking.disabled工具输出安全包装kimi_tool_output_content/safe_kimi_tool_text第 835-879 行工具执行失败时输出被包成systemERROR: .../system空输出替换为systemTool output is empty./system含 NUL 字节的输出替换为systemTool returned non-text content./system——这些标记正是模板第 19 行system标签协议的运行时来源且is_kimi_system_tool_text保证这些系统文本不会被二次包装消息格式选项MessageBuildOptions::kimi_cli()第 216-226 行保留原始工具调用 ID 格式、不压缩函数参数、裁掉用户消息尾部换行有专门测试kimi_user_messages_trim_trailing_newline验证hello\n→hello、reasoning 内容以reasoning_content字段挂到 assistant 消息上。8.harness_guidance仅对 kimi-cli 生效的附加指导docs/harness.md 指出harness_guidance默认开启但目前只对kimi-cli生效其他线束忽略它想要更贴近原始画像的运行可设harness_guidance false。源码见 guidance.rsguidance_for_harness仅对Harness::KimiCli返回KIMI_CLI_GUIDANCE第 24-40 行其内容是一段包在extra_instruction里的强化编码守则要点包括积极、具体地干活优先用工具推进而非长篇分析多步任务尽早用SetTodoList并随进度保持更新文件系统操作一律用专用工具检查用ReadFile/Glob/Grep新建/替换用WriteFile定点编辑用StrReplaceFile不要仅为了读写源码而动用 Python 或 shell 脚本用户点名的本地文件/脚本/配置/测试/数据路径只要数量可控先直接检查再动手做Shell实验不要从任务描述反推实现细节提供的数据集、数据库、fixtures、测试输入默认只读任务要查询/脚本/产物时写输出文件而不是改输入数据构建、测试、快速实验等天然 shell 化的操作用Shell长时命令用run_in_backgroundtrue加简短描述再用TaskOutput查看进度而非无限阻塞检查失败时看具体失败输出 → 做针对性修改 → 重跑最小可用检查迭代到完成或证实真正的阻塞组装 shell 命令时不要用兜底链掩盖失败检查除非检查了每个分支——兜底成功不证明主检查通过同一思路试错两次失败后停止猜变体重读源码与输出确认真实验收条件从证据出发做下一次尝试源码或输出已证明某路径走不通时明确陈述失败假设并排除该类方案换攻击不同机制的下一步收尾前核对产物是否精确满足用户显式约束路径、格式、长度、前后缀、schema、命令调用方式保持改动最小且聚焦任务需要改代码/文件时不能在只做完计划后就停手。配套测试current_kimi_code_does_not_receive_legacy_kimi_cli_guidance明确验证了kimi-code不会误收这段遗留指导。9. 上下文压缩compaction 提示词长会话触发上下文压缩时kimi-cli 线束使用独立的压缩提示词 kimi_cli_compaction_prompt.md在 compact.rs 第 48-49 行以include_str!编译为KIMI_CLI_COMPACTION_SYSTEM_PROMPT常量build_system_prompt开头会检测「无工具且基础指令正好是该压缩提示词」的场合并直接透传不再渲染完整系统提示词模板。该提示词规定压缩的优先级顺序当前任务状态 错误与解法 代码演进只留最终可用版本 系统上下文 设计决策 TODO 项规则上必须保留错误信息、堆栈、可用解法与当前任务合并相似讨论删除冗余解释与失败尝试保留教训长代码块压缩为签名加关键逻辑20 行以内的代码保留全文。输出结构被固定为六个 XML 段current_focus、environment、completed_tasks、active_issues、code_state每个文件含 Summary / Key elements / Latest version、important_context。这与主提示词中「上下文压缩后用TaskList重新枚举后台任务」的约定相互配合保证压缩不丢失活动任务状态。10. 适用前提与小结该模板只属于kimi-cli遗留画像线束且仅兼容wire_api chatmessages线路会被 routing.rs 明确拒绝新 Kimi 会话应优先kimi-code模板中的英文原文是模型的直接输入${...}占位符与{% if %}条件块均由 kimi_cli.rs 在每次请求前渲染目录树、AGENTS.md与技能清单的内容因此随工作区实时变化而prompt_cache_key按会话 ID 保持稳定使变化部分尽量落在可被提供商缓存前缀之后的位置从源码结构看模板的设计逻辑可以概括为三层行为契约必须用工具落地、并行调用、语言跟随、git 红线、环境事实注入OS/shell/时间/目录树/项目指令/技能、长程可靠性机制后台任务协议、system标签语义、压缩提示词与 guidance 强化守则。理解这三层基本就理解了 Open Interpreter 把一个开源编码 CLI 画像「复刻」进原生运行时所用的全部提示工程手段。【免费下载链接】openinterpreterA coding agent for open models like Kimi K3项目地址: https://gitcode.com/GitHub_Trending/op/openinterpreter创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

BK7238/BK7239(XH-WB3S/XH-BW05S)新手入门指南(Arduino开发篇)! 2026/9/5 17:02:48

BK7238/BK7239(XH-WB3S/XH-BW05S)新手入门指南(Arduino开发篇)!

一、Arduino安装开发环境 Arduino环境可以自己进行安装(网上有很多教程,可以自行参考) 二、BK7238/BK7239在线安装 1.添加开发板网址 打开arduinoIDE,选择 文件-->首选项-->其他开发板管理器地址,添加网址&am…

阅读更多 →
超详细网络安全自学全攻略!从入门到就业完整学习路线 2026/9/5 17:02:48

超详细网络安全自学全攻略!从入门到就业完整学习路线

一、什么是网络安全 网络安全是一种综合性的概念,涵盖了保护计算机系统、网络基础设施和数据免受未经授权的访问、攻击、损害或盗窃的一系列措施和技术。经常听到的 “红队”、“渗透测试” 等就是研究攻击技术,而“蓝队”、“安全运营”、“安全运维”…

阅读更多 →
Pixelle-Video:把“输入主题→出片“压缩到5分钟的开源AI短视频引擎 2026/9/5 17:02:48

Pixelle-Video:把“输入主题→出片“压缩到5分钟的开源AI短视频引擎

Pixelle-Video:把"输入主题→出片"压缩到5分钟的开源AI短视频引擎 【免费下载链接】Pixelle-Video 🚀 AI 全自动短视频引擎 | AI Fully Automated Short Video Engine 项目地址: https://gitcode.com/GitHub_Trending/pi/Pixelle-Video …

阅读更多 →
Activepieces 快速上手指南:用 Webhook 触发器搭建一条邮件通知工作流 2026/9/5 17:02:48

Activepieces 快速上手指南:用 Webhook 触发器搭建一条邮件通知工作流

Activepieces 快速上手指南:用 Webhook 触发器搭建一条邮件通知工作流 【免费下载链接】activepieces AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI A…

阅读更多 →
如何把完整的“计划—审查—沉淀”开发闭环交给 AI:Compound Engineering 插件快速上手与实战指南 2026/9/5 17:02:48

如何把完整的“计划—审查—沉淀”开发闭环交给 AI:Compound Engineering 插件快速上手与实战指南

如何把完整的“计划—审查—沉淀”开发闭环交给 AI:Compound Engineering 插件快速上手与实战指南 【免费下载链接】compound-engineering-plugin Official Compound Engineering plugin for Claude Code, Codex, Cursor, and more 项目地址: https://gitcode.com…

阅读更多 →
Google Pics深度解析:AI图像生成与Workspace集成实战指南 2026/9/5 16:59:46

Google Pics深度解析:AI图像生成与Workspace集成实战指南

最近看到 Google 在 AI 应用布局上又放出一个新消息:Google Pics。很多读者第一反应是问“这不是一个图像查看器吗?”、“是不是和 Google Photos 重复了?”。实际上,从当前公开信息来看,Google Pics 定位于 AI 图像生…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞