OFFICIAL SOURCE ANALYSIS

Ink 终端 UI · 提示建议

React + Ink 终端渲染框架、390+ 组件、Focus Manager、Prompt Suggestion 推荐机制。

13. Ink 终端 UI 框架

Claude Code 的整个终端界面基于 React + Ink 构建。Ink 是一个将 React 的组件模型带到终端的框架——开发者可以用 JSX 编写终端 UI 组件,React 的虚拟 DOM diffing 确保只有变化的部分被重新渲染到终端。

Claude Code 的代码库中包含了 390+ 个 UI 组件,涵盖了从基础布局到复杂交互的所有需求。这些组件包括文本渲染、代码高亮、表格、进度条、确认对话框、文件选择器等。这种组件化架构使得 UI 的开发和维护与传统 Web 应用一样模块化。

Focus Manager 是 Ink UI 中的焦点管理系统。在终端中,同时只能有一个组件接收键盘输入。Focus Manager 负责追踪当前焦点组件,处理 Tab 切换和焦点转移,确保复杂布局中的键盘导航正确运作。

全屏布局模式

占据整个终端窗口,类似 TUI 应用。适用于需要复杂布局的场景,如文件浏览器、多面板视图等。

内联输出模式

在终端的正常滚动流中渲染内容。适用于对话式交互,输出与终端的其他内容自然混合。

关键交互组件
组件用途交互方式
TextInput文本输入框支持 Vim 模式、历史记录、自动补全
Select选择列表上下箭头选择,回车确认
Confirmation确认对话框Y/N 二选一
PermissionRequest权限请求显示操作详情,等待用户授权
FileViewer文件预览语法高亮、行号显示
ProgressBar进度指示显示操作进度百分比

14. Prompt Suggestion 提示建议

Prompt Suggestion 系统在用户输入之前或之后提供上下文相关的提示建议。它分析当前的对话状态、项目上下文和历史模式,推荐用户可能想要执行的下一步操作。这类似于搜索引擎的自动补全,但针对的是 AI 编程助手的使用场景。

建议的生成基于多种信号:当前工作目录中的文件结构(如检测到 package.json 会建议 npm 相关操作)、最近的对话上下文(如刚完成一个函数会建议编写测试)、以及用户的历史使用模式(如经常在提交前运行 lint 会自动建议这一步)。所有建议都经过相关性排序,最相关的排在最前面。

Speculation(推测性预生成)是一种激进的优化。在用户还在思考下一步时,系统会根据上下文预测用户最可能的输入,并提前开始生成模型回复。如果预测命中,用户会感受到近乎即时的响应;如果预测失败,预生成的结果会被静默丢弃,用户完全无感知。Speculation 的命中率是一个重要的产品指标,它直接影响用户感知到的响应速度。

在 Swarms 模式下,Prompt Suggestion 与多 Agent 协调有交互——它可以建议用户将任务分配给特定的 Agent 或建议启用/调整 Swarm 配置。这使得多 Agent 工作流的启动更加顺畅。

Speculation 的工作机制
用户完成上一轮对话 分析上下文生成 Top-K 预测 后台预生成 Top-1 回复 用户输入匹配?立即返回 / 丢弃

预生成有严格的资源限制:只会消耗少量 token(通常只生成前几个段落),并且在用户开始输入时立即取消。这确保 Speculation 的成本可控,即使命中率不高也不会显著增加费用。

14. Prompt Suggestion 提示建议

Prompt Suggestion 系统在用户输入之前或之后提供上下文相关的提示建议。它分析当前的对话状态、项目上下文和历史模式,推荐用户可能想要执行的下一步操作。这类似于搜索引擎的自动补全,但针对的是 AI 编程助手的使用场景。

建议的生成基于多种信号:当前工作目录中的文件结构(如检测到 package.json 会建议 npm 相关操作)、最近的对话上下文(如刚完成一个函数会建议编写测试)、以及用户的历史使用模式(如经常在提交前运行 lint 会自动建议这一步)。所有建议都经过相关性排序,最相关的排在最前面。

Speculation(推测性预生成)是一种激进的优化。在用户还在思考下一步时,系统会根据上下文预测用户最可能的输入,并提前开始生成模型回复。如果预测命中,用户会感受到近乎即时的响应;如果预测失败,预生成的结果会被静默丢弃,用户完全无感知。Speculation 的命中率是一个重要的产品指标,它直接影响用户感知到的响应速度。

在 Swarms 模式下,Prompt Suggestion 与多 Agent 协调有交互——它可以建议用户将任务分配给特定的 Agent 或建议启用/调整 Swarm 配置。这使得多 Agent 工作流的启动更加顺畅。

Speculation 的工作机制
用户完成上一轮对话 分析上下文生成 Top-K 预测 后台预生成 Top-1 回复 用户输入匹配?立即返回 / 丢弃

预生成有严格的资源限制:只会消耗少量 token(通常只生成前几个段落),并且在用户开始输入时立即取消。这确保 Speculation 的成本可控,即使命中率不高也不会显著增加费用。