Token导航 LogoToken导航TokenDH.com
Mongodb Hack logo
浏览器工具stdio官方级别未说明来源级核验

Mongodb Hack

MCP Server

Reddit社区笔记是一款基于AI的浏览器扩展,用于自动验证Reddit帖子中的信息准确性,适用于新闻、政治和讽刺内容子论坛。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
Python浏览器自动化网页抓取

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

spabolu

提供方

spabolu

最后核验

2026/5/17 20:22

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

uv run uvicorn src.app:fastapi_app --reload --host 0.0.0.0 --port 8000

详细介绍

Reddit社区笔记–AI驱动的真相检查器

该项目通过直接在浏览器中运行的AI驱动的“真相检查器”改进了Reddit。它的灵感来自X/Twitter的“社区笔记”功能,是解决Reddit等公共论坛上错误信息增加的一种解决方案。

它由三个主要部分组成:

  1. 前端Chrome扩展程序 (reddit-extension/):在符合条件的Reddit帖子(r/news、r/politics、r/TheOnion)中注入一个面板,并调用后端显示验证结果。
  2. 后端FastAPI服务器 (src/app.py, src/main.py):包裹LastMile的 mcp-agent 应用程序,暴露 /verify 端点,并协调Tavily搜索和LLM推理。
  3. AI+MCP工具:用于搜索的Tavily MCP服务器,LastMile的 mcp-agent 用于工作流管理,以及通过增强LLM实现OpenAI LLM后端。

