Codex Vibe Monitor
Codex Vibe Monitor 是面向自部署的 OpenAI 兼容代理观测工作台:它接入 /v1/* HTTP / WebSocket 流量,将调用留证、实时 SSE、历史统计、请求排障、上游账号池、forward proxy、价格目录和 SQLite 持久化收在同一套运营界面中。
- Rust web service
- Embedded admin UI
- React app
- Progressive web app
- SQLite
- Dockerized dev
- Monitoring dashboard
- Storybook accessibility
- Storybook component QA
- UI version display
- PR label release
- Release failure notification
- Quality gates
- 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: Rust web service, Embedded admin UI, React app, Progressive web app, SQLite, Dockerized dev, Monitoring dashboard, Storybook accessibility, Storybook component QA, UI version display, PR label release, Release failure notification, Quality gates, GitHub Actions scheduling, Worktree bootstrap
- Why / evidence: 这些 tags 来自 checked-out repo 和 catalog record。主要证据包括
README.md、Cargo.toml、Dockerfile、web/package.json、web/index.html、web/public/site.webmanifest、web/.storybook/main.ts、ops/observability/README.md、ops/observability/compose.yml、ops/observability/prometheus.yml、ops/observability/grafana/、src/observability/、scripts/cvm-observe、scripts/cvm-hotpath-cpu、.github/quality-gates.json、.github/workflows/ci-pr.yml、.github/workflows/ci-main.yml、.github/workflows/notify-release-failure.yml,以及 worktree 相关的docs/specs/v7se4-worktree-bootstrap/SPEC.md、lefthook.yml、scripts/install-lefthook-hooks.sh、scripts/run-lefthook-hook.sh、scripts/worktree-bootstrap.sh、scripts/worktree-setup.sh、scripts/sync-worktree-resources.sh与scripts/test-worktree-bootstrap.sh。Topic token 的大小写以对应技术/工作流的官方写法为准;slug 只作为稳定 ID,不直接充当项目标题。
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
相关内容
Dockerized dev
主题Dockerized dev 标记 Dockerfile、Compose 或 container build 是本地开发、集成验证或部署交付的一等路径。它不表示“仓库里偶然有 Dockerfile”,而是 Docker 影响运行环境、数据卷、端口、build args、嵌入式前端产物或 release artifact。
Embedded admin UI
主题Embedded admin UI 表示 operator/admin UI 不是独立部署的前端产品,而是主服务交付物的一部分,通常由同一个 release binary、同一个镜像或同一个部署单元一起提供。这里的重点是交付和边界耦合,而不是框架选型。 这个 Topic 用来回答“控制台为什么要随服务一起发、一起验、一起部署”。
Embedded Rust
主题Embedded Rust 表示 Rust 代码运行在 MCU、driver、firmware 或硬件 bring-up 环境中,通常涉及 no_std、Embassy、esp-hal、STM32/ESP32、probe-rs、espflash 或 embedded-hal。它不是所有 Rust 项目的泛化标签。
GitHub Actions CI performance
主题GitHub Actions CI performance 表示把 CI 当作一个由触发器、DAG、runner 准备、编译、fixture、测试层级、产物传递和质量门禁共同组成的系统来优化。
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...
PR label release
主题PR label release 是逐 PR 的产品发布协议:PR labels 只提供经过 gate 验证的发布操作与发布阶段;最高的合格 final vX.Y.Z Git release tag 是唯一数字版本基线,VERSION 只锁定 trusted preparation 已决定的精确产品版本。label 不能计算、覆盖或为版本提供 fallback。
Progressive web app
主题Progressive web app 在这套 playbook 里不是“网页顺手带个 manifest”的统称,而是“把一个 Web surface 当成可安装应用去维护”的工程模式。
Quality gates
主题Quality gates 表示仓库把“什么叫可以合并、什么叫可以发布”写成了显式、可审计的契约,并通过本地脚本、CI workflows、review/signature policy、GitHub required checks 或同类机制把它执行出来。它关注的是 gate contract,而不是某一门具体技术。 这个 Topic 用来回答“仓库怎样防止低质量或不完整的改动穿过默认分支”。
React app
主题React app 标记 React 是主要用户界面、管理台、控制台或嵌入式操作面 runtime。这里关心的是 route、component tree、client state、表单流、dashboard 交互和前端构建后的真实运行边界,而不是“项目依赖里有 React”。 这个 Topic 用来回答“用户实际操作的是不是一个 React runtime,以及它在系统里承担什么职责”。
README content contract
主题README content contract 是面向项目入口文档的可审查规范:README 先让目标读者理解产品、边界和下一步,再提供可复现的 Quick Start、集成 contract、交付语义、文档真相源、许可证入口、有限产品 preview,以及有来源的 Logo 和 Badge 入口。
Release failure notification
主题Release failure notification 指一个仓库为所有“预期成功但最终以 failure 结束”的交付 workflow 建立显式、可审查的告警路径。范围包括 release、deploy、CI、Docs Pages 和 required gate,但必须由 checked-in allowlist 声明;成功、skipped、cancelled 和通知 workflow 自身不属于通知条件。
Rust web service
主题Rust web service 表示 Rust binary 承担长期运行的服务职责:提供 HTTP API、proxy、SSE、docs/data service、admin backend 或 ops daemon,并对外暴露稳定的网络、存储和部署边界。这里的关键词不是“Rust”,而是“服务进程”。 这个 Topic 不只是“语言是 Rust”。
SQLite
主题SQLite 表示项目把 SQLite 作为默认持久层、ledger、audit log、content/settings store 或低运维 embedded database,并围绕它建立路径、schema、迁移、volume、备份和运行时 ownership 约定。它不是“依赖树里有 sqlite”这么宽,而是数据库文件本身已经成为系统 contract 的一部分。
Storybook accessibility
主题Storybook accessibility 表示 Storybook 不只是组件展示,还明确引入 a11y audit 能力,通常是 @storybook/addon-a11y 或等价的 browser-backed Axe sweep。它关注 story-level 可访问性信号,例如对比度、ARIA 基础错误、表单语义和交互状态,而不是泛化的 Storybook 文档能力。
Storybook component QA
主题Storybook component QA 表示仓库把 Storybook 当作组件级文档、状态枚举、视觉检查或 interaction smoke 的稳定入口。它不等同于 Storybook accessibility:只有项目明确引入 a11y addon 或等价 Axe sweep 时,才同时打 accessibility Topic。这个拆分用于避免“只要有 Storybook 就叫 a11y”的误判。
TypeScript web
主题TypeScript web 表示项目把 TypeScript 作为一个或多个 Web surface 的主语言,并围绕它建立 workspace scripts、typecheck、bundler、lint/format、env contract 和前端构建门禁。这里的主语不是“仓库里出现了 .ts 文件”,而是 TypeScript 已经决定了维护者怎样启动、构建、校验和交付实际 Web surface。
UI version display
主题UI version display 指产品有意识地把“当前运行的到底是哪一版”暴露给用户或操作者查看,而不是把版本号藏在构建日志或开发者工具里。它通常包含一个稳定的人类可读显示位点,以及一条由运行时或构建链提供的版本真相路径,用于支持排障、远程协作和发布确认(projects/codex-vibe-monitor.md、projects/dockrev.
Worktree bootstrap
主题Worktree bootstrap 表示仓库把 linked worktree 的“首次进入可开发状态”当成正式 contract 来维护,而不是依赖维护者记忆、散落且无统一入口的手工 checklist,或假定只有主工作区才值得被照顾。