Codex Vibe Monitor
Codex Vibe Monitor 是面向自部署的 OpenAI 兼容代理观测工作台:它接入 /v1/* HTTP / WebSocket 流量,将调用留证、实时 SSE、历史统计、请求排障、上游账号池、forward proxy、价格目录和 SQLite 持久化收在同一套运营界面中。
- Progressive web app
- Monitoring dashboard
- Storybook accessibility
- UI version display
- GitHub Actions scheduling
- Worktree bootstrap
目录
技术栈
运行与交付
- CI 工作流
- ci-main.yml
- ci-pr.yml
- docs-pages.yml
- label-gate.yml
- notify-release-failure.yml
- release-snapshot-pr.yml
- release.yml
- review-policy.yml
- 能力标记
- bun_lock
- cargo_toml
- dockerfile
- github_actions
- package_json
依赖与工具
- package.json
- 开发依赖
- @biomejs/biome
- @commitlint/cli
- @commitlint/config-conventional
- commitlint-plugin-function-rules
- dprint
- lefthook
- 项目脚本
- check:bun-first
- hooks:install
- lint:docs
- lint:web
- worktree:bootstrap
- worktree:setup
配置与质量
- 配置文件
- .bun-version
- .dockerignore
- .gitignore
- Cargo.toml
其他信息
- Cargo
- 开发依赖
- filetime
- libsqlite3-sys
- Deps main
- aes-gcm
- anyhow
- async-compression
- async-stream
- Package manager
bun@1.3.14
{
"cargo": {
"deps_dev": [
"filetime",
"libsqlite3-sys"
],
"deps_main": [
"aes-gcm",
"anyhow",
"async-compression",
"async-stream",
"axum",
"base64",
"brotli",
"chrono",
"chrono-tz",
"clap",
"crc32fast",
"dotenvy",
"flate2",
"futures-util",
"hmac",
"httpdate",
"hyper",
"hyper-util",
"libc",
"nanoid"
]
},
"ci_workflows": [
"ci-main.yml",
"ci-pr.yml",
"docs-pages.yml",
"label-gate.yml",
"notify-release-failure.yml",
"release-snapshot-pr.yml",
"release.yml",
"review-policy.yml"
],
"configs_root": [
".bun-version",
".dockerignore",
".gitignore",
"Cargo.toml",
"biome.json",
"dprint.json",
"lefthook.yml",
"package.json",
"rust-toolchain.toml"
],
"markers_present": [
"bun_lock",
"cargo_toml",
"dockerfile",
"github_actions",
"package_json"
],
"package_json": {
"deps_dev": [
"@biomejs/biome",
"@commitlint/cli",
"@commitlint/config-conventional",
"commitlint-plugin-function-rules",
"dprint",
"lefthook"
],
"scripts": [
"check:bun-first",
"hooks:install",
"lint:docs",
"lint:web",
"worktree:bootstrap",
"worktree:setup"
]
},
"package_manager": "bun@1.3.14"
}Purpose
Codex Vibe Monitor 是面向自部署的 OpenAI 兼容代理观测工作台:它接入 /v1/* HTTP / WebSocket 流量,将调用留证、实时 SSE、历史统计、请求排障、上游账号池、forward proxy、价格目录和 SQLite 持久化收在同一套运营界面中。CRS runtime polling 已退役;历史 xy 记录和 quota snapshot 仅保留只读查询,服务不再从 XYAI 上游抓取新数据,这是重要的兼容边界。
Taxonomy
- Tags: Progressive web app, Monitoring dashboard, Storybook accessibility, UI version display, GitHub Actions scheduling, Worktree bootstrap
Repository map
Cargo.toml是 Axum/SQLx/Tokio 服务 manifest,包含 SQLite、SSE、proxy、OpenAI-compatible forwarding 和 CLI 依赖。web/是 React/Vite 管理台;web/.storybook/main.ts启用@storybook/addon-a11y与 docs,属于 Storybook accessibility。web/public/site.webmanifest与web/index.html定义了 standalone install metadata、theme color 和 icon/manifest linkage。Dockerfile先构建 web assets,再构建 Rust binary,并固定 Bun/Rust/Debian 版本以控制 glibc 漂移。ops/observability/保存 Prometheus、Grafana、可选 Tempo、Compose network/volume、dashboard provisioning、recording rules 与 alert provisioning;src/observability/保存应用侧 bounded metrics、HTTP/body/browser 采集、资源采样、报告适配和可选 tracing 边界。.github/quality-gates.json、ci-pr.yml、ci-main.yml、release.yml和review-policy.yml定义 PR/main/release gate。
Runtime and delivery
Web build 会写入版本信息:web/package.json 的 build 链接 scripts/write-version.mjs,Dockerfile 通过 APP_EFFECTIVE_VERSION 注入 VITE_APP_VERSION。后端运行时是单 Rust service,SQLite 为低运维持久层;Docker artifact 是主要部署形态。与此同时,web/index.html 与 web/public/site.webmanifest 已经把这个控制台声明成 display: standalone 的 install surface,说明 install metadata 不是附属美术资源,而是产品 runtime identity 的一部分。
性能观测是独立于业务持久化的运行时交付面:应用从真实事件更新有界 metrics,Prometheus 负责历史,Grafana 通过仓库 provisioning 管理六个 dashboard、查询和告警;hotpath-rs 负责函数、规范化 SQL、路由和选定锁的归因。请求 tracing 当前是默认关闭的可选能力,Tempo 只保存受限的请求链路;受限 samply CPU attach 是按需诊断工具,不是常驻 profiler。相关 Compose、网络隔离、凭据边界和验证顺序见 ops/observability/README.md 与 docs/solutions/performance/prometheus-grafana-compose-integration.md。
这个仓库也是 Lefthook 型 Worktree bootstrap 的 canonical 实现。维护者先确保 repo 外的全局 lefthook 可执行,再以 bun run hooks:install 生成 shared Git hooks;lefthook.yml 的 post-checkout command 调用当前 checkout 的 scripts/run-lefthook-hook.sh。linked worktree 会自动以 copy-missing-only 语义同步本地资源,并通过 scripts/worktree-setup.sh 依次恢复 repo root、web/、docs-site/ 的 Bun 依赖和 Rust crate 缓存;主 worktree 普通 checkout 跳过依赖恢复。自动路径汇总告警但不阻断 checkout,手动 bun run worktree:bootstrap 则保留聚合失败码(README.md、docs/specs/v7se4-worktree-bootstrap/SPEC.md、lefthook.yml、scripts/worktree-bootstrap.sh、scripts/worktree-setup.sh)。
Architecture notes
系统边界是代理层、统计采集层、SQLite persistence 和 dashboard SSE。代理不能只当 reverse proxy;它还承担审计记录和 quota snapshot 暴露。历史 XYAI 数据是 compatibility/read-only surface,后续改动不能重新引入上游抓取假设。
观测链路另有清晰的职责边界:应用 exporter 和 hotpath exporter 向 Prometheus 提供聚合指标,Grafana 只查询已 provision 的 Prometheus/Tempo 数据,业务数据库继续保存调用、费用、token、终态、任务与审计事实。metrics、trace 和 CPU profile 不能互相冒充;观测组件、exporter、sampler 或报告 API 的故障只能使观测降级,不能改变代理请求、ACK、任务执行或业务写入的成功语义。固定 label 白名单、凭据分离、私网抓取、报告限额和 tracing 的异步有界队列是当前实现的安全边界,而不是所有项目的固定数值。
证据锚点:README.md。
Workflow and quality gates
这个 repo 是 PR label release 的强参考:PR gate、main gate、release snapshot、review policy 拆得很细。.github/quality-gates.json 记录 required checks,release.yml 与 label gate 决定版本发布,.github/workflows/notify-release-failure.yml 把失败通知作为独立的可复用 release surface。Storybook a11y 和 web tests 属于 UI gate,Rust tests 属于服务 gate。
观测集成的质量证明覆盖配置、运行时和查询语义:六个 dashboard JSON、Prometheus recording rules、Grafana datasources/alerts、Compose 服务边界、metrics freshness/样本量检查、hotpath 报告白名单,以及监控停机不影响业务的验收。scripts/cvm-observe 提供固定查询和 HTTPS 机器访问面,scripts/test-observability-tools.py、scripts/test-observability-acceptance.py 与 scripts/test-observability-diagnostics.py 证明工具输入、隔离验收和诊断边界;这些证据不等于生产部署或性能预算已在所有环境通过。
.github/workflows/ci-pr.yml 的 edited metadata 重验与普通 candidate 共用可取消的 per-PR concurrency group;是否隔离重验运行属于 GitHub Actions scheduling,而不是修改 gate 名称或 release contract。
Worktree 侧的质量证明不是 shell 静态检查,而是 scripts/test-worktree-bootstrap.sh 建立真实 linked worktree 并通过真实 Lefthook hook 触发 bootstrap;fake Bun/Cargo 锁定依赖执行顺序和 locked 参数,Vitest sentinel 证明恢复后的 web tool 可执行。测试还覆盖缺少全局 Lefthook、repo-local binary shadow、unmanaged hook 保留、自定义 core.hooksPath、历史 revision no-op、现有 .env.local 不覆盖,以及自动/手动失败语义(scripts/test-worktree-bootstrap.sh、scripts/install-lefthook-hooks.sh)。
Reusable decisions
- 在 Dockerfile 中固定 builder/runtime 发行版,避免 glibc 版本漂移导致容器运行失败。
- 把版本显示作为 UI contract;release 和 web build 都要传递 effective version。
- 将代理审计数据放入 SQLite,适合个人/小团队单节点服务。
- 把 manifest、theme-color、
apple-touch-icon和 app icons 都内置在仓库里,有助于保持 install surface 与本地图标资产一致,不再依赖运行时第三方拉取。 - 已采用 Lefthook 的仓库可把 standard shared hook generation、当前 revision runner、copy-missing local resources、best-effort dependency recovery 和真实 linked-worktree smoke 收敛成一条 canonical bootstrap chain;不要再并列维护 custom wrapper 或 dual entrypoint(
lefthook.yml、scripts/install-lefthook-hooks.sh、scripts/run-lefthook-hook.sh)。 - 自动
post-checkout与手动worktree:bootstrap应复用同一 setup implementation,但保留不同失败语义:自动路径告警后成功返回,手动路径暴露聚合非零状态(scripts/worktree-bootstrap.sh、scripts/worktree-setup.sh)。 - 用有界、低基数的 runtime metrics 记录真实 source event,把 Prometheus/Grafana 当作历史与查询面,把业务 SQLite 当作业务事实面;不要用业务表回填 metrics,也不要让 dashboard 成为业务成功条件(
docs/design/performance-observability.md、docs/specs/performance-telemetry/METRICS.md)。 - 将应用 classic Histogram 与 hotpath native Histogram 分开抓取、查询和容量审查;dashboard provisioning、recording rules 和 alert rules 进入仓库,Grafana UI 不作为配置真相(
ops/observability/prometheus.yml、ops/observability/grafana/provisioning/)。 - 将 metrics scrape、Grafana Viewer、hotpath report 和 tracing 摄入/查询凭据分开,并把 Prometheus/Tempo 保持在受限网络;项目具体的端口、留存、采样率、容量与性能预算只由当前项目合同决定,不能复制成通用默认值(
ops/observability/compose.yml、docs/design/request-lifecycle-observability.md)。 - 让 tracing 默认可关闭、异步且有界;让 CPU profiler 通过受限命令按需 attach,禁止把任意 PID、shell 或 profiler daemon 暴露成通用运维入口(
src/observability/traces.rs、scripts/cvm-hotpath-cpu)。
Risks and open questions
- 代理处理敏感请求,日志和 SQLite retention 需要清晰策略。
- CRS/XYAI 历史兼容边界容易被误解。
- Release snapshot 机制复杂,不能用简单 tag push 替换。
- 当前 install metadata 已经明确,但没有 service worker/offline/update lifecycle 的同等级证据;后续若要把它提升为“真正的可离线 PWA”,必须先补齐这条链路。
- linked worktree 在本地依赖出现前就需要启动 shared hook,因此全局 Lefthook 是明确前置条件;repo-local
node_modules/.bin/lefthook不能替代它。自定义core.hooksPath或 unmanaged hook 必须被保留,不能由安装入口暗中覆盖(docs/specs/v7se4-worktree-bootstrap/SPEC.md、scripts/install-lefthook-hooks.sh)。 - 观测的六个 dashboard、Tempo 兼容边界和旧性能 SQLite/自研性能图表退役是当前实现事实;新增项目不能据此推导固定 dashboard 数量、tracing 必选、留存期限或性能预算。任何容量/开销结论都需要项目自己的验证卡和环境证据(
docs/specs/performance-telemetry/SPEC.md、docs/specs/performance-telemetry/empirical-candidate-card.md)。 - Grafana、Tempo、hotpath 或 profiler 的可达性不能通过复制生产入口、凭据或内部部署路径来证明;公共 playbook 只保留相对配置路径和抽象网络/身份边界。
Evidence index
README.mdCargo.tomlDockerfileweb/package.jsonweb/index.htmlweb/public/site.webmanifestweb/.storybook/main.tsops/observability/README.mdops/observability/compose.ymlops/observability/prometheus.ymlops/observability/recording-rules.ymlops/observability/grafana/dashboards/ops/observability/grafana/provisioning/src/observability/scripts/cvm-observescripts/cvm-hotpath-cpuscripts/test-observability-acceptance.pyscripts/test-observability-diagnostics.pyscripts/test-observability-tools.pydocs/design/performance-observability.mddocs/design/request-lifecycle-observability.mddocs/specs/performance-telemetry/SPEC.mddocs/specs/performance-telemetry/METRICS.mddocs/solutions/performance/prometheus-grafana-compose-integration.mddocs/specs/k7kpk-bundle-icons-locally/SPEC.mddocs/specs/v7se4-worktree-bootstrap/SPEC.mddocs/specs/v7se4-worktree-bootstrap/IMPLEMENTATION.mdlefthook.ymlscripts/install-lefthook-hooks.shscripts/run-lefthook-hook.shscripts/worktree-bootstrap.shscripts/worktree-setup.shscripts/sync-worktree-resources.shscripts/test-worktree-bootstrap.sh.github/quality-gates.json.github/workflows/ci-pr.yml.github/workflows/ci-main.yml.github/workflows/label-gate.yml.github/workflows/notify-release-failure.yml.github/workflows/release.yml
相关内容
GitHub Actions scheduling
主题GitHub Actions scheduling 表示仓库把 workflow 触发事件、并发 namespace、cancel-in-progress 和 required check 可见性组织成可审计的运行调度合同。目标不是让每个事件只跑一次,而是让当前 PR head 获得正确且可观察的 gate,同时不让无关 PR、main、deploy 或手工任务被同一个并发键误取消。
Monitoring dashboard
主题Monitoring dashboard 表示一套面向长期运行服务的观测集成:应用从真实 source event 产出有界、低基数的 Counter、Gauge 和 Histogram,Prometheus 负责抓取与时间序列历史,Grafana 通过仓库内 provisioning 提供固定 dashboard、查询和告警;Docker Compose 或等价编排负责把应用 exporter、Prometheus、Grafana...
Progressive web app
主题Progressive web app 在这套 playbook 里不是“网页顺手带个 manifest”的统称,而是“把一个 Web surface 当成可安装应用去维护”的工程模式。
Storybook accessibility
主题Storybook accessibility 表示 Storybook 不只是组件展示,还明确引入 a11y audit 能力,通常是 @storybook/addon-a11y 或等价的 browser-backed Axe sweep。它关注 story-level 可访问性信号,例如对比度、ARIA 基础错误、表单语义和交互状态,而不是泛化的 Storybook 文档能力。
UI version display
主题UI version display 指产品有意识地把“当前运行的到底是哪一版”暴露给用户或操作者查看,而不是把版本号藏在构建日志或开发者工具里。它通常包含一个稳定的人类可读显示位点,以及一条由运行时或构建链提供的版本真相路径,用于支持排障、远程协作和发布确认(projects/codex-vibe-monitor.md、projects/dockrev.
Worktree bootstrap
主题Worktree bootstrap 表示仓库把 linked worktree 的“首次进入可开发状态”当成正式 contract 来维护,而不是依赖维护者记忆、散落且无统一入口的手工 checklist,或假定只有主工作区才值得被照顾。