Skip to content

docs: 全站去人格化 Copilot 称呼,并把版本号钉到 manifest (#612) - #1001

Merged
yinlianghui merged 2 commits into
mainfrom
claude/issue-612-copilot-depersonalization
Aug 6, 2026
Merged

docs: 全站去人格化 Copilot 称呼,并把版本号钉到 manifest (#612)#1001
yinlianghui merged 2 commits into
mainfrom
claude/issue-612-copilot-depersonalization

Conversation

@yinlianghui

Copy link
Copy Markdown
Collaborator

Fixes #612

按维护者 2026-08-04 在本 issue 评论区的拍板执行 方案 A:全站散文里的
"Sales Copilot" / "Service Copilot" 人格称呼改为 AI assistant(zh-Hans /
zh-Hant 用 AI 助手),只换称呼、保留每句话的功能语义。

措辞依据同评论区的架构定调:AI 能力由 objectstack-ai/cloud 侧的 agent 承载,
应用只定义领域 skills
。因此改写后没有任何一页再暗示应用内存在独立 agent 实体
——参照系是 #611 已改写的 ai-copilot 六页与 glossary 现行口径("the platform
assistant (ask)" / 「平台助手」/「AI 助手」)。

时效性重扫:实际面 vs. 8 月 2 日计数

issue 正文的「~39 页 ~90 处」是 8 月 2 日的计数。R18–R36 约 60 个文档 PR 之后
重新全量三语扫描,实际面为:

8/2 计数 本单实测
命中页面(含豁免) ~39 39
命中处数 ~90 79
需改写页面 29 页 / 65 处
历史性上下文豁免 12 页 / 14 处

两处按行 grep 读不到的命中(本单最容易漏的一类):content/docs/index.mdx
the Sales / > Copilot 断在引用块两行之间,content/docs/whats-new.mdx
ask the Sales / Copilot 断在普通软换行两侧。两处都是活的正文,而
whats-new 的两个译文早已写作「向助手询问」——只有英文页还在人格化。issue 原始
清点用的正是按行 grep,所以这两处从未进入清单。

issue 举的两个例子已在后续 PR 中自然消失,本单核实后不重做

  • sales/contacts.mdx:54 的 DNC 描述现为「Send Email action is hidden on a
    contact who has opted out」,已无人格称呼;该页仅余 1 处(第 84 行)。
  • sales/opportunities.mdx:113 的「AI Reference Rail — Sales Copilot
    suggestions」已被重写(现第 152 行),整页 0 命中,未进入本单改动面。

逐页清单(29 页 / 65 处)

落地页与发布页

页面 处数 说明
content/docs/index.mdx 5 含跨行引用块 1 处;**AI Copilots** 复数→单数(复数本身即断言两个实体),能力表 AI 行改为「6 skills on the platform assistant」
content/docs/index.zh-Hans.mdx 6 同上,能力表改为「平台助手上的 6 项技能」
content/docs/index.zh-Hant.mdx 6 同上
content/docs/whats-new.mdx 1 Wow #1 跨行命中;与两个译文既有措辞对齐

Sales

页面 处数 说明
sales/contacts.{mdx,zh-Hans,zh-Hant} 各 1 起草邮件所用输入
sales/leads.{mdx,zh-Hans,zh-Hant} 各 1 侧边面板可用性
sales/quotes.{mdx,zh-Hans,zh-Hant} 各 1 报价封面邮件
sales/pipeline-management.{mdx,zh-Hans,zh-Hant} 各 3 风险表一行 + 正文一句 + 节奏表一行
sales/index.{zh-Hans,zh-Hant} 各 1 标题级漂移:英文页早已是 ## Sales AI skills,两个译文仍是 ## Sales Copilot,现改为「销售 AI 技能」/「銷售 AI 技能」

Service

页面 处数 说明
service/index.mdx 3 知识库行 / 建单途径 / 自动定优先级
service/index.{zh-Hans,zh-Hant} 各 4 同上 + 标题级漂移(英文已是 ## Service AI skills),改为「服务 AI 技能」/「服務 AI 技能」
service/knowledge-base.{mdx,zh-Hans,zh-Hant} 各 3 frontmatter description + 首段 + ## 标题
service/sla-and-escalation.{mdx,zh-Hans,zh-Hant} 各 1 链接文案由「Service Copilot 的工单分流技能」收敛为「工单分流技能」

Revenue

页面 处数
revenue/products.{mdx,zh-Hans,zh-Hant} 各 1

白名单(12 页 / 14 处,按名单豁免且各自记了理由)

  • ai-copilot/index.{mdx,zh-Hans,zh-Hant}
    ai-copilot/{sales,service}-copilot.{mdx,zh-Hans,zh-Hant} —— docs: align README/copilot pages with the shipped skills-only surface (#589) #611 写的退役
    说明 callout,过去时谈论退役本身,正是该提名字的唯一场合;
  • whats-new.{mdx,zh-Hans,zh-Hant} 的 v1.0 发布记录 —— 如实记载那次发布交付
    了什么,属历史事实,硬改会把发布史写错。

随单执法守卫(test/docs-drift.test.ts

人格规则 —— content/docs/** 不得再出现这两个称呼。两个设计点是承重的,
不是风格:

  • 先归一化软换行与引用块续行符。上面那两处跨行命中,按行 grep 一处都读不到
    ——而按行 grep 恰是本 issue 原始清点的方式。
  • 再去掉两个 CJK 字符之间的空白ai-copilot/index.zh-Hant.mdx
    「服務 Copilot」断在服与務之间,空格拼接只会得到「服 務 Copilot」;CJK 之间
    的空白是排版产物,从不是词边界。

三道防空转:遍历必须扫到真实文档树(> 50 页);每条豁免必须仍覆盖活的命中
(豁免变空即为下一位作者留下一张无人签发的许可证);探针用例断言检测器能读出
全部六种拼写在每种换行形态下的样子 —— 没有最后这条,一个失效的检测器会报出
"干净的树",读起来与成功一模一样

版本号规则(并入 issue 第 3 项)—— docs/RELEASE_STRATEGY.md:14 自 v1 起
一直印着 1.0.5,而 manifest 声明 2.2.2,在发布者唯一会信的那一页上落后整整
一个大版本。现改为 2.2.2,并从 objectstack.config.tsmanifest.version
抽取该值,断言 RELEASE_STRATEGY.md / STATUS.md / ARCHITECTURE.md /
README.md 都印它,另加 package.json 一致性检查。表格行规则只认第一格是
版本标签的行 —— ARCHITECTURE.md 有一行含 "conversion"、RELEASE_STRATEGY.md
有个 | Change type | Version impact | 表头,两者都会被"含 version 的行"这种
写法误捕,而它们都不陈述版本。

反向验证(方向为事前预测:改前红 / 改后绿)

两条规则都是对确实含有该字符串的页面做禁词判定,预测即为常规方向,实测一致:

改前(git stash 掉文档改动、只留新测试):

FAIL  the docs print the version the manifest declares (#612) > every doc that states a version in a table
  docs/RELEASE_STRATEGY.md states 1.0.5, the manifest declares 2.2.2

FAIL  product docs do not name a retired copilot persona (#612) > no other page names ...
  content/docs/index.mdx: Sales Copilot, Service Copilot
  content/docs/index.zh-Hans.mdx: 销售 Copilot, 服务 Copilot
  content/docs/index.zh-Hant.mdx: 銷售 Copilot, 服務 Copilot
  ...(共 29 页)
Tests  3 failed | 54 passed (57)

改后:Tests 57 passed (57)

六道门

结果
pnpm validate 0(5 条既有 author-time warning,与本单无关)
pnpm typecheck 0
pnpm lint 0(13 warning / 14 suggestion,均既有)
pnpm hygiene 0 —— ✓ no raw control bytes in first-party files
pnpm build 0 —— Artifact: dist/objectstack.json
pnpm test 0 —— 77 files / 1819 passed, 1 skipped

既有守卫零回退:docs-sales-index-navigationdocs-service-index-analytics
docs-quick-tour-navigationdocs-analytics-vocabularydocs-object-coverage
#923/#955/#960/#968/#987/#999/#1000 各轮新增守卫全部原样通过,无一需要随本单
更新 —— 它们键在各自的章节标题("Where to find things"、"Standard dashboards &
reports")与导航标签上,与本单改动的标题不相交;被改的两个 zh 标题也没有任何
内链锚指向(zh 内链一律不带锚)。

push 前对全部 33 个改动文件做了控制字节自扫
grep -naP '[\x00-\x08\x0b\x0c\x0e-\x1f]'),无命中;pnpm hygiene
control-byte 扫描覆盖 content/.changeset/ 共 453 个文件,同样干净。

范围


Generated by Claude Code

#512 退役了应用自有的两个 agent,ADR-0063 §2 把 AI 表面收敛为 skills-only;
#589 / PR #611 据此重写了 content/docs/ai-copilot/*。但产品文档树的其余部分
没有跟上:29 个页面(三语)仍在散文里把助手称作 "the Sales Copilot" /
"the Service Copilot",共 65 处。它们都没有声明 sales_copilot 这个 agent,
所以每一道门都是绿的——os validate 与 pnpm lint 走的是被授权的元数据,
从不打开一个段落。

按维护者 2026-08-04 对 #612 的拍板,这些页面改称 "AI assistant"
(zh-Hans / zh-Hant 用「AI 助手」),只换称呼、保留每句话的功能语义。措辞
遵循这些页面必须描述的架构:AI 能力由 objectstack-ai/cloud 侧的 agent 承载,
HotCRM 提供的是附着在平台助手(ask)上的领域 skills,因此改写后没有任何一页
再暗示应用内存在独立 agent 实体。两个 zh index 页还留着 ## Sales Copilot /
## Service Copilot 标题,而其英文对应页早已改为 Sales AI skills /
Service AI skills,现已对齐;whats-new.mdx 则是镜像情形——两个译文早已写作
"向助手询问",只有英文页还在人格化。

12 个页面按名单保留这两个名字,每条都记了理由:#611 写的 9 处 ai-copilot
退役说明,以及 3 个 whats-new v1.0 发布记录(如实记载那次发布交付了什么)。

test/docs-drift.test.ts 随单加两条规则,避免出现第三轮清理:

- 人格规则:content/docs/** 下不得再出现这两个称呼。扫描前先归一化软换行与
  引用块续行符——两处线上命中本就跨行(the Sales\n> Copilot、ask the
  Sales\nCopilot),而按行 grep(本 issue 原始清点所用的方式)两处都读不到;
  两个 CJK 字符之间的空白也会被去掉,因为 ai-copilot/index.zh-Hant.mdx 把
  「服務 Copilot」断在了服与務之间。三道防空转:遍历必须扫到真实文档树、
  每条豁免必须仍覆盖活的命中、探针用例断言检测器能读出全部六种拼写在每种
  换行形态下的样子——没有最后这条,一个失效的检测器会报出"干净的树",
  读起来与成功一模一样。
- 版本号规则:docs/RELEASE_STRATEGY.md 自 v1 起一直印着 1.0.5,而 manifest
  声明的是 2.2.2——在发布者唯一会信的那一页上落后了整整一个大版本。现改为
  2.2.2,并从 objectstack.config.ts 的 manifest.version 抽取该值,断言
  RELEASE_STRATEGY.md、STATUS.md、ARCHITECTURE.md、README.md 都印它,另加
  package.json 一致性检查——正是 RELEASE_STRATEGY.md 自己的 Version Sources
  一节要求保持的对齐。

反向验证(改前红 / 改后绿,方向为事前预测):改前人格规则报 29 页、版本号
行规则报 "docs/RELEASE_STRATEGY.md states 1.0.5, the manifest declares
2.2.2";改后 docs-drift.test.ts 57/57 全绿。

仅文档、散文与测试:未动元数据、未动 src/ 行为、未动依赖。

Fixes #612

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 6:04pm

Request Review

原句写作「39 product pages went on calling the assistant …79 occurrences」,
把全量面(39 页 / 79 处,含 12 页历史性豁免)说成了产品散文面。守卫下方的反向
验证一节写的是 29 页 / 65 处,两个数字放在一起会让下一位读者以为其中一个是错的。
现在把两半分开写明:79 处 / 39 页里,14 处(12 页)是退役史、归 HISTORICAL;
其余 65 处(29 页)才是本单改写的活散文。

仅注释,无行为变化。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VHrPAGEgFDoHjphqYG4BMa
@yinlianghui
yinlianghui marked this pull request as ready for review August 6, 2026 18:06
@yinlianghui
yinlianghui added this pull request to the merge queue Aug 6, 2026
Merged via the queue into main with commit 86010ff Aug 6, 2026
2 checks passed
@github-actions github-actions Bot added documentation Improvements or additions to documentation ci/cd CI plumbing and the verification pipeline labels Aug 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci/cd CI plumbing and the verification pipeline documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Docs drift (round 2 leftovers): ~39 product pages still name "Sales/Service Copilot" as a persona; config comment and RELEASE_STRATEGY.md still stale

2 participants