release-notes.md 35 KB

发布记录

本文档记录 @vocmarket/tihao 的重要变更、验证情况和仍需注意的边界。命令名、字段名、包名保留英文,因为它们是实际运行契约。

1.0.10

Status: published to npm. This release makes the first report a high-quality live result-first list by default, instead of opening with a sample demo.

Positioning:

  • The tihao SKILL now defines a "First Report Standard": normal brief-to-list requests default to collectionMode=live with resultFirstMode=true, and enable reference enrichment when reference links/accounts exist, so the first list is business-ready 高质量首版 rather than a sample demo.
  • sample mode is now demo-only. The skill must never run sample just to "show the flow" or because a token is missing.
  • When the live Parse sessionToken is missing or invalid, the skill returns the friendly needs_token / needs_valid_token state and asks the user for a valid sessionToken instead of silently falling back to sample.
  • README.md, skill-package-manifest.json recommended prompts, and docs/skill-database-record.json were updated to stop steering the first run toward sample.

Notes:

  • No runtime code default changed: resolveCollectionMode already defaulted to live, and resultFirstMode stays an explicit flag. This release changes the agent-facing rules/docs so the first round is driven to live + result-first.

1.0.9

Status: published to npm. @vocmarket/tihao@1.0.9 is latest, with registry verification and fresh @latest workspace install smoke passed. This release fixes the real live first-round Tihao output so a user can drop in a Brief and get a business-reviewable blogger table before later calibration.

Positioning:

  • The real live CSV now exports a 44-column business table aligned with the reference workbook fields, including target city, budget rule, matched price type/value, account ID, fans, image/video/min price, quote status, location, content/persona tags, Pugongying judgment, CPM/CPE, commercial order metrics, growth, reply rate, low-activity flag, data source, and manual review fields.
  • Live provider normalization now extracts pricing, CPM/CPE, commercial metrics, growth, reply-rate, low-activity, and Douyin profile URLs from multiple real provider aliases instead of leaving key cells as "not fetched".
  • Brief parsing now handles real inputs such as 粉丝要求:1k-10w, 单个预算:2000内, and 主页互动数据200+.
  • Ranking now penalizes missing quote data, prevents no-price rows from becoming strong recommendations, and downgrades over-budget rows for review.

Validation:

  • Real live small run passed at E:\test-tihao\outputs\tihao-real-fixed-1781542350326: 15 rows, 13 rows with prices, 15 rows with profile URLs, and no strong recommendation without price.
  • npm run acceptance passed on @vocmarket/tihao@1.0.9, including package contents smoke with 185 files and package size about 644.2 kB.
  • npm publish --dry-run --access public --registry https://registry.npmjs.org/ passed.
  • npm publish --access public --registry https://registry.npmjs.org/ succeeded and returned + @vocmarket/tihao@1.0.9.
  • npm view @vocmarket/tihao@1.0.9 version --registry https://registry.npmjs.org/ returned 1.0.9.
  • npm view @vocmarket/tihao dist-tags.latest version --registry https://registry.npmjs.org/ returned latest=1.0.9.
  • Fresh npx --yes @vocmarket/tihao@latest workspace --smoke passed.

1.0.8

Status: published to npm. @vocmarket/tihao@1.0.8 is latest, with registry verification and fresh @latest workspace/user install smoke passed. This release renames the public skill package, primary CLI command, plugin install directory, and MCP server name to tihao.

Positioning:

  • New public npm package: @vocmarket/tihao.
  • Primary install command: npx --yes @vocmarket/tihao@latest workspace --smoke.
  • Primary CLI command: tihao; legacy alias tihao-sourcing is still shipped for transition.
  • Workspace plugin path and MCP server name are now .claude/plugins/tihao and tihao.
  • The installer removes legacy .claude/plugins/tihao-sourcing and .claude/skills/tihao-creator-sourcing, and removes the legacy tihao-sourcing entry from workspace .mcp.json.
  • Database skills table source record now uses npmPackage=@vocmarket/tihao, pluginName=tihao, and mcpServerName=tihao.
  • Legacy package @vocmarket/tihao-sop remains historical; customers should install @vocmarket/tihao going forward.

