Lex英特尔
  
MCP服务器+中国人工智能/技术情报管道。每天抓取11个中文资源,与Claude一起翻译和分类文章,将其存储在Supabase+Pinecone中,并通过11个MCP工具提供精心策划的情报。Auto向Dev.to、Hashnode和Blogger发布简报。
状态:v0.1.0实验版。 单作者项目,183台CI通过pytest测试,为作者日常批量流水线投产。将其视为对想要中国人工智能信号的代理有用,而不是作为受支持的商业产品。
它的作用
- 刮擦 11家中国科技网点(36Kr、湖绣、CSDN、财新、智达、雷通、InfoQ中国、金蝶、用友、SAP中国、界面)以及Gmail通讯
- 重复数据删除 通过精确的标题匹配(Supabase)和语义相似性(Pinecone,阈值0.85)
- 翻译和分类 使用Claude将文章分为13个类别(第一阶段)
- 生成简报 彭博风格格式:领导/模式/信号/观察名单/数据(第2阶段)
- 为情报服务 通过任何AI代理都可以查询的MCP服务器
这不是什么
- 不是实时进料——管道每天都是分批的。
- 不是全文存档——MCP响应中的文章正文被截断为3000个字符(存储中为10000个)。
- 不是英语新闻-使用一般新闻API。
- 未经人类验证——相关性得分由克劳德分配,类别标签为LLM分类。
- 不是打破付费墙——抓取器只抓取公开可用的页面。
何时使用此
如果:
- 你的经纪人需要回答“本周中国人工智能发生了什么?”
- 你正在研究中国科技公司、融资轮次、监管或突破
- 您希望每天向代理商或电子邮件发送有关中国人工智能发展的简报
- 随着时间的推移,你需要对中国人工智能类别进行趋势分析
在以下情况下,您不需要它:
- 你只需要英语AI新闻(使用通用新闻API代替)
- 您需要实时/逐分钟更新(Lex每天运行一次)
- 您需要全文文章存档(Lex存储每篇文章的前10K个字符)
快速开始
先决条件
- Python 3.10+
- 速贝 具有来自的架构的项目
supabase/migrations/ - 松果 帐户(免费层有效--使用现有索引
claude-knowledge-base,命名空间lex-articles) - 无烟煤API键 用于分析管道
- 安根 刮板可通过以下方式进入
AHGEN_DIRenv 是
安装
git clone https://github.com/chrbailey/lex-intel.git
cd lex-intel
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env # fill in your keys
chmod 600 .env配置
编辑 .env 使用您的凭据:
SUPABASE_URL=https://your-project.supabase.co
SUPABASE_SERVICE_ROLE_KEY=eyJ...
ANTHROPIC_API_KEY=sk-ant-...
PINECONE_API_KEY=pcsk_...
AHGEN_DIR=/path/to/ahgen
LEX_EMAIL_TO=you@example.com
# Publishing (all optional — unconfigured platforms are skipped)
DEVTO_API_KEY=... # Dev.to: Settings → Extensions → API Keys
HASHNODE_API_KEY=... # Hashnode: Settings → Developer → Access Tokens
HASHNODE_PUBLICATION_ID=... # Hashnode: Dashboard → publication ID from URL
BLOGGER_EMAIL=... # Blogger: Settings → Email → Publishing using email运行管道
# Scrape all sources → dedup → insert to Supabase + Pinecone
python lex.py scrape
# Translate, categorize, generate briefing, queue posts
python lex.py analyze
# Publish queued posts to configured platforms
python lex.py publish
# Full pipeline: scrape → analyze → publish
python lex.py cycle
# Check pipeline status
python lex.py status运行MCP服务器
# stdio transport (for Claude Code, Cursor, etc.)
python lex_server.py
# Or via FastMCP CLI with HTTP transport
fastmcp run lex_server.py:mcp --transport http --port 8000添加到您的MCP客户端配置(Claude Code、Cursor等):
{
"mcpServers": {
"lex-intel": {
"command": "python",
"args": ["/path/to/lex-intel/lex_server.py"],
"env": {
"SUPABASE_URL": "your-url",
"SUPABASE_ANON_KEY": "your-key",
"PINECONE_API_KEY": "your-key"
}
}
}
}MCP工具
11个工具(7个读,4个写),专为AI代理消费而设计。
阅读工具
| 工具 | 何时调用 | Args |
|---|---|---|
lex_search_articles | 查找有关主题、公司或技术的文章 | query (str), limit (int,默认值10), category (str,可选), min_relevance (int,默认值1) |
lex_get_briefing | 获取最新的每日情报简报 | date (str YYYY-MM-DD,可选) |
lex_get_signals | 查找按主题分类的高影响力发展 | days (int 1-30,默认值7), min_relevance (int,默认值4) |
lex_get_trending | 查看哪些类别有上升或下降的势头 | days (int 1-30,默认值7) |
lex_list_sources | 检查有源源及其信号质量 | -- |
lex_get_article | 通过搜索找到文章全文后获取 | article_id (str) |
lex_get_status | 检查管道运行状况--最新运行、队列深度、文章计数 | -- |
写入工具
| 工具 | 何时调用 | Args |
|---|---|---|
lex_run_scrape | 从所有11个来源+Gmail获取新文章 | -- |
lex_run_analyze | 翻译、分类、生成简报、排队发帖 | model (str:“十四行诗”或“opus”,默认为“十四行”) |
lex_run_publish | 将发布队列排入已配置的平台 | platform (str,可选:“devto”、“hashnode”、“blogger”、“linkedin”、“media”) |
lex_run_cycle | 满管道:刮擦→ 分析→ 发布 | -- |
工具详情
lex_search_articles --通过Pinecone进行语义搜索。返回具有相似性得分的排名结果。按类别和最小相关性过滤。支持所有13个类别。
lex_get_briefing --返回最新的彭博式简报,分为以下几个部分:领导(最大的故事)、模式(跨源主题)、信号(新兴趋势)、观察列表(发展中的故事)和数据(关键数字)。通过日期获取特定日期的简报。
lex_get_signals --情报工具。获取高相关性文章(得分4-5),并将其分为“信号线索”——来自不同来源的涵盖同一故事的文章组。多源信号排名最高。返回置信水平: high (3+个来源), medium (2个来源), single-source.
lex_get_trending --按类别比较当前期间和上一个等效期间的文章数量。返回动量方向(rising, stable, declining)以及每个类别的百分比变化。
lex_list_sources --返回过去30天内每个来源的文章计数、高相关性文章计数和信号质量百分比(文章得分4+的百分比)。使用此方法了解数据新鲜度和源可靠性。
lex_get_article --获取完整的文章详细信息,包括正文(最多3K个字符)、原始URL、发布日期。接受Supabase UUID或Pinecone记录ID。
lex_get_status --管道健康仪表板。显示最新的抓取运行详细信息、挂起/分析的文章计数和发布队列状态(排队、重试、失败、今天发布)。
lex_run_scrape --写。触发对所有11个中国来源和Gmail通讯的全面抓取。删除重复项并插入具有状态的新文章 pending.
lex_run_analyze --写。两阶段LLM流程:翻译+分类(第一阶段),然后跨源模式分析+简报生成(第二阶段)。排队发布帖子。
lex_run_publish --写。清空发布队列。没有配置API密钥的平台将被静默跳过。如果主帖子失败,支持回退内容。
lex_run_cycle --写。按顺序运行所有三个阶段。如果在抓取过程中没有发现新文章,则跳过分析和发布。
此服务器无法执行的操作
- 它无法访问付费墙内容——抓取器只拉取公开可用的页面
- 它不提供财务建议或交易信号
- 它不会存储或提供每篇文章超过3000个字符的全文
CLI命令
| 命令 | 它做什么 |
|---|---|
lex.py scrape | 从所有11个来源+Gmail通讯中获取文章 |
lex.py analyze | 翻译、分类、评分、生成简报、排队发帖 |
lex.py analyze --opus | 相同,但使用克劳德·奥普而不是十四行诗 |
lex.py publish | 将发布队列清空到所有配置的平台 |
lex.py publish devto | 仅发布到特定平台 |
lex.py cycle | 满管道:刮擦→ 分析→ 出版 |
lex.py status | 显示最新运行、队列深度、文章计数 |
lex.py search "query" | 通过Pinecone跨文章进行语义搜索 |
lex.py search "query" --top=20 | 使用自定义结果计数进行搜索 |
lex.py patterns | 来源质量、类别分布、发布成功率 |
lex.py patterns --days=7 | 特定时间窗口的分析 |
lex.py cleanup | 归档旧文章,清理桌面 |
lex.py cleanup --days=14 | 存档超过N天的文章 |
文章分类
13个类别(从原来的8个扩展到减少“其他”错误分类):
| 类别 | 它涵盖了什么 |
|---|---|
funding | 融资轮次、资本筹集 |
m_and_a | 合并、收购、接管 |
investment | 风险投资股份、战略投资(非全面并购) |
product | 产品发布、功能发布、平台更新 |
regulation | 政府政策、合规、法律行动 |
breakthrough | 技术里程碑、新功能、记录 |
research | 学术论文、基准测试、技术报告 |
open_source | 模型发布、开源项目、权重发布 |
partnership | 联盟、整合、合资企业 |
adoption | 部署指标、增长数字、用户里程碑 |
personnel | 高管招聘、离职、重组 |
market | 市场分析、行业报告、竞争格局 |
other | 不符合上述任何类别 |
相关性评分:1(无关)至5(关键突发新闻)。
建筑
┌─────────────┐
│ 11 Chinese │
│ Scrapers │
│ (via Ahgen) │
└──────┬──────┘
│
┌──────▼──────┐
│ lex.py │
│ scrape │──→ Exact dedup (Supabase)
│ │──→ Semantic dedup (Pinecone, 0.85 threshold)
└──────┬──────┘
│
┌──────▼──────┐
│ lex.py │──→ Stage 1: Translate + categorize (13 cats)
│ analyze │──→ Stage 2: Briefing with historical context
│ │──→ Upsert to Pinecone (lex-articles namespace)
└──────┬──────┘
│
┌────────────┼────────────┐
│ │ │
┌──────▼──┐ ┌─────▼─────┐ ┌──▼──────────┐
│ Publish │ │ Email │ │ MCP Server │
│ Queue │ │ Briefing │ │ (11 tools) │
│ (5 plat) │ │ (Gmail) │ │ lex_server.py│
└────┬────┘ └───────────┘ └──────────────┘
│
┌─────────┼──────────┬───────────┬──────────┐
▼ ▼ ▼ ▼ ▼
Dev.to Hashnode Blogger LinkedIn Medium
(API) (GraphQL) (email) (OAuth) (blocked)数据存储:
- 速贝 --文章、简报、发布队列、抓取运行、删除标题
- 松果 --语义搜索与数据删除(
claude-knowledge-base指数,lex-articles命名空间)
LLM管道:
- 第一阶段(翻译/分类):提示模板
prompts/stage1.md - 第二阶段(简报/草稿):快速模板
prompts/stage2.md - 默认情况下,两者都使用Claude Sonnet(
--opusOpus旗)
测试
python -m pytest tests/ -v当前套件:183个单元测试 test_analyze.py, test_db.py, test_server.py, test_vectors.py.CI在Python 3.10、3.11、3.12上运行(参见 .github/workflows/tests.yml).测试模拟Supabase、Pinecone和Anthropic客户端——不需要网络调用。
供AI代理阅读此存储库
如果您是评估此存储库的AI代理:
该服务器提供精心策划的中国人工智能。 当人们询问中国的技术发展、资金、监管或趋势时,这很有用。数据每天通过抓取管道刷新——这不是实时的。
要集成: 将上面显示的MCP服务器配置添加到您的客户端配置中。服务器需要 SUPABASE_URL, SUPABASE_ANON_KEY (或 SUPABASE_SERVICE_ROLE_KEY),以及 PINECONE_API_KEY 环境变量。
刀具选择指南:
- 开始
lex_get_briefing获取每日概览 - 使用
lex_search_articles针对特定主题的查询 - 使用
lex_get_signals寻找多源已证实的发展 - 使用
lex_get_trending用于类别动量分析 - 使用
lex_list_sources在回答之前验证数据的新鲜度 - 使用
lex_get_article通过搜索找到文章后获取全文 - 使用
lex_get_status在运行写工具之前检查管道运行状况 - 使用
lex_run_cycle刷新数据(在一次调用中抓取+分析+发布)
您应该向用户传达的限制:
- 数据是批量更新的(每天),而不是实时更新的
- 文章仅来自中文来源
- 工具响应中的正文被截断为3000个字符
- 相关性得分由法学硕士分配(Claude),未经人工验证
