Skip to content

jiangliushi666/codex-baoan

Repository files navigation

Codex 保安

Codex 保安是一个 Tauri 2 桌面应用:Rust 后端负责本机配置发现、本地审计状态和命令风险提示,React/TypeScript 前端负责桌面界面展示。它是标准桌面应用,不是浏览器页面、脚本壳或插件包装。

目标是让普通用户在使用未知模型中转站时,不需要手动填写 Base URL / API Key,就能看到 Codex 连接了哪些模型供应商、当前本地审计是否启用、命令风险是否命中,并能通过清晰的桌面界面完成安装、升级和卸载入口操作。

普通用户安装

从 GitHub Releases 下载最新安装包:

https://github.com/jiangliushi666/codex-baoan/releases/latest

Tauri 会生成标准桌面安装产物:

  • Windows MSI 安装版:推荐使用,安装到用户目录,支持开始菜单、卸载项和应用内更新
  • Windows NSIS 安装器:备用安装入口
  • Windows Portable 便携版:解压即用,不参与应用内自动更新

卸载走系统应用管理。Windows 用户可以在应用右侧设置抽屉里点击「卸载入口」,或打开「设置 > 应用 > 已安装的应用」。

自动更新

应用内置了自动更新功能:

  1. 打开应用,点击右上角「设置」按钮
  2. 在「版本更新」区域点击「检查更新」
  3. 如果有新版本,点击「立即更新」按钮
  4. 更新下载完成后,应用会自动重启到新版本

所有更新包都经过签名验证,确保安全性。开发模式和 Portable 便携版不会执行应用内更新,可通过下载页手动安装正式版本。

维护者发布

正式自动更新依赖 Tauri updater 签名。仓库 Secrets 需要配置与 src-tauri/tauri.conf.jsonplugins.updater.pubkey 配对的私钥:

  • TAURI_SIGNING_PRIVATE_KEY
  • TAURI_SIGNING_PRIVATE_KEY_PASSWORD

推送 v* tag 后,GitHub Actions 会构建 Windows MSI/NSIS/Portable 产物、签名 MSI 更新包并上传 latest.json 到本次 Release。已安装的 MSI 版本会从 Releases latest endpoint 检查并安装新版本。

开发运行

本项目使用 pnpm + Tauri。开发启动也先构建本地 dist/,再启动 Tauri 桌面窗口;不会暴露浏览器网页入口:

pnpm install
pnpm run dev

类型检查:

pnpm run typecheck

构建安装包:

pnpm run package:windows:unsigned

正式发布使用 pnpm run package:windows,需要设置 TAURI_SIGNING_PRIVATE_KEY 以生成应用内更新签名。

本地构建产物会出现在:

src-tauri/target/release/bundle/

自动发现

启动后会自动扫描本机已有配置,只展示当前实际启用的 Codex 上游来源;不会把历史供应商列表当成可切换管理面板。

  • ccswitch: %APPDATA%\cc-switch\cc-switch.db~/.cc-switch/cc-switch.db
  • Codex++: ~/.codex-session-delete/settings.json 及常见 AppData/config 目录
  • Codex: ~/.codex/config.toml

读取到的 API Key 只在 Rust 后端用于判断可用性,前端只显示脱敏结果。执行记录中的命令会在保存和展示前脱敏常见密钥、令牌、认证头和 URL 查询凭据。

当前能力

  • 本地审计优先的桌面窗口:左侧按活动类型筛选,右侧展示当前上游与执行记录。
  • 自动发现并只展示当前实际启用的 ccswitch / Codex++ / Codex 配置来源,不做逐个供应商的启用/禁用管理。
  • 一键开启/关闭本地审计状态开关,审计对象由当前 Codex 上游自动决定。
  • 执行记录展示层:命令、读取、新建、修改、删除、网络请求、高危事件分类齐全;当前自动采集主要通过读取本机 Codex 会话日志完成,活动数据也可通过 record_command / record_file_event 接口写入。
  • 命令风险规则:识别密钥目录、环境文件、网络传输、删除命令等高危行为,并按等级标记告警。当前版本提供风险提示和事后记录,不承诺对任意外部进程做到执行前阻断。
  • 应用管理:打开安装包页面、检查升级、打开安装目录、打开系统卸载入口。
  • Tauri 打包:标准安装 / 卸载由系统安装器负责。

设计风格

项目的界面风格沉淀在 DESIGN_STYLE.md,后续扩展页面、组件或宣传物料时优先按这份规范保持一致。

后续路线

  • 增加 CLI wrapper / shell shim,让通过可控入口启动的 Codex 或 shell 命令可以执行前检查并按策略阻断。
  • 增加本地代理,让 Codex API 流量显式走本地代理,在模型响应 / 工具调用返回前做策略判断。
  • 对 Codex App 做更深的进程 / 网络层监控;进程检测、可疑进程终止和响应阻断均属于后续路线,当前版本尚未实现。
  • 引入持久化会话日志,展示清晰的告警时间线。

开源

MIT License。仓库地址:https://github.com/jiangliushi666/codex-baoan

About

Codex 保安: local GUI guardrail and monitoring for Codex

Topics

Resources

License

Security policy

Stars

8 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors