Releases: opc007/codex-gx
v1.9.4 — Vision 多模态 (图像理解/OCR/标注)
v1.9.4 — Vision 多模态 (图像理解/OCR/标注)
🎯 重点
5.31 Vision 多模态:AgentShell 现在能识别图像、生成 caption、OCR、screenshot 标注。
✨ 新增
crates/vision(图像理解协议层)
- 7 种格式识别:PNG / JPEG / GIF / WebP / BMP / TIFF / HEIC
- 元数据提取:宽/高/aspect ratio/mode (RGB/RGBA/Palette)
- OCR stub:返回结构化
OcrResult(text + lines + bbox + confidence) - Caption stub:模板化生成
ImageCaption(short + detailed + tags + colors + mood) - Screenshot 标注协议:
AnnotationBox {id, label, x, y, w, h, confidence, description}(相对坐标 0.0-1.0) VISION_PROMPT:多模态 system prompt 注入
7 个新 Tauri 命令
vision_status/vision_formatsvision_meta <path>/vision_caption <path>vision_ocr <path>/vision_annotate <path>vision_protocol_prompt
/vision Slash 命令
/vision status— 状态 + 支持的格式/vision formats— 列出格式/vision prompt— 显示协议 prompt/vision meta <path>— 元数据/vision caption <path>— 图像描述/vision ocr <path>— 文字识别(stub)/vision annotate <path>— 标注 demo
🧪 测试
- 10/10 单元测试 通过
- 0 TypeScript 错误
- DMG 构建成功
📦 安装
DMG:Codex gx_1.9.4_aarch64.dmg
🔮 下一步候选
- 5.30 Mobile Remote 完整版(真实公网接入 / 公网反向代理)
- 5.32 插件市场(Pocket 适配器 / Vision 模型插件)
- 5.33 上下文压缩(长会话 token 优化)
- v2.0 全功能版
v1.9.3 — Pocket HTTP Server 完整版
v1.9.3 — Pocket HTTP Server 完整版
🎯 重点
5.29 Pocket 完整版:AgentShell 现在能跑本地 HTTP server 接收真实 webhook。
✨ 新增
Pocket HTTP Server(生产可用)
std::net+ 多线程 — 无 axum/hyper 依赖- 3 个 endpoint:
GET /agentshell/health— 健康检查GET /agentshell/pairing— 列出配对POST /agentshell/pocket— webhook 接收
- 持久化入站日志 —
~/.agentshell/pocket-inbound.log(每条 JSONL) - CORS 开启(
Access-Control-Allow-Origin: *) - 请求统计(handled / last_request_at / last_error)
4 个新 Tauri 命令
pocket_server_start { port, bind }pocket_server_stoppocket_server_statuspocket_inbound_log { limit }
/pocket server 子命令
/pocket server start [port]— 默认 8787/pocket server stop/pocket server status— 状态 + 最近 5 条入站
🧪 测试
- 11/11 单元测试 通过(HTTP server 实测 4 个 endpoint)
- 0 TypeScript 错误
- DMG 构建成功
📦 安装
DMG:Codex gx_1.9.3_aarch64.dmg
🔮 下一步候选
- 5.31 Vision 多模态(图像/视频理解)
- 5.30 Mobile Remote 完整版(真实公网接入)
- v2.0 全功能版
v1.9.2 — Pocket 消息 App 触发 (简化版)
v1.9.2 — Pocket 消息 App 触发 (简化版)
🎯 重点
实现 5.29 Pocket 简化版:让 AgentShell 通过 飞书/企微/钉钉/Slack 触发任务。
✨ 新增
5.29 Pocket(核心)
- crates/pocket 新 crate:消息路由 + HMAC-SHA256 签名验证 + 配对管理
- 5 个 source:Feishu / WeCom / DingTalk / Slack / WeChat
- HMAC-SHA256 签名(防时序攻击的 constant-time compare)
- 配对持久化:
~/.agentshell/pocket.json - 8 个 Tauri 命令:
pocket_status/pocket_list_sources/pocket_list_pairingspocket_add_pairing/pocket_remove_pairingpocket_handle_request/pocket_sign/pocket_webhook_url
/pocket Slash 命令
/pocket status— 状态总览/pocket list— 列出配对/pocket pair <source> <uid> <name> <cid>— 创建配对(生成 HMAC key)/pocket unpair <id>— 删除配对/pocket sign <key> <body>— HMAC 签名(调试用)/pocket test <id>— 模拟 webhook 调用
🧪 测试
- 7/7 单元测试通过
- 0 个 TypeScript 错误
- HMAC-SHA256 + constant-time 比较
📦 安装
DMG 在资产里:Codex gx_1.9.2_aarch64.dmg
🔮 下一步
- v1.9.3: Pocket HTTP server(真实 webhook 接收)
- v1.9.3: 5.31 Vision 多模态(图像/视频理解)
- v2.0: 全功能版本
v1.9.1 — Mobile Remote 简化版
v1.9.1 — Mobile Remote 简化版
发布日期:2026-06-17
🎯 主题
5.30 Mobile Remote 简化版(token 认证 + 设备配对 + 模拟 API)+ 修复 Thread.tsx 旧 zustand 残留 bug。
✨ 新增
5.30 Mobile Remote(v1.9.1 简化版)
- 新增 crate
mobile_remote(8/8 测试通过) - Token 系统:
- 32 字节随机 base64 编码(
mr_xxx...) - 持久化到
~/.agentshell/mobile-token.json - 任意请求必须 Bearer token
- 32 字节随机 base64 编码(
- 设备配对:
- 配对新设备(name + platform: ios/android)
- 列出已配对设备
- 解除配对
- 跟踪
paired_at/last_seen_at
- 模拟 API(
mobile_call):list_sessions— 列出所有 sessionget_session— 取 session 详情send_message— 发送消息到 session- 失败 action 返回
error状态
- 7 个 Tauri 命令:
mobile_get_token/mobile_regen_tokenmobile_pair_device/mobile_unpair_device/mobile_list_devicesmobile_verify/mobile_call
1 个新 slash 命令
/mobile status— 当前 token + 设备数/mobile regen— 重新生成 token(老 token 立即失效)/mobile pair <name> <ios|android>— 配对/mobile unpair <id>— 解除/mobile list— 列出配对设备/mobile call <action>— 模拟 API 调用(演示)
🐛 Bug 修复
- Thread.tsx — v1.8 store 重构(zustand → useSyncExternalStore)后遗留的
useSessionsStore.setState()调用- 改为
getSessionsState().setCurrent() - 移除旧的
s.text残留(v1.7 之前的 zustand 直接访问 state 字段)
- 改为
📦 安装
下载 Codex gx_1.9.1_aarch64.dmg (7MB) → 双击 → 拖入 Applications
🧪 验证
# 1. Mobile Remote token 测试
# /mobile status — 看 token
# /mobile regen — 重生成
# /mobile pair "iPhone 15" ios
# /mobile list — 看配对设备
# /mobile call list_sessions — 模拟 API 调用🔧 Tech
- 新增 crate:
mobile_remote(8 测试) - 7 个新 Tauri 命令
- 1 个新 slash 命令(带 6 个 subcommand)
- TypeScript: 0 errors
- Rust 编译: 0 errors
📋 下一步(v1.9.2 候选)
- 5.30 Mobile Remote 完整版(HTTP server + axum + 真实公网接入)
- 5.29 Pocket 消息 App 触发(飞书/企微/钉钉 webhook)
- 5.31 Vision 多模态(图像/视频理解)
v1.9.0 — Computer Use 协议 + 权限系统
v1.9.0 — Computer Use 协议 + 权限系统
发布日期:2026-06-17
🎯 主题
对齐 MiniMax 官方 Computer Use 协议(5.27 v1.9.1 校正)+ Codex 风格 App 权限系统(5.28)。
✨ 新增
5.27 截图 + 相对坐标协议(v1.9.1 校正)
- 关键校正:M3 官方协议是
0.0-1.0 float相对坐标,不是 0-1000 整数 - 新增 crate
screenshot(6/6 测试通过) - 核心换算:
- M3 输出
{"x": 0.0-1.0, "y": 0.0-1.0}→ 物理像素 → logical pixel - 边界 clamp(防 M3 越界值)
- Retina/HiDPI scale 换算
- 多屏:基于 display origin
- M3 输出
- 6 个 Tauri 命令:
screen_list/screen_primary— 显示器列表screen_to_absolute— 相对坐标 → 绝对坐标screen_multi_to_absolute— 多屏换算screen_screenshot— 截图(占位 base64)screen_protocol_prompt— M3 system prompt 注入
5.28 App 白名单 + 权限系统(对齐 Codex)
- 新增 crate
desktop_perm(6/6 测试通过) - 三态机:
Allow/Ask/Deny - 强制黑名单(5.5.7,不可移除):
- 银行类(icbc/ccb/boc/...)
- 支付类(alipay/wepay/wechatpay)
- 证券类(securities/stock/futures)
- 密码管理(1password/lastpass/bitwarden/keepass)
- 2FA(yubico/authy/authenticator)
- 默认白名单:Finder / Explorer / Notepad / TextEdit / Safari / Chrome / Firefox / VSCode / Terminal
- 默认 ask:WeChat / DingTalk / Lark / Feishu
- 持久化:
~/.agentshell/desktop-apps.json - 7 个 Tauri 命令:
perm_get_list/perm_add_allow/perm_add_deny/perm_clear_allowperm_decide/perm_is_blacklisted/perm_decide_request
4 个新 slash 命令
/screenshot//ss— 截图(演示版 base64 PNG)/coord <x> <y>— 0.0-1.0 相对坐标 → 绝对坐标换算/perm list//perm allow <name>//perm deny <name>//perm clear//perm protocol— 权限管理
📦 安装
下载 Codex gx_1.9.0_aarch64.dmg (43MB) → 双击 → 拖入 Applications
🧪 验证
# 1. 坐标换算测试
# M3 输出 {"x": 0.5, "y": 0.5} → /coord 0.5 0.5
# physical: (960, 540)
# logical: (960, 540) (标屏 scale=1)
# 2. 权限测试
# /perm list — 看白名单
# /perm allow Slack — 永久允许 Slack
# /perm deny WeChat — 永久拒绝 WeChat
# /perm protocol — 看 M3 协议🔧 Tech
- 新增 crates:
screenshot(6 测试)+desktop_perm(6 测试) - 13 个新 Tauri 命令(screenshot 6 + perm 7)
- 4 个新 slash 命令
- TypeScript: 0 errors
- Rust 编译: 0 errors
📋 下一步(v1.9.x 候选)
- 5.29 Pocket — 消息 App 触发任务(飞书/企微/钉钉)
- 5.30 Mobile Remote — 移动 App 远程监控/遥控
- 5.31 Vision 多模态(图像/视频理解)
v1.8.0 — Background Terminal + Fork + Voice Duplex
v1.8.0 — Background Terminal + Fork + Voice Duplex
发布日期:2026-06-17
🎯 主题
后台进程管理(5.24)+ 多线对话(5.25)+ Voice 流式双向(5.26)三大新功能。
✨ 新增
5.24 Background Terminal(后台 long-running 进程)
- 新增 crate
background:完整后台进程管理 - 7 个 Tauri 命令:
bg_list/bg_list_running/bg_get/bg_spawn/bg_stop/bg_stop_all/bg_tail - 持久 log 写到
~/.agentshell/bg/<label>/<pid>.log - 输出 tail 100 行(环形缓冲)+ log 文件全量
- SIGINT 优雅停止 + kill_on_drop=false(自主管理)
- 平台-specific:Unix 用
kill -INT,Windows 留 placeholder
5.25 Fork + Side Chat(多线对话)
SessionMeta新增 4 字段:parentId/forkPointMessageId/side/expiresAt- 4 个新 store 方法:
fork(label?)— 复制当前 session 所有 messages 到新 session(深 clone + 重 id)side(question)— 临时旁问 session,24h 后自动过期forksOf(parentId)— 列所有 forks of a parentgcExpiredSides()— 清理过期 side sessions
- 列表 UI 显示
↳标记 forks /💬标记 side chats
5.26 Voice 双向对讲(流式 TTS + duplex)
- 新增命令:
voice_duplex_start— 启动流式 TTS session(返回 session_id)voice_duplex_status— 当前 session 元数据
- 流事件
voice:duplex:event:3 种 kind(start/chunk/done) - 支持 6 种 voice:
alloy/echo/fable/onyx/nova/shimmer - 演示版:50 字符/chunk、80ms 间隔
- 真实版预留:接 OpenAI TTS / ElevenLabs / 本地 piper
7 个新 slash 命令
/ps— 列所有后台进程(id/label/pid/状态/log 路径)/ps <id>— 看某后台的详细输出(最近 2000 字 tail)/stop//stop all//stop <id>— 停全部 / 某个/bg <label> <command> [args...]— 启动后台/fork//fork <label>— 分支当前 session/side <question>— 临时旁问(24h 后过期)/voice <text>//voice --voice nova <text>— 流式 TTS
📦 安装
下载 Codex gx_1.8.0_aarch64.dmg → 双击 → 拖入 Applications
🧪 验证
# 1. Background Terminal — 后台跑 npm dev
./Codex\ gx.app/Contents/MacOS/codex-gx-desktop # 启动 App
# 在 App 中:/bg "dev server" npm run dev
# 然后:/ps 看状态
# 然后:/stop <id> 关掉
# 2. Fork + Side
# /fork 方案 B → 切到新分支
# /side 这个函数干啥的 → 旁问🔧 Tech
- 新增 crate:
background(4/4 测试通过) - 1 个新 store extension:sessions.ts 加 4 方法 + 4 字段
- 7 个新 Tauri 命令(background 7 个 + voice 2 个)
- 7 个新 slash 命令
- TypeScript: 0 errors
- Rust 编译: 0 errors
📋 下一步(v1.9 候选)
- 5.27 Hook 事件总线增强
- 5.28 Memory 长期记忆(基于 checkpoint)
- 5.29 Pocket 消息 App 集成(飞书 / 企微 / 钉钉)
- 5.30 Mobile Remote(手机远程)
v1.7.0 — Codex CLI 2026 全功能对齐
v1.7.0 — Codex CLI 2026 全功能对齐大补完
发布日期:2026-06-17
🎯 主题
通读 Codex CLI 2026 官方命令表 + 对齐补完,4 大新功能章节 + 8 个新 slash 命令 + 6 个内置 SKILL.md。
✨ 新增
5.20 Personality(沟通风格)
- 3 档预设:
concise(极简)/explanatory(详细)/collaborative(对话) - 1 个用户自定义(读
~/.agentshell/personality/custom.txt) - 状态栏显示当前 personality
- 切换走
/personality <name>— 下一轮立即生效 - system prompt 注入:在 5.3 system prompt 末尾追加
5.21 Skills 开放标准(SKILL.md — Codex 2026 旗舰特性)
- 兼容 Codex 2026 / Claude Code / Cursor / Copilot 的 SKILL.md 开放标准
- YAML frontmatter(name / description / triggers / author / version / trust)
- 三类来源:builtin(
docs/skills/)/ user(~/.agentshell/skills/)/ project(<cwd>/.agentshell/skills/) - 6 个内置 Skill:
pr-review— 6 维度 code reviewcommit-message— conventional commitimagegen— 调 generate_imageopenai-docs— 检索 OpenAI 官方文档grill-me— 苏格拉底式反问handoff— session 压缩交接
- 自动激活(triggers 匹配)+ 显式激活(
/skillmd <name>) - 安全:untrusted skill 走 5.5 审批
5.22 Goal(任务目标)
- to-do 列表 + 进度跟踪(
3/12 (25%)) - 跨 session 恢复(持久化到
~/.agentshell/goals/<id>.json) - 全命令:
/goal <title>/status/pause/resume/clear/add <todo>/done <id> - 自动完成(全部 done → goal completed)
- 强制 evidence(commit hash / file path)
5.23 Headless / JSON 模式(CI/CD 关键)
- 新 bin
agentshell-headless(独立可执行) - 3 种输出格式:
text— 纯文本(人类读)json— JSON Lines(CI 解析)stream-json— 流式 JSON event-by-event
- 6 种 event:
thread.started/turn.started/item.completed/turn.completed/thread.completed/item.delta - 退出码:0 成功 / 1 任务失败 / 2 网络 / 3 max-turns
- CI 集成示例(GitHub Actions):
- run: | agentshell-headless "review this PR" \ --format json --max-turns 20 --approval auto > review.json
8 个新 slash 命令
/personality— 切档 / 列预设/skillmd— 列出 / 加载 / 安装 SKILL.md/goal— 设 / 查 / 暂停 / 继续 / 加 todo / 标 done/headless— 显示 headless 用法/mention— @mention 模糊文件搜索(占位)/vim— Vim 模式开关(占位)/ide— 显示 IDE context/copy— 复制最后一条 assistant 到剪贴板
📦 安装
下载 Codex gx_1.7.0_aarch64.dmg → 双击 → 拖入 Applications
🧪 验证
# 1. headless 三种输出
./Codex\ gx.app/Contents/MacOS/agentshell-headless "fix bug"
./Codex\ gx.app/Contents/MacOS/agentshell-headless --format json "fix bug"
./Codex\ gx.app/Contents/MacOS/agentshell-headless --format stream-json "fix bug"🔧 Tech
- 新增 crates:
personality,skills_md,goal,headless - 6 个内置 SKILL.md:
pr-review/commit-message/imagegen/openai-docs/grill-me/handoff - 6 个 Tauri 命令模块:
personality_*(6) /skillmd_*(7) /goal_*(13)
📋 下一步(v1.8 规划)
- 5.24 Background Terminal(
/ps/stop) - 5.25 Vision 多模态增强
- 5.26 Voice 双向对讲
- 5.27 MCP server-side 升级
v1.6.0 — 商业化:License 激活码
🎉 v1.6.0 — 商业化:License 激活码
✨ 新增
-
🔐 License 商业化系统
- 4 档 SKU:月卡 ¥9.9 / 季卡 ¥29.9 / 年卡 ¥99(推荐) / 终身 ¥299
LicenseProvidertrait + 4 实现(ActivationCode / Trial / Community / Enterprise)LicenseManager在线/离线双通道 + 6 种状态机(Unactivated / Valid / Expiring / Expired / OfflineGrace / Invalid)- 7 天滚动窗口,30 天强制退出
- 设备指纹增强(macOS
ioreg拿 disk serial + 真实 MAC 地址) - 一次性时间累计(不合并旧码剩余时间)
- 终身档永久免费升级 v1.x
-
🛠 内部工具
license-genCLI(开发 / 自测用,生成 demo 激活码)- LicensePanel dev build 隐藏入口(4 档测试按钮)
-
📚 文档
- 完整 README:装机说明(macOS / Windows / Linux)+ License 购买流程 + 常见问题
-
🔗 5.17.1 App 锁联动
- 未激活 / 过期 / 离线宽限 → 启动自动弹 License 面板
- 过期 / 离线 → 全局广播只读模式(前端可拦截写操作)
🛒 License 规则(用户原话:"按填写激活码的时间,累计时间就可以")
- 一个码 = 一段时间(30 / 90 / 365 天 / 永不到期)
- 从输入时刻起算,到期失效
- 新码从新输入时间重新累计,旧码剩余不合并
- 终身档:永久免费升级 v1.x
- 不退款 / 不自动续费 / 不升级折价
📦 安装
下载 Codex.gx_1.6.0_aarch64.dmg → 拖入 Applications → 右键打开(首次未签名需确认)。
详细步骤见 README。
v1.5.0 — Skills library, TTS, flow graphs, session sync, plugins
🎉 v1.5.0 — Codex gx
This release is built around extensibility and user-visible feedback:
✨ New features
- 📚 Skills Library — 12 built-in templates, 3 execution modes (shell / prompt / chain), enable / disable / import / export.
- 🔊 Text-to-Speech (TTS) — auto-detect platform backends (macOS
say, Windows PowerShell, Linuxespeak/spd-say/festival), per-message playback,/speakslash command. - 🕸️ Agent Flow Graph — visualise any plan as a directed graph, export to Mermaid,
/flowslash command. - ☁️ Session Sync — local publish / fetch of session bundles,
/syncslash command, export / import JSON. - 🧩 Plugin Hot Loading — 5 default plugins, custom DSL for text transformations, PreSend / PostRecv / Slash hooks, hot reload.
🛠 Fixes (hot-patched after initial release)
- ✅
Queuetokio runtime panic on launch in release build → scheduler now spawns viatauri::async_runtimeinstead of baretokio::spawn. - ✅ macOS bundle identifier now uses
codex-gx-desktop(wasagentshell_desktop-*). - ✅ New square app icon redesigned from scratch (was a stretched 480×240 rectangle).
📦 Install
Download Codex.gx_1.5.0_aarch64.dmg below, drag Codex gx.app into Applications, first launch may require right-click → Open (no developer signature yet).
v1.4.0 — 本地 LLM / 代码 review / 任务队列 / P2P / Agent 学习
v1.4.0
五大新功能:
🏠 1. 本地 LLM 集成(Ollama / llama.cpp)
- 新
provider/src/local.rs模块,两个Modeltrait 实现:OllamaProvider— 走http://127.0.0.1:11434/api/chat(NDJSON 流式)LlamaCppProvider— 走 llama.cpp server 的 OpenAI 兼容接口
discover_all(ollama_url, llamacpp_url)自动探测本机可用模型- Top bar 🏠 打开 LocalModelDialog:列表 / 测速 / 复制 ID
/local [ollama_url]slash 命令快速探测- 模型 ID 格式:
ollama:<name>/llamacpp:<name>
🔍 2. 代码 review / 静态分析集成
- 新
crates/lintcrate,三个Checker:rust-clippy—cargo clippy --message-format=json(correctness 警告)tsc—tsc --noEmittodo-scanner— 扫描 .rs/.ts/.tsx/.js/.jsx/.py/.go 等源文件里的 TODO/FIXME/XXX/HACK
- Top bar 🔍 打开 CodeReviewDialog:按严重度筛选 / 按 file 展示
/lint [path]slash 命令快速扫描
📋 3. Agent 任务队列 + 后台执行
- 新
crates/queuecrate:- 并发可控(默认 2)
- 状态机:pending → running → completed | failed | cancelled
- 每个任务有
tokio::sync::watch取消信号 - broadcast 进度事件
- 内置 executor:
Command(sh -c / cmd /C)/Lint(委派 step 2) - Top bar 📋 打开 QueuePanel:实时状态 / 进度条 / 日志 / 结果 / cancel
/queue [cmd]后台跑命令不阻塞当前 chat
📡 4. P2P 设备协同(同局域网)
- 新
crates/p2pcrate:- mDNS 广播(macOS
dns-sd/ Linuxavahi-publish) - TCP 长连接 + 行分隔 JSON 协议
- 6 位 pairing code 手动授权
- 协议:Hello / Pair / PairOk / PairDenied / SessionList / SessionPull / SessionData / Ping / Pong / Bye
- mDNS 广播(macOS
- 设备 ID 持久化到
~/.agentshell/device_id - Top bar 📡 打开 DevicesPanel:host / client / 配对请求 / peer 列表
🧠 5. Agent 学习 / 个性化
- 新
crates/learningcrate:- 跟踪模型使用、工具使用、slash 命令、提示长度、语言、活跃时段
- 简单 token 提取 + stopword 过滤
- 推断偏好(默认模型 / 常用工具 / 偏好语言 / 典型提示长度)
- 置信度(基于总信号数)
- 持久化到
~/.agentshell/learning.json inject_text()输出 system prompt 注入片段- Top bar 🧠 打开 LearningPanel:偏好 / 统计 / top 10 工具 / 词云 / 👍👎
/learn//learn feedback [bad]//learn resetslash 命令
📊 总体
- 180 个 Rust 单元测试通过
- 全部 TypeScript 类型检查 + Vite build 通过
- Cargo workspace 14 个 crate:core / provider / patch / context / mcp / sandbox / computer-use / license / memory / voice / marketplace / vault / lint / queue / p2p / learning
🆕 新依赖
regex-lite— 用于 tsc 输出解析rand— 用于 pairing code 生成
完整更新见 git log。