君启-文章数据引擎 (v1.1)
从君启-口播变文章 v2.2 拆分 · 数据源查询专用 v1.1: 全链路容错——外部文件缺失用内置降级;单源不可用路由自动跳转;SQL重试+超时;内联通用SQL模板 v1.0: 四级路由(本地SQL/IMA/常青库/灵感田)· 自动路由 + 独立召唤 触发词:由 @君启-口播变文章 阶段2自动路由 /
@文章数据引擎/查数据/拉楼盘数据共享文件:../_shared/db-access-guide.md(Schema + 四级路由 + SQL 模板·v2.0 统一权威源) 数据约定(占位符语法 + 非快照规则 + DB 源指针表 + 置信度标注·唯一真源):../_shared/data-conventions.md
⛔ 角色定位
数据引擎是口播变文章的"后勤部队"。 口播变文章管"把口播脚本转成深度文章",数据引擎管"查到文章深化所需的事实和数据"。
- 口播变文章阶段 2 自动调用 → 返回「可注入素材清单」
- 用户也可独立召唤 → 直接查数据不看文章
- 所有数据源不可用 → 输出标注跳过,不阻断
🛡️ 容错协议(v1.1 新增)
数据引擎依赖多个外部资源(DB / 共享文件 / 外部 Skill),任一不可用时降级继续。
外部文件缺失降级
| 文件 | 缺失时降级方案 |
|------|-------------|
| ../_shared/db-access-guide.md | 使用内置路由表(本文件 Step 2)+ 通用 SQL 模板 |
| ../_shared/data-conventions.md | 使用内置占位符规则:{小区}/{板块}/{行政区} + 禁止跨周趋势 |
| xuzhou_v3.db | ⚠️ 本地 SQL 跳过,路由到常青库→IMA→灵感田 |
单数据源不可用时的降级
| 场景 | 降级方案 | 信号 |
|------|---------|------|
| 本地 SQL 不可用 | 跳过路由表中 🏠本地SQL 的行 → 走常青库/IMA/灵感田 | ⚠️ 本地数据库未连接,已切换到知识库查询 |
| 常青知识库不可用 | 跳过 wiki/ 路由 → 走 IMA/灵感田 | ⚠️ 常青知识库不可用,切换到 IMA + 灵感田 |
| IMA 不可用 | 跳过 IMA 搜索 → 仅剩的源继续 | ⚠️ IMA 不可用 |
| 灵感田不可用 | 跳过历史素材 → 仅返回结构化数据 | ⚠️ 灵感田不可用,历史素材缺失 |
重试与超时
| 操作 | 重试 | 超时 |
|------|------|------|
| sqlite3 查询 | 2 次,间隔 1s | 10s |
| Skill("常青知识库") | 3 次,间隔 2s→5s→10s | 30s |
| Skill("灵感田") | 3 次,间隔 2s→5s→10s | 30s |
通用 SQL 模板(db-access-guide.md 缺失时使用)
-- 全市趋势(最新周)
SELECT * FROM beike_city_weekly ORDER BY week DESC LIMIT 1;
SELECT * FROM guanshi_city_weekly ORDER BY week DESC LIMIT 1;
-- 板块对比(多板块最新周)
SELECT b.block_name, w.* FROM beike_block_weekly w
JOIN dim_block b ON w.block_id = b.block_id
WHERE w.week = (SELECT MAX(week) FROM beike_block_weekly);
-- 小区深挖
SELECT * FROM dim_community WHERE community_name LIKE '%{关键词}%';
SELECT * FROM beike_community_weekly WHERE community_id = {id} ORDER BY week DESC LIMIT 1;
-- 全国排名(最新月)
SELECT * FROM stats_70city_index WHERE city = '徐州' ORDER BY month DESC LIMIT 1;
📋 逐步骤汇报协议
本 SKILL 共 3 步。每步完成输出 「✅ 步骤{X}/3 已完成」。
数据源清单
| 优先级 | 数据源 | 检测方式 | 可提供的内容 |
|:---:|------|---------|------------|
| 0 | 🏠 本地 SQL | sqlite3 <workspace>/xuzhou_v3.db | 贝壳二手+金刚石新房:全市/行政区/板块/小区的成交、均价、挂牌、看房、成交周期、环比 |
| 1 | IMA 知识库 | mcp__ima-mcp__get_knowledge_base_list | 用户上传的文档、网页、笔记 |
| 2 | 常青知识库 | Skill("常青知识库", "检索") → wiki/ | 徐州房产政策、板块数据、贷款计算、交易流程 |
| 3 | 灵感田 | Skill("灵感田", "取用灵感") | 历史创作素材、踩雷记录 |
Step 1:数据源可用性检测
检测当前会话可用的数据源。
🔍 数据源检测
─────────────────────
本地 SQL: ✅ 可用(xuzhou_v3.db,23张用户表 · 状态图例见 _shared/db-access-guide.md)/ ❌ 不可用
IMA 知识库: ✅ 可用 / ❌ 不可用
常青知识库: ✅ 可用 / ❌ 不可用
灵感田: ✅ 可用 / ❌ 不可用
→ 将查询 {N} 个数据源
→ 全部不可用 → 输出「⛔ 无可用的数据源·跳过后台查数」并终止
Step 2:构造查询
完整 SQL schema + 查询模板 → Read
../_shared/db-access-guide.md§一+§三。 四级路由协议 → §二。
对于输入的每个深化方向,按路由表构造查询:
| 深化方向 | 本地 SQL(优先) | 表状态 | 常青库 | IMA |
|---------|:--|:--:|------|------|
| 全市趋势 | beike_city_weekly ✅ / guanshi_city_weekly 🟡 | 贝周更 / 金未自动化(查前核 MAX week) | — | — |
| 板块对比 | beike_block_weekly JOIN dim_block 多板块最新 | ✅周更 | wiki/板块分级体系 | IMA搜索 |
| 板块历史 | beike_block_monthly 近6月 | 🟡未整理(慎引) | — | — |
| 行政区对比 | guanshi_district_weekly JOIN dim_district | 🟡未自动化(查前核 MAX week) | — | — |
| 小区深挖 | dim_community + beike_community_weekly⚠️ + beike_community_heat✅ | 限用(禁跨周趋势) / 周更 | — | IMA搜索 |
| 新房项目 | guanshi_project_rank_weekly | 🟡未自动化 | — | — |
| 全国排名 | stats_70city_index | ✅月更 | — | — |
| 政策/贷款 | — | — | wiki/公积金 / wiki/商贷利率 / wiki/限购 | IMA搜索 |
| 交易/税费 | — | — | wiki/过户税费 / wiki/交易流程 | — |
| 历史素材 | — | — | — | 灵感田 |
🏷️ 表状态图例:
✅周更/✅月更=放心用;🟡未自动化/未整理=有源但需你--commit刷新或尚未整理,查前先核最新期次;⚠️限用=beike_community_weekly仅单周快照禁跨周趋势。完整定义见_shared/db-access-guide.md顶部图例。 📈 趋势提取:连续 N 周/月提取必须含W00占位过滤 + 期数预检,标准 SQL 模板与能力矩阵见_shared/db-access-guide.md§九 趋势提取规范(路由表中"全市趋势/板块历史"等连续期次取数必须遵守)。
四级路由口诀(详见 ../_shared/db-access-guide.md §二):
- 📸 临时楼盘截图(现场成交数据)→ 存
.workbuddy/data/temp_deal/,不进主库(详见db-access-guide.md §八)
- 🏠 本地 SQL 优先——量价/成交/挂牌/板块/小区数据 →
xuzhou_v3.db - 🌲 常青知识库——政策/贷款/交易等稳定知识 →
wiki/ - 📚 IMA 知识库——补充搜索其余文档
- 💡 灵感田——历史创作中的已验证判断
Step 3:查询结果汇总
📊 数据源查询结果
─────────────────────
本地 SQL beike_block_weekly → 东区5板块近8周成交均价趋势(✅ 可注入 §二 数据拆解)
本地 SQL guanshi_city_weekly → 全市新房+二手量价趋势(✅ 可注入 §一 背景 + §三 深层逻辑)
常青库 wiki/板块分级体系 → 东区7板块均价梯度(✅ 可注入 §二 横向对比)
─────────────────────
合计: {N} 条可注入素材
被调用时:返回此清单给上游 SKILL。 独立使用时:直接输出完整数据表供人工查看。
示例
示例 1|被口播变文章自动调用(返回素材清单)
触发:君启-口播变文章 阶段2 路由,深化方向="东区板块近8周成交对比" → Step 1 检测:本地 SQL ✅ / 常青库 ✅ / IMA ❌ / 灵感田 ✅ → Step 2 路由:板块对比 →
beike_block_weeklyJOINdim_block+ 常青库wiki/板块分级体系→ Step 3 汇总:返回 3 条可注入素材(板块均价趋势 / 全市量价 / 均价梯度) → 仅回传清单给上游,不输出完整表
示例 2|用户独立召唤(直接查数据)
用户:「查数据 金龙湖小区近3月成交」 → Step 1 检测同例1 → Step 2 路由:小区深挖 →
dim_community+beike_community_weekly+beike_community_heat→ Step 3 直接输出完整数据表供人工查看
示例 3|数据源全不可用(终止)
会话内
xuzhou_v3.db未连接 + IMA / 常青库 / 灵感田均不可用 → Step 1 检测全 ❌ → 输出「⛔ 无可用的数据源·跳过后台查数」并终止,不伪造数据
版本
| 版本 | 日期 | 变更 | |------|------|------| | v1.0 | 2026-07-04 | 从君启-口播变文章 v2.2 拆分阶段2独立为数据引擎 |
❓ 常见问题与反模式(v1.1 新增)
Q1: xuzhou_v3.db 连不上?
数据引擎 ⚠️ 降级:跳过本地 SQL → 走常青库 wiki/ → IMA 搜索 → 灵感田。若全部不可用 → ⛔ 终止,不伪造数据。
Q2: db-access-guide.md 找不到,SQL 不会写?
v1.1 起内置通用 SQL 模板(见容错协议 §通用 SQL 模板),覆盖全市趋势/板块对比/小区深挖/全国排名 4 类最常见查询。复杂查询才需外部文件。
Q3: 查到的数据和灵感田里的不一致?
以本地 SQL(xuzhou_v3.db)为准——它是结构化数据库。灵感田里的数据点是历史创作中的引用,可能已过期。输出时标注数据源+时效。
🚫 反模式
- ❌ 数据不全时编造数据(始终返回 ⚠️ 或 ⛔)
- ❌ 跳过 Step 1 可用性检测直接查
- ❌ beike_community_weekly 跨周取趋势(单周快照,禁跨周)
微信扫一扫