Skip to content

docs(ai-copilot): 按两个 skill 源码写实 Customer 360 与工单分流的客户画像 (#840) - #848

Merged
yinlianghui merged 1 commit into
mainfrom
claude/issue-840-copilot-customer-since
Aug 5, 2026
Merged

yinlianghui merged 1 commit into
mainfrom
claude/issue-840-copilot-customer-since

Conversation

@yinlianghui

Copy link
Copy Markdown
Collaborator

Fixes #840

Customer Since 幽灵声明的最后 6 处,全在 content/docs/ai-copilot/ 两页。#805 / PR #823 修了 revenue/contracts.mdx,#824 / PR #841 修了 revenue/index.mdx 与 sales/accounts.mdx。

前提复核(基线 origin/main = 3912845,#841 / #842 / #843 均已在其中)

⚠️ 派单提示 sales-copilot zh 页刚被 #842 改过动词面,故在最新 main 上逐条重核:

issue 说法 复核结果
6 处位置与行号 全部成立,行号未变。sales-copilot 三语均在 :110/:104/:104,service-copilot 三语均在 :38/:34/:34。#842 改的是同页别处的动词面,未触及这两行
crm_account 上没有 customer_since 成立。grep -rn "customer_since" src/ 零命中;account.object.ts 的字段表里也没有任何其它名字记录「何时成为客户」——25 个字段中最接近的两个日期字段是 last_activity_date(:338)与 next_renewal_date(:383),都不是
两个 skill 的 instructions 里没有这个数据点 成立。customer-360.skill.ts 第 2 步枚举 crm_contact / crm_case / crm_opportunity,账户走 describe_object + get_record;case-triage.skill.ts:34 的权重首项是 customer tier and contract value,全程未提跟了多久
换拼法后确是最后 6 处 成立。见下方全仓 grep

全仓换拼法 grep(第 3 项任务)

grep -rniE 'customer[ _.-]?since'  →  改前 12 命中 / 改后 12 命中
grep -rn  '成为客户|成為客戶'       →  改前 10 命中 / 改后 10 命中

命中数不变是预期的,因为按 #841 口径这些名字不该被静默删掉——改后剩下的命中全部是「这个字段不存在」的否定式纠正散文(revenue/contracts.mdx:95、revenue/index.mdx:43、sales/accounts.mdx:69 三语,以及本 PR 新写的 6 处),没有任何一处再肯定地声称这个数据点存在。除这 6 处外无新发现。

改了什么(6 个文件,三语同步)

以两个 skill 源码为唯一事实来源,skill 真读什么写什么:

1. sales-copilot Customer 360°「关系快照」

customer_360 对账户做 describe_object + get_record,拿回的是账户上真实存在的字段。三项并列里 Customer Tier(account.object.ts:344)与账户负责人(owner_id,:69)都成立,中间夹的 customer-since 是空的。改为只写这两项,并明说没有这个日期可供快照、同期群问题只能读合同的 Signed Date / Start Date。

2. service-copilot 工单分流「客户画像」

case-triage.skill.ts:33-37 的评判权重首项原文是 customer tier and contract value。故改为客户分层 + 合同金额(contract.object.ts:122 contract_value),并明说「跟了多久」不参与评判、也无从参与,最接近的真实日期在合同上。

两处都没有默默删掉 Customer Since 这个名字——照着它找过来的读者需要一个去处,与 #841 同口径。

zh 字段名按语言包对齐(#825 先例,已披露)

改写的这两句里,tier 字段原本写作客户层级,与语言包不符:src/translations/zh-CN.ts:95-96 出的是客户分层。而客户层级在 sales/accounts.zh-Hans.mdx:41 已经是另一个意思(该页 ## Account hierarchy 的译名,指父子客户层级),同页 :109/:112/:114/:119 提到该字段时用的也都是客户分层。故仅在本次重写的句子里对齐为 客户分层 / 客戶分層,不改动其它未涉及的行。

合同金额 = zh-CN.ts:529 contract_value;签署日期 = :555;开始日期 = :527;客户负责人 = :88(crm_account.owner_id)。zh-Hant 按该页既有的正体写法与「」引号约定。

越界发现(已单独立单 #847,本 PR 未修改)

读 skill 源码时发现同两页其余 bullet 有同类漂移,不在本单 scope 内:case_triage 的 tools 只有 ['describe_object', 'get_record'](:49),没有 query_records,而 service-copilot.mdx:39/41/47/48 宣称它检索历史工单、匹配知识库文章、并产出首次回复草稿——最后一条还与 skill 自己第 6 步「交给 email_drafting」直接矛盾。customer_360 侧有较弱的同型问题。已按越界纪律另立 #847(不带 label、未 assign),并先对 #808 / #732 / #612 逐一做了边界去重(#808 是知识库实体是否存在,本单是 skill 有没有工具去检索,即便 #808 走「元数据跟文档」也不改变结论)。

其它

不为散文加钉子测试(与 #805 / #765 / #841 同),不加守卫。仅文档:无 metadata / 行为 / 字段变更,src/** 与 content/docs/releases/ 未动。要不要给这两个技能加上这个数据点仍是产品决定,本 PR 只是让文档不再声称它已经有了。本 PR 未新增任何链接。

changeset:.changeset/copilot-customer-since-ghost.md(hotcrm, patch)。

验证

全量四件套 + lint + hygiene(flock -w 7200 /tmp/os-heavy-verify.lock,NODE_OPTIONS=--max-old-space-size=4096,vitest --maxWorkers=2):

pnpm validate  → 17 Objects 344 Fields / 24 Flows     VALIDATE_EXIT=0(5 条 warning 均为既有 approval / campaign_member 项)
pnpm typecheck → tsc --noEmit                          TYPECHECK_EXIT=0
pnpm hygiene   → ✓ source hygiene clean                HYGIENE_EXIT=0
pnpm build     → Artifact: dist/objectstack.json       BUILD_EXIT=0
pnpm lint      → 13 warning(s), 14 suggestion(s)       LINT_EXIT=0(均为既有,与本 PR 无关)
pnpm test      → Test Files 66 passed (66)
                 Tests 1587 passed | 1 skipped (1588)

pnpm test 输出里的 ✗ source hygiene failed: ... 数行是 hygiene 自检用例故意走的失败路径(套件整体 66/66 passed),非本 PR 引入。

控制字符:pnpm hygiene 覆盖 content/ 与 .changeset/(#835 已落地,本次自报「the control-byte scan adds 385 under content, .changeset」),另对本次 6 个 mdx + changeset 做了越出 gate 的自扫:

grep -naP '[\x00-\x08\x0b\x0c\x0e-\x1f]' content/docs/ai-copilot/sales-copilot*.mdx \
  content/docs/ai-copilot/service-copilot*.mdx .changeset/copilot-customer-since-ghost.md
→ 零命中(exit=1)

Generated by Claude Code

Customer Since 幽灵字段的最后 6 处,全在 ai-copilot 两页,换了一种更难
被搜到的拼法:en 页写 `customer-since`(带连字符)、zh 页意译成「成为
客户的日期」,所以前三轮按 `Customer Since` 的关键字搜索都没扫到。

以两个 skill 源码为唯一事实来源改写这两条 bullet:

- customer_360 `get_record` 账户,故「关系快照」写实为客户分层 + 客户
  负责人(都是 account.object.ts 上的真实字段);
- case_triage 的评判权重首项是「customer tier and contract value」,
  从未提到跟了多久,故「客户画像」写实为客户分层 + 合同金额。

两处都按 #823 / #824 已定口径明说账户上没有这个日期,并给读者留下真实
去处(合同的签署日期 / 开始日期),没有默默删掉这个名字。

zh 两页的 tier 字段名按语言包拼写(#825 先例):客户分层 / 客戶分層。

仅文档:src/** 与 content/docs/releases/ 未动。

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

vercel Bot commented Aug 5, 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 5, 2026 11:43pm

Request Review

@yinlianghui
yinlianghui marked this pull request as ready for review August 5, 2026 23:46
@yinlianghui
yinlianghui added this pull request to the merge queue Aug 5, 2026
Merged via the queue into main with commit 3c61675 Aug 5, 2026
9 checks passed
yinlianghui added a commit to yinlianghui/hotcrm that referenced this pull request Aug 10, 2026
…k-ai#847) (objectstack-ai#861)

case-triage.skill.ts 的 tools 只有 describe_object + get_record,没有任何检索
工具,因此工单分流页宣称的「历史工单」「支持知识库文章匹配」「最匹配的 KB 文章」
在工具面上不可达;「首次回复草稿」更与 skill 第 6 步(交给 email_drafting)直接
矛盾;「建议的分类」instructions 从未指派,且选项表里的「账单」在 crm_case.type
上并不存在。

customer_360 有 query_records,属于低一档的漂移:sales 页的近期活动 / 合同 /
营销参与与 service 页的合同状态 / 接触点只是 instructions 没让它读。两处
Customer 360° 段按 instructions 第 2-4 步重写为真实枚举与三段产出。

按 objectstack-ai#841/objectstack-ai#848 口径不静默删名:每一处被删的承诺都有一段说明它真正的去处。
src/** 未改动;知识库实体是否存在见 objectstack-ai#808。


Claude-Session: https://claude.ai/code/session_01VHrPAGEgFDoHjphqYG4BMa

Co-authored-by: Claude <noreply@anthropic.com>
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.

幽灵字段 Customer Since 的最后 6 处:ai-copilot 两页把「成为客户的日期」写进 Copilot 会读的客户画像(三语)

2 participants