SuperAPI AI 工具集

clickhouse-profiler

智能体与模型

查看项目

更新于 10-15 16:48

技能介绍

用途:clickhouse-profiler 用于对目标 ClickHouse 集群做一次系统性画像,通过 MCP execute_query 工具执行只读查询,最终产出一份按集群命名的 <name>-analyst/ 文件夹,内含 SKILL.md、catalog.md、patterns.md、pipeline.md、glossary.md、README.md 共 6 个 Markdown 文件,用户可保存为新的 claude.ai Skill 或覆盖已有 Skill。目标是沉淀集群知识库(schema、引擎语义、租户模型、摄入链路、访问模式、声明与推断的关系、版本差异),而非生成现成 SQL 配方。

主要能力:分 10 个阶段推进,包括连接与形态检测、发现(集群拓扑、库清单、引擎分布、查询日志跨度)、原型识别、向用户提问一轮、表目录、关系与字典、查询挖掘(热门查询、共现、热点列)、冷热分离、分类(Dim/Fact/Mart/Staging/Other)、验证、合成输出。具备三类断言的验证机制:存在性(查 system.tables / system.columns,不存在则丢弃)、行为性(EXPLAIN indexes=1 与带唯一注释标记的 SELECT … SETTINGS log_queries=1,再从 system.query_log 取 read_rows、粒度裁剪比、延迟并内联标注)、关系性(基数探测 matched / distinct_left / distinct_right / avg_fanout,且一律标记为 [inferred])。无法验证的断言降级为 inferred 或 unverified 并注明原因。

使用方式:通过 MCP 连接 ClickHouse 后运行,按阶段顺序推进,每阶段输出一行进度提示;阶段 2 会暂停提问(库范围、时间窗口、沙箱、集群名、验证租户),阶段 7 后确认分类再合成。支持“重新生成”模式:读取已加载 Skill 的 cluster_fingerprint 与 generated_at,阶段 6 前对比新指纹,无变化则询问是否仍要重生成,有变化则整体替换并在 README 增加“Since last run”变更摘要。集群名按回退链选取:system.clusters 中跳过 default、all-、test_、parallel_replicas、replicated、clickhouse、local、prod 等通用宏;其次用 Kafka 引擎 engine_full 中的 broker 主机名。

限制:严格只读,仅允许 SELECT、SHOW、DESCRIBE、EXPLAIN,禁止 CREATE、ALTER、DROP、INSERT、TRUNCATE、OPTIMIZE 等写操作。查询日志文本需经 normalizeQuery() 并去除 /* */ 注释后才可进入产物,禁止输出字面值、邮箱、IP、用户 ID;示例 SQL 使用 <tenant>、<from>、<to>、<id> 占位符。仅适用于 ClickHouse,不用于 PostgreSQL、MySQL、BigQuery、Snowflake;不处理一次性查询问题或单表调试,也不做通用 ClickHouse 教程。连接出现瞬时错误最多重试 3 次并短退避,全部失败须暂停询问用户。具体价格、平台与效果资料暂未提供。