Kimi Code CLIkimi info子命令完全指南版本与协议信息查询【免费下载链接】kimi-cliKimi Code CLI is your next CLI agent.项目地址: https://gitcode.com/GitHub_Trending/ki/kimi-clikimi info是 Kimi Code CLI 内置的元信息查询子命令用于在一条命令内快速输出 CLI 自身版本号、Agent 规格Agent Spec支持列表、Wire 协议版本以及当前 Python 运行时版本。本文以 kimi-info.md 为核心骨架结合仓库源码逐字段拆解其输出含义与底层实现帮助你在排障、集成与自动化脚本中正确使用它。命令概览一条命令掌握四类元信息Kimi Code CLI 作为一款终端 Agent 工具其运行环境涉及多个相互独立的版本体系CLI 自身迭代版本、Agent 规格描述 Agent 行为的 YAML 规范版本、Wire 协议CLI 与外部进程通信的 JSON-RPC 协议版本以及宿主 Python 解释器版本。当你在排查为什么某个集成脚本行为异常或当前环境是否支持某个协议特性时kimi info可以一次性给出全部答案。命令完整语法为kimi info [--json]其中--json为可选参数。默认输出人类可读的纯文本加上--json后输出机器可解析的 JSON 对象。该子命令由 kimi-command.md 的命令一览章节收录属于 CLI 的常规子命令之一。选项说明选项说明--json以 JSON 格式输出便于脚本解析--json是kimi info唯一支持的选项。从源码看它在 info.py 中通过 Typer 的typer.Option(--json)声明默认值为False因此不带任何参数直接运行kimi info是合法的输出文本格式。输出字段详解无论文本还是 JSON 格式kimi info输出的核心数据都来自同一个数据收集函数共包含 4 个字段字段说明kimi_cli_versionKimi Code CLI 版本号agent_spec_versions支持的 Agent 规格版本列表wire_protocol_versionWire 协议版本python_versionPython 运行时版本在 info.py 中这些字段被定义为一个InfoDataTypedDict并由_collect_info()统一组装。其数据来源分别对应仓库中的四个独立模块kimi_cli_version来自 constant.py 的get_version()底层通过importlib.metadata.version(kimi-cli)读取已安装发行包的元数据。因此它反映的是当前安装的 Kimi Code CLI 包版本而非某个 git commit。该函数带有cache装饰器进程内多次调用只计算一次。agent_spec_versions来自 agentspec.py 中定义的SUPPORTED_AGENT_SPEC_VERSIONS元组当前仅包含默认版本1DEFAULT_AGENT_SPEC_VERSION 1。该版本用于校验 src/kimi_cli/agents 这类 Agent 规格 YAML 文件头部的version字段不匹配时会抛出AgentSpecError见 agentspec.py。wire_protocol_version来自 wire/protocol.py 中的常量WIRE_PROTOCOL_VERSION当前值为1.10。同文件还定义了WIRE_PROTOCOL_LEGACY_VERSION 1.1用于兼容旧会话文件kimi info输出的是当前协议版本。python_version来自 Python 标准库platform.python_version()返回当前解释器的语义化版本字符串如3.13.1与运行 CLI 的python可执行文件直接相关。输出示例文本输出$ kimi info kimi-cli version: 1.20.0 agent spec versions: 1 wire protocol: 1.10 python version: 3.13.1文本输出格式由 info.py 的_emit_info()控制agent_spec_versions列表被展开为逗号分隔的字符串四个字段各占一行通过typer.echo依次打印。由于字段顺序固定该输出同样适合用grep/awk做简单提取。JSON 输出$ kimi info --json {kimi_cli_version: 1.20.0, agent_spec_versions: [1], wire_protocol_version: 1.10, python_version: 3.13.1}JSON 输出由json.dumps(info, ensure_asciiFalse)生成见 info.py注意两点agent_spec_versions以 JSON 数组形式保留便于程序逐项遍历ensure_asciiFalse意味着非 ASCII 字符不会被转义。上方示例中的版本号仅为文档演示值实际输出以你本机安装版本为准。源码级原理数据从哪来kimi info的实现非常轻量全部逻辑集中在 info.py共约 60 行。调用链为kimi info └─ cli 回调 info()info.py L51 └─ _emit_info(json_output)info.py L30 └─ _collect_info()info.py L17 ├─ get_version() → constant.py ├─ SUPPORTED_AGENT_SPEC_VERSIONS → agentspec.py ├─ WIRE_PROTOCOL_VERSION → wire/protocol.py └─ platform.python_version() → 标准库值得注意的工程细节是info是一个懒加载子命令。在 cli/_lazy_group.py 的LazySubcommandGroup中info、export、mcp、plugin、vis、web一起被注册为按需导入的子命令——只有当用户真正执行kimi info时kimi_cli.cli.info模块才会被importlib.import_module加载。这保证了 CLI 启动时不会因为加载这些相对重量级的模块而变慢也解释了为什么kimi info通常能秒回。实践应用在脚本与集成中使用在 shell 脚本中提取版本文本输出可以直接配合文本工具使用$ kimi info | grep kimi-cli version | awk {print $3}在脚本中解析 JSONJSON 输出配合jq等工具可精确提取单个字段$ kimi info --json | jq -r .kimi_cli_version $ kimi info --json | jq -r .wire_protocol_version $ kimi info --json | jq -c .agent_spec_versions典型场景包括在 CI 中校验 Wire 客户端所需的协议版本是否满足要求在集成脚本中根据python_version决定是否启用仅特定 Python 版本支持的特性或将agent_spec_versions与自定义 Agent 规格文件头部的version字段做一致性检查。与全局--version选项的区分kimi info输出的是四元组完整信息而 CLI 顶层还提供了--version/-V全局选项只输出简短的kimi, version 版本号实现在 cli/init.py 的_version_callback中。需要完整环境信息时用kimi info只需确认安装版本时用kimi --version更轻量。Wire 协议版本的一致性佐证WIRE_PROTOCOL_VERSION不仅出现在kimi info输出中还被 Wire 服务器在 initialize 握手结果里回传给客户端见 wire/server.py 的protocol_version字段同时写入 Wire 会话文件的协议版本标记见 wire/file.py。因此通过kimi info查到的wire_protocol_version就是当前版本 CLI 实际用于 Wire 通信与会话持久化的协议版本可放心作为客户端兼容性判断依据。故障诊断辅助当遇到PyInstaller 单文件二进制中某些子命令不可用类问题时kimi info也可作为自检手段它属于懒加载子命令集合历史上曾出现过打包产物缺失懒加载模块的问题已在后续版本修复见 changelog.md 的修复记录。若kimi info在某种安装形态下能正常运行通常意味着懒加载子命令机制在该形态下工作正常。相关参考kimi-info.md英文原版kimi-info.md中文版kimi-command.md全部子命令一览info.pykimi info的实现源码constant.pyCLI 版本获取逻辑agentspec.pyAgent 规格版本定义与校验wire/protocol.pyWire 协议版本常量changelog.mdkimi info的引入与修复记录【免费下载链接】kimi-cliKimi Code CLI is your next CLI agent.项目地址: https://gitcode.com/GitHub_Trending/ki/kimi-cli创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考