Validation:

  • Syntax passed: node --check install.js, node --check bin/tihao.js, node --check mcp/src/server.js, node --check scripts/acceptance.js, and node --check scripts/package-contents-smoke.js.
  • npm run package:contents:smoke, npm run smoke:package, npm run mcp:smoke, npm run skill:refs:smoke, and npm run acceptance passed.
  • npm publish --dry-run --access public --registry https://registry.npmjs.org/ passed.
  • npm publish --access public --registry https://registry.npmjs.org/ succeeded and returned + @vocmarket/tihao@1.0.8.
  • npm view @vocmarket/tihao@1.0.8 version --registry https://registry.npmjs.org/ returned 1.0.8.
  • npm view @vocmarket/tihao dist-tags.latest version --registry https://registry.npmjs.org/ returned latest=1.0.8.
  • Fresh npx --yes @vocmarket/tihao@latest workspace --smoke passed, wrote .claude/plugins/tihao and .claude/skills/tihao/SKILL.md, and removed legacy .claude/plugins/tihao-sourcing plus .claude/skills/tihao-creator-sourcing.
  • Fresh npm exec --yes --package @vocmarket/tihao@latest -- tihao install --smoke passed for user-level install.

1.0.7

Status: published to npm. @vocmarket/tihao-sop@1.0.7 is latest, with registry verification and fresh @latest workspace install smoke passed.

Positioning:

  • Aligns the database skills table source record and npm management docs with the two real install targets:
    • project/workspace skill install: npx --yes @vocmarket/tihao-sop@latest workspace --smoke
    • user/global Claude Code skill install: npm install -g @vocmarket/tihao-sop && tihao-sourcing install --smoke
  • Keeps the installed Claude Code skill name as tihao.
  • Keeps npm package name, CLI command, plugin name, and MCP server name compatible: @vocmarket/tihao-sop, tihao-sourcing, and tihao-sourcing.
  • Keeps the legacy .claude/skills/tihao-creator-sourcing cleanup behavior from 1.0.6.

Validation:

  • node --check install.js and node --check mcp/src/server.js passed.
  • npm run smoke:package, npm run skill:refs:smoke, npm run package:contents:smoke, and npm run acceptance passed.
  • npm publish --dry-run --access public --registry https://registry.npmjs.org/ passed.
  • npm publish --access public --registry https://registry.npmjs.org/ succeeded and returned + @vocmarket/tihao-sop@1.0.7.
  • npm view @vocmarket/tihao-sop@1.0.7 version --registry https://registry.npmjs.org/ returned 1.0.7.
  • npm view @vocmarket/tihao-sop dist-tags.latest version --registry https://registry.npmjs.org/ returned latest=1.0.7.
  • Fresh npm exec --yes --package @vocmarket/tihao-sop@latest -- tihao-sourcing workspace --smoke passed, wrote .claude/skills/tihao/SKILL.md, and removed legacy .claude/skills/tihao-creator-sourcing.

1.0.6

Status: published to npm. @vocmarket/tihao-sop@1.0.6 published the installed Claude Code skill rename from tihao-creator-sourcing to tihao.

Positioning:

  • Workspace and global installs now write .claude/skills/tihao/SKILL.md.
  • The installer removes the legacy .claude/skills/tihao-creator-sourcing directory under the same target .claude/skills root to avoid duplicate skill entries.
  • npm package name, CLI command, plugin name, and MCP server name stay compatible: @vocmarket/tihao-sop, tihao-sourcing, and tihao-sourcing.
  • Added docs/skill-database-record.json as the database skills table source record for skillName=tihao.

Validation:

  • node --check install.js passed.
  • npm run smoke:package, npm run skill:refs:smoke, npm run package:contents:smoke, and npm run acceptance passed.
  • npm publish --dry-run --access public --registry https://registry.npmjs.org/ passed.
  • npm publish --access public --registry https://registry.npmjs.org/ succeeded and returned + @vocmarket/tihao-sop@1.0.6.
  • npm view @vocmarket/tihao-sop@1.0.6 version --registry https://registry.npmjs.org/ returned 1.0.6.
  • npm view @vocmarket/tihao-sop dist-tags.latest version --registry https://registry.npmjs.org/ returned latest=1.0.6.
  • Fresh npm exec --yes --package @vocmarket/tihao-sop@latest -- tihao-sourcing workspace --smoke passed, wrote .claude/skills/tihao/SKILL.md, and removed legacy .claude/skills/tihao-creator-sourcing.

1.0.5

Status: published to npm. @vocmarket/tihao-sop@1.0.5 is latest, with registry verification and fresh npx @latest workspace --smoke passed. This release absorbs the two new 提号经验 transcripts and extends the live brief-to-list workflow without changing the small-live default.

Positioning:

  • 1.0.5 adds multi-input Brief parsing for product introductions, product context, customer chat records, and conversation snippets.
  • Broad briefs such as 精致生活/时尚穿搭 now refine into executable subtypes from product/chat/reference context, including 港风、成熟风、通勤穿搭、女装/男装; 美妆护肤 is split into 护肤、妆教、测评、产品合集、日常妆容.
  • Homepage evidence now tracks visual positives/risks plus 近30天无更新、百赞以下、重复评论/数据真实性 risks; these affect strong recommendation eligibility, risk notes, manual review fields, and CSV review labels.
  • The experience transcript index now covers 13 rules across 4 transcripts while preserving the not_business_proof boundary.

Validation:

  • Syntax passed: node --check for brief parser, experience rules, homepage evidence, ranker, MCP server, and experience transcript index.
  • npm run smoke:briefs, npm run hard-rules:smoke, npm run experience-transcript:index:smoke, npm run smoke:package, npm run mcp:smoke, npm run package:contents:smoke, and npm run acceptance passed.
  • Local real transcript index passed with transcriptCount=4, coveredRuleCount=13, canCloseProofGap=false.
  • npm publish --access public --registry https://registry.npmjs.org/, npm view @vocmarket/tihao-sop@1.0.5 version, npm view @vocmarket/tihao-sop dist-tags.latest version, and fresh npx --yes @vocmarket/tihao-sop@latest workspace --smoke passed.

1.0.4

Status: published to npm. @vocmarket/tihao-sop@1.0.4 is latest, with registry verification and fresh npx @latest workspace --smoke passed.

Positioning:

  • 1.0.4 fixes natural-language Brief generalization beyond the original fixture-heavy skincare/mom-baby cases.
  • The parser now handles healthy snack, home cleaning, B2B SaaS, and local food/catering briefs with better category, keyword, platform target, fan range, budget, city, style, and exclusion extraction.
  • Fan range parsing no longer reads same-line budget ranges as fan ranges, e.g. 粉丝 5000-20万,预算 800-5000.
  • Live recall keywords are cleaned so platform words like 小红书/抖音 and dirty fragments like 个健身 do not become the first search keyword.

Validation:

  • node --check mcp/src/features/tihao-sourcing/brief-parser.js passed.
  • npm run smoke:briefs, npm run smoke:package, npm run mcp:smoke, npm run package:contents:smoke, and npm run acceptance passed.
  • npm publish --dry-run --access public --registry https://registry.npmjs.org/ passed.
  • npm publish --access public --registry https://registry.npmjs.org/, registry verification, and fresh npx --yes @vocmarket/tihao-sop@latest workspace --smoke passed.

1.0.3

Status: published to npm. @vocmarket/tihao-sop@1.0.3 is latest, with registry verification and fresh npx @latest workspace --smoke passed.

Positioning:

  • 1.0.3 fixes the brief-to-blogger-list default mode: normal user briefs and requests like "用 live 小规模检索出博主名单", "真实跑", "真实数据", "调用接口", or "小规模检索" resolve to live mode.
  • First live runs stay intentionally small when limits are omitted: keywordLimit=1 and pagesPerKeyword=1.
  • Sample mode is now weaker by design and should be used only when the user explicitly asks for sample, demo/no-cost mode, no real data, or "先跑通 SOP".
  • Missing live credentials, token, balance, or recharge state must return a friendly token/open/recharge message instead of silently falling back to sample data.

Validation:

  • Syntax passed: node --check mcp/src/features/tihao-sourcing/sourcing-workflow.js, node --check mcp/src/server.js, node --check scripts/smoke-package.js.
  • Business smoke passed: npm run smoke:package, npm run mcp:smoke, npm run package:contents:smoke, npm run acceptance.
  • Release smoke passed: npm publish --dry-run --access public --registry https://registry.npmjs.org/, npm publish --access public --registry https://registry.npmjs.org/, npm view @vocmarket/tihao-sop@1.0.3 version, npm view @vocmarket/tihao-sop dist-tags.latest version, and fresh npx --yes @vocmarket/tihao-sop@latest workspace --smoke.

1.0.2

状态:已发布到 npm;@vocmarket/tihao-sop@1.0.2 已成为 latest,并通过 registry 查询和 fresh npx 工作区安装 smoke。

版本定位:

  • 1.0.2 是 1.0.1 的收尾加固版:把 real-gap-material-audit 从独立审计推进到 round:refresh 主链路,并同步写入 latest form、handoff、evidence index 和 round deposition 守卫。
  • 该版本证明“三个真实缺口在项目里都有材料且已接入审计链路”,不证明业务效果已经达标;仍不得宣称提号率提升、客户效果达标或人工补号量下降。
  • 当前真实业务证明仍以审计输出为准:gapCount=3materialFoundCount=3openGapCount=3canCloseProofGap=false

