乐于分享
好东西不私藏

我把 AI 编程助手装进了终端,还让它能开口和你一起写代码

我把 AI 编程助手装进了终端,还让它能开口和你一起写代码

一款支持实时语音、文本交互、会话续接和只读规划的终端 AI 编程助手:Step Realtime CLI。

已关注
关注
重播 分享
Step Realtime CLI 效果演示

如果你经常写代码,应该已经很熟悉这样的场景:

打开编辑器,切到终端,复制报错,粘贴给 AI,等它回答,再把建议搬回项目里试一遍。

这套流程能用,但并不轻松。真正的开发现场往往更碎:你要读代码、定位问题、跑命令、改文件、确认方案,还要在上下文之间来回切换。

Step Realtime CLI 想解决的,就是这个问题。

它不是一个单纯的聊天窗口,而是一款运行在终端里的 AI 编程助手。你可以用文字和它协作,也可以直接用语音和它说话,让它读取当前仓库上下文、分析代码、执行命令、修改文件,并在关键步骤与你确认。

终端里的 AI,不只会聊天

Step Realtime CLI 的入口非常直接。

在项目目录里运行:

step

就可以进入交互式终端 UI,通过自然语言发起任务。

如果只是想让它完成一个一次性任务,也可以直接执行:

step "帮我读一下 src/index.ts,总结这个项目的启动流程"

或者:

step exec "帮我看看这个 bug 可能在哪里"

它会围绕当前仓库进行分析,而不是停留在泛泛而谈的代码建议里。

真正吸引人的,是你可以直接说话

Step Realtime CLI 最有辨识度的能力,是实时语音编程。

运行:

step voice

戴上耳机后,你可以直接对它说:

“帮我看一下这个模块的职责。”

“先不要改代码,给我一个实现方案。”

“把这个命令跑一下,看失败在哪里。”

“这个修改可以继续,帮我补测试。”

它会一边理解你的语音,一边结合仓库上下文推进任务。对于需要修改文件或执行命令的步骤,也可以通过确认机制让开发者保持控制。

这让 AI 编程助手从“我问一句,它答一句”,变得更像一个能待在终端里的结对开发伙伴。

支持只读规划,适合谨慎开发

很多时候,我们并不希望 AI 一上来就改代码。

Step Realtime CLI 提供了只读规划模式:

step exec --mode plan "帮我设计一下这个功能应该怎么改"

在这个模式下,助手只阅读代码并输出方案,不会修改文件。你可以先审阅它对代码结构的理解,再决定是否进入执行阶段。

这对于复杂重构、架构调整、线上风险较高的改动尤其有用。

会话可以续接,任务不会中断

开发任务很少一次完成。

Step Realtime CLI 会自动持久化会话状态,后续可以通过:

step resume

恢复历史会话。

这意味着你不需要反复解释背景,也不用每次都重新让 AI 读取同一批文件。读代码、讨论方案、执行修改、补充验证,可以在同一条任务线上继续推进。

为语音开发做了不少底层工作

语音编程听起来简单,真正做好并不容易。

Step Realtime CLI 针对实时语音提供了多种能力:

  • duplex 连续对话模式,适合自然交流
  • ptt 按键说话模式,适合噪声较大的环境
  • VAD 语音活动检测,用来判断一句话是否结束
  • AEC 回声消除,减少扬声器声音被麦克风再次采集导致的误触发

例如,在噪声较大的环境里,可以切换到更强的 Silero VAD:

step vad set silerostep vad status

如果使用外放,可以开启 AEC:

step aec onstep aec status

在 Windows 下,语音模式统一使用基于 Chrome、Edge 或 Chromium 的浏览器音频驱动,避免回退到不稳定的命令行音频方案。

架构上,它不是把功能堆在一起

Step Realtime CLI 采用分层 monorepo 架构,把协议、核心运行时、实时音频、服务端宿主、客户端 SDK 和不同交互入口拆开。

简单来说:

  • packages/protocol 负责跨边界协议和共享类型
  • packages/core 负责 Agent Loop、上下文组装、工具抽象和核心语义
  • packages/realtime 负责实时语音相关协议与运行时基础设施
  • src/gateway 负责 session 生命周期、恢复、持久化和事件广播
  • packages/sdk 负责客户端调用封装
  • CLI、TUI、Web UI、Desktop 等客户端默认通过 SDK 访问 gateway

这套边界设计很关键。

客户端只负责交互和展示,真正的 session authority、Agent Loop、checkpoint 和持久化能力都由明确的运行时层承载。这样,文字模式、语音模式、TUI、桌面端等不同入口可以复用同一套核心能力,而不是各自维护一套割裂的逻辑。

常用命令一览

step                        # 启动交互式终端 UIstep "帮我看看这个 bug"# 执行一次性任务step voice                  # 进入实时语音对话step resume <session_id>    # 恢复历史会话step exec --mode plan "..." # 只读规划模式step config show            # 查看当前生效配置step theme                  # 导出当前主题

配置文件默认位于:

~/.step-cli/config.json

可以在这里配置编程模型、实时语音 API Key、语音速度、VAD、AEC 等选项。

为什么这件事值得关注

AI 编程助手的下一步,不应该只是回答更长的代码块。

它应该更自然地进入开发者已经熟悉的工作流:读仓库、跑命令、改文件、记住上下文、接住中断的任务,并且在你不方便打字的时候,直接听你说话。

Step Realtime CLI 的有趣之处就在这里。

它把 AI 编程助手放回终端,把实时语音接进开发流程,也把复杂任务拆成可规划、可确认、可续接的协作过程。

对于习惯命令行的开发者来说,这可能是一种很值得尝试的新入口:

不是打开另一个聊天窗口,而是在当前项目里,直接对终端说:

“帮我看看这里发生了什么。”

项目地址:https://github.com/stepfun-ai/Step-Realtime-CLI