☰
Mr. Mak Workspace 会话视图详解:把枯燥的 CLI 终端变成可视化对话,一键回答权限菜单
2026/11/5 5:20:34 网站建设 项目流程

【免费下载链接】mr-mak-workspace

A local desktop workspace for Codex and Claude Code, with project reports, creative skills and optional voice.

项目地址:https://gitcode.com/gh_mirrors/mr/mr-mak-workspace
点击查看免费下载

Mr. Mak Workspace 是一个本地桌面工作区,用来管理 Codex 和 Claude Code 等 CLI 智能体。它的**会话视图(Conversation view)**能把原本滚动着彩色字符的 CLI 终端,变成像聊天软件一样的可视化对话:消息带 Markdown 排版,权限菜单变成可以一键点击的按钮,让你不用再盯着一堆终端乱码找答案。

Claude Code 对话在会话视图中的样子:Markdown 消息、Conversation / Terminal 切换按钮,以及回复下方的朗读按钮。

为什么终端很难读?

如果你用过 Codex CLI 或 Claude Code,大概有过这样的体验:

  • 🌀 输出哗哗地滚,想找某句回复得来回翻屏
  • ❓ 权限确认时终端弹出一个编号菜单(1. 允许 / 2. 拒绝 / 3. 仅此一次……),你得用方向键小心地选
  • 🐛 工具调用、后台任务、slash 命令的输出混在一起,分不清哪条是哪条

Mr. Mak 的会话视图就是为解决这些问题设计的:它读取 CLI 自己的原生记录(transcript),把内容按"对话消息"重新呈现,同时你发的每一条消息仍然是通过真实终端发出去——不是另一个聊天程序,而是同一个会话的可视化窗口。

如何打开会话视图

  1. 在 Chats 窗口中打开一个Claude Code或Codex的聊天标签(目前这两种 CLI 支持会话视图)
  2. 点击顶部的Conversation | Terminal切换开关,即可在"可视化对话"和"原始终端"之间来回切换

几个新手容易注意到的细节:

  • 新聊天默认先打开 Terminal。因为 CLI 启动时可能先问"是否信任这个文件夹"、"登录账号"这类问题,只有终端里能看到,不会藏起来。等对话开始后,就可以切到会话视图了。
  • 你在某个聊天里选过的视图,会成为其他聊天的默认视图。
  • 切换视图不会丢失输入框里的草稿,也不会断开终端连接。

视图逻辑见 chatView.ts,整体交互实现见 Conversation.tsx。

会话视图核心功能一览

功能说明
💬 可视化对话终端记录变成带 Markdown、时间戳、头像的消息气泡
🖱️ 一键回答权限菜单编号菜单渲染成按钮,点击即发送选择
⌨️ 命令自动补全输入/(Codex 中是$)列出可用命令
✏️ 编辑已发消息修改你的历史消息,自动回滚并重发(Claude Code)
📎 附件与语音拖入文件、粘贴图片、本地 Whisper 语音输入
🔊 朗读回复用本地免费语音把最后一条回复读出来
📊 后台工作面板查看仍在运行的子代理和后台命令
✂️ 长对话续接对话过长时一键"总结并继续"开新聊天

把权限菜单变成一键按钮 🔐

这是会话视图最实用、也最有安全感的功能。

当 CLI 弹出权限确认(比如 Claude Code 问"是否允许修改 combat.ts?")时,会话视图底部会出现一个带按钮的面板,把终端里的编号选项 1、2、3 直接变成可点击的选项,还带一个Esc · cancel按钮。

权限菜单在会话视图中的样子:问题、diff 详情和三个回答按钮。

更值得说的是它的防误触机制:你点击按钮的那一刻,Mr. Mak 会重新读取一遍终端屏幕,确认菜单还是你当时看到的那一个,才会发送按键。如果期间屏幕已经变了(比如菜单刷新成新的问题),这次点击会被拒绝——一个迟到的点击,永远不会答错新的问题。

这套"识别屏幕底部编号菜单 → 生成一次性凭据 → 逐键发送方向键和回车"的流程,实现位于 terminal-prompt.mjs。

像聊天软件一样发消息

