
NineData DBClaw(数据库智能卫士)是一款 AI 原生的数据库诊断开源产品。它将数据库接入、指标监控、告警处理、自动巡检、知识增强和对话式诊断整合在一个私有化部署系统中,帮助 DBA、SRE 和平台团队更快发现问题、定位根因并沉淀运维经验。
https://github.com/ninedata-cloud/dbclaw
!https://github.com/ninedata-cloud/dbclaw/raw/main/docs/img/db_monitor.jpg
!https://github.com/ninedata-cloud/dbclaw/raw/main/docs/img/db_ai_diagnosis.jpg
bash# 使用 dockerhub 中央仓库 docker run -itd -p 9939:9939 --name dbclaw ninedata/dbclaw:latest
bashgit clone https://github.com/ninedata-community/dbclaw.git cd dbclaw
bashpython -m venv .venv source .venv/bin/activate pip install --upgrade pip pip install -r requirements.txt
bashcp .env.example .env
至少需要为本地开发确认这些配置:
envAPP_HOST=0.0.0.0 APP_PORT=9939 DATABASE_URL=postgresql+asyncpg://dbclaw:your-postgres-password@localhost:5432/dbclaw ENCRYPTION_KEY=your-fernet-key-here PUBLIC_SHARE_SECRET_KEY=replace-with-random-public-share-secret INITIAL_ADMIN_PASSWORD=admin1234
生成 ENCRYPTION_KEY:
bashpython -c "from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())"
生产环境请使用强随机值替换 PUBLIC_SHARE_SECRET_KEY 和默认管理员密码。
bashpython run.py
启动后访问:
http://127.0.0.1:9939adminadmin1234,可通过 INITIAL_ADMIN_PASSWORD 覆盖首次登录后,建议先进入“AI 大模型管理”添加至少一个可用模型。未配置模型时,监控、巡检、数据源管理等基础能力仍可使用,但 AI 对话和 AI 诊断能力不可用。
DBClaw 提供统一的任务调度能力,用于执行周期性运维任务,例如巡检触发、指标同步、通知分发或自定义自动化流程。
操作入口:
text左侧导航 -> 任务调度管理
主要能力包括:
项目提供单容器镜像,容器内包含 PostgreSQL、FastAPI 服务和静态前端。首次启动时,如果未显式提供运行密钥和数据库参数,容器会自动生成并持久化到 /app/data/bootstrap/runtime.env。
bashdocker build -t dbclaw:latest . docker run -d \ --name dbclaw \ -p 9939:9939 \ -v dbclaw-pgdata:/var/lib/postgresql/data \ -v dbclaw-appdata:/app/data \ -v dbclaw-uploads:/app/uploads \ dbclaw:latest
发布指定版本镜像时可注入构建信息:
bashdocker build \ --build-arg APP_VERSION=1.0.0 \ --build-arg BUILD_COMMIT=$(git rev-parse --short HEAD) \ --build-arg BUILD_TIME=$(date -u +%Y-%m-%dT%H:%M:%SZ) \ -t dbclaw:1.0.0 .
持久化目录:
/var/lib/postgresql/data:容器内 PostgreSQL 数据/app/data:应用运行数据、日志和自动生成配置/app/uploads:上传附件常用环境变量:
APP_HOST / APP_PORT:服务监听地址和端口,默认 0.0.0.0:9939DATABASE_URL:PostgreSQL 元数据库连接串ENCRYPTION_KEY:数据库密码等敏感信息的 Fernet 加密密钥PUBLIC_SHARE_SECRET_KEY:公开分享链接签名密钥INITIAL_ADMIN_PASSWORD:初始管理员密码,默认 admin1234METRIC_INTERVAL:首次启动时的指标采集周期,默认 60 秒AI 模型配置优先在 Web 控制台的“AI 大模型管理”中维护。OPENAI_* 环境变量仅作为兜底兼容配置。
GET /health:基础健康检查常用命令:
bashpython -m venv .venv source .venv/bin/activate pip install -r requirements.txt cp .env.example .env python run.py
运行测试:
bashpython -m pytest python -m pytest -m unit python -m pytest -m service python -m pytest -m api python -m pytest --cov=backend --cov-report=term-missing
添加数据库诊断能力时,通常在 backend/skills/builtin/ 中新增技能 YAML,并为技能声明参数、权限和异步执行逻辑。更多项目约定可参考 AGENTS.md 和 CLAUDE.md。
ENCRYPTION_KEY 和 PUBLIC_SHARE_SECRET_KEY。/app/data、/app/uploads。DBClaw 采用轻量、易部署的架构:
核心目录:
textbackend/ FastAPI 后端、路由、服务、模型、技能系统 frontend/ 原生 JavaScript 前端页面、组件和静态资源 docs/ 产品、设计和实施文档 docker/ 单容器启动脚本与 supervisor 配置 tests/ pytest 测试用例 run.py 本地启动入口
欢迎提交 Issue、功能建议、文档改进和代码补丁。参与贡献前,请先阅读 CONTRIBUTING.md。
NineData DBClaw is released under the MIT License.
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。





探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务