主要变化:

  • npm run round:refresh -- --output-root outputs --strict 现在包含 29 个步骤,并在 local-seed-to-intake-worklist 后执行 real-gap-material-audit
  • latest-form:indexhandoff:summary 已传播 realGapMaterialAudit,接手方不用再单独猜三缺口材料审计产物位置。
  • evidence:indexreal-gap-material-audit 固定归类为 not_business_proof,防止把材料存在误升格为业务证明。
  • round-deposition 新增三缺口材料审计守卫,校验 standalone、latest-form 和 handoff 三处都保留 canCloseProofGap=false 边界。

验证情况:

  • npm run real-gap:materials:smoke 通过。
  • npm run evidence:index:smoke 通过,当前 fixture total=44not_business_proof=19real_evidence=6
  • npm run task:handoff-index:smoke 通过。
  • npm run round:refresh:smoke 通过,29 步全部 passround-deposition.passCount=142failCount=0
  • npm run round:refresh -- --output-root outputs --strict 通过,真实输出已刷新。
  • npm run package:contents:smokenpm run acceptancenpm publish --dry-run --access public --registry https://registry.npmjs.org/ 通过。
  • npm publish --access public --registry https://registry.npmjs.org/ 成功,npm 返回 + @vocmarket/tihao-sop@1.0.2
  • npm view @vocmarket/tihao-sop@1.0.2 version --registry https://registry.npmjs.org/ 返回 1.0.2
  • npm view @vocmarket/tihao-sop dist-tags.latest version --registry https://registry.npmjs.org/ 返回 latest=1.0.2
  • npx --yes @vocmarket/tihao-sop@latest workspace --smoke 在 fresh workspace 通过。

1.0.1

状态:已发布到 npm;@vocmarket/tihao-sop@1.0.1 已成为 latest,并通过 registry 查询和 fresh npx 工作区安装 smoke。

版本定位:

  • 1.0.1 不是改业务结论,而是把“项目里确实有资料”做成可复跑审计:real-gap:materials 会同时读取 DHA PoC 原始资料、候选视频资源、提号经验逐字稿、proof-gap:closure 和 video A/B preflight。
  • 该版本用于关闭“没找到资料/没接资料”的误会;不关闭业务证明缺口,不宣称提号率提升、客户效果达标或人工补号量下降。
  • 当前真实业务证明仍以审计输出为准:real-gap-material-audit.openGapCount=3materialFoundCount=3canCloseProofGap=false

主要变化:

  • 新增 npm run real-gap:materials,输出 outputs/real-gap-material-audit-latest/real-gap-material-audit-summary.json、Markdown 和 CSV。
  • 新增 real-gap:materials:smoke 并纳入 npm run acceptance,确保三个缺口都能找到项目材料,但 canCloseNow=false 不被误改。
  • 审计明确三个缺口的当前证据:
    • historical-dataset:DHA Brief/PoC/参考分析工作簿已找到,historyDraftRows=12,逐字稿记录了 DHA 已提报但客户未反馈/未选新号;仍缺至少 5 个真实历史 Brief、客户决策、拒绝原因和历史人工补号量。
    • video-ab-live-proofvideoResourceReady=truerealCandidateRows=1realReferenceRows=1、候选视频 note 线索 15 条;仍缺 acceptance:video-ab 的 live proofContext 和 runtime/company/provider。
    • manual-review-and-customer-effectmanualReviewDraftRows=12,逐字稿覆盖客户选中率目标和人工复核逻辑;仍缺真实人工复核标签、客户选中/拒绝、反馈原因、本轮人工补号量,并且必须绑定通过的 history audit。
  • 审计报告把候选名单、逐字稿经验、视频资源 readiness 和旧 failure artifacts 的边界写清楚:它们是补证入口和失败证据,不是业务效果证明。

验证情况:

  • npm run real-gap:materials:smoke 通过。
  • npm run real-gap:materials 通过,当前输出 gapCount=3materialFoundCount=3openGapCount=3canCloseProofGap=false
  • npm run acceptance 通过,包内容 smoke 显示 version=1.0.1entryCount=178package size=607.4 kB
  • npm publish --dry-run --access public --registry https://registry.npmjs.org/ 通过,确认 tarball 为 @vocmarket/tihao-sop@1.0.1
  • npm publish --access public --registry https://registry.npmjs.org/ 成功,npm 返回 + @vocmarket/tihao-sop@1.0.1
  • npm view @vocmarket/tihao-sop@1.0.1 version --registry https://registry.npmjs.org/ 返回 1.0.1
  • npm view @vocmarket/tihao-sop dist-tags.latest version --registry https://registry.npmjs.org/ 返回 latest=1.0.1version=1.0.1
  • npx --yes @vocmarket/tihao-sop@latest workspace --smoke 在 fresh temp workspace 通过,安装 .claude/plugins/tihao-sourcing.claude/skills/tihao-creator-sourcing 后输出 tihao smoke ok

