如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
一个现代化的仪表板(截至 v0.3 版本基于 TanStack Start 构建),通过系统表提供 ClickHouse 集群的实时洞察。每个页面在构建时预渲染,结合客户端数据获取,以实现最佳性能和 CDN 缓存。
[!NOTE] 从 v0.2 版本升级?v0.3 版本基于 TanStack Start 重构了应用。ClickHouse 连接变量保持不变;浏览器变量前缀从 NEXT_PUBLIC_* 改为 VITE_*(旧名称仍可作为回退使用)。请参见下方的升级至 v0.3 版本部分或完整的迁移至 v0.3 版本指南。
从 v0.2 版本升级?v0.3 版本基于 TanStack Start 重构了应用。ClickHouse 连接变量保持不变;浏览器变量前缀从 NEXT_PUBLIC_* 改为 VITE_*(旧名称仍可作为回退使用)。请参见下方的升级至 v0.3 版本部分或完整的迁移至 v0.3 版本指南。
NEXT_PUBLIC_* VITE_*
在线演示:dash.chmonitor.dev | chmonitor.dev | 截图
功能特性:
CHM_EDITION控制本项目支持部署到Cloudflare Workers,包含静态站点生成和API路由。
前提条件:
npm install -g wrangler设置步骤:
git clone https://github.com/duyet/clickhouse-monitoring.git
cd clickhouse-monitoring
bun install
.env.local 中配置环境变量:CLICKHOUSE_HOST=https://your-clickhouse-host.com
CLICKHOUSE_USER=default
CLICKHOUSE_PASSWORD=yourpassword
CLICKHOUSE_TZ=UTC
可选:为 /api/v1/* 路由配置API密钥保护:
CHM_API_KEY_SECRET=your-signing-secret
可选:Clerk UI/会话支持:
CHM_AUTH_PROVIDER=clerk
NEXT_PUBLIC_AUTH_PROVIDER=clerk
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=pk_live_your_key
CLERK_SECRET_KEY=sk_live_your_key
功能权限默认启用且公开。当部署需要隐藏或保护某个功能时,可添加稀疏覆盖配置:
# /etc/clickhouse-monitor/config.toml
[features.agent]
access = "authenticated"
[features.metrics]
enabled = false
access = "guest" 可作为 access = "public" 的别名。
CHM_CONFIG_FILE=/etc/clickhouse-monitor/config.toml
# 或仅使用环境变量:
CHM_FEATURE_AGENT_ACCESS=authenticated
CHM_DISABLED_FEATURES=settings,metrics
对于无需身份验证的自托管部署,保留身份验证提供程序环境变量未设置或将其设为 none。
# 在 .env.prod 中设置 CLOUDFLARE_API_TOKEN 或导出该变量
# 或使用OAuth:npx wrangler login
# 统一部署(配置、构建、部署、缓存 — 与CI流程相同)
bun run cf:deploy
手动部署步骤:
# 分步操作(与CI流程相同)
bun run cf:config # 从 .env.prod 设置密钥
cd apps/dashboard
bun run build # Vite构建 → 原生Workers bundle(+ tsc --noEmit)
wrangler deploy --minify
重要说明:
@cloudflare/vite-plugin 构建为 原生Workers bundle — 无需OpenNext,无需KV/R2/D1缓存填充步骤?host=0)docker run -d \
-p 3000:3000 \
-e CLICKHOUSE_HOST=https://your-clickhouse-host.com \
-e CLICKHOUSE_USER=default \
-e CLICKHOUSE_PASSWORD=yourpassword \
ghcr.io/duyet/chmonitor:latest
将您当前的配置(.env、docker-compose.yml、Helm values.yaml 或 k8s 清单)粘贴到任何 AI 助手中,并使用以下提示。它会应用 v0.3 重命名规则,返回迁移后的配置以及更改摘要。此提示随每个破坏性变更 GitHub Release 一同发布,并与 .github/release-migration-prompt.md 保持同步。
您正在将 chmonitor 部署从 v0.2(Next.js)迁移到 v0.3(TanStack Start)。
这是我当前的环境配置(.env / docker-compose / wrangler / k8s 清单):
请按照以下规则为 v0.3 重写配置,并输出迁移后的配置及简短的更改列表:
1. 将所有客户端变量前缀 NEXT_PUBLIC_ 重命名为 VITE_。具体包括:
NEXT_PUBLIC_AUTH_PROVIDER -> VITE_AUTH_PROVIDER
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY -> VITE_CLERK_PUBLISHABLE_KEY
NEXT_PUBLIC_FEATURE_CONVERSATION_DB-> VITE_FEATURE_CONVERSATION_DB
(其他任何 NEXT_PUBLIC_X 均改为 VITE_X)。旧名称仍可作为回退使用。
2. 添加服务端认证变量 CHM_AUTH_PROVIDER(none|clerk|proxy),与客户端提供程序对应。它在服务端具有权威性;同时保留 VITE_AUTH_PROVIDER。
3. 不要重命名服务端变量:CLICKHOUSE_HOST、CLICKHOUSE_USER、CLICKHOUSE_PASSWORD、
CLICKHOUSE_NAME、CLICKHOUSE_MAX_EXECUTION_TIME、CLERK_SECRET_KEY、*_API_KEY — 保持原样。
4. VITE_* 变量在构建时内联:确保它们在镜像/Worker 构建时(Docker build-args 或 CI 构建环境)存在,而不仅仅是在容器运行时。
5. 如果是 Docker 部署,将容器启动命令从 `node server.js` 改为 `node server/index.mjs`。端口 3000 和 /api/healthz 健康检查保持不变。
6. 对于没有 v0.3 等效项的内容,需标记出来,而不是静默删除。
CHM_EDITION 控制llms.txt — 标准化文件,帮助 AI 编码代理发现和理解代码库结构。可通过 https://your-domain.com/llms.txt 访问,或在本地开发中通过 /llms.txt 访问。
MCP 服务器 — 在 /api/mcp 公开 Model Context Protocol 端点,供 AI 工具直接查询您的 ClickHouse 集群。设置方法参见 docs/knowledge/mcp-server.md。
知识图谱 — docs/knowledge/ 中的开发者笔记,包含决策、约定和架构文档。索引参见 docs/knowledge/README.md。
欢迎提供反馈和贡献!随时提出 issue 或提交 pull 请求。
参见 LICENSE。
来自真实用户的反馈,见证轩辕镜像的优质服务