本页内容核对日期 2026-08-11,来源见页尾「真值来源」。
两个取值
数据库默认值是
0。
脱敏不依赖这个开关
公开的市场详情接口在查询时根本没有 SELECT 这些列:personaMd(人格)guardContent(GUARD 内容)
if (expertMode) 判断。已上架专家和未上架专家两条读取路径都是如此。
所以:无论开关开不开,买家都看不到这五项内容。 保护是服务端行为,不是可选项。
这个开关今天决定什么
有两处实际生效的行为。一、购买对话框的挂载
在市场页的操作区,购买弹窗组件只在expertMode 为真时才挂载:
expertMode 是 0,弹窗组件没挂载,购买流程走不通。
二、导入专家包时的自动推导
从专家压缩包导入配置时,这个值由包里的可见性声明推导:发布时会被自动置位
发布流程里有一条强制规则:带技能内容的专家,发布时自动把expertMode 置为 1,覆盖你的设置。
- 你的专家装了技能 → 发布后这个值一定是 1,你在 Studio 关掉它也会被发布流程改回来
- 你的专家没有技能 → 保持你的设置
该怎么设置
结论:多数情况下保持 1 是安全的,代价是没有的(脱敏本来就是无条件的,开着它不会额外隐藏什么)。
边界与失败态
关掉开关后买家还是看不到我的人格设定
关掉开关后买家还是看不到我的人格设定
这是正确行为。脱敏无条件生效,与开关无关。想让买家了解专家能力,用「概览」和「案例演示」——它们本来就是给买家看的字段。
Studio 里关掉了,发布后又变回打开
Studio 里关掉了,发布后又变回打开
你的专家带了技能内容,发布流程会强制置 1 以保护创作者知识产权。这是预期行为。
买家点「使用」没反应
买家点「使用」没反应
如果这是一个付费且关闭试用的专家,检查
expertMode 是否为 1。为 0 时购买弹窗组件不会挂载。导入专家包后这个值和我预期的不一样
导入专家包后这个值和我预期的不一样
导入时按包里
visibility 的三项推导,必须 persona / skills / knowledge 全部为 hidden 才置 1。检查包里的可见性声明。验证
用非本人账号在市场页测试:- 验脱敏:打开专家详情页,确认页面上没有出现你的人格、灵魂、行为规则、技能原文。这一项无论开关如何都应该通过——不通过说明有其它问题,请反馈。
- 验购买路径(仅付费且关闭试用的专家):点击「使用」,确认购买弹窗正常出现且能完成支付。
真值来源
核对日期 2026-08-11。来源:
- 取值含义与默认值:
packages/db/src/schema/marketplace.ts - 公开详情的无条件脱敏:
services/core/src/db/service/expert.ts(getExpertDetail两条内容读取路径均未 SELECT 敏感列) - 发布时自动置位:同上(发布事务中的
expertModeOverride) - 购买弹窗门控与触发条件:
apps/web/src/components/marketplace/UseInProfyAction.tsx - 导入推导规则:
apps/web/src/lib/expert/parse-expert-zip.ts - 开关文案:
apps/web/src/i18n/messages/{zh,en}/creatorCenter.json
下一步
Prompt 四层结构
四个输入框各自的注入位置
定价与计费
价格如何派生计费类型