1.0.0

状态:已发布到 npm;@vocmarket/tihao-sop@1.0.0 已成为 latest,并通过 registry 查询和 npx 工作区安装 smoke。

版本定位:

  • @vocmarket/tihao-sop 的客户可安装 1.0 技能包版本,面向 Claude Code 工作区安装、Brief 到商务可复核名单、sample/live 小规模运行、偏好记忆、真实 provider runbook 和补证闭环交接。
  • 1.0 可以声明“技能包交付链路可安装、可验收、可继续补真实材料”,不能声明“提号率已提升、客户效果已达标、人工补号量已下降”。
  • 当前真实业务证明仍以 proof-gap:closureoptimization:completion 为准:businessOpenCount/openCount=3closedCount=2readyForClaim=false

主要变化:

  • 为每个参考链接生成结构化 referenceStyleFingerprints,覆盖视频/图文/账号类型、人设、内容结构、语气、视觉元素、卖点承接、商业强度、合规风险和证据可用性。
  • 增加真实性保护:模型返回的风格结论不能冒充 ASR 或帧图证据;缺少视频证据时明确标注“待补口播证据”或“待补帧图证据”。
  • live 召回关键词从 Brief 和参考风格信号中扩展,覆盖品类、人设、场景、内容形态和节点词;同时记录平台、关键词、页码、API 路径、HTTP 状态、返回数量和规范化数量。
  • 重构排序字段,输出 briefFitScorereferenceStyleFitScoredataQualityScorebudgetFitScoreriskPenalty、命中条件、缺失条件和人工复核字段。
  • 强推荐必须同时通过 Brief 和参考风格门槛;超预算、硬排除或高风险账号会被降级或剔除。
  • Markdown 和 CSV 输出面向商务验收增强,包含 Brief 解析摘要参考视频风格指纹候选召回记录多模态证据卡商务可用名单剔除/降级原因下一轮校准问题
  • PM 验收和 smoke 测试升级,强制检查高标准字段、真实性 gate 和 token 泄露扫描。
  • 增加真实 VOC social 参考视频补证指引:使用 https://server.fmode.cn/api/voc-social 获取小红书视频详情,再把真实视频、封面、字幕或帧图资源传给豆包;不能拿 Parse sessionToken 直接调用公开第三方采集接口。
  • 增加 npm run acceptance:video-ab,用于同一 Brief 和参考视频的 live A/B 验收。
  • 证据卡现在会影响候选参考风格命中点、分数和重排,不再只是报告里的被动展示。
  • 增加防跑偏的参考感知召回:允许生成 DHA 专业科普 这类和 Brief 绑定的召回词;禁止婚礼、宴会、布景、满月宴、仪式感等跑偏场景词污染召回。
  • JSON、Markdown、CSV 增加 evidenceScoreBoost,让商务能看到验证过的视频/证据分析对候选的贡献。
  • 增加成本可控的证据分析目标选择:先预排序,再默认分析前 6 个候选。
  • 增加 A/B 效率指标:证据卡数量、每张证据卡带来的强推荐提升、总分提升、参考风格分提升。
  • 增加 resultFirstMode,用于本轮不优先考虑成本、只优先追求结果质量的场景。
  • 增加 evidenceRiskPenalty,让混类或合规风险账号即使命中基础母婴信号也能被压低。
  • CSV 写入增加 UTF-8 BOM,方便 Excel 直接打开中文不乱码。
  • 增加软件端固定表头、跨策略去重和连续排名验收。
  • 增加 live:preflight,在真实 live/video 长跑前检查 sessionToken、company、provider 和豆包模型配置。
  • 增加 overnight 策略矩阵:reference-accounthomepage-evidencevideo-enhancedresult-firstresult-first-riskresult-first-broad
  • 增加严格 provider 门禁:TIHAO_GATE_REQUIRE_REFERENCE_PROVIDERTIHAO_GATE_REQUIRE_HOMEPAGE_PROVIDER
  • 增加 review:metrics,统计商务可用率、负样本率、负样本归因覆盖率、客户选中率、重复键和每个 brief 内排名连续性。
  • 增加 history:audit,验收真实历史 Brief、人工最终名单、客户选中/拒绝记录和拒绝原因是否足够做长期优化。
  • 增加反馈导入二轮闭环和 teamRuleSuggestions,同类反馈累计 3 次后建议升级为团队规则。
  • 打通本地资料到正式补证入口的桥梁:local-seed-to-intake-worklist 现在生成 history-intake-draft.csvmanual-review-draft.csvvideo-resource-worklist.csvcandidate-seed-worklist.csv,并在 proofGapMaterialBridge 中标记三个仍 open 缺口的资料来源和不能关闭原因。
  • proof-gap:closure 现在读取最新 local-seed-to-intake-worklist-summary.json,把 historical-datasetvideo-ab-live-proofmanual-review-and-customer-effectmaterialBridge 写入 open 行,避免继续误判为“项目没有资料”。
  • 三个真实缺口已从“找不到资料”推进为“资料已接入但还不能构成业务证明”:历史草稿 12 行仍缺 5 个以上真实历史 Brief 与客户决策;视频资源线索仍缺 live acceptance:video-ab proofContext;人工复核草稿 12 行仍缺真实标注、客户选择、归因和本轮人工补号量。

