关于 Infobroker
Infobroker 是面向研究和写作工作流的多来源 MCP 服务,将网络搜索、结构化知识、学术资料、档案和内容提取整合到统一工具界面。它提供跨来源核验、本地知识库和配套客户端技能,可将检索结果组织成带引用的研究成果。
主要功能
- 01统一搜索多个来源
- 02网页内容提取与段落匹配
- 03跨来源事实核验与置信度
- 04本地知识库缓存与管理
- 05引用生成及写作技能
适用场景
- 01核验有争议的说法并查看来源
- 02搜索论文并生成 BibTeX 引用
- 03提取网页中回答特定问题的段落
- 04复用本地缓存并撰写研究报告
MCP 相关
MCP 服务提供搜索、页面获取、引用、来源检查、核验和知识库管理等工具。内置客户端技能可组合这些工具,形成研究、核查和写作流程。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y infobrokerINFOBROKER_BRAVE_API_KEY密钥Brave Search API key for the keyed Brave providerINFOBROKER_EXA_API_KEY密钥Exa API key for the keyed Exa providerINFOBROKER_TAVILY_API_KEY密钥Tavily API key for the keyed Tavily providerINFOBROKER_YEP_API_KEY密钥Yep API key for the keyed Yep providerINFOBROKER_SEARXNG_URLBase URL of a self-hosted SearXNG instance本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Infobroker
一个服务。涵盖所有来源。交付有价值的研究成果。
Infobroker 是一个多提供方 MCP 服务,通过统一的工具界面整合网络搜索、结构化知识、学术资源、档案和内容提取 API。它内置 21 个零配置提供方,可直接搜索网络、查询事实、获取文章,无需任何配置。另有 5 个提供方可通过 API 密钥或自托管方式启用。内置的交叉印证引擎会交叉核对独立来源,区分公认事实与争议性说法。捆绑的客户端技能可将原始研究内容转化为精炼的文章。优先免费。始终保护隐私。
核心愿景
Infobroker 就像一个工具版的 Bothan Spynet——一个去中心化情报网络,可查询独立来源,并通过统一、中立的界面分发结果。按照情报周期的说法,你提供方向并获取分发结果;服务负责收集和处理。
快速开始
cd Infobroker && npm install && npm run start
将以下内容添加到 OpenCode 配置(~/.config/opencode/opencode.json)中:
{
"instructions": [
"<path-to-Infobroker>/instructions/search-preferences.md"
],
"skills": {
"paths": [
"<path-to-Infobroker>/skills",
"<path-to-opencode-config>/skills"
]
},
"mcp": {
"infobroker": {
"type": "local",
"command": ["node_modules/.bin/tsx", "src/index.ts"],
"cwd": "<path-to-Infobroker>",
"environment": {
"INFOBROKER_CONFIG": "<path-to-Infobroker>/config.json"
}
}
}
}
mcp 块负责启动服务;instructions 和 skills 块则用于激活捆绑的客户端技能。若没有这些配置,技能虽然包含在代码库中,但不会生效。
免费提供方开箱即用。需要 API 密钥的提供方——Brave、Exa、Tavily、Yep——可解锁更高吞吐量和专业搜索;自托管 SearXNG 则可实现完整的查询隐私保护:
export INFOBROKER_BRAVE_API_KEY="your-key"
export INFOBROKER_EXA_API_KEY="your-key"
要求:Node.js 24+。
MCP 服务
你的研究后端。七个工具、二十六个提供方,以及一个交叉印证引擎。完整的功能清单请参阅规范中的功能分类。
统一搜索
“搜索第二颗死星的位置。” “查找关于超空间旅行理论的学术论文。” “搜索最新的 astromech 规格,并展示能回答‘R2 单元是否早于克隆人战争’的段落。”
search_web 会向所有能够回答问题的提供方发送同一查询。可搜索 DuckDuckGo、Wikipedia、学术数据库、新闻、代码仓库等;也可以描述你的任务,由服务挑选最佳来源。传入查询数组,即可在一次调用中批量搜索多个内容。要求进行深度阅读时,服务会获取排名靠前的结果,再根据查询对每个页面中的段落进行排序,让你直接获得回答问题的具体文本,而不是链接。提供方失败时,会按可配置的链静默切换,确保你获得的是结果,而不是错误消息。其他搜索工具会将你限制在单一引擎;Infobroker 会为每个查询选择合适的提供方,并在某个提供方出错时继续运行。
内容提取
“获取雅文战役的文章并总结。” “获取那个介绍死星计划的页面文本。” “那份报告中哪里提到了反应堆核心?”
fetch_page 会将任意 URL 交给 Jina Reader,将其呈现为适合大模型处理的整洁 Markdown。如果 Jina 遭遇限流,它会回退到原生 HTTP。Wikipedia 和 Internet Archive 有专用渲染器,可针对特定来源进行内容提取。你可以向页面提问——将 question 传给 fetch_page,它会返回回答问题的段落,并逐一评分和排序,而不是返回整篇文档。内置的网页抓取工具会返回原始 HTML;Infobroker 则能从任何来源获取整洁易读的内容,可直接用于总结或分析。如果能确定页面的最后更新日期,抓取工具也会一并报告,方便你了解来源的时效性。
引文
“为关于超空间引擎力场动力学的论文提供 BibTeX 参考文献。” “引用最早描述超空间引擎力场方程的论文。”
get_citations 会搜索学术来源,并将每条参考文献以格式化的 BibTeX 条目返回,包含标题、作者、年份、发表刊物和 URL 等字段,可直接粘贴到参考文献列表中。
提供方情报
“研究死星弱点时应该使用哪个来源?” “显示所有可用来源及其配额状态。”
服务会了解自身的能力。search_web 会根据你的任务自动选择最佳后端,综合权衡能力、配额和延迟;当你要求隐私、速度或仅使用免费来源时,也会根据你的意图进行路由。inspect_providers 会列出所有已配置的来源,并可深入查看单个提供方的正常运行时间和错误历史记录。其他搜索 MCP 服务都无法让你全面了解每个后端的运行情况。
多来源验证
“核实帝国是否真的摧毁了奥德朗。” “找出关于是谁先开枪的共识——韩还是格里多。”
verify_claims 会运行多轮事实查证流程:首先在权限最高的提供方中进行广泛搜索,包括搜索引擎、百科全书和学术索引;然后提取主张、跨来源核对,并针对信息缺口进行后续搜索。各项任务会并行执行,一旦事实得到确认便提前停止。得到独立来源交叉印证的主张会获得较高置信度,评分会考虑各来源的权威性;每个来源都会与其支持的主张关联。系统会列出所有观点,揭示相互矛盾之处。对于信息缺口,系统会发起优化后的查询,并扩展到其余提供方。它还会记住已有信息:在查询网络之前,知识库中的既有发现也会作为佐证来源参与验证。你会得到一份结构化报告,列出已确认、有争议和未经核实的发现,并附上来源溯源信息、各来源的主张和置信度评分。其他搜索工具只会返回链接列表;Infobroker 会查明事实,并告诉你它有多确定。
知识库
“搜索你之前找到的有关反叛联盟舰队的信息。” “摄取这篇文章,以便下次使用时已将其缓存。”
每次搜索、抓取和交叉验证都会缓存在本地知识库中。manage_kb 会先检查缓存,再访问外部提供商;只有当缓存结果不够新或相关性不足时,才会回退到网络。它的操作包括手动摄取新文本或 URL、报告缓存内容,以及移除内容。内容会按时间评分,并依照新鲜度计划过期,同时按来源去重。检索在你的机器上运行,使用可配置的进程内嵌入模型——你的内容绝不会发送给第三方进行嵌入。除了缓存之外,manage_kb 还会归档你生成的报告:使用 source_type: "report" 进行摄取(并默认存入知识库),然后通过 manage_kb list 和 manage_kb get 查看,或者将报告写入本地目录。每份归档报告都会记录其来源的最近更新日期,因此你可以将其与实时来源进行比较,只刷新实际发生变化的内容。其他搜索 MCP 服务每个会话都会重新抓取相同的信息;Infobroker 则会记住并复用已找到的信息。
研究工作流
“研究死星的建造过程,然后起草一份摘要。” “核查这些关于达斯·维达身世的说法。”
Infobroker 不会止步于搜索结果。捆绑的客户端技能会将其工具串联成写作工作流,通过已解决的工作流模式和写作子技能处理每个请求,最终产出完整文档。所有内容都位于代码库中——无需外部路径或单独安装。完整工作流——六项技能、工作流模式和升级路径——详见 技能部分。其他搜索 MCP 服务提供搜索结果;Infobroker 则产出完整成果。
运行状态可见性
“显示服务健康状况。” “无需重启即可热重载我的配置。”
配额计数器会持久化到磁盘,并在重启后保留。速率限制按提供商分别执行,而非全局执行。配置可通过 reload_config 热重载——更换提供商、调整调用链或修改阈值,无需断开连接;也可以传入 patch,将变更合并到用户层并创建备份。search_web 还可用作 DuckDuckGo 查询自动补全。inspect_providers 会报告服务的构建健康状况和请求统计信息。你始终可以了解搜索服务正在执行的操作,以及剩余容量。
技能
MCP 服务是产品的一半,随附的技能则是另一半。仓库中包含 6 个客户端技能——无需外部依赖,也无需单独安装——它们能将原始研究转化为完整成果。
编排器技能(infobroker)以分类关卡开场,将你的请求映射到相应的工作流形态:研究并撰写、事实核查、深入研究、竞品评估、文献综述、监控、红队测试、审查或关卡分析。每种形态都会将相同的基本操作——从知识库中召回、搜索、提取、验证、撰写和引用——组合成专属流程,并以可通过 grep 搜索的完成标记结束,方便你确认结果。4 个写作子技能负责执行写作阶段:summarization 在撰写前提炼研究结果,technical-writing 起草报告和文档,proofreading 润色语言,translation 生成多语言内容。
关卡分析是一种升级处理形态。当问题事关重大或会影响决策时,分类关卡会将请求路由到 analysis-loop 技能——这是一套严谨的流程,包含按置信度评分的发现、来源可靠性分级,以及根据适用性选用并说明理由的结构化分析技术——而非较轻量的研究并撰写流程。它使用相同的基本操作和 Infobroker 工具,但运行独立的关卡工作流,让你无需离开流水线,就能获得严谨的分析。
一个指令文件 search-preferences.md 会将你的客户端引导至这些工具:优先使用知识库,仅在缓存内容不足时才使用外部提供商。只需将该文件和技能目录接入 OpenCode 配置一次——快速入门部分提供了准确的配置片段——之后每个研究请求都会自动遵循这条流水线。
你可以在 skills/ 中编写自己的技能,添加自定义工作流形态。流水线图位于 references/pipeline-map.md,工作流形态定义位于 references/workflows.md。其他搜索 MCP 服务会返回链接;Infobroker 则提供能将链接转化为有据可查答案的写作工具。
提供商
共有 26 个提供商,其中 21 个无需任何配置即可使用。
| 提供商 | 层级 | 类型 | 是否需要密钥 |
|---|---|---|---|
| DuckDuckGo | 内置 | 网页搜索 | 否 |
| Jina Reader | 免费 HTTP | 内容提取 | 否 |
| Wikipedia | 免费 HTTP | 百科全书 | 否 |
| Wiktionary | 免费 HTTP | 词典 | 否 |
| Wikidata | 免费 HTTP | 结构化事实 | 否 |
| OpenStreetMap | 免费 HTTP | 地理编码 | 否 |
| Internet Archive | 免费 HTTP | 历史资料 | 否 |
| arXiv | 免费 HTTP | 学术 | 否 |
| Semantic Scholar | 免费 HTTP | 学术 | 可选 |
| Stack Exchange | 免费 HTTP | 编程问答 | 可选 |
| GitHub | 免费 HTTP | 代码搜索 | 可选 |
| CORE | 免费 HTTP | 开放获取 | 可选 |
| OpenAlex | 免费 HTTP | 学术 | 否 |
| Europe PMC | 免费 HTTP | 学术 | 否 |
| Hacker News | 免费 HTTP | 新闻 | 否 |
| GDELT | 免费 HTTP | 新闻 | 否 |
| SEC EDGAR | 免费 HTTP | 金融申报文件 | 否 |
| World Bank | 免费 HTTP | 经济数据 | 否 |
| Marginalia | 内置 | 小众网络 | 否 |
| Mojeek | 内置 | 独立索引 | 否 |
| Wiby | 内置 | 小众网络 | 否 |
| Brave Search | 需密钥的 HTTP | 网页、新闻 | 是 |
| Exa | 需密钥的 HTTP | 语义搜索 | 是 |
| Tavily | 需密钥的 HTTP | 信息综合 | 是 |
| Yep | 需密钥的 HTTP | 网页、语义搜索 | 是 |
| SearXNG | 自托管 | 完全隐私保护 | 是(自有) |
内置和免费 HTTP 提供商开箱即用。需密钥的提供商在配置 API 密钥后即可启用。自托管提供商则指向由你自行运行的服务:
export INFOBROKER_BRAVE_API_KEY="BSA-..."
export INFOBROKER_SEARXNG_URL="http://localhost:8080"
然后在该提供商的 config.json 中设置 "enabled": true。
需密钥的提供商还支持通过 INFOBROKER_<NAME>_API_KEYS 提供按顺序排列的凭证池(以逗号分隔)。如果某个密钥遭拒或受到速率限制,Infobroker 会轮换到下一个密钥;inspect_providers 会报告每个密钥的可用状态,但绝不会暴露密钥内容。
SearXNG 是随附的唯一自托管提供商,而且完全可选。服务端的任何部分都不依赖它,也不会为它捆绑或安装任何内容——SearXNG 作为由你运行的容器运行,而 Infobroker 则像查询其他后端一样查询其 JSON 端点。保持禁用状态(默认设置)不会让你失去任何功能:隐私关键链仍可通过 DuckDuckGo 和 Mojeek 提供服务。只有在需要完全保护查询隐私时才启用它;这样一来,只有你自己的 SearXNG 实例能看到你的查询。
配置
有四个环境变量可用于调整部署。INFOBROKER_CONFIG 指向其他配置文件(默认为 ./config.json),INFOBROKER_CONFIG_LOCAL 指向用户配置层(默认为 config.local.json),INFOBROKER_<NAME>_API_KEY 用于提供需要密钥的提供方凭据,INFOBROKER_<NAME>_URL 指向可自托管的提供方。
仓库随附的 config.json 保存默认值:启用哪些提供方、它们在回退链中的优先级、速率限制、交叉验证参数,以及任务到提供方的调度表。配置支持通过 reload_config 热重载——编辑文件并调用该工具,或传入 patch 以编程方式合并配置;更改无需重启即可生效。
你自己的覆盖设置保存在单独的用户配置层中——项目目录下的 config.local.json(或通过 INFOBROKER_CONFIG_LOCAL 设置的路径)。此文件已加入 git 忽略列表,因此从仓库拉取更新不会覆盖你的设置。用户配置层中的值优先于随附的默认值;未设置的值则回退到 config.json。
config.json 带有架构标记(config_version)。如果你的用户配置层采用旧版架构,或包含当前架构不再识别的键,服务会在启动时以及每次 reload_config 响应中报告差异,但不会更改你的文件。调用 reload_config 并将 migrate 设为 true,即可按需应用已注册的迁移:服务会先将你的配置层复制到带时间戳的 *.bak-* 文件,再以原子方式更新,并保留所有无法识别的内容。
知识库随附为空。检索使用可配置的进程内嵌入模型,由 kb.embedding_model 选择。默认情况下,存储会写入用户专属路径(~/.local/share/infobroker/knowledge-base),位于仓库之外,因此你研究和缓存的内容会留在本机,不会被提交。每个部署实例都会积累自己的存储。kb.store_backend 可选择 sqlite(默认)或仅提供一个发布周期的旧版 json 后端;打开旧版 vector-store.json 存储时,会自动迁移并将原文件保留为 vector-store.json.migrated-<timestamp>。只有在从未启用加密时,才能回退到 JSON 后端(启用加密会删除明文迁移存档)。
知识库加密
研究报告和缓存页面可能包含敏感信息,而知识库会将它们存储在你主目录下的 SQLite 数据库中(以及 -wal/-shm 辅助文件)。添加 kb.encryption 配置块并提供密钥,即可启用可选的静态加密:
{
"kb": {
"encryption": { "enabled": true, "key_file": "~/.config/infobroker/kb.key" }
}
}
在各种 MCP 客户端和操作系统上,密钥文件(明文,权限为 0600)是最可靠的密钥来源;也可以使用 INFOBROKER_KB_KEY(32 字节密钥)或 INFOBROKER_KB_PASSPHRASE(口令)。使用 openssl rand -base64 32 生成密钥。加密可以保护存储库和保存到磁盘的报告,防止获取文件但没有密钥的人读取数据,例如设备失窃、备份或云同步泄露,以及其他本地账户。这无法防范同一台设备上的恶意 MCP 客户端或恶意软件;全磁盘加密可以防范此类情况。
两条规则可确保安全。首先,加密由你选择启用:如果密钥缺失或错误,知识库会锁定并报告错误,而不会触碰你的数据。因此,请备份密钥(按设计,忘记密钥或口令意味着存储库无法恢复)。其次,服务绝不会写入不完整文件:每次保存都是原子操作,且不会覆盖无法识别或更新版本的存储格式。
manage_kb 工具的 encryption 操作是日常管理加密的入口,并且绝不会回显秘密信息——generate_key 和 backup 会返回文件路径,rekey 则会读取密钥文件,而不是原始密钥。
启用时,先生成密钥并备份,然后添加 kb.encryption 配置块并重新加载;存储库会立即就地加密。
停用时,移除配置块并重新加载;存储库会立即解密为明文(转换期间请保留密钥,以便服务读取并解密存储库)。恢复锁定的存储库时,可使用 status 查看状态,使用 verify 在确认候选密钥正确后再提交,使用 backup 恢复密钥文件副本,并使用 rekey 更换密钥而不丢失内容。更换密钥后,将 kb.encryption.key_file 指向新密钥,重新加载,然后再次运行 verify,确认新密钥可以打开存储库。
infobroker_manage_kb action=encryption operation=generate_key key_file=~/.local/share/infobroker/keys/kb.key
infobroker_manage_kb action=encryption operation=backup key_file=~/.local/share/infobroker/keys/kb.key.bak
infobroker_reload_config
工具提供的密钥操作(generate_key、backup、rekey 的目标密钥)仅限于密钥目录:如果已配置,则为 kb.keys_dir;否则为知识库存储路径的同级 keys 目录(默认为 ~/.local/share/infobroker/keys)。目录之外的路径会被拒绝。kb.encryption.key_file 配置值由操作员管理,不受此限制。
启用加密前,请先将 kb.encryption 配置块添加到 config.local.json,然后重新加载;停用前,请先移除该配置块,然后重新加载。当存储库锁定时,仍可使用 status、verify 和 rekey,无需先解锁即可恢复。
内容策略
Infobroker 会读取开放网络并缓存检索到的内容,因此在存储前(在最严格的模式下,还会在返回前)会根据可配置的策略评估检索内容。该策略会标记符合启发式类别的内容——提示词注入指令、凭证钓鱼、恶意软件/漏洞利用材料和成人内容——并可在配置后调用外部评估服务。默认启用 flag 模式:出于正当研究目的,仍会向你返回被标记的内容,但绝不会将其写入知识库,而且每次标记都会记录在审计日志中。
{
"content_policy": {
"mode": "flag",
"threshold": 0.2,
"patterns": { "prompt_injection": ["ignore previous instructions"] }
}
}
模式:off 禁用评估;flag(默认)返回但绝不存储被标记的内容;block 则拒绝向调用方提供被标记的内容。threshold 用于调整敏感度(0–1,默认 0.2——匹配一项即会标记)。patterns 可按类别名称扩展或覆盖内置类别。external_url_env 指定一个环境变量,其中保存外部评估器的 URL;external_api_key_env 可选地指定一个环境变量,其中保存该服务的 bearer 密钥;如果无法访问外部服务,则使用内置评估。
与安全相关的事件——拒绝网络目标、策略标记、配置重新加载、加密状态转换、密钥操作和配额耗尽——会追加记录到仅所有者可访问的审计日志,路径为 output.audit_log_path(默认为 ~/.local/share/infobroker/audit.log)。
使用你自己的端点
任何 HTTP 搜索端点都可以成为 Infobroker 提供方,无需修改源码树。将其声明为 config.local.json 中的 generic_http 提供方,然后在分发链中引用它:
{
"providers": {
"my_search": {
"tier": "generic_http",
"capabilities": ["web_search"],
"enabled": true,
"priority": 20,
"endpoint": "https://api.example.com/search",
"query_param": "q",
"results_path": "data.items",
"field_map": { "title": "name", "url": "link", "snippet": "summary" }
}
},
"dispatch": { "general_web": ["my_search", "duckduckgo"] }
}
服务会通过 GET 请求访问 endpoint?query_param=<query>,遍历 results_path(以点分隔的路径,用于定位响应 JSON 中的内容),并使用 field_map 将每个结果映射为通用结构。将该 slug 添加到 config.local.json 覆盖配置中,然后调用 reload_config 即可立即使用。
每个提供方的状态与来源信息
config.json 中有两个可选键可用于调整每个提供方的行为:
degraded_latency_ms— 如果某提供方的近期平均延迟超过此毫秒数,即使仍可访问,inspect_providers健康检查操作也会将其报告为degraded。如果提供方未单独设置此项,则回退到全局配置output.degraded_latency_ms。resells— 在聚合器/转售商后端(例如展示其他发布方页面的搜索引擎,如 DuckDuckGo、Brave 或 SearXNG)上设为true。如果底层 API 提供了结果的original_source,服务就会报告该来源(例如 Brave 的profile名称);对于 Wikipedia、arXiv 等第一方来源,由于页面即为原始来源,该字段留空。
对冲式回退
search_web 和 fetch_page 会通过对冲机制进行回退,而不是等待较慢提供方耗尽全部超时时间:主提供方(首选提供方)会单独运行一段根据延迟计算得出的时间窗口,之后其余提供方并行竞速,由最先返回结果的提供方胜出。常规情况下只会调用一个提供方;只有主提供方较慢或失败时才会触发对冲。fetch_page 还会在较短的宽限窗口内优先使用主渲染器,以免稍慢的 jina 被质量较低的 native_fetch 取代。如果渲染器返回的内容是反机器人验证页面(CAPTCHA 或验证过渡页,而非目标页面),则视为渲染失败,因此 fetch_page 会转而使用下一个渲染器,而不是将验证页面作为内容提供。
使用 output.hedge_enabled、hedge_min_delay_ms、hedge_max_delay_ms 和 hedge_grace_ms 调整时间窗口;将 hedge_enabled 设为 false 可使用顺序链。对于返回限速或反机器人响应的提供方,系统会将其置于单独的冷却期(output.rate_limit_cooldown_ms),避免请求突发时反复向其发送请求;如果非 general_web 链耗尽,服务会在失败前重试 general_web 链。
对比
| 工具名称 | 你熟悉的方式 | Infobroker 的不同之处 |
|---|---|---|
内置的 websearch / webfetch | 使用一个搜索引擎、一种抓取模式,无需配置,也无法查看使用了哪个后端 | 提供 21 个零配置服务商,并统一工具接口。可为每项任务选择合适的信息源。失败时自动切换。可查看每个服务商的状态和配额。 |
| 直接调用 API | 手动发送 HTTP 请求,为每个服务商单独配置身份验证和解析响应;没有故障转移,也不跟踪配额 | 一个接口适用于所有服务商。只需配置一次 API 密钥。结果会规范化为统一格式。自动跟踪速率限制和配额。 |
| 专用搜索 API | 按查询付费、受供应商锁定、路由不透明 | 优先采用免费方案。DuckDuckGo、Wikipedia 和另外 19 个服务商无需配置即可使用。可升级使用 Brave、Exa、Tavily 和 Yep。可自托管 SearXNG,全面保护隐私。 |
| 其他搜索 MCP 服务 | 专注于单一服务商,没有故障转移、交叉验证或写作流程 | 支持多个服务商并自动故障转移。交叉验证引擎会交叉比对独立来源。内置写作技能可将研究成果转化为完整文档。 |
| 内置搜索功能的 AI | 由模型选择搜索引擎,提供过时缓存,无法复现 | 由你控制服务商链。查询可复现。故障转移行为清晰可见。交叉验证引擎会通过独立来源核实事实。 |
其他所有搜索 MCP 服务都让你挑选一个服务商并信任它。 Infobroker 则为你提供一支服务商队伍,并为每项任务挑选合适的服务商。 当某个服务商发生故障时,下一个服务商会无缝接替。 当某项主张至关重要时,交叉验证引擎会找出共识、 矛盾和信息缺口。内置技能打通从原始 研究到成稿的整个流程。一个服务。所有信息源。让研究 落到实处。
最后更新:2026-10-22。
参与贡献
- Node.js 24+。
node --version。可从 nodejs.org 获取。 npm install && npm run typecheck- 在
skills/中打包你自己的技能,以扩展研究流程。 - 验证 README 结构:
npm run validate-readme - 版本管理: CalVer(
YYYY.MM.DD)。npm run version-bump会将 当天的日期写入所有版本引用。提交前钩子会验证一致性。npm run push会进行检查、打标签并推送。 - MCP 协议:modelcontextprotocol.io
- 服务商:DuckDuckGo · Jina Reader · Wikipedia API
规范仓库:git.gay/flukeatzerocool/Infobroker。此 GitHub 仓库是只读镜像。
许可证
MIT。可自由使用、修改和再分发。内置客户端技能和 指令文件也采用相同许可证,因此整个研究流程 ——服务、技能和文档——均可自由用于商业和 开源项目。第三方服务商仍受其自身条款和 API 密钥要求约束。
规范
该服务基于单一源规范 infobroker.md
(v2026.10.22)构建,该规范定义了每项要求及其验证门槛。
每项要求都对应一个实现文件,而 npm run check
会核对代码、规范和此 README,确保文档所述内容就是
服务实际提供的功能。路由检查会根据实时架构解析所有引用的工具
和操作,并要求每个已注册工具至少被引用一次。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。