Repository navigation
文档承诺「HotCRM 内置四个 AI 知识库」,src/ 里一个都不存在(含 Competitive Intelligence 战卡库) #808
Description
Activity
- addedbugSomething isn't workingSomething isn't workingdocumentationImprovements or additions to documentationImprovements or additions to documentationpm:queueReady for the PM dispatch loopReady for the PM dispatch loop
on Aug 5, 2026 补一处本单未记的位置(发现自 #860 / PR #865 的实施过程,不另开重复单)
content/docs/ai-copilot/sales-copilot.mdx:78-80三语把其中两个知识库当作 Email Drafting 技能的输入列了出来,是本单「四个知识库」说法的第五处落点(本单正文记的是content/docs/service/knowledge-base.mdx、content/docs/administration/setup.mdx、content/docs/ai-copilot/knowledge-bases.*):### 3. ✍️ Email Drafting ... - The relevant product datasheet from the Product Information knowledge base. - The sales playbook from the Sales Knowledge knowledge base.zh 同位:
sales-copilot.zh-Hans.mdx:74-75「来自产品信息知识库的相关产品数据表。/ 来自销售知识知识库的销售剧本。」、sales-copilot.zh-Hant.mdx:74-75同。这两行有两个互相独立的问题,修的时候值得一起处理:
- 本单的事实:
Product Information/Sales Knowledge这两个知识库在src/里不存在。 - 另一个独立事实(即便这两个知识库真的建出来,这两行仍然错):写它们的那个技能是
email_drafting,而src/skills/email-drafting.skill.ts:21-37的五步 instructions 从头到尾没有一步去取任何知识来源——tools: ['get_record', 'query_records']够得着crm_knowledge_article,但没有被要求去读。这与 service-copilot.mdx 还剩四处与 skill/对象源码不符:幽灵「产品」字段,以及三段仍在复述「分流会匹配知识库文章」的提示语 #860 第六项是同一个 skill、同一个事实:service 页的「All drafts cite the Support Knowledge articles they pulled from」已在 PR docs(ai-copilot): 按 skill 源码写实 service-copilot 其余段落的能力残留 (#860) #865 里按 instructions 写实。
为什么没在 PR #865 里顺手改:#860 的边界明确要求「知识库实体是否存在不评述」(本单的裁定面),而这两行的主语正是本单的两个知识库——重写它必然要对实体存在性表态,越界。故只作记录,交由本单落地时一并扫掉。
副作用提示:PR #865 合并后到本单落地前,两页对同一个
email_drafting技能的说法会暂时不一致(service 页说草稿不引用知识文章,sales 页仍列两个知识库为输入)。本单收口时按第 2 条一并写实即可消除。
Generated by Claude Code
- 本单的事实:
- addedpm:dispatchedDispatched to a dev agent by /pm-dispatchDispatched to a dev agent by /pm-dispatchand removedpm:queueReady for the PM dispatch loopReady for the PM dispatch loop
on Aug 6, 2026 [PM 认领 · R24] session_01VHrPAGEgFDoHjphqYG4BMa · 分支
claude/issue-808-knowledge-bases-write-real· 文件面:content/docs/service/knowledge-base.mdx×3 +content/docs/administration/setup.mdx×3(Day 5 清单)+content/docs/ai-copilot/knowledge-bases.*×3 +content/docs/ai-copilot/sales-copilot.mdx×3(:78-80,#865 评论追加的第五处落点)+ changeset定调裁定(PM 可决,留否决窗):走 issue 的第 1 条——文档跟元数据,与 #833/#834/#847 全部先例同口径。「四个 AI 知识库」整套说法收敛到真实存在的
crm_knowledge_article+ 其 7 个 category;「元数据跟文档」(真建这四个库)是产品扩展,本单不预判——维护者若想做,另立实现单即可,文档届时随之再更新。执行细则:
- 不静默删名:Sales Knowledge / Product Information / Support Knowledge / Competitive Intelligence 四个名字写明「本应用不 ship 这样的独立知识库」,指向真实的知识文章对象与其分类;Competitive Intelligence 与 OWD 表与注册对象集对不上:仍列已删除的 Competitor,且缺 Event(三语) #790 清掉的 demo competitor 模块同源,可如实注明该背景。
- Day 5 清单改写为真实可执行动作(按 category seed 知识文章),不留一个管理员在 Setup 里找不到的步骤。
- sales-copilot
:78-80(Email Drafting 的输入列两个知识库):按 docs(ai-copilot): 按 case_triage 与 customer_360 源码写实两页能力清单 (#847) #861/docs(ai-copilot): 按 skill 源码写实 service-copilot 其余段落的能力残留 (#860) #865 的既有口径写实——email_drafting 的 instructions 从不取知识来源(docs(ai-copilot): 按 skill 源码写实 service-copilot 其余段落的能力残留 (#860) #865 已核),此处一并收口,消除「两页暂不一致」。⚠️ 该页刚被 docs(ai-copilot): 按两个 skill 源码写实 Customer 360 与工单分流的客户画像 (#840) #848/docs(ai-copilot): 按 case_triage 与 customer_360 源码写实两页能力清单 (#847) #861 改过,重定位行号、与其措辞衔接不回退。 - Docs drift (round 2 leftovers): ~39 product pages still name "Sales/Service Copilot" as a persona; config comment and RELEASE_STRATEGY.md still stale #612 边界:Copilot 称谓/人格用语不动;只改知识库实体相关的句子。
- issue 建议的「知识库名解析守卫」不加(方向 1 落地后该断言面即消失;[观察] 文档里的状态名/字段标签与语言包是否一致,无人检查——一周内同一缺陷类出现三次,全靠人眼撞见 #802 族能力缺口已在案)。
⚠️ 基线取最新 main;⛔ 不动src/**、releases/;三语同步;zh 术语按语言包。
⛔ 不升级 @objectstack/*;changeset 站内路径反引号;控制字节自扫;JSON 报告按标准 schema。
Generated by Claude Code
- added a commit that references this issue
on Aug 6, 2026 [PM 验收] PR #892 ACCEPT — 已转 ready 并挂 auto-merge(session_01VHrPAGEgFDoHjphqYG4BMa;验收动作因 GitHub API 限流两度顺延,CI 早已复核为绿)
复核结论:
- 全量清点把 issue 的 4 处扩成 12 个页族(10 修 2 留),且边界判断精确:两处主语是「技能能力」而非「知识库实体」的页面正确分流到 service 三页仍写「建议一个解决方案」会检索知识库并起草回复 / Copilot 用知识库对相似历史工单做模式匹配——两个技能都做不到 #890 而非硬塞进本裁定;
Product Information的 fieldGroup label 误报正确排除。 - 两页整页重写而导航零扰动(文件名/slug/meta.json/标题不变);重写后两页职责分工清晰(对象本身 vs 助手如何取到),无重复,无需删页——对「收敛后是否高度重复」这个预设问题给出了测过的答案。
- 方向 2 的决策素材是量出来的:
AIKnowledgeSchema只挂在AgentSchema.knowledge上、纯 skills 应用没有知识源声明位——维护者若走「元数据跟文档」,这个约束比「加几个 category」重要得多。已写进 PR 供决策。 - 与 docs(ai-copilot): 按 skill 源码写实 service-copilot 其余段落的能力残留 (#860) #865/docs(ai-copilot): 按 case_triage 与 customer_360 源码写实两页能力清单 (#847) #861 口径逐句对齐,「两页对 email_drafting 说法暂不一致」的窗口自此关闭;Customer 360° 反向纠偏(它才是唯一读文章的技能,原文却写「无」)顺带修正。
- callout 三语配平全仓复算 0 失配;重写页标题的锚点全仓零引用核实(content/docs 还剩 17 处悬空锚点(全仓实测),三类新成因:emoji 标题、标题后来加了后缀、zh 页沿用英文锚点 #866/守卫能力:给 content/docs 的站内链接加「锚点存在性 + 语言前缀一致性」检查(#749 / #764 / #866 各自的成因都能被它抓住) #867 族无新增);第二提交后 hygiene+test 重跑均绿;CI 实测 8/8 绿(head 45aeda8 后)。31 文件与申报一致,
src/**零改动。
越界发现处置:#890(三页技能能力主语残留,
⚠️ 与 #887/#850 的 service 页排期互斥)入队pm:queue;#891(skills.mdx 读/写/输出表全面失实 + 技能数 5→6)入队pm:queue。
Generated by Claude Code
- 全量清点把 issue 的 4 处扩成 12 个页族(10 修 2 留),且边界判断精确:两处主语是「技能能力」而非「知识库实体」的页面正确分流到 service 三页仍写「建议一个解决方案」会检索知识库并起草回复 / Copilot 用知识库对相似历史工单做模式匹配——两个技能都做不到 #890 而非硬塞进本裁定;
- addedpriority:p2Medium: important, M3Medium: important, M3and removed
on Sep 9, 2026
发现自 #790 的实施过程(清
crm_competitor的文档残留时顺着 battlecard 一路查到这里),不在该 PR 的文件面内,故单独立单。现象
content/docs/service/knowledge-base.mdx:35-43断言:content/docs/administration/setup.mdx:124-127的 Day 5 上手清单把它当作可执行步骤:content/docs/ai-copilot/knowledge-bases.*同样四条(zh-Hans / zh-Hant 亦然)。实测:
src/里这四个名字一个都不存在。唯一一处是一行注释。
crm_knowledge_article.category的取值是 Getting Started / How-To / Troubleshooting / Billing & Pricing / API & Integrations / Release Notes / Policy —— 没有 Competitive Intelligence,也没有其余三个。src/skills/里没有任何知识库绑定。于是一个照着 Day 5 清单操作的管理员,在 Setup 里找不到任何叫「Sales Knowledge」或「Competitive Intel」的东西可以 seed;「四个知识库」这个数词本身也没有落地面。
与既有单的关系
crm_competitor残留是同源的(demo-only competitor 模块删除后留下的文字),但它在另一组页面上、且是「知识库」而非「对象」的说法,所以不在 OWD 表与注册对象集对不上:仍列已删除的 Competitor,且缺 Event(三语) #790 的 scope 内。修法(需要先定调)
两条路,选哪条是产品判断,不宜由单个 PR 顺手带过:
crm_knowledge_article+ 它的 category 取值,Day 5 清单相应改写。按「声明即强制」,若走第 1 条,值得同时在
test/docs-object-coverage.test.ts或docs-drift.test.ts里加一条:文档中列举的知识库名必须解析到元数据里的真实取值 —— 与 dashboards 的磁贴规则同形状。Related: #612(Copilot 人格用语,另一回事)、#790。