🌐 实时服务(已部署 ngrok LastMile's mcp-agent)

______________________________________________________________________

示例屏幕截图

______________________________________________________________________

🚀 用户快速入门指南

这是什么?

Reddit社区笔记是一个免费的浏览器扩展程序,可以自动检查Reddit上的帖子。它的工作原理类似于推特的社区笔记——当你访问一篇新闻帖子时,它会向你显示信息是否经过验证、有争议或需要更多背景信息。

如何安装(3个简单步骤)

  1. 下载扩展

- 点击此页面顶部的绿色“代码”按钮 - 选择“下载ZIP” - 将ZIP文件解压缩到计算机上的文件夹中

  1. 打开Chrome扩展程序

- 打开谷歌Chrome浏览器 - 类型 chrome://extensions 在地址栏中,按Enter键 - 打开 开发人员模式 (右上角的拨动开关)

  1. 加载扩展

- 点击 “未包装装载” 按钮 - 选择 reddit-extension 从下载的文件中选择文件夹 - 你完了!扩展现在处于活动状态

如何使用它

  1. 访问Reddit

- 首选 reddit.com - 导航到以下子版块之一: - r/news -新闻文章和时事 - r/politics -政治新闻和讨论 - r/TheOnion -讽刺新闻(看看它如何检测讽刺)

  1. 查看任何帖子

- 点击这些子版块中的任何帖子 - 在帖子内容下方向下滚动 - 你会看到一个 “AI真相检查器” 面板自动显示

  1. 阅读结果

- 面板将显示三种状态之一: - ✅ 正确 (绿色)-信息已由信誉良好的来源验证 - ❌ 不正确 (红色)-信息有争议或不准确 - ⚠️ 无法验证 (灰色)-没有足够的信息可供验证 - 每个结果包括: - 解释为什么它被标记成那样 - 支持或质疑该主张的新闻来源的链接 - 显示信息验证时间的发布日期

期待什么

  • 第一次:AI搜索来源时,验证需要10-20秒
  • 缓存结果:如果您或其他人之前验证了同一帖子,结果会立即显示
  • 源链接:单击任何源链接阅读原始文章
  • 自动:扩展程序自动工作,无需单击按钮

要尝试的示例帖子

想看看它的实际效果吗?试试这些帖子:

  1. 法国调查马斯克的Grok聊天机器人
  2. 洋葱讽刺帖子
  3. 纽约市空中交通管制员

故障排除

面板未出现:

  • 确保你在 r/news, r/politics,或 r/TheOnion
  • 刷新页面(F5或Ctrl+R)
  • 检查是否在中启用了扩展 chrome://extensions

它显示“错误”或“无法验证”:

  • 对于非常新的帖子或晦涩难懂的话题来说,这是正常的
  • 后端可能暂时不可用,请在几分钟后重试

要禁用它吗?

  • 首选 chrome://extensions
  • 关闭“Reddit社区笔记”扩展

______________________________________________________________________

#

技术栈

  • Tavily MCP(搜索/提取工具)
  • LastMile的MCP代理
  • MongoDB(pymongo)司机
  • OpenAI LLMs
  • Chrome 扩展 ManifestV3 (JavaScript)
  • FastAPI(Python 3)
  • 用于REST调用和打包的Fetch/Web工具
  • uv 用于依赖关系/env管理

______________________________________________________________________

前端(Chrome扩展程序)

  • 生活在 reddit-extension/.
  • 将Twitter的“社区笔记”风格的卡片注入到每个与支持的子版块匹配的Reddit帖子中。
  • 向发送POST请求 /verify 带有帖子URL、标题、潜台词和检测到的时间戳的端点。
  • 呈现后端返回的结构化响应(判决+来源)。

运行扩展

  1. 首先构建/准备后端(见下一节)。
  2. 在Chrome浏览器中,打开 chrome://extensions,启用 开发人员模式那么 加载未打包的.
  3. 选择 reddit-extension/ 文件夹。
  4. 访问Reddit并验证帖子以查看注入的面板。

要尝试的示例URL:

  1. 红迪 r/news
  1. 红迪 r/TheOnion
  1. 红迪 r/news

______________________________________________________________________

后端(FastAPI+MCP代理)

  • 核心MCP代理逻辑存在于 src/main.py (改编自LastMile的 mcp-agent 示例)。
  • src/app.py 用FastAPI封装MCP应用程序并公开 /verify 终点。
  • 使用Tavily MCP服务器获取信誉良好的来源和OpenAI LLM(通过 OpenAIAugmentedLLM).
  • MongoDB缓存层(src/db/)用于存储验证结果以降低API成本。使用哈希来存储Reddit帖子URL的唯一id。

项目结构

.
├── src/
│   ├── app.py              # FastAPI server with /verify endpoint
│   ├── main.py             # MCP agent with verify_content_agent tool
│   └── db/
│       ├── cache.py         # MongoDB cache for verification results
│       ├── mongodb.py       # MongoDB connection management
│       └── init_indexes.py  # Database index initialization
├── reddit-extension/        # Chrome extension frontend
│   ├── content.js          # Extension content script
│   └── manifest.json       # Extension manifest
├── mcp_agent.config.yaml   # MCP agent configuration
├── mcp_agent.secrets.yaml  # API keys (references .env)
└── pyproject.toml          # Python dependencies

先决条件

  • Python 3.11+
  • 紫外线 用于管理虚拟环境。
  • Tavilly API密钥和LLM提供商API密钥(OpenAI)-存储在机密文件中/ .env.
  • MongoDB(Atlas或本地)——可选,但建议用于缓存验证结果。
  • 强烈推荐使用OpenAI gpt-5-mini-2025-08-07 效率和/或 gpt-5.1-2025-11-13 模型以获得最佳精度。

安装与运行

# Install dependencies
uv sync

# Start the FastAPI server
uv run uvicorn src.app:fastapi_app --reload --host 0.0.0.0 --port 8000

# Or use the console script entry point
uv run app

服务器正在监听 http://0.0.0.0:8000。浏览器扩展程序应指向此处进行验证请求。

备注:该扩展当前配置为使用在以下位置部署的后端 https://cef5c5f9c1f3.ngrok-free.app/verify。要使用本地服务器,请在中更新URL reddit-extension/content.js.

______________________________________________________________________

人工智能图书馆/服务

组件目的
Tavily MCP服务器使用以下命令对信誉良好的域名执行日期限制搜索 topic="news" 过滤新闻来源,返回带有发布日期的结构化搜索结果。
最后一英里 mcp-agent提供MCP工作流框架、代理生命周期、日志记录和服务器连接。
OpenAI法学硕士对Tavily结果进行推理,强制JSON模式,并总结验证。 OpenAIAugmentedLLM 当前已配置 gpt-5-mini-2025-08-07 模型。

工作流程强制执行:

  • 日期过滤器与Reddit帖子时间戳对齐。
  • 使用 topic="news" Tavily中的参数用于搜索具有发布日期的最新新闻来源。
  • 信誉良好的域名白名单。
  • 讽刺/虚假来源检测(不要将原创讽刺文章视为“证据”)。
  • 返回多个带有描述的独立来源。

______________________________________________________________________

配置和秘密

.env

创建一个 .env 在repo根目录中。结构如下:

OPENAI_API_KEY=sk-...
GOOGLE_API_KEY=AIza...
TAVILY_API_KEY=tvly-...
MONGODB_URI=mongodb+srv://username:password@cluster.mongodb.net/reddit_verifier?retryWrites=true&w=majority

uv 自动读取 .env 运行命令时的文件。FastAPI服务器和MCP配置引用了这些环境变量。

MongoDB设置

MongoDB用于缓存验证结果,降低API成本,并提高重复后验证的响应时间。

MongoDB 阿特拉斯

  1. 在以下网址创建免费帐户 MongoDB 阿特拉斯
  2. 创建新集群(自由层M0就足够了)
  3. 创建数据库用户并设置密码
  4. 将您的IP地址添加到网络访问列表中(或使用 0.0.0.0/0 发展)
  5. 点击“连接”→ “连接您的应用程序”→ 复制连接字符串
  6. 替换 `

使用您的数据库用户密码和 随着 reddit_verifier`

  1. 将连接字符串添加到您的 .env 文件为 MONGODB_URI

连接字符串格式示例:

mongodb+srv://username:password@cluster.mongodb.net/reddit_verifier?retryWrites=true&w=majority

缓存行为

  • 缓存键:标准化URL的SHA256哈希(处理URL变化)
  • 生存时间:30天(结果自动过期)
  • 故障弱化:如果MongoDB不可用,验证仍然有效(只是没有缓存)
  • 索引:首次启动时自动创建(TTL索引为 expires_at,唯一索引 cache_key)

当相同的Reddit帖子被多次验证时,缓存显著降低了API成本。

mcp_agent.config.yaml

  • 核心MCP代理配置(记录器、MCP服务器、代理定义、默认模型)。
  • 更新 openai.default_model 或者根据需要添加其他提供程序默认值。
  • Tavily服务器使用 python -m mcp_server_tavily 并期待 TAVILY_API_KEY 在环境中。

mcp_agent.secrets.yaml

  • 存储提供程序API密钥和MCP服务器env覆盖。
  • 结构如下:
openai:
  api_key: "${OPENAI_API_KEY}"
google:
  api_key: "${GOOGLE_API_KEY}"

mcp:
  servers:
    tavily:
      env:
        TAVILY_API_KEY: "${TAVILY_API_KEY}"
永远不要提交真正的密钥。通过引用环境变量 ${VAR_NAME} 并保持 .env 当地。

______________________________________________________________________

开发工作流程

  1. 更新依赖关系或代码。
  2. uv run python src/main.py (或特定的测试脚本),以确保代理仍然返回至少有两个源的有效JSON。
  3. 启动FastAPI服务器(uv run uvicorn src.app:fastapi_app --reload).
  4. 加载Chrome扩展程序并验证帖子。
  5. 检查终端日志中的“LLM原始响应”和“解析JSON”,以调试任何模式问题。

通过此设置,您可以快速迭代Chrome UI、后端逻辑或MCP/LLM指令,以提高验证质量。

API终点

GET /

健康检查端点。退货 {"status": "ok", "message": "Reddit Content Verifier API is running"}.

POST /verify

主要验证端点。接受带有以下内容的JSON正文:

  • url:Reddit帖子或链接文章的URL
  • title:帖子标题
  • subtext:发布正文(前300个字符)
  • postDate:发布时间戳(ISO格式或相对时间)

返回一个JSON响应:

  • is_correct: true, false,或 null (无法验证)
  • explanation:人类可读的解释
  • sources:源对象数组 source_urlsource_description
  • status:始终 "success"

端点首先检查MongoDB缓存,如果不存在缓存结果,则仅调用MCP代理。

目录标签

目录标签

Python浏览器自动化网页抓取AI事实核查本地部署浏览器扩展信息验证Reddit工具社区笔记

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP