Skip to content

docs(ai-copilot,service): 把「内置四个 AI 知识库」整套说法按元数据写实 (#808) - #892

Merged
yinlianghui merged 2 commits into
mainfrom
claude/issue-808-knowledge-bases-write-real
Aug 6, 2026
Merged

yinlianghui merged 2 commits into
mainfrom
claude/issue-808-knowledge-bases-write-real

Conversation

@yinlianghui

Copy link
Copy Markdown
Collaborator

Fixes #808

按 PM 在 #808 的定调裁定走方向 1(文档跟元数据):「HotCRM 内置四个 AI 知识库」整套说法收敛到真实存在的 crm_knowledge_article + 其 7 个 category。方向 2(真把这四个库建成元数据)是产品扩展,本 PR 不预判——见文末声明。

前提复核(基线 origin/main @ 0d3f3216)

issue 正文的两个前提逐一复测,全部成立:

  • src/ 里四个名字零命中。全仓 grep 只有三处,全是无关命中:knowledge_article.object.ts:9 的一行注释(Support Knowledge Base)、product.object.ts:31 与 translations/en.ts:835 的产品字段组标签 Product Information(是 fieldGroup label,不是知识库)。没有任何元数据声明知识库,src/skills/ 里没有任何知识库绑定。
  • crm_knowledge_article.category 的取值确认为 7 个:Getting Started / How-To / Troubleshooting / Billing & Pricing / API & Integrations / Release Notes / Policy。四个知识库名一个也不在其中。

全量落点清点

grep -rn "Sales Knowledge\|Product Information\|Support Knowledge\|Competitive Intel" content/ 加中文译名全量清点,实得 12 个页族(本单正文记 3 处、追评补第 4 处,其余 8 处为本次清点新增):

# 页面(×3 语言) 本单是否已记 处置
1 content/docs/service/knowledge-base ✅ 正文 整段重写
2 content/docs/administration/setup(Day 5 清单 + 产品目录一条) ✅ 正文(Day 5) 重写;:82 为新增落点
3 content/docs/ai-copilot/knowledge-bases ✅ 正文 整页重写
4 content/docs/ai-copilot/sales-copilot(Email Drafting 输入列) ✅ 追评 重写
5 content/docs/ai-copilot/skills(每个技能的「知识库」行 ×5 + 摘要表一格) ➕ 新增 逐行写实
6 content/docs/ai-copilot/index(三大组成部分之二) ➕ 新增 一行改写
7 content/docs/ai-copilot/service-copilot(Support Knowledge articles / Support Knowledge index) ➕ 新增 纯名字修正
8 content/docs/getting-started/introduction(能力清单一条) ➕ 新增 一行改写
9 content/docs/whats-new(Four built-in knowledge bases) ➕ 新增 一行改写
10 content/docs/revenue/products(规格表被知识库读取) ➕ 新增 段落改写
11 content/docs/service/cases:156、content/docs/service/index:48 ➕ 新增 不在本 PR,见「留给别单」
12 content/docs/service/sla-and-escalation:105 ➕ 新增 不在本 PR,见「留给别单」

误报一处,不动:content/docs/revenue/products:16 的 | **Product Information** | 是产品对象 fieldGroups.basic 的标签,与知识库无关。

逐处改文

1. service/knowledge-base ×3 — 「Support Knowledge 索引涵盖四种内容类型」+ 四库表整套拿掉,改为:知识库就是一个知识文章对象,7 个真实分类各自该放什么;标签 / 状态 / 受众 / 语言 / 文章编号;四个列表页签(全部 · 已发布 · 我的草稿 · 复核队列);对象声明的检索字段是标题/摘要/文章编号。「Service Copilot 如何使用它」按 skill 源码重写:只有 customer_360 读文章,分流无检索工具、邮件撰写不取知识来源。/knowledge/support/ 目录、嵌入刷新、「可以新增知识库并接入特定技能」三条虚构机制随之写实。

2. administration/setup ×3 — Day 5 三条 seed 步骤改成真实可执行动作(按分类写文章 → 设置受众 → 发布 → 复核分类标签),并直说没有叫 Sales Knowledge / Product Information / Competitive Intel 的东西可 seed、也没有可供对战卡挂靠的竞争对手对象。:82 的「上传数据表(馈送产品信息知识库)」改为写实。

3. ai-copilot/knowledge-bases ×3 — 整页重写,保持文件名、slug、meta.json 位置与页面标题不变(导航稳定)。骨架换成:四个旧名字逐一给出实际落点 → 一篇文章是什么 → Copilot 如何取到文章(分类/标签过滤查询,不是语义检索)→ 哪些技能会读文章(6 个技能逐一,含理由)→ 为什么没有语义检索(知识来源只能声明在 agent 上,技能应用无处声明)→ 不存在的东西(文档摄取、/knowledge/... 目录、嵌入分块与检索阈值、夜间/手动重索引、Confluence 等连接器、按技能绑定知识库)。

4. ai-copilot/sales-copilot ×3(追评第五处) — 该页刚被 #848 / #861 改过,已重定位行号(英文 :79-80,zh :74-75),零回退。两个独立事实一并写实:(a) 两个知识库不存在;(b) email-drafting.skill.ts:21-37 的五步 instructions 从不取任何知识来源,技能虽带 query_records 够得着 crm_knowledge_article 但从未被要求去读。与 PR #865 在 service 页落的「草稿不引用知识文章」完全同口径——两页暂不一致自此消除。

5-10. 其余六页按同一裁定口径写实:skills 每个技能的「知识库」行改为该技能是否真读文章(含 Customer 360° 反向纠偏:原写「无——纯粹由数据驱动」,实际它是唯一会读文章的技能);index / introduction / whats-new 的「四个知识库」列举改为一个知识文章库;service-copilot 两处只改虚构库名,不动任何能力表述;products 的规格表段落写实(文件字段真实存在,但没有任何东西读它的内容)。

边界遵守

  • 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 称谓/人格用语一律未动,只改知识库实体相关句子。新写段落沿用各页原有称谓(service-copilot / index 用「助手」,introduction 用「Copilot」)。
  • 不加守卫:issue 建议的「文档知识库名必须解析到元数据取值」断言面,在方向 1 落地后已不存在(文档里不再有需要解析的知识库名),故按裁定不加。
  • 未触碰 src/**、content/docs/releases/;未升级 @objectstack/*;三语同步;zh 术语按语言包(zh-CN.ts 的分类/标签/状态/受众译名逐一对齐,zh-Hant 按本仓既有繁体用词:物件 / 欄位 / 佇列 / 整合 / 匯入 / 效能 / 單一登入)。

方向 2 留给维护者

「元数据跟文档」——真的把 Sales Knowledge / Product Information / Support Knowledge / Competitive Intelligence 建成元数据(扩 category 取值,或引入 skills 侧的知识源绑定)——是产品扩展,本 PR 按裁定不预判。若要做,另立实现单;文档届时随实现再更新,本 PR 的写实文本正是那时的对照基线。附一条本次量到的约束供决策参考:AIKnowledgeSchema 只挂在 AgentSchema.knowledge 上,纯 skills 应用没有声明知识源的位置(src/skills/customer-360.skill.ts:13-28 有完整推导),所以方向 2 不只是加几个 category 取值那么简单。

与 #865 / #861 的衔接

验证输出

全部在共享锁 flock /tmp/os-heavy-verify.lock + NODE_OPTIONS=--max-old-space-size=4096 下依次执行:

命令 退出码 关键行
pnpm validate 0 仅既有 approval/field-group 警告,无新增
pnpm typecheck 0 tsc --noEmit 无输出
pnpm build 0 Artifact: dist/objectstack.json (1921.4 KB);17 Objects / 24 Flows
pnpm test -- --maxWorkers=2 0 Test Files 66 passed (66) · Tests 1587 passed | 1 skipped (1588)(其中 source-hygiene 元测试的「✗」stderr 为预期)
pnpm lint 0 13 warning(s), 14 suggestion(s),与 main 同
pnpm hygiene 0 ✓ no raw control bytes in first-party files · ✓ source hygiene clean

补充自查:

顺手发现(已另立单,不在本 PR 修)


Generated by Claude Code

…laim against the metadata (#808)

文档在 12 个页面(三语 36 个文件)宣称 HotCRM 内置四个 AI 知识库
(Sales Knowledge / Product Information / Support Knowledge /
Competitive Intelligence),而 src/ 里这四个名字一个都不存在:没有元数据
声明过知识库,没有技能绑定,Setup 里也没有可 seed 的地方。唯一命中是
knowledge_article.object.ts:9 的一行注释。

按方向 1(文档跟元数据)收敛到真实存在的 crm_knowledge_article + 其 7 个
category。四个名字不静默删除,逐一写明「本应用不 ship 这样的独立知识库」
并给出内容的实际落点;Competitive Intelligence 与 #790 清掉的 demo
competitor 模块同源,如实注明。

- ai-copilot/knowledge-bases:整页按真实结构重写——四库对照表、文章对象的
  字段与检索面、唯一会读文章的技能是 customer_360、以及不存在的那些东西
  (文档摄取、/knowledge/support/ 目录、嵌入分块、夜间重索引、连接器、
  按技能绑定知识库)。
- service/knowledge-base:「四种内容类型」与四库表改为 7 个真实分类、4 个
  列表页签与发布/复核时间戳行为。
- administration/setup:Day 5 三条 seed 步骤改写为真实可执行动作;产品目录
  一条不再说数据表馈送产品信息知识库。
- ai-copilot/sales-copilot:邮件撰写输入列去掉两个知识库,并写明第二个独立
  事实——email_drafting 的 instructions 从不取任何知识来源(与 #860 /
  PR #865 在 service 页的口径一致,消除两页暂不一致)。
- 另六页同源说法一并写实:ai-copilot/skills 的「知识库」行、ai-copilot/index、
  ai-copilot/service-copilot、getting-started/introduction、whats-new、
  revenue/products。

「元数据跟文档」(真建这四个库)是产品扩展,本次不预判。三语同步;
未触碰 src/**。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VHrPAGEgFDoHjphqYG4BMa
@vercel

vercel Bot commented Aug 6, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
hotcrm Ignored Ignored Aug 6, 2026 4:00am

Request Review

…n the AI Copilot index (#808)

同页第 2 项已写实为一个知识文章库,开头「了解你的产品、知识库和流程规则」
的复数说法是同一句四库遗留,三语一并收敛。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VHrPAGEgFDoHjphqYG4BMa

Copy link
Copy Markdown
Collaborator Author

第二次提交(45aeda86):清点表第 6 行的补正

自查 content/docs/ai-copilot/index 时发现该页开头还有一句同源遗留,第一次提交漏掉:

The six skills read from the same objects you see in the UI, and they know your
products, knowledge bases, and process rules.

同一页第 2 项已经写实成「一个知识文章库……没有独立的产品、销售或竞争情报库」,开头这句的复数 knowledge bases 与之自相矛盾,故三语一并收敛为 knowledge articles / 知识文章 / 知識文章。PR body 清点表第 6 行的「一行改写」应读作两行(第 19 行 + 第 29 行)。

改动后重跑:pnpm hygiene 退出码 0(✓ no raw control bytes in first-party files · ✓ source hygiene clean)、pnpm test -- --maxWorkers=2 退出码 0(Test Files 66 passed (66) · Tests 1587 passed | 1 skipped (1588));三个改动文件控制字节自扫零命中。


Generated by Claude Code

@yinlianghui
yinlianghui marked this pull request as ready for review August 6, 2026 04:41
@yinlianghui
yinlianghui added this pull request to the merge queue Aug 6, 2026
Merged via the queue into main with commit c94a35c Aug 6, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

文档承诺「HotCRM 内置四个 AI 知识库」,src/ 里一个都不存在(含 Competitive Intelligence 战卡库)

1 participant