Files
Jack f1ce583fd1 feat: 发布三笙AI情报局独立版公司研发基线
同步家纺情报 v2 数据、59 个严格权威源、趋势图库、移动端交互、Google/Yandex 翻译门控及静态 SEO/GEO 构建。

补充面向 C# 研发的 README,明确当前无 LLM、多模态与生图模型,记录翻译请求参数、缓存与失败策略、数据处理边界、前端职责和无 GitHub Pages 部署流程。

新增按日期倒序维护的 CHANGELOG,记录影响、验证与代码/数据/dist 回滚方法。

验证:11 个 Python 契约测试、13 个 Node 前端测试通过;静态构建生成 1096 个 Sitemap URL。
2026-08-14 19:26:39 +08:00

53 lines
3.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# C# 后端与 Node 前端交接
本仓库是可运行参考实现,不要求研发团队继续使用 Python 前端,也不要求用 C# 重写爬虫。推荐拆分边界如下。
## C# 后端
适合负责:用户、企业、角色权限、订阅市场、任务分派、提醒、收藏、人工复核、审计日志和 API。不要把抓取器放进 Web 请求生命周期;通过计划任务或消息队列运行采集作业。
建议最小实体:
- `Source`:来源、层级、语言、证据词、抓取策略、启停状态。
- `FetchRun`:开始/结束、HTTP 状态、内容指纹、证据、错误。
- `IntelligenceItem`:稳定 ID、栏目、事实字段、分析字段、适用地区、来源版本。
- `ItemSource`:一条聚合情报与多个来源的多对多关系。
- `UserPreference`:企业关注的国家、平台、品类和角色。
- `UserTask`:负责人、截止日、提醒、已处理/不相关状态。
数据库推荐 PostgreSQL;本地单机试运行可用 SQLite。正文去重建立 `normalized_title + start_date + region` 唯一候选键,内容指纹建立普通索引,外部 URL 使用规范化哈希索引。原始 HTML 只在需要审计时对象存储短期保留,不塞入主表。
API 可直接映射现有 JSON:
```text
GET /api/intelligence/summary
GET /api/intelligence/items?section=&market=&platform=&from=&to=&cursor=
GET /api/intelligence/items/{id}
GET /api/platforms
GET /api/sources/{id}/runs
POST /api/tasks
PATCH /api/tasks/{id}
```
服务端必须再次校验翻译链接和外链协议,仅允许 `http/https`。用户偏好、任务和人工结论与自动抓取事实分表,避免下一轮增量更新覆盖人工数据。
## Node 前端
可以迁移到 Next.js 或 React,但不必重写信息架构。保留七个业务入口和趋势四个子类,默认趋势页进入灵感图库。推荐:
- TypeScript 定义与 `docs/DATA-CONTRACT.md` 一致的模型。
- TanStack Query 或框架原生数据缓存处理分页;Zustand 只存筛选、主题和用户偏好,不存整库情报。
- 服务端渲染栏目和详情,客户端只增强筛选、收藏、任务和翻译门控。
- 图片使用源站或授权地址时保留来源;没有图时继续使用 HTML 文字海报,不生成无来源的假图片。
- 触控目标至少 44px,业务正文至少 16px,移动端七分类首屏可发现。
## 迁移顺序
1. 先冻结 JSON v2 契约,将当前两份发布 JSON 导入新 API。
2. Node 前端改为读 API,逐页对比旧静态站;此时抓取仍由 Python 定时任务运行。
3. C# 增加用户偏好、任务和权限,不改自动事实字段。
4. 如确有团队维护收益,再逐个把稳定解析器迁移到 .NET;每迁移一个源,用相同 URL、证据词和快照做双跑比对。
5. 最后将 SEO canonical 切向新域名,并保留旧 URL 的 301 映射。
不要一开始重写 57 个源。先把现有采集器当独立批处理服务,C# 和 Node 围绕稳定 JSON 契约开发,风险和交付周期最低。