A tiny macOS sidecar for watching what Codex is doing.
一个放在 Codex 旁边的实时观察窗。
中文 · English · MVP Test Guide · Release Notes
Personal early MVP. Unofficial. macOS only. A little too anime on purpose, for now.
Codex Live Panel 是一个本地 macOS sidecar 小窗,用来观察 Codex 正在做什么:它读本机的 Codex session 日志、当前 workspace 的 Git 状态和文件变化,然后把这些信息整理成 Live Code Stream、Changed Files、Activity Stream 和 Diff Preview。
它不是 Codex 官方功能,也不是 Codex Desktop 的内部插件。V0.6 只是一个极度个人向的内测作品,很多地方还很早期,但它已经能完成一个核心任务:当 Codex 写文件、改文件、跑验证时,你不用只盯着终端,可以在旁边看到更清楚的过程。
- 一个 Tauri 2 + React + TypeScript + Rust 写的 macOS 桌面应用。
- 一个 本地优先 的观察工具:不上传代码,不接云端,不收集遥测。
- 一个 Codex sidecar:它站在旁边看,不修改 Codex,也不向 Codex 注入命令。
- 一个 MVP:现在是
v0.6.0,功能可以试用,但不是正式产品。
- Live Code Stream:显示 Git diff 片段和小型未跟踪文本文件的预览。
- Changed Files:显示当前 workspace 的 Git 变更文件。
- Activity Stream:从本机 Codex session JSONL 里提炼近期动作摘要。
- Session Binding:优先绑定到当前 workspace 匹配的 Codex session,也可以手动锁定。
- Diff Preview:显示
git diff,如果没有 tracked diff,会明确提示stream fallback或空状态。 - 主题切换:随系统、明亮、黑暗、半透明。
- 真帆助手和图标:因为作者是二次元爱好者,V0.6 里保留了一些非常个人的视觉元素。
这个项目没有调用 Codex 的私有 UI API,也没有修改 Codex Desktop。它的实现路径更朴素:
- 读取本机
~/.codex/sessions/**/*.jsonl。 - 从最近的 session 尾部提炼消息、工具调用、验证命令和 patch 事件。
- 根据
cwd/workdir/ workspace 路径把 session 绑定到当前项目。 - 对用户指定 workspace 执行只读 Git 探测:
git status --short和git diff。 - 过滤
node_modules、dist、target、大文件和二进制资源。 - 在 Tauri 窗口里用 1.5 秒轮询刷新 UI。
目前只提供 macOS Apple Silicon 版本:
- 到 GitHub Release 下载
Codex Live Panel_0.6.0_aarch64.dmg。 - 打开 DMG。
- 把
Codex Live Panel.app拖到Applications。 - 启动 Codex Desktop,再启动 Codex Live Panel。
如果 macOS 拦截:
- 右键点击 app,选择
Open。 - 或到
System Settings -> Privacy & Security允许打开。 - 如果提示
Documents权限,请允许,否则 app 可能无法读取 workspace。
需要 Node.js、npm、Rust 和 Tauri 依赖。
npm install
npm run build
npm run package:app开发模式:
npm run dev
npm run tauri -- dev生成 DMG:
npm run package:dmgCodex Live Panel 只读取本机文件:
~/.codex/sessions/**/*.jsonl- 你在界面里选择的 workspace
- 当前 workspace 的 Git 状态和 diff
V0.6 不上传代码、不发送遥测、不连接第三方服务、不读取浏览器 cookie,也不会向 Codex 发送命令。
这个仓库代码使用 MIT License。
但是 V0.6 里的二次元向、粉丝向视觉元素是作者个人内测使用的临时素材。若你要使用、fork、重编译、二次发布或商用这个项目,请先删除或替换所有二次元向、粉丝向元素,包括但不限于角色图片、角色图标、命名和相关展示文案。
正式版本里,我也计划移除这些个人向元素,换成更通用的产品视觉。
- 目前只有 macOS 版本。
- 当前 DMG 是 Apple Silicon /
aarch64构建。 - 不是 Codex 官方插件。
- 不提供模型 token 级实时输出。
- 不支持自动更新。
- 未做 Apple notarization。
- UI、session 解析和异常处理还有很多可以继续打磨的地方。
这是一个很个人的早期小作品。如果你感兴趣,欢迎随时交流、提 issue、fork 或者自己改出更适合你的版本。只是记得:公开分发前,请把个人向视觉素材换掉。
Codex Live Panel is a local macOS sidecar window for watching what Codex is doing. It reads local Codex session logs, workspace Git state, and file changes, then turns them into a clearer Live Code Stream, Changed Files list, Activity Stream, and Diff Preview.
It is not an official Codex feature, and it does not patch Codex Desktop. V0.6 is a deeply personal internal-beta MVP. It is incomplete, but it already solves one small problem: when Codex is writing files or running checks, you can watch the work unfold in a focused companion panel instead of staring only at terminal output.
- A Tauri 2 + React + TypeScript + Rust desktop app for macOS.
- A local-first observer: no code upload, no cloud account, no telemetry.
- A Codex sidecar: it observes from the side and does not inject commands into Codex.
- An early MVP: current version is
v0.6.0.
- Live Code Stream: tracked diff snippets and small untracked text-file previews.
- Changed Files: workspace Git status in a compact panel.
- Activity Stream: summarized local Codex session events.
- Session Binding: workspace-first session matching with manual session selection.
- Diff Preview: explicit
git diff,stream fallback, and empty/blocked states. - Themes: system, light, dark, and translucent glass.
- Maho assistant visuals: temporary personal/anime-flavored assets for this early build.
No private Codex UI hooks. No Codex Desktop patching.
The app:
- Reads local
~/.codex/sessions/**/*.jsonl. - Extracts recent assistant messages, tool calls, verification commands, and patch events.
- Binds sessions to the current workspace using
cwd,workdir, and workspace path hints. - Runs read-only Git probes against the selected workspace.
- Filters dependencies, build output, binary assets, and large files.
- Refreshes the Tauri UI on a 1.5-second polling loop.
Currently macOS Apple Silicon only:
- Download
Codex Live Panel_0.6.0_aarch64.dmgfrom GitHub Releases. - Open the DMG.
- Drag
Codex Live Panel.appintoApplications. - Launch Codex Desktop, then launch Codex Live Panel.
If macOS blocks the app:
- Right click the app and choose
Open. - Or allow it from
System Settings -> Privacy & Security. - If macOS asks for
Documentsaccess, allow it so the app can read your workspace.
npm install
npm run build
npm run package:appDevelopment mode:
npm run dev
npm run tauri -- devBuild DMG:
npm run package:dmgCodex Live Panel reads only local files:
~/.codex/sessions/**/*.jsonl- the workspace path selected in the UI
- Git status and diff for that workspace
V0.6 does not upload source code, send telemetry, connect to third-party services, read browser cookies, or send commands to Codex.
The source code is MIT licensed.
The anime/fan-facing visual elements in V0.6 are temporary personal assets. If you use, fork, rebuild, redistribute, or commercialize this project, remove or replace those visual elements first. This includes character artwork, character-based icons, fan-facing names, and related presentation copy.
Future public versions are expected to remove these personal visual elements and use more neutral product branding.
- macOS only for now.
- Current DMG is Apple Silicon /
aarch64. - Not an official Codex plugin.
- No token-level model stream.
- No auto-update.
- Not notarized by Apple.
- UI, session parsing, and error handling are still early.
This is a small, personal, early-stage project. Issues, ideas, forks, and experiments are welcome. Just replace the personal visual assets before public redistribution.
