拓十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Kimi Code 迁移指南:从 kimi-cli(Python/uv)平滑升级到 Node.js 版

Kimi Code 迁移指南:从 kimi-cli(Python/uv)平滑升级到 Node.js 版 AI Agent代码智能体人工智能大模型CLI【免费下载链接】kimi-codeKimi Code CLI — The Starting Point for Next-Gen Agents项目地址https://gitcode.com/gh_mirrors/ki/kimi-code点击查看免费下载本篇指南围绕 迁移文档 展开完整讲解 Kimi Code CLI 从旧版 kimi-cliPython/uv升级到 Node.js 新版时的数据迁移机制如何通过首次启动提示或kimi migrate命令一键迁移配置、MCP 服务器与会话历史哪些数据会被携带、哪些需要重新授权以及迁移过程的安全保证。读完你既能完成实际升级也能从源码层面理解迁移器的检测、合并、标记与冲突兜底逻辑。为什么要迁移新版 kimi-cli → kimi-code 的变化Kimi Code CLI 经历了一次大版本升级底层运行时从 Python/uv 切换到 Node.js官方文档明确给出的关键变化包括不再依赖 Python / uv新版完全基于 Node.js 构建安装更简单不需要维护 Python 环境原生二进制、开箱即用启动更快、占用更轻重新设计的终端 UI交互更流畅、响应更及时完整的数据迁移配置、MCP 服务器与会话历史都能无缝携带到新版本。官方提示旧版会逐步被淘汰见 migration.md因此建议尽早升级。升级动作本身是单向拷贝 双向共存的设计迁移器只会从~/.kimi/旧数据读取并写入~/.kimi-code/新数据不会反过来影响旧版。两种迁移方式文档提供了两条迁移路径1. 首次启动自动检测安装新版 kimi-code 后第一次运行kimi时程序会自动检查~/.kimi/下是否存在 kimi-cli 遗留数据。检测逻辑由 detect.ts 中的detectMigration()实现它会依次探测config.toml/config.json、mcp.json、user-history目录、skills目录、plans目录、credentials目录以及sessions目录并通过kimi.json中的work_dirs反向建立会话目录映射。如果发现旧数据会弹出迁移提示你可以选择现在迁移now稍后再说later不再询问never。这一决策树由 prompt.ts 中的resolveMigrationScope()纯函数维护later与never直接短路返回只有选择now才会继续询问迁移范围。2. 随时手动执行你也可以在任何时候手动运行kimi migrate该命令由 main.ts 中的handleMigrateCommand()处理会进入迁移交互界面仅迁移流程完成后退出。此外还支持两个命令行选项kimi migrate --run以无交互headless方式完整执行迁移并打印各步骤日志适合在管道或重定向场景下使用kimi migrate --run --config-only只迁移配置不迁移会话注意--config-only必须与--run同时使用否则会报错并以退出码 2 结束。--run模式之所以设置退出码后正常返回而不是立即process.exit()是因为立即退出可能截断缓冲的步骤/报告输出见 main.ts 的注释。手动迁移入口最终经由 run-shell.ts 的runShell()调用detectPendingMigration()并传入migrateOnly: true强制忽略已完成标记、直接走迁移流程若此时检测不到任何旧数据会输出Nothing to migrate from ...并直接结束。选择迁移范围无论哪种方式你都需要决定是否迁移聊天会话Config only只迁移配置暂不迁移历史会话Config N sessions连同全部会话一次迁移。迁移结束时终端会打印一份汇总摘要各步骤的迁移数量、跳过原因、冲突项等详见下文迁移报告一节。迁移过程详解什么被迁移、什么不被迁移会迁移的内容根据文档与源码迁移覆盖以下四类数据配置config.toml由 steps/config.ts 的migrateConfigStep()处理MCP 服务器配置mcp.json由 steps/mcp.ts 的migrateMcpStep()处理输入历史user-history由migrateUserHistoryStep()处理选定的聊天会话由 sessions/index.ts 的migrateSessionsStep()处理。整体编排在 run-migration.ts 的runMigration()中按 配置 → MCP → 用户历史 → skills → 会话 → plans 的顺序串行执行各步骤每个步骤都支持通过scope开关跳过最后统一产出报告。不会被迁移的内容文档明确列出两类不迁移的数据OAuth 登录凭据迁移后需要重新运行/loginMCP 服务授权使用 OAuth 认证的 MCP 服务器需要重新授权kimi-cli 插件同样不在迁移范围内。这与源码检测逻辑一致detect.ts 会读取~/.kimi/credentials/下的 JSON 凭据文件以及config.toml中各 provider 的oauth.key并把它们列入oauthCredentials同时读取mcp.json中auth oauth的服务器detectedMcpOauthServers和plugins目录detectedPlugins。这些信息被写进迁移计划的notices最终展示在迁移报告里提醒用户哪些项需要重新登录/授权见 run-migration.ts。源码级的迁移细节配置如何被整理配置迁移并不是简单的文件拷贝而是经过解析 → 校验 → 类型映射 → 过滤 → 合并/覆盖 → 写入的完整管线steps/config.tsprovider 类型映射旧版的openai_legacy、google_genai、gemini等类型名会被映射到新版认识的openai、google-genai见LEGACY_PROVIDER_TYPE_MAP逐条校验只有能通过新版 schemaProviderConfigSchema/ModelRecordSchema/HookDefSchema校验且类型受支持的 provider、model、hook 才会被保留其余进入droppedProviders/droppedModels/droppedHooks列表并在报告中呈现tui.toml 拆分旧配置顶层的theme与default_editor会被抽取到新版独立的tui.tomltheme只接受dark/light/auto三值非法主题会被丢弃以免拖垮整个 TUI 配置加载废弃字段清理plan_mode、yolo被直接丢弃default_yolo true映射为新版的default_permission_mode yolo字段保留白名单如loop_control仅保留reserved_context_sizebackground仅保留max_running_tasks与keep_alive_on_exit默认模型防悬空default_model若指向一个未被保留、目标也不存在的模型别名会被一并丢弃避免后续创建会话时解析失败device_id 延续若目标目录还没有device_id会从旧目录拷贝保证遥测身份连续目标已有则保留自己的见copyDeviceId()。冲突处理与兄弟文件兜底迁移器对目标目录采用三种模式steps/config.tsoverwrite目标config.toml不存在或是全新占位文件时直接用迁移结果覆盖merge目标已有可解析的用户配置时做增量合并——目标没有的键/provider/model 才写入两者冲突时保留目标值并记录冲突项绝不覆盖用户已有配置sibling目标配置存在但无法解析非法 TOML时不冒险覆盖而是把迁移结果写入旁路文件config.migrated-from-kimi-cli.toml提示用户手动合并。MCP 迁移也遵循同样的原则steps/mcp.ts合并mcpServers时若目标已存在同名服务器则保留新版的、跳过旧版无法通过McpServerConfigSchema校验的服务器会被丢弃避免破坏每个会话的 MCP 配置解析目标mcp.json无法解析时同样落到mcp.migrated-from-kimi-cli.json旁路文件。所有旁路路径定义在 paths.ts。安全保证旧数据绝不被修改文档明确承诺迁移过程永远不会修改或删除~/.kimi/下的任何旧数据。kimi-cli 在新版安装后照常可用两套数据互不干扰而且迁移可以重复执行——已经迁移过的会话不会被重复导入。这套保证在源码层面由标记marker机制落实marker.ts每次成功迁移后在旧目录写入.migrated-to-kimi-code标记文件JSONversion: 1记录首次/最近迁移时间、迁移器版本、目标路径以及每次运行的摘要重复迁移时通过appendMarkerRun()追加一次运行记录而不是覆盖历史因此再次运行kimi migrate时已迁移的会话会被识别并跳过若希望彻底不再弹出迁移提示目标目录下的.skip-migration-from-kimi-cli标记会让shouldSuppressMigration()直接返回 true若KIMI_SHARE_DIR环境变量恰好指向 kimi-code 自身的数据目录迁移会被禁用并给出明确提示见 run-shell.ts。此外只有所选范围内的所有步骤都完成无失败会话、无冲突、源配置可读才会写入完成标记任何未决问题都会让后续重试保持可用不会被误抑制run-migration.ts。迁移后的状态与产物迁移完成后从 kimi-cli 导入的会话会在会话选择器中带有[imported]标签方便与新建会话区分。同时在目标目录~/.kimi-code/下会留下两类可审计的产物migration-report.json完整迁移报告包含开始/结束时间、迁移器版本、源/目标路径以及 config、mcp、user-history、skills、plans、sessions 六个维度的汇总与各类 notice需要重新登录的 OAuth、需要重新授权的 MCP 服务器、检测到的插件、冲突提示等由 report.ts 写入migration-errors.log追加式跨运行日志记录每次运行的失败会话诊断便于一次分享覆盖所有重试尝试。迁移器的完整实现位于 packages/migration-legacy/src公开 APIdetectMigration、runMigration、resolveMigrationScope、shouldSuppressMigration等见 index.ts配套测试覆盖了检测、合并、冲突、标记等关键路径packages/migration-legacy/test。如果你需要排查某个会话为何未被迁移可以直接查看对应 bucket 的扫描原因如未找到本地 workdir 映射会话上下文缺失或不可读这些都来自detectMigration()的失败原因分类。小结从 kimi-cli 到 Kimi Code 的迁移是一条命令、双向共存的平滑升级首次启动自动检测或kimi migrate手动触发选择范围后由迁移器完成配置整理、MCP 合并、输入历史与会话导入OAuth 凭据与 MCP 授权需要事后重新登录/授权旧版数据与插件则原样保留、互不干扰。理解底层的 schema 校验、增量合并、旁路文件与 marker 机制能让你在遇到冲突报告时快速定位问题并安全地手动合并。赞分享AI Agent代码智能体人工智能大模型CLI【免费下载链接】kimi-codeKimi Code CLI — The Starting Point for Next-Gen Agents项目地址https://gitcode.com/gh_mirrors/ki/kimi-code点击查看免费下载相关推荐Kimi Code CLI 破坏性变更与迁移完全指南从 ensoul 到 kimi-cli 的升级路线图Kimi Code CLI 破坏性变更与迁移完全指南从 ensoul 到 kimi cli 的升级路线图 本篇指南以官方发布说明 docs/en/releas人工智能AI Agent代码智能体交互助手CLI工具调用Vue CLI迁移指南从Vue CLI到Vite的平滑升级路径Vue CLI迁移指南从Vue CLI到Vite的平滑升级路径 想要获得更快的构建速度和更流畅的开发体验吗从Vue CLI迁移到Vite是现代Vue开发者的前端开发工具构建工具Kimi Code CLI 数据目录完全指南~/.kimi-code 目录结构、会话存储与清理迁移Kimi Code CLI 数据目录完全指南 ~/.kimi code 目录结构、会话存储与清理迁移 Kimi Code CLI 将配置文件、会话历史、登录凭AI Agent代码智能体人工智能大模型CLI上一篇如何免费解锁AMD Ryzen处理器的终极性能完整SMUDebugTool使用指南下一篇3分钟免费指南如何将PNG/JPG图片无损转为SVG矢量图创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表