关于 db-orchestrator
db-orchestrator 通过识别数据库技术栈、并行分派只读检查并汇总评分报告来协调审计,适用于评估一个或多个数据存储的设计与性能。
主要功能
- 01识别数据库技术栈和事实来源
- 02并行分派相关审计器
- 03合并并去重发现项
- 04分别评估设计与性能
- 05生成技术及通俗易懂的报告
适用场景
- 01审计数据库架构和查询模式
- 02比较多个数据存储的设计与性能
- 03按严重程度和工作量确定修复优先级
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ hainrixz/ claude-db --skill db-orchestrator安装后在 Claude Code 中输入/db-orchestrator确认已加载。
详细介绍
db-orchestrator(第 2 层)
协调整个审计,分为三个阶段:检测 → 分派 → 综合。使用两个分数,绝不混合。
1. 检测
- 解析目标(项目目录或自然语言描述)。
- 运行 stack-detect(封装
scripts/detect-stack.mjs)。获取stacks数组,其中每项包含paradigm、engine、orm、platform、source_of_truth、confidence。 - 结果为空 → 路由至
/claude-db:start(向导)或描述模式。绝不猜测引擎。 - 如果用户选择了 Tier-1,则运行 introspect(只读),以便依赖运行时的检查能够达到
established;否则这些检查将返回needs_api。
2. 分派(并行、只读)
针对每个 stack,并行启动只读审计子 Agent——在一条消息中发起多个 Task 调用——以隔离其冗长的中间输出。(context: fork 不是 Task 参数;通过在一条消息中发起多个 Task 调用实现并行。)向每个子 Agent 传递 source_of_truth 的位置/内容、范式、引擎/平台及其负责的模块。不活跃范式的审计器不会被分派(其模块不会产生发现项,也不会计入分母):
- schema-integrity-auditor → M1–M10(建模、键、引用完整性、类型、约束、默认值、命名、时态、多租户、安全/RLS)。始终运行(关系型);对于 NoSQL,仅运行符合该范式的子集。
- performance-scale-auditor → M11–M18(索引、卫生、查询模式、并发、连接池、分区、副本/视图、存储/膨胀)。始终运行。
- nosql-paradigm-auditor → M19(NoSQL 反模式)+ 访问模式匹配度。仅适用于文档 / 键值 / 宽列。
- specialized-platform-auditor → M20(向量/时序/图/搜索)、M21(平台匹配度)、M0(设计模式下的引擎选择建议)。适用于向量/时序/图/搜索及所有平台检查。
- migration-safety-auditor → M22(迁移 lint)。当迁移文件在范围内时运行(
/claude-db:migrate,或审计时存在迁移目录)。
每个子 Agent 返回一个符合 schema/finding.schema.json 的发现项 JSON 数组。审计器为只读(仅限工具 Read, Grep, Glob, Bash, WebFetch)——审计绝不会修改文件。M19/M20 发现项会保留其 module ID 以标明来源,但在评分时继承对应自然模块的类别。
3. 综合
- 合并所有发现项;按
id去重(保留状态最严重的一项:fail > warn > needs_api > pass > not_applicable)。 - 根据匹配的范式,按 stack 评分:
多存储 → 分别为每个 stack 评分,然后按每个轴取跨存储最差值进行汇总(node scripts/score.mjs --findings <merged.json> --paradigm <paradigm>design = min over stores,performance 同理);标明拉低分数的存储(例如“设计 58 — 由redis-cache拉低”)。 - 生成报告(分档/解读依据
references/scoring-model.md):- 标题: 设计与完整性分档/分数 + 性能与扩展性分档/分数,每项附上
score.mjs中的一句话解读。如果分数为capped:true,则显示value和未封顶的computed,并指出导致封顶的 sev-5 fail。 - 各轴分类表(每个分数一张):类别、权重、数值、是否活跃。非活跃类别需标明,并从分母中重新归一化。
- 置信度行: 达到的层级(0/1/2)+ 两个轴的
needs_api总数。绝不将needs_api检查呈现为通过。 - 优先级操作项: 按
severity × magnitude ÷ effort对发现项排序(magnitude 分为 high|medium|low,绝不捏造百分比)。每项包含:状态、严重性、evidence.observed(真实 DDL/查询,已脱敏秘密)、verification.reproduce、recommendation、fixability(auto/proposed/advisory)以及 expected_impact(轴 + 置信度 + magnitude)。 - 页脚:“运行
/claude-db:fix以应用安全、可逆的迁移——每项变更均由你确认。”
- 标题: 设计与完整性分档/分数 + 性能与扩展性分档/分数,每项附上
通俗说明层(适合新手)
除了技术报告,还要提供简短的通俗说明:用一句话分别解释两个评分的含义(“你的设计很扎实,但还无法承受负载”),用非专业术语说明最优先修复的 3 件事,以及解释 needs_api 的含义(“我需要只读连接才能确认这些问题”)。保留专家细节;补充通俗解读,切勿用其中一种取代另一种。
备注
- 保持此技能自身的输出简洁——价值在于合并后的报告,而不是叙述。
- 诚实:绝不捏造统计数据、延迟、吞吐量、行数或价格。需要连接实时数据库时使用
needs_api。默认只读;推测性发现绝不能限制评分上限。 - 使用用户的语言作答(EN/ES)。
评论
支持 Markdown