【免费下载链接】mr-mak-workspace
A local desktop workspace for Codex and Claude Code, with project reports, creative skills and optional voice.
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),把内容按"对话消息"重新呈现,同时你发的每一条消息仍然是通过真实终端发出去——不是另一个聊天程序,而是同一个会话的可视化窗口。
如何打开会话视图
- 在 Chats 窗口中打开一个Claude Code或Codex的聊天标签(目前这两种 CLI 支持会话视图)
- 点击顶部的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 聊天里,你的历史消息旁有个铅笔按钮:
- 点击后打开编辑框,修改文字
- 点击 Send,Mr. Mak 会调用 Claude Code 的原生rewind:把对话回滚到这条消息之前(文件不会被改动),然后发送修改后的文本
- 回滚完成后,会话视图只显示当前分支,历史保持干净
效果和你在 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.
相关推荐
告别枯燥报表:Metabase可视化让数据会"说话"
告别枯燥报表:Metabase可视化让数据会"说话" Metabase是一款开源的元数据管理和分析工具,支持PostgreSQL、MySQL、SQL Serve
数据分析数据可视化后端前端Birdtray核心功能深度解析:多账户颜色区分与邮件模板功能详解
Birdtray核心功能深度解析:多账户颜色区分与邮件模板功能详解 Birdtray是一款强大的Thunderbird系统托盘邮件通知工具,它通过创新的多账户颜
Bitcoin Core GUI开发者指南:Qt框架与界面定制详解
Bitcoin Core GUI开发者指南:Qt框架与界面定制详解 Bitcoin Core GUI是比特币核心客户端的图形用户界面,基于Qt跨平台框架开发,提
区块链后端
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考