关于 ResearchZosho
ResearchZosho 是面向需要研究网络资料、学术论文或个人文档的开源研究助手。它生成逐条附来源并核对引用的报告,也会保存经审核的发现供后续研究使用。
主要功能
- 01检索网络、论文和 PDF
- 02生成带引用及原文摘录的报告
- 03对照来源核查引用
- 04审核并跟踪主张状态
- 05保存发现以便后续研究
适用场景
- 01比较学术论文中的研究结论
- 02基于 PDF 文件夹研究主题
- 03来源更新后复查已接受的主张
MCP 相关
Claude Code、Codex 和 Gemini CLI 等 MCP 主机可直接查询资料库。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
ResearchZosho
研究蔵書,研究藏书。 为每个人打造的研究工具。
ResearchZosho 是一款开源深度研究助手。向它提出问题,它就会搜索网络和学术论文,或者只搜索你自己的 PDF,并撰写一份报告,其中的每项论断都指向一个来源。它可以在你自己的电脑上运行,使用本地大模型(llama.cpp、Ollama、LM Studio)或托管 API。
三个人,同一个难题。
兽医提到一种治疗狗狗癌症的新药。三天后要复诊。你想了解研究怎么说:疗效如何、适用于哪些犬种,以及有哪些副作用。答案散落在二十篇论文、一份监管机构评审,以及许多看起来像医疗建议的网页中。
你正在追溯家族史。你的曾祖父出现在 1911 年大阪的人口普查中。到了 1921 年,家人所知的所有记录中都找不到他了。某处可能有船舶乘客名单、某个县的移民名单,以及一则旧报纸上的启事。其中大多数资料是日文,而且都不在搜索结果的第一页。
你正在撰写论文中的一章,主题是苏阿战争对 20 世纪 90 年代英国科幻小说的影响。你保存了四十篇论文和文章,涉及三种语言。你只有一周时间,弄清楚它们有哪些共识、分歧在哪里,以及还有哪些问题无人研究。
这些内容不可能在一个晚上读完。这正是 ResearchZosho 要做的事。你把问题交给它。它会阅读资料,并为每条事实记录其来源。完成后,一份报告就已备好:它发现了什么、来源之间有哪些分歧,以及哪些问题仍无法解决。其中每项论断都指向一个可供你核查的来源。它会保留研究成果,因此下次研究同一主题时不必从零开始。如果你用过的论文有了新版本,或者你自己的两项发现互相矛盾,它会告诉你。
只有经过你审核的内容才算有效。
它会在你自己的电脑上运行,使用你选择的模型,可以是本地模型,也可以是托管模型。它免费且开源,适用于任何需要可靠研究成果的人。
这就是为每个人打造的研究工具。
→ LIBRARIAN_HOWTOUSE.md:日常使用指南 → LIBRARY_PROTOCOL.md:面向程序员,介绍程序如何与它交互 → FAMILY_HISTORY.md:研究家族史,从亲属的笔记到档案记录和家谱 → YOUTUBE.md:研究 YouTube 上的内容——频道、视频中说了什么以及何时说的、与你熟悉的频道相似的频道——无需 API 密钥
→ BEDROCK.md:使用你自己的 AWS 账户(Amazon Bedrock)中的模型,并使用你自己的 AWS 登录信息
→ MODELS.md:根据测量结果选择运行的模型:本地模型按显卡的 VRAM 优先排序,托管模型则按正确率、运行耗时和成本排序
你可以用它做什么
向它提出问题。 它会判断需要回答什么。它会并行阅读:网络内容,以及通过 Crossref 和 OpenAlex 按 DOI 检索的学术文献;如果问题需要,还会查阅网络档案、Internet Archive、数字化历史报纸、日本国立国会图书馆的数字化日文书籍、源代码档案,以及 YouTube 以外的视频网站。网页若已失效,它会读取其存档副本。它会分章节撰写答案,并持续工作,直到任务完成,或者达到你设定的时限。它也能阅读其他语言的资料,尤其是在问题指向非英语语言时。报告会说明资料所用的语言。 核查答案。 每份研究报告末尾都有一张表,列出所用事实。每条事实都附有来源和引文。随后会列出编号的唯一来源清单。报告归档前,会逐句核对每条引用来源的句子。发现问题时会明确指出。如果无法读取某个来源(例如遇到付费墙、需要登录或其他问题),就会列出该来源,供你自行提供文本。
杜绝不可靠来源。 只有一个来源支持的主张会暂时保留为草稿,直到有第二个独立来源为其背书。已撤稿的论文会使引用它的主张受到质疑。你拉黑的网站不会被使用。你信任的网站会被视为一手来源。
决定哪些主张成立。 每条主张最初都是草稿。你可以接受、质疑或撤下它。资料库会在下次使用你接受的主张。
与它对话。 researchzosho chat 是你与图书管理员的对话。你可以询问书架上有哪些内容、提出后续问题、说“查明……”来启动研究,询问“进展如何?”,或查看收件箱。每条回复都会引用一条可打开的查找记录。无法佐证的数字会标记为猜测。同一段对话也会显示在 /chat 页面上。
询问你已经知道的内容。 researchzosho ask "…" 会展示资料库中与某个问题有关的内容:每条主张、其来源,以及它是已接受还是仍有争议。
带上你自己的文档。 可以是 PDF、网页或整个文件夹。指定一个文件夹,其中的每份文档都会作为一个集合归档。然后,你可以提出只检索这些文档的问题,也可以提出先从这些文档着手、再到网上搜寻更多信息的问题。
获取书籍推荐。 询问某个主题适合先读哪本书、某本书讲了什么,或接下来该读什么。推荐来自图书馆目录(Open Library、日本国立国会图书馆等),而非模型的记忆,因此提到的每本书都真实存在,并附有其记录链接。它会跳出畅销书榜单,说明每本书的内容以及适合哪些读者。
使用你自己的书架。 将它指向你的 Calibre 书库,它便会了解你的阅读偏好:你关注的主题、反复阅读的作者、年代和语言。researchzosho myshelf like "<title>" 会根据书中内容推荐书架上与你指定书籍相似的书,而不是根据作者来推荐。每晚,它都会阅读你的书籍,为每本书制作一张卡片,只介绍书籍本身,不涉及任何关于你的信息。告诉它你喜欢或不喜欢哪些条目,之后的书单就会相应调整。
了解你拥有什么。 导入购买记录(Amazon 发给你的 zip 文件、订单确认邮件,或银行卡对账单),资料库就能告诉你已经拥有的物品。它每晚都会将这些记录与公开的产品安全信息源进行核对,可能与你有关的召回信息会出现在收件箱中。
研究购买选择。 询问该买什么,研究就只会查看你所在国家/地区的商店当前在售的商品,并提供价格、数据表、召回通知、可维修性以及用户评价。表格会根据商品是否符合你的需求来评估,而非按人气排序。对于二手、复古或绝版商品,它会查询 eBay,并为那些不允许任何程序读取的购物平台提供可直接使用的搜索链接。
询问如何做或制作某样东西。 可以是手工艺、爱好、运动、武术或一门手艺。答案会附上所需物品:每种材料和工具、用途、可替代品,以及购买渠道。对于运动或武术,会按所需顺序列出装备,以及学习途径。对于你想加入的社群(例如 SCA 或历史重演社团),会说明如何加入,以及社团对装备的要求。
播客和视频。 询问播客、主持人或某一集时,它会读取实际说过的内容,注明说话时间,并引用对应节目。关注某个节目后,新节目发布时会收到记录。询问视频时,它会搜索 YouTube 及相关网站,并引用对应时间点。 持续研究,每夜不辍。 每晚,它都会运行你声明为持续进行的搜索,继续探索此前未能回答的问题。它会依据来源重新核对几条已接受的论断,留意你引用的论文是否有新版本,并保留带日期的备份。每逢周日,它会给你两份清单:看起来重复的论断,以及你可以清理的文档。它绝不会替你合并、删除或做决定。
查看事物之间的联系。 当某条论断说某人曾住在某地,或某位作者写过一部作品时,知识库会保留这种联系。researchzosho map "Arthur Ellis" 会展示与某个名字相关的所有内容。服务会在浏览器中绘制关系图,让你积累的研究彼此关联起来。
在浏览器中打开。 服务提供一些基础页面:搜索、提问、查看带来源的论断、浏览主题、查看变更和运行状态、发送问题,以及将任何文稿下载为 Markdown 或 PDF。对于桌面编辑器,researchzosho vault 会生成一个文件夹,Obsidian、SoloMD 或 SilverBullet 均可导入。
供其他程序使用。 Claude Code、Codex、Gemini CLI 和任何其他 MCP 主机都可以直接向知识库提问。对于其他情况,简易的 HTTP 服务配有 Python 和 Java 客户端,功能齐全。
从家外访问。 researchzosho share 可立即让外部访问知识库,并通过加密中继保护连接(首先使用 Cloudflare quick tunnel;若要长期使用的地址,则使用 Tailscale Funnel),免费且无需在家中开放端口:任何持有链接的人都能看到登录页面,但只有受邀者才能进入;他们可以使用姓名和密码、通行密钥,或将一次性验证码作为第二步验证。通过一个链接邀请他人;对方打开链接时即可设置密码。
轻松登录。 无需粘贴令牌。只需创建一次账户,设置姓名和密码,即可从任何手机或电脑登录。在知识库所在的电脑上,浏览器无需登录。添加通行密钥后,即可通过指纹或面部识别登录;也可以将身份验证器应用生成的一次性验证码用作第二步验证。程序仍使用令牌。
开始使用
运行研究需要一个支持 OpenAI 聊天 API 的模型服务。可以使用本地模型(llama.cpp、Ollama、LM Studio),也可以使用需要密钥的托管 API(OpenAI、DeepSeek、Gemini、OpenRouter 等)。你还需要 Java 21 或更高版本,除非选择自带运行时的构建版本。若未安装 Java,安装程序会自动为你选择该版本。
运行研究还需要网页搜索后端,其重要性不亚于模型。你可以使用 Brave Search API 密钥(免费套餐),或使用 SearXNG(安装时会通过 Docker 启动)。如果两者都没有,内置备用搜索仅会搜索 Wikipedia 和学术文献。查询知识库已有内容无需模型。
git clone https://github.com/Wyrdsekai/researchzosho.git
cd researchzosho
bin/researchzosho setup
完成后,在浏览器中打开 http://127.0.0.1:4649/。
setup 会询问几个问题,每个问题都已预填答案:
- 知识库的安装位置
- 使用哪个模型,以及检查哪个模型
- 使用哪个网页搜索后端
- 按含义、关键词还是两者进行搜索
- 是否将其作为服务运行
- 连接哪些程序
然后,它会将你指定的文档收入库中,并回答一个关于该文档的问题。你可以随时再次运行它来修改一项设置。--yes 会采用所有默认值。
该版本可安装在 Linux、macOS 和 Windows 上。如果你已在使用 CodeZaiku,运行 codezaiku install researchzosho 即可获取该版本、进行校验并运行安装设置。
设置保存在 ~/.researchzosho/config 中,格式为 key = value,也可以通过环境变量设置。以下是你最可能需要修改的设置:
| 设置项 | 含义 |
|---|---|
RESEARCHZOSHO_DRIVE | 模型服务,例如 http://localhost:8080 或 https://api.openai.com/v1 |
RESEARCHZOSHO_MODEL | 要请求的模型名称 |
RESEARCHZOSHO_JUDGE_DRIVE / RESEARCHZOSHO_JUDGE_MODEL | 用于判断步骤(规划、评论者、撰写报告、检查引用)的第二个、更强大的模型,而本地模型负责阅读 |
RESEARCHZOSHO_EMBED | 嵌入服务(OpenAI 嵌入调用),让搜索既能按含义也能按词语进行;设为 off 则仅按词语搜索。researchzosho embed start 会使用 Docker 运行一个嵌入服务(Text Embeddings Inference,在相同模型上比 llama.cpp 快约 9 倍) |
RESEARCHZOSHO_LIBRARY | 资料库文件夹的位置(默认值为 ~/researchzosho-library) |
research.workers / research.pause / research.window | 研究任务如何共享模型:同时处理多少个问题、暂停开关,以及允许工作的时段。使用 researchzosho research … 设置;设置会立即生效 |
RESEARCHZOSHO_VISION_DRIVE / RESEARCHZOSHO_VISION_MODEL | 用于阅读图片(拍摄的页面、扫描的 PDF)的独立模型;默认情况下,阅读图片时由你自己的模型处理 |
RESEARCHZOSHO_RECORDS | record_search 会用于家谱模式下的研究任务和软件问题;always 表示用于每个任务,off 表示不用于任何任务 |
RESEARCHZOSHO_BRAVE_KEY / RESEARCHZOSHO_SEARXNG | 网页搜索后端:Brave Search API 密钥(优先使用)、SearXNG 地址(默认值为 http://localhost:8888;researchzosho search start 会使用 Docker 运行一个);两者都未设置时,使用内置备用搜索源 Wikipedia、Crossref 和 OpenAlex(RESEARCHZOSHO_FALLBACK_SEARCH=off 可将其关闭) |
RESEARCHZOSHO_API_KEY | 托管 API 的密钥;仅会发送到该服务 |
RESEARCHZOSHO_UPDATE | check(默认值):有新版时提示;auto:服务会在空闲时于清理工作后自动更新;off |
RESEARCHZOSHO_EXPLORER_PER_NIGHT / RESEARCHZOSHO_EXPLORER_TYPES | 清理工作每晚研究的开放问题数量(默认值为 2)及问题类型(默认值为 report、asked、person) |
RESEARCHZOSHO_PODCASTINDEX_KEY / RESEARCHZOSHO_PODCASTINDEX_SECRET | Podcast Index 密钥和密钥字符串(api.podcastindex.org/signup,免费):开放的播客目录和按人物搜索功能。没有它们也能查询 Apple 的目录。researchzosho podcast index download 会将该目录的每周文件(1.8 GB)保存在本机,以便按词语、类别和语言搜索及浏览节目,无需使用 API;RESEARCHZOSHO_PODCASTINDEX_LOCAL=on 会让清理工作刷新该文件。 |
RESEARCHZOSHO_YAHOO_JP_CLIENT_ID、RESEARCHZOSHO_RAKUTEN_APP_ID + RESEARCHZOSHO_RAKUTEN_ACCESS_KEY、RESEARCHZOSHO_ICECAT_USER、RESEARCHZOSHO_REDDIT_CLIENT_ID + RESEARCHZOSHO_REDDIT_CLIENT_SECRET | 购物问题可能会查询的商店和目录,全部免费:Yahoo!ショッピング 和 楽天市場 的商品及价格(日本)、Open Icecat 规格表,以及通过你自己的应用查看 Reddit 用户撰写的内容。未设置这些密钥时,任务会使用开放来源并指向商店。 |
calibre | 你的 Calibre 书库、其文件夹或其 metadata.db;只读,不会更改:researchzosho settings set calibre "~/Calibre Library"。你的书架、图书卡片和“类似这本书”推荐均来自此处 |
market | 你购物所在的国家,以两个字母表示;设置时会询问。购物任务会使用该国家的商店、货币和召回通知 |
ebay_client_id + ebay_client_secret | 你所在市场的 eBay 商品和拍卖信息,适用于二手、复古和绝版商品;可通过 eBay 开发者计划免费获取 |
cinii_appid | 日本各大学图书馆的藏书信息,以及每本书的馆藏数量;可从 NII 免费获取 |
dna_minutes / dna_share | 书库每晚为图书生成卡片的阅读时长(未设置时为 20 分钟,设为 0 则不阅读),以及是否每周生成一份不含任何个人信息的卡片包供你分享(未设置时为关闭) |
recalls | 设为 off 可停止每晚对照你所拥有的商品检查产品安全信息源 |
RESEARCHZOSHO_WHISPER | 另一台机器上的转录服务(兼容 OpenAI 格式的 /v1/audio/transcriptions);未设置时使用本地容器。RESEARCHZOSHO_TRANSCRIBE_EPISODES 和 RESEARCHZOSHO_TRANSCRIBE_MINUTES 限制单次运行的转录量(2 集、120 分钟);RESEARCHZOSHO_TRANSCRIBE_FOLLOWED_MINUTES 限制每晚转录已关注播客的时长(未设置时不限制)。researchzosho settings 可读取和更改所有设置。 |
RESEARCHZOSHO_TROVE_KEY / RESEARCHZOSHO_DIGITALNZ_KEY / RESEARCHZOSHO_EUROPEANA_KEY / RESEARCHZOSHO_DPLA_KEY | 需要密钥的档案库密钥:Trove(澳大利亚报纸)、DigitalNZ(提高 Papers Past 的访问速率)、Europeana 和 DPLA(文化遗产资料)。其他档案库无需密钥。 |
RESEARCHZOSHO_FETCH_PRIVATE | 设为 deny 可阻止其获取你自己网络上的地址 |
RESEARCHZOSHO_FETCH_MAX_BYTES | 下载文档的最大大小(默认值为 25 MB) |
RESEARCHZOSHO_STALL_MINUTES | 研究任务在多少分钟没有进展后会被标记为“自上次进展以来”,并由服务将任务等待位置写入日志(默认值为 15) |
RESEARCHZOSHO_FETCH_MIN_BYTES_PER_SECOND | 页面平均下载速度低于此值时将放弃下载(默认值为每秒 4,096 字节);如果页面持续以更快速度传输,则无论耗时多久都会读取完毕 |
作为服务
bin/researchzosho service install # Linux, macOS or Windows; a user service, no administrator rights
服务监听 127.0.0.1:4649。它会在 03:00 执行维护,并运行你发送的问题。service install --host 0.0.0.0 会向你自己的网络开放服务。默认情况下,页面是开放的:任何能够访问页面的人都可以阅读并发送问题。researchzosho web signin on 可启用访问控制。
通过 Claude Code、Codex 或 Gemini CLI 使用
claude mcp add --transport http librarian http://127.0.0.1:4649/rpc --header "Authorization: Bearer <token>"
codex mcp add librarian -- researchzosho mcp
npx -y @wyrdsekai/researchzosho-mcp # any client that runs npm packages; installs the release if needed
gemini mcp add -t http librarian http://127.0.0.1:4649/rpc -H "Authorization: Bearer <token>"
researchzosho reader token <did> 会生成令牌:程序使用令牌登录,用户则使用姓名和密码登录。之后,每个会话都可以使用知识库。
配合使用
无需购买任何东西。按以下顺序:
- 浏览器。 服务运行后,打开
http://127.0.0.1:4649/。搜索、提问、阅读附有来源的主张、让它解释内容、查看知识地图、发送问题、下载报告。无需安装任何东西。家里的其他人也可以通过这种方式使用知识库。 - Obsidian 或 SoloMD。 打开
researchzosho vault写入的文件夹。 codezaiku chat,通过本地模型免费与知识库对话。它会连接到服务。知识库中的内容会注入每一轮对话,/librarian会向它提问,/research会与它一起运行文件。- Claude Code、Codex 或 Gemini CLI,如果你有其中一个。
setup会连接它。之后每个会话都能使用知识库的工具。任何其他支持 MCP 的程序也可以用同样的方式连接。
程序有两种客户端。两者都遵循 LIBRARY_PROTOCOL.md。其中第 1 至 6 节是协议约定,并会在各版本之间保持兼容。
- Python(
sdk/python,无依赖项):先运行pip install researchzosho,然后使用Librarian("http://127.0.0.1:4649", token=…)。 - Java(
client/):使用org.researchzosho:client,然后使用LibrarianClient。
Wyrdsekai 家族
ResearchZosho 是 Wyrdsekai 的一部分。它的同系列项目是 CodeZaiku,这是一个用于编码和开发的框架,可运行于本地模型或托管 API:编码、审查、研究和受控运维。codezaiku install researchzosho 会将此知识库安装在 CodeZaiku 旁边。两者共用一个模型服务,因此一台机器上的同一个按需模型即可为两者提供服务。
许可证
Apache 2.0。请参阅 LICENSE。ResearchZosho 不包含模型。你需要自行提供模型服务,并单独接受其许可证。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。