验证情况:

  • npm run acceptance 通过。
  • npm publish --dry-run --access public 通过,确认 tarball 为 @vocmarket/tihao-sop@1.0.0,共 176 个文件,package size 约 598.5 kB。
  • npm publish --access public --registry https://registry.npmjs.org/ 成功,npm 返回 + @vocmarket/tihao-sop@1.0.0
  • npm view @vocmarket/tihao-sop@1.0.0 version --registry https://registry.npmjs.org/ 返回 1.0.0
  • npm view @vocmarket/tihao-sop dist-tags.latest version --registry https://registry.npmjs.org/ 返回 latest=1.0.0version=1.0.0
  • npx --yes @vocmarket/tihao-sop@latest workspace --smoke 通过,fresh workspace 安装写入 .claude/plugins/tihao-sourcing.claude/skills/tihao-creator-sourcing 并跑通 tihao smoke ok
  • npm run acceptance:providers:mock 通过。
  • npm run review:metrics:smoke 通过。
  • npm run history:audit:smoke 通过。
  • 本地 fresh tarball 安装和 npx tihao-sourcing workspace --smoke 通过。
  • 真实 voc-e-commerce live 验收使用有效运行时 sessionToken/company,返回 20 个候选和 10 条客户可用名单。
  • 真实 live + 豆包组合测试使用模型 doubao-seed-2-0-pro,返回 97 个 live 候选、10 条客户可用名单、31 个强推荐、2 个参考指纹、1 个视频指纹、5 条召回记录,并生成 Markdown/JSON/CSV。
  • 真实 VOC social 视频详情测试返回视频 URL、封面、作者/标题、字幕资源和可用参考指纹;泄露扫描通过。
  • 手动 live A/B 在证据重排后通过:B 组加载 1 个真实参考资源和 10 张豆包证据卡;top 10 证据命中候选增加 6 个,平均参考风格分增加 1.0,平均总分增加 0.2。
  • 加入防跑偏召回和证据加分后,手动 live A/B 提升更明显:B 组使用 DHA 专业科普 替代基线 母婴,加载 1 个真实参考资源和 10 张豆包证据卡,强推荐增加 3 个,top 10 证据命中候选增加 7 个,平均参考风格分增加 8.2,平均总分增加 7.4。
  • 成本可控的 top 6 证据分析仍通过:只使用 6 张豆包证据卡,强推荐增加 4 个,top 10 证据命中候选增加 6 个,平均总分增加 3.1。
  • result-first live A/B 通过:增强召回跑 8 次 live 请求,关键词包含 DHA 专业科普DHA 节点合集DHA 清单推荐DHA 理性科普;豆包返回 20 张证据卡;强推荐从 5 个提升到 10 个;top 10 证据命中候选从 0 个提升到 10 个;平均参考风格分增加 2.1,平均总分增加 5.5。
  • 输出泄露扫描未发现运行时 sessionToken、模型 token 或 Authorization 字符串。

已知边界:

  • 首次组合 live 运行出现过一次短暂 live_network_error,重试后通过。后续 runbook 保留 retry/backoff,并建议对单关键词失败做软失败处理。
  • 未经过真实 provider gate 的能力只能称为合同验证或 mock 验证,不能宣称真实参考补证、ffmpeg、讯飞 ASR 或豆包视觉已完成上线。
  • 没有真实历史客户选择数据前,不能宣称客户选中率达到 30%/50%,只能使用 review:metrics 统计已标注样本。
  • npm 发布状态必须以 npm publish 成功和 registry 验证为准;仅 npm pack 或 dry-run 通过时只能称为本地包已重建。

0.1.16

状态:本地待发布版本;包含最新交接文档、递归证明产物发现说明和 proof-gap 失败条件沉淀。发布前必须通过 npm run acceptancenpm run package:contents:smoke 和 npm publish 权限校验。

主要变化:

  • docs/tihao-handoff-index.mddocs/tihao-experience-implementation-log.md 已同步最新 proof-gap 边界:round-deposition.passCount=137optimization-completion.missingProofRequirementCount=113proof-gap-closure.businessOpenCount/openCount=3
  • 交接文档新增 closure/completion 递归证明产物发现记录:旧 optimization-pipeline-latest 内嵌的 history-audit/historical-dataset-audit.jsoncustomer-effect-audit/customer-effect-summary.json 会被读取为失败证据,不能被误判为“文件缺失”或“可完成证明”。
  • 明确三个真实缺口仍未关闭:真实历史 Brief 数据集、真实视频 A/B live proof、商务复核和客户效果证明。
  • 明确当前没有业务效果宣称资格:optimization-completion.readyForClaim=false 时,不得宣称提号率提升、客户效果达标或人工补号量下降。

为什么三个真实缺口还没有完成:

  • 历史 Brief 缺口不是代码没跑,而是当前真实材料只有 briefCount=1,缺 5 条以上真实 Brief、人工最终名单、客户选中/拒绝、拒绝原因和历史人工补号量基线。用 seed、示例、模板或本地 PoC 候选补数会造成错误业务宣称。
  • 视频 A/B 缺口不是视频资源表完全缺失,真实候选视频资源已单项 closed;当前卡在 live proof:缺真实运行凭证/company/VOC social provider/video analysis provider 上下文,本地只会生成 video-hit-rate-preflight-summary.json,不能生成 proofContext.generatedBy=acceptance:video-ab 的 live 证明。
  • 客户效果缺口必须由 customer-effect:audit 证明,当前缺客户最终选择、参考链路客户选择、本轮人工补号量,并且绑定的历史审计仍未通过客户效果证明门槛。

验证:

  • npm.cmd run task:handoff-index:smoke
  • npm.cmd run hygiene:smoke
  • npm.cmd run round:refresh:smoke
  • npm.cmd run package:contents:smoke
  • npm.cmd run install:smoke
  • npm.cmd run smoke:package
  • npm.cmd run acceptance
  • npm.cmd pack --dry-run --json

0.1.15

状态:VOCMarket npm scope 迁移版本。

主要变化:

  • 客户侧 npm 包名从 @gangvy/tihao-sop 改为 @vocmarket/tihao-sop
  • CLI 命令仍为 tihao-sourcing,Claude Code plugin/skill 标识保持不变。
  • 安装文档和包 manifest 使用 npx --yes @vocmarket/tihao-sop@latest workspace --smoke
  • 保留 0.1.13 的真实豆包 OpenAI 兼容服务适配。

验证:

  • npm run acceptance
  • npm run acceptance:providers:mock
  • 发布后 fresh npm 安装 smoke:npx --yes @vocmarket/tihao-sop@latest workspace --smoke

备注:

  • @vocmarket/tihao-sop@0.1.14 registry PUT 200 且 dist-tag 显示 latest,但 public npm view/npx 返回 404,因此未作为客户可安装版本。

0.1.13

状态:真实豆包 OpenAI 兼容服务适配版本。

主要变化:

  • 增加豆包/视频分析 provider 的 OpenAI 兼容 chat completions 请求模式。
  • doubaoVisionBaseUrl: "https://api.fmode.cn" 默认请求 /v1/chat/completions,默认模型为 doubao-seed-2-0-pro
  • 非 chat provider URL 继续沿用内部 evidence-card provider 合同。
  • 增加 OpenAI 兼容请求体和 choices[0].message.content 证据卡解析的 mock 覆盖。

验证:

  • 真实请求 https://api.fmode.cn/v1/chat/completions 返回 HTTP 200,模型为 doubao-seed-2-0-pro-260215
  • 真实 Tihao sample run 使用豆包服务返回 3 张 doubao_vision_verified 证据卡,并写出 Markdown/JSON/CSV。
  • 输出扫描未发现 API token 或 Authorization header 泄露。
  • npm run acceptance:providers:mock
  • npm run mcp:smoke

备注:

  • 该版本验证了豆包模型能基于候选/Brief 信号生成证据卡。若未提供真实帧图或 ASR,证据卡会正确标注缺少视频帧/口播证据。

0.1.12

状态:已发布,豆包 provider 验证加固版本。

