AI 情报长期档案与动态场景知识图谱
从多源采集、历史去重、AI 精炼,到文章归档、趋势洞察、图谱探索与自动发布,一个仓库跑通最小闭环。
From AI firehose to a living knowledge graph.
真实生产界面 · 社区聚类、语义缩放、图层筛选与按需加载
| ⚙️ 一仓闭环 | 🧭 长期可追溯 |
|---|---|
| 采集 → 精炼 → 归档 → 发布 全部在一个仓库完成,不依赖数据库、消息队列或常驻服务;最小系统也能独立运行。 | 先按 URL 去重,再用有限来源证据识别跨 URL 的转载、衍生与同事件观察;原始来源和谱系关系都可回查。 |
| 📈 可解释趋势 | 🕸️ 活的知识图谱 |
| 用证据数量、增长、加速度、来源多样性与新颖度识别信号,可从排名下钻到文章证据。 | 以“技术总览 → 标签社区 → 节点邻域”渐进探索,只加载当前需要的子图。 |
Important
公开仓库使用标准 GitHub-hosted runner 与 GitHub Pages 时,托管和调度的固定基础设施成本可以接近 0。模型 API 与可选自定义域名可能产生外部费用;只浏览线上站点或本地启动 UI 不需要模型密钥。
AI Stack 把一个容易失控的情报工程压缩成可版本化的静态闭环:内容是 Markdown,关系是 Graph JSON v2,检索由 Pagefind 生成,发布目标是 GitHub Pages。
flowchart LR
S["5 类生产数据源"] --> D["URL 去重 + 事件谱系"]
D --> A["AI 筛选与结构化整理"]
A --> O["Markdown + Graph JSON v2"]
O --> H["Hugo + Pagefind"]
H --> P["GitHub Pages"]
P --> R["文章 · 趋势 · 标签 · 图谱"]
R -. "每小时第 17 分钟刷新" .-> S
| 使用方式 | 需要什么 | 成本边界 |
|---|---|---|
| 🌐 在线浏览 | 浏览器 | 无需账户、无需密钥 |
| 💻 本地启动 UI | Git + Hugo Extended | 不调用模型,不需要 Python |
| 🤖 完整数据刷新 | Python 3.11–3.13 + Anthropic Messages 兼容端点 | 主要可变成本为模型 API;可选域名、自建搜索或非标准运行环境也可能产生费用 |
成本说明参考 GitHub 官方的 Actions 计费说明 与 Pages 使用限制。
8.3 秒真实交互:技术总览 → 标签社区 → 搜索 → 节点邻域 → 详情联动
![]() 01 · 长期归档 跨来源内容沉淀为可搜索、可按日期回看的技术档案。 |
![]() 02 · 文章精炼 来源摘要、结构化正文、标签与元数据保留在同一页面。 |
![]() 技术总览 · 首屏只载入 69 个核心节点与 71 条关系。 |
![]() 节点邻域 · 搜索后只展开一跳强关系与真实指标。 |
| 模式 | 回答的问题 | 加载策略 |
|---|---|---|
| 技术总览 | AI 技术栈由哪些核心层构成? | 首屏仅加载核心图 |
| 标签社区 | 当前内容自然聚成哪些主题? | 先加载社区摘要,再按需展开热点 |
| 节点邻域 | 一个技术与哪些强关系节点相连? | 只请求当前节点的一跳子图 |
搜索覆盖完整索引,但画布永远只绘制当前子图;密集数据留在 Worker 中切片,避免一次性渲染全量节点与边。
真实界面 · 24h / 7d / 30d 窗口、证据矩阵、评分解释、文章与图谱双通道下钻
无需 Python、数据库、容器或模型密钥。仓库已包含 Markdown 内容、生成后的图谱数据与趋势快照。
git clone https://github.com/g5n-dev/ai-stack.git
cd ai-stack/blog
hugo server -D打开 http://localhost:1313,或直接访问 ai-stack.site。
需要 Python 3.11–3.13、Hugo Extended 0.153.4,以及一个兼容 Anthropic Messages API 的模型端点。
git clone https://github.com/g5n-dev/ai-stack.git
cd ai-stack
# 创建虚拟环境、安装依赖,并从 .env.example 生成 .env
bash scripts/setup.sh
# 填入模型端点、模型名与密钥
nano .env
# 预检、采集、处理、构建并启动 Hugo
bash scripts/run_local.sh --serve| 能力 | 说明 |
|---|---|
| 多源采集 | 生产任务持续采集 GitHub Trending、Hacker News、arXiv、掘金与博客/播客 RSS;Reddit、X/Twitter 与 SearXNG 可在本地按需启用。 |
| 事件去重与溯源 | 先按规范 URL 去重,再以有限来源证据建立跨 URL 谱系;区分本站最早观测、疑似源头、转载、衍生、同事件与仅相关,不把相似自动宣称为原创。 |
| AI 内容管线 | 自动完成相关性筛选、摘要、翻译、评论、标签与场景分析,并保留原始来源链接。 |
| 模型兼容层 | 基于 Anthropic SDK 与 Messages 请求结构,模型和 base_url 可配置。 |
| GitHub 项目增强 | 为仓库内容补充 DeepWiki 上下文与结构化技术信息,形成适合长期阅读的项目档案。 |
| 分层知识图谱 | 核心图、社区摘要、热点节点与焦点分片分层加载;搜索覆盖完整索引,画布只渲染当前子图。 |
| 趋势洞察 | 按稳定 event_id 计算 unique_events,仅合并 allowlist 认可的 same_event,重复观察单列为 redundant_observations;支持筛选与双通道下钻。 |
| 自动发布与监测 | Actions 分离模型处理与写入权限,构建并验证精确 SHA 后发布 Pages;生产烟测通过才保留回执并通知搜索引擎。 |
| 触发方式 | 执行内容 | 设计目的 |
|---|---|---|
Push 到 main |
验证并部署已提交快照,不执行抓取与模型处理 | 代码与样式更新快速上线 |
每小时第 17 分钟 |
抓取、谱系/质量/趋势/图谱重建、CAS 持久化与部署 | 自动探索、整理和刷新档案 |
| 手动触发 | 选择完整刷新或只发布;恢复仅接受有生产验证回执的精确 SHA | 故障恢复与运营控制 |
每小时第 41 分钟 |
只读比较 main 与生产 release marker,检查 3 小时分歧和 12 小时陈旧阈值 |
及时发现数据或部署停滞 |
生产 DAG 为 refresh → validate → persist → build → deploy → production-verify → notify:模型密钥只进入只读刷新阶段,写入阶段没有模型密钥,Pages 权限只进入部署阶段。每次生产烟测成功会保留 90 天 verified-release-<sha> 回执;搜索通知只在验证后发生。生产固定使用 Python 3.11、Node.js 22 与 Hugo Extended 0.153.4。
scripts/setup.sh 会从 .env.example 创建本地 .env。密钥只应放在本地环境或 GitHub Actions Secrets 中;不要把真实值粘贴到截图、日志、Issue、PR 或文档里,疑似泄露时应立即轮换。
| 变量 | 必需 | 用途 |
|---|---|---|
ANTHROPIC_AUTH_TOKEN |
是 | Anthropic Messages 兼容端点的认证令牌 |
ANTHROPIC_BASE_URL |
是 | 模型 API 基础地址 |
ANTHROPIC_MODEL |
建议 | 显式指定模型 |
SEARXNG_BASE_URL |
否 | 可选的自建 SearXNG 搜索地址 |
配置文件与项目结构
config/sources.yaml:来源、抓取数量、超时与搜索兜底。config/anthropic.yaml:模型参数、筛选、摘要、生成、标签与场景分析。config/stack_trends.yaml:趋势窗口、评分输入、标签排除与静态分片预算。config/lineage.yaml:有限来源证据指纹、跨 URL 事件谱系与公开分片预算。config/publisher.yaml:微信、X/Twitter、Telegram 发布器,默认关闭。runtime_profile.py:本地与 CI 的来源预算、并发与生成档位。
ai-stack/
├── crawler/ # 数据源、搜索兜底与抓取编排
├── processor/ # 模型兼容层、内容处理、标签与图谱
├── publisher/ # 可选发布器
├── ai_stack/ # 事件谱系、领域模型、清单与流水线 CLI
├── blog/ # Hugo 内容、主题、静态资源与 Graph JSON
├── config/ # 来源、模型、发布与标签配置
├── scripts/ # 本地运行、校验、构建与运维脚本
├── tests/ # Python、JavaScript 与 Playwright 测试
├── docs/ # 架构、部署与操作文档
└── .github/workflows/ # PR CI、生产部署、监控与内容维护
生产地址为 https://ai-stack.site/,趋势入口为 https://ai-stack.site/trends/,图谱入口为 https://ai-stack.site/scenarios/。域名、Secrets 与 Pages 设置见 部署指南。
| 文档 | 内容 |
|---|---|
| 详细使用文档 | 安装、配置、日常命令与故障排查 |
| 部署指南 | GitHub Pages、自定义域名、Secrets 与部署验证 |
| 分支架构 | 分支职责、同步机制与部署边界 |
| 历史文章质量报告 | 异常识别、透明归档、标签修复与验收统计 |
| v1.0 发布清单 | 数据、内容、图谱、趋势、搜索、安全与线上烟测 |
| 新鲜度排障手册 | 12 小时检查、失败阶段判断与安全处置 |
| CI 信任模型 | 工作流权限、发布边界与安全假设 |
| 系统设计 | 数据流、AI 处理、展示层与扩展设计 |
欢迎围绕新数据源、内容质量、图谱交互、性能与可靠性提交改进。请让一次改动保持单一职责,并先运行与改动范围对应的测试。
git checkout -b feature/your-change
python3 -m pip install pytest==9.0.3
python3 -m unittest tests.test_tag_graph_runtime tests.test_generate_content_guards
python3 -m pytest -q tests/test_graph_deploy_contract.py tests/test_site_header_contract.py- 贡献约定与本地验证:CONTRIBUTING.md
- Bug 与功能建议:GitHub Issues
- 方案讨论与经验分享:GitHub Discussions
- PR 检查规则:
.github/workflows/ci.yml




