Omnigraph
Graph engine for context assembly. Object-storage native. Agents work with graph data the way engineers work with code: branched, typed, reviewed, merged, audited, and governed.
一个定时跑的小红书舆情研判工作流:抓笔记和评论、逐条编码、代码算指标、模型写研判、规则和模型双重评测。示例数据:2026-10-16 特斯拉。
Translation pending
DataJavaScript · PythonGitHub @MatsuriMWOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
小红书舆情研判工作流:n8n 定时抓笔记和评论,DeepSeek 逐条编码,代码算指标、模型写研判,规则 + 另一个模型评测,人工复核写回流程
Translation pending
Taken from the repository README
Loading the full README.
Read the full README ↗一个 n8n 工作流:定时在小红书搜品牌关键词,抓笔记和评论区,交给 DeepSeek 逐条编码,由代码算指标、模型写研判,最后用一组代码规则和另一个模型给研判打分。研判写完还留一道人工复核,复核出的误判写回配置和编码规则,下一轮自动生效。
示例:特斯拉 Roadster 发布后 24 小时的研判(2026-10-16 的一次运行,含人工复核前后的对照);四次运行的报告、模型直出和编码表在 examples/tesla-2026-10。仓库里的「配置」追踪的就是特斯拉(关键词「特斯拉」「特斯拉 投诉」「Model Y」),换品牌只改配置。
LangGraph 版在 langgraph/:同一套编码、指标、规则代码换成 LangGraph 编排,按品牌人群画像决定以小红书、B站还是知乎为主,先判断是突发事件还是日常,规则没过自动返工,出报告前停下等人复核。示例:特斯拉 · B站 + 知乎。
研判窗口默认是过去 24 小时:三维度只统计窗口内的新内容(笔记按发布时间,评论按发表时间,老帖下面的新评论也算),窗口外的存量只当背景。想看长一点,把「配置」里的 window_days 改成 7 或 30。报告开头先写「过去 24 小时的变化」,并和前一个同样长的窗口比。
它做的几件事:
context_notes,编码、研判、抽检的提示词都会带上。例:特斯拉那一轮的「刹车踩断」说的是另一个品牌的刹车踏板断裂测试,复核后加了「对比对象 / 谁占上风」字段,别家的事故不再算成本品牌的安全风险。完整标准见 framework/研判与评测体系.md。
定时触发 / 手动运行
→ 配置(品牌、关键词、行业设定、阈值、模型)
→ 逐个关键词 ⟲ 搜索笔记(小红书 MCP search_feeds)/ 官方号走 user_profile → 拆解笔记列表(去重、每词取前 8 篇)
→ 逐篇笔记 ⟲ 抓取详情和评论(get_feed_detail,每篇最多 30 条一级评论)→ 结构化(笔记 + 评论拍平成记录,用户 ID 只存哈希)
→ 读取状态 → 增量对比 → 有新记录吗
├ 是 → 切批 → 编码 DeepSeek(deepseek-flash)→ 合并编码
└ 否 ───────────────────────────────────────→ 合并编码
→ 聚合研判指标(代码算三维度)→ 构造研判请求 → 研判 DeepSeek(deepseek-flash)
→ 规则检查 → 评测 DeepSeek Pro(deepseek-v4-pro:打分 + 盲重编码)→ 评级与报告 → 写入 data/
data/ 下:
latest.md:最近一次的研判报告runs/<日期_时间>_研判报告.md、_run.json(全部记录、编码、指标、评测)、_summary.json(一行摘要,方便看趋势)state.json:编码缓存、互动快照、笔记首次出现时间只改「配置」节点(src/01_config.js),然后重新 build、导入:
brand、brand_context、decision_subject、keywordstarget_rule、target_clues:什么算本机构;评论要算本机构,上层得是本机构或原文里有这些线索之一context_notes:人工核实过的外部背景(比如某个梗其实在说别家),编码、研判、抽检都会读official_accounts:官方号的昵称、user_id、xsec_token;空着就不抓官方号评论区coding_version:编码字段改了就加 1,旧缓存会重新编码industry:行业名、受众(「家长」「车主」)、话题枚举、高压线和说明、哪些高压线一碰就拉高、动员 1 / 5 / 6 级的说法、规则 R9 的外推词。提示词里的 {{占位符}} 和统计代码都从这里取thresholds:大品牌的互动量比本地小机构高一两个数量级,阈值要跟着调换公司前把 data/ 里的东西挪进 archive/<旧品牌>/,否则会沿用旧品牌的编码缓存和快照。
依赖:本机的 n8n(npx 装的 2.15.1)、社区节点 n8n-nodes-mcp、xiaohongshu-mcp(二进制放在 ~/xiaohongshu-mcp-darwin-arm64,要先扫码登录)、n8n 里的 DeepSeek 凭据。
第一次用:在 n8n 里建好「MCP Client」和「DeepSeek」两个凭据,把它们的 id 和名字填进 build.py 开头的 CRED_MCP、CRED_DEEPSEEK,再 build、导入。workflow.json 是 build 出来的,不进仓库;data/ 是运行结果(抓到的笔记、评论和编码缓存),也不进仓库。
./start.sh # 起小红书 MCP 和 n8n,开着才会定时跑;工作流要在 n8n 界面里点 Active
./start.sh once # 不开界面直接跑一次
n8n 2.x 默认只许读写 ~/.n8n-files,start.sh 把 N8N_RESTRICT_FILE_ACCESS_TO 设成了本目录的 data/。直接 npx n8n start 的话写文件那步会失败。
改工作流:改 src/ 里的 JS 和 src/prompts/ 里的提示词,然后
python3 build.py && npx n8n import:workflow --input=workflow.json
小红书 MCP 掉登录时报告会显示「抓到笔记 0 篇」,重新扫码:调 MCP 的 get_login_qrcode,或跑 ~/xiaohongshu-login-darwin-arm64。
eval/score_golden.py export <几次 run.json> 按模型标签分层抽 300 条盲标表(笔记、碰高压线、动员 ≥4 的全收,其余按配额抽,每条带权重),标完用 score 算各字段准确率、kappa、「本机构」精确率、高压线和动员 ≥5 的召回率,同时给样本内和按总体加权两个数;和模型不一致的行导出成表,复核后进回归集。达标线:指向「本机构」精确率 ≥95%,高压线、动员 ≥5 召回率 ≥90%。研判和评测标准改写自初五的 Chuwu-PR-OS(PROS 05,MIT),许可原文在 framework/CHUWU-PR-OS-LICENSE.txt。