会话视图下方的输入框(composer)和终端是连通的:

  • 打字即发送:输入的文字通过真实 PTY 终端(带 bracketed paste)发进 CLI,Enter发送、Shift+Enter换行
  • 拖拽附件:把文件、文件夹拖进窗口即可插入路径;剪贴板里的图片会自动存到inbox/attachments再发送
  • 语音输入:可选的本地 Whisper 听写,说完直接插入文字,无需 API key
  • Stop 按钮:智能体跑偏时,一键(或按 Esc)中断当前任务
  • 草稿自动保存:切走再回来,未发的消息还在

命令补全:输入/就有提示

在输入框开头键入/(Codex 聊天中在单词前键入$),会弹出该 CLI 的内置命令 + 项目、用户、插件命令和技能的补全列表,方向键选择、Tab 补全。

如果某个命令会打开选择器(比如/model选模型),发送后聊天会自动切回终端视图,因为这类交互只有终端能正确显示。

编辑已发送的消息(Claude Code)

发错话了?在 Claude Code 聊天里,你的历史消息旁有个铅笔按钮:

  1. 点击后打开编辑框,修改文字
  2. 点击 Send,Mr. Mak 会调用 Claude Code 的原生rewind:把对话回滚到这条消息之前(文件不会被改动),然后发送修改后的文本
  3. 回滚完成后,会话视图只显示当前分支,历史保持干净

效果和你在 Claude Code 终端里按Esc Esc完全一致,只是不用去终端里操作了。

状态、事件与后台工作

会话视图还帮你把"发生了什么"整理得清清楚楚:

  • 紧凑事件:后台子代理结果、slash 命令及其输出,会折叠成简短事件行,而不是原始标签堆。聊天选项里可选 Compact / Expanded / Hidden
  • 正在运行什么:Claude Code 聊天会在输入框上方显示一行统计,展开能看到每个子代理的任务与当前步骤、每条后台命令的发起者和已运行时长
  • 状态栏显示模型:当前聊天使用的模型、推理力度和权限级别一目了然
  • 本地文件链接:回复里指向本地文件的链接,点击直接在 Workspace 中打开预览(相对聊天目录解析)
  • 等待提醒:如果智能体在终端里等待你操作,会话视图会提示"权限提示或问题可能正在终端里等你",并附一键跳转终端的按钮

什么时候还得看终端?

会话视图覆盖了绝大多数日常操作,但以下场景仍建议切到Terminal:

  • 新聊天首次启动时的信任目录、登录确认
  • 需要 CLI 原生控件的命令(如模型选择器)
  • 想直接看原始彩色输出或做终端选择复制

两种视图随时一键切换,草稿和终端连接都不受影响。

长对话怎么办?"总结并继续"

一个聊天里你的消息累计到一定数量(默认 40 条,可在聊天选项 ⋯ 中调整)后,Mr. Mak 会建议Summarize and continue:让智能体写一份交接摘要,存到inbox/handoffs,并在同一目录、同一智能体、同一权限设置下开一个"名字 · continued"新聊天,新对话第一句就读这份摘要。原聊天保持原样不动。

延伸阅读

  • 安装与上手:docs/getting-started.md
  • 桌面端架构(会话视图、主题、终端外观):desktop/README.md
  • 会话视图前端实现:src/desktop/Conversation.tsx
  • 权限菜单识别与回答逻辑:desktop/service/terminal-prompt.mjs
  • 项目总览:README.md

💡 小建议:先用 Terminal 完成首次登录和目录信任,然后切到会话视图当主力——回复用眼睛看,权限点按钮,终端留着救急,这就是最舒服的用法。

【免费下载链接】mr-mak-workspace

A local desktop workspace for Codex and Claude Code, with project reports, creative skills and optional voice.

项目地址:https://gitcode.com/gh_mirrors/mr/mr-mak-workspace
点击查看免费下载
上一篇:终端里画出真按钮:终端视频下载器 yoinks 半块字符 FramedInput 视觉细节终极指南
下一篇:Android官方培训课程中文版:使用 Intent 与 LocalBroadcastManager 报告 IntentService 后台任务执行状态

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询