主要变化:

  • 加强豆包 provider 合同验收:当返回 OpenAI 风格 evidenceCards 时,报告必须包含 ## 多模态证据卡doubao_vision_verified
  • 产品验收扫描忽略本地 .npm-cache-*,避免 npm registry cache 被误判为源码泄露。

验证:

  • 本地 HTTP mock 调用豆包 provider,覆盖模型、Authorization 和 evidenceCards 解析。
  • npm run acceptance:providers:mock
  • npm run acceptance

备注:

  • 该版本是合同/mock 验证,不等于真实外部豆包服务已跑通。

0.1.11

状态:已发布,豆包视频分析 provider 合同版本。

主要变化:

  • 增加可选豆包/视频分析输入:doubaoVisionBaseUrldoubaoVisionPathdoubaoVisionModeldoubaoVisionTokenvideoAnalysisBaseUrlvideoAnalysisPathvideoAnalysisModelvideoAnalysisToken
  • 默认模型为 doubao-seed-2-0-pro
  • 请求复用 evidence-card 合同,并包含 providerTypemodelrequestedCapabilities、Brief 标准和候选博主。
  • provider 响应解析支持标准 evidenceCards 和 OpenAI 风格 choices[0].message.content JSON。
  • 安全扫描阻止 sk-... 形式 token 写入包文件。
  • skill 文档和 runbook 明确 URL/token 只能由用户运行时填写,不能硬编码。

验证:

  • npm run acceptance:providers:mock
  • npm run acceptance:pm
  • npm run acceptance

0.1.10

状态:已发布,provider 失败状态加固版本。

主要变化:

  • referenceEvidenceStatus 增加结构化 provider 状态字段:providerRequestedproviderStatusproviderHttpStatusproviderWarning
  • evidenceStatus 增加同样的状态字段。
  • reference provider 区分 not_requestedmissing_base_urlnetwork_errorunauthorized_or_quotahttp_errorempty_resultparse_errorok
  • evidence provider 区分 not_requestednetwork_errorunauthorized_or_quotahttp_errorempty_resultparse_errorok
  • mock 验收加入 reference 403 和 empty evidence response,确保提号流程不中断且 warning 可审计。

验证:

  • npm run acceptance:providers:mock
  • npm run acceptance:pm
  • npm run acceptance

0.1.9

状态:已发布,provider 合同加固版本。

主要变化:

  • 参考补证和多模态 evidence provider 请求增加 contractVersion: "tihao-provider-v1"
  • reference provider 请求带上品牌、品类、平台、关键词和参考信号。
  • 多模态 evidence provider 请求带上文本、ASR、视觉、帧图证据和风险复核能力。
  • 支持通过运行时 token 为 evidence provider 鉴权。
  • acceptance:providers:mock 会验证入站请求体、候选身份、参考锚点和可选 Authorization。

验证:

  • npm run acceptance:providers:mock
  • npm run acceptance:pm
  • npm run acceptance

0.1.8 及更早版本摘要

已发布版本主要完成:

  • 校准闭环报告:把下一轮问题、复核建议和结构化 next actions 固化在客户可用输出中。
  • CLI 反馈和剔除项报告:支持保存商务反馈,报告中说明剔除/降级原因。
  • 提号规则与记忆循环加固:更明确地区分首轮假设、硬排除规则和偏好记忆。
  • 文档和 PM gate 加固:把真实 provider runbook、roadmap、README 链接和“未跑真实 gate 不得宣称 live 完成”的措辞纳入验收。
  • 参考证据路线:增加 referenceEnrichmentBaseUrl / socialAnalysisToken provider 接口、evidenceCards / evidenceCardsPathmultimodalEvidenceBaseUrl 和对应验收。
  • workspace 安装:支持将 Claude Code plugin、skill 和 .mcp.json 写入客户工作区。
  • 首个 npm 发布版本曾使用 @gangvy/tihao-sop,后续迁移到 @vocmarket/tihao-sop

长期边界:

  • 没有真实 provider gate 前,只能称为接口合同或 mock 验证。
  • 没有客户有效 token/company 前,不能宣称客户账号 live 提号已通过。
  • 没有真实帧图/ASR/视频资源前,不能把模型风格总结写成已验证的视频证据。

常用验证命令

npm run acceptance
npm run acceptance:providers:mock
npm run acceptance:pm
npm run live:acceptance
npm run acceptance:video-ab

live:acceptance 需要运行时提供:

$env:TIHAO_SESSION_TOKEN="<Parse sessionToken>"
$env:TIHAO_COMPANY="<Company objectId>"

acceptance:video-ab 还需要运行时提供视频分析 URL、模型和 token。所有 token 都不能写入文件。