feat: 发布三笙AI情报局独立版公司研发基线
同步家纺情报 v2 数据、59 个严格权威源、趋势图库、移动端交互、Google/Yandex 翻译门控及静态 SEO/GEO 构建。 补充面向 C# 研发的 README,明确当前无 LLM、多模态与生图模型,记录翻译请求参数、缓存与失败策略、数据处理边界、前端职责和无 GitHub Pages 部署流程。 新增按日期倒序维护的 CHANGELOG,记录影响、验证与代码/数据/dist 回滚方法。 验证:11 个 Python 契约测试、13 个 Node 前端测试通过;静态构建生成 1096 个 Sitemap URL。
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
"""三笙AI情报局的 SEO/GEO 统一词表与页面回答规则。"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from typing import Any
|
||||
|
||||
|
||||
BRAND_NAME = "三笙AI情报局"
|
||||
ENTITY_DEFINITION = (
|
||||
"三笙AI情报局是面向家纺、纺织品与服装跨境经营团队的静态情报站,"
|
||||
"把官方日期、展会、政策、平台和趋势资料整理成可核验的中文决策入口。"
|
||||
)
|
||||
|
||||
KEYWORD_CLUSTERS = {
|
||||
"brand": ("三笙AI", "三笙AI情报局"),
|
||||
"core": ("家纺AI", "家纺情报", "家纺跨境平台", "跨境家纺平台"),
|
||||
"task": ("家纺备货日历", "家纺展会", "家纺政策", "家纺平台渠道", "家纺趋势"),
|
||||
}
|
||||
|
||||
SECTION_INTENTS = {
|
||||
"calendar": "回答家纺跨境团队何时备货、面向哪些国家和平台、下一步做什么。",
|
||||
"exhibitions": "回答哪些家纺展会值得参加、官方报名入口在哪里、参展前要准备什么。",
|
||||
"policies": "回答哪些跨境政策或平台规则发生变化、影响谁、今天需要采取什么动作。",
|
||||
"standards": "回答色彩、材料、检测和趋势信号如何转化为家纺产品与打样任务。",
|
||||
"platforms": "回答哪些跨境平台适合家纺经营、进入条件是什么、应从哪个官方入口核验。",
|
||||
"activities": "回答家纺跨境活动的时间、地区、活动类型和官方报名路径。",
|
||||
}
|
||||
|
||||
|
||||
def keywords_for(section: str = "", item: dict[str, Any] | None = None) -> list[str]:
|
||||
values = [*KEYWORD_CLUSTERS["brand"], *KEYWORD_CLUSTERS["core"], *KEYWORD_CLUSTERS["task"]]
|
||||
if section in SECTION_INTENTS:
|
||||
values.append(SECTION_INTENTS[section])
|
||||
if item:
|
||||
values.extend(str(item.get(key) or "") for key in ("title", "region", "source"))
|
||||
values.extend(str(value) for value in item.get("platforms") or [])
|
||||
return list(dict.fromkeys(value.strip() for value in values if value.strip()))
|
||||
|
||||
|
||||
def answer_first(section: str, item: dict[str, Any] | None = None) -> str:
|
||||
if item:
|
||||
conclusion = item.get("next_action") or item.get("action") or item.get("opportunity") or item.get("summary")
|
||||
return f"先看结论:{item.get('title') or '这条家纺情报'}。{conclusion or SECTION_INTENTS.get(section, '')}"
|
||||
return f"快速答案:{SECTION_INTENTS.get(section, ENTITY_DEFINITION)}"
|
||||
Reference in New Issue
Block a user