关于 fojin — Buddhist Canon Tools
FoJin 佛津的 fojin-mcp 是一个只读 MCP 服务,可让 AI 助手检索佛教典籍并获取带 URN 引用的段落。它面向需要可核查佛典引用的研究者和开发者,所依托的语料库汇集了多个数据源。
主要功能
- 01八个只读工具
- 02语义检索佛典段落
- 03跨语种平行段落对照
- 04词典与知识图谱查询
- 05校验引文与原文是否一致
适用场景
- 01让 AI 助手基于佛典原文回答问题并附出处
- 02核对引文是否为原文逐字引用
- 03查询某段经文的历代注疏
MCP 相关
fojin-mcp 是 MCP 服务,向 MCP 客户端提供 search_corpus、read_passage、verify_quote 等只读工具,返回带稳定 URN 的段落。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://mcp.fojin.ai/mcpclaude mcp add --transport http app-fojin-fojin https://mcp.fojin.ai/mcp{"mcpServers":{"app-fojin-fojin":{"type":"http","url":"https://mcp.fojin.ai/mcp"}}}在 Cursor 中打开{"servers":{"app-fojin-fojin":{"type":"http","url":"https://mcp.fojin.ai/mcp"}}}在 VS Code 中打开{"mcpServers":{"app-fojin-fojin":{"type":"http","url":"https://mcp.fojin.ai/mcp"}}}{"mcpServers":{"app-fojin-fojin":{"serverUrl":"https://mcp.fojin.ai/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
8| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| lang | any | 否 | |
| limit | integer | 否 | |
| query | string | 是 |
详细介绍
FoJin 佛津
询问佛典,获取有引文、可核验的答案。
以全球最大的开放佛典汇编为依据的 AI 问答:涵盖 600 多个来源、30 多种语言,支持三语跨藏经检索,每个答案都链接回其来源段落。
用日常语言提问,FoJin 的助手 “XiaoJin” 就会根据佛典原文作答——基于 67 万多个嵌入段落进行检索增强生成,提供可选的交叉编码器重排序和根本经典召回、可点击的【《经典》卷 N】引文(点击即可打开准确的原文)、防幻觉保护,以及可并排查看汉文 / 巴利文 / 藏文跨藏经平行文本的引文抽屉。你还可以用 15 位历史佛教大师的口吻提问,每位大师的回答都限定在其所属传统的经典之中。
这些答案之所以可信,关键在于其背后的语料库。FoJin 汇集 612 个数据来源,打造出一个可搜索的平台:收录 10,500 多部文本,其中有 19,000 多卷完整内容,涵盖古典中文、巴利文、藏文和梵文;打造了首个由大模型驱动的三语跨藏经平行阅读平台(CBETA × SuttaCentral × 84000),并通过大模型核验段落级对齐;提供基于 Deck.GL 地理地图的 11 万多个实体知识图谱,以及收录 74.7 万条词条的 39 部词典。所有功能都旨在让答案有据可依,也让你在得到答案后能够深入探索。
FoJin 致力于打造开放、跨藏经、可核验的佛教知识基础设施——它不只是一个阅读网站,也是其他工具可以调用的语料库。每个段落都有稳定、可解析的跨藏经 URN(fojin:cbeta/T0001.1),而 fojin-mcp 服务让 AI 助手(Claude、ChatGPT 以及任何 MCP 客户端)直接根据 FoJin 的引文段落作答——服务托管于 mcp.fojin.ai,可匿名使用,无需密钥。任何模型也可以通过开放的 /api/verify/quote 端点核验自身的回答:提供一句话和一条引文,端点会分别回答这段引文是否真实以及引文是否正确。详见 fojin.app/agents。
在线演示 · API 文档 · 中文文档 · 讨论区 · Discord · 报告 Bug

为什么选择 FoJin?
佛教典籍散布在全球数百个数据库中——CBETA、SuttaCentral、BDRC、SAT、84000、GRETIL 等等。每个数据库都有自己的界面、语言和数据格式。当你有一个问题——“《心经》中的‘色即是空’是什么意思?”,“这段内容的巴利语版本和汉语版本有何不同?”——你花在寻找合适段落上的时间,往往比理解它还多。
FoJin 替你解答问题。 用日常语言提问;小金会从 612 个来源中检索相关段落,并给出带有可点击引文的答案,方便你核实。FoJin 的其他功能——全文阅读、跨藏对齐、知识图谱、39 部词典——都是为了让答案更有依据,并让你在得到答案后继续深入探索:
| 你的需求 | FoJin 的帮助方式 |
|---|---|
| 提出问题,获取有来源依据的答案 | AI 问答(“小金”)——基于 67 万多个段落的 RAG、重排、根本经文召回、可点击的【《经》卷 N】引文、跨藏引文抽屉、防幻觉保护 |
| 信任答案 | 可验证的答案——确定性引文白名单 + 逐字引用降级 + 单答案可信状态;在温度为 0 时,约 98% 的含引文答案可信可用 |
| 研究复杂的多步骤问题 | 研究助手(/research)——跨语料、词典和知识图谱规划,然后在同样的保护机制下综合生成带引文的答案 |
| 通过 AI 助手调用 FoJin | MCP 服务——托管于 mcp.fojin.ai(无需安装或密钥),也可使用 uvx fojin-mcp;提供 8 个只读、可通过 URN 寻址的工具,适用于 Claude / ChatGPT |
| 核实引文是否真实存在 | 开放式逐字核验(/api/verify/quote)——适用于任何句子,而不仅限于我们的内容:精确匹配 / 近似匹配 / 未找到,并提供字符级差异对比;若引文指向错误的卷,也会给出正确卷号 |
| 了解传统如何解读某段内容 | 注疏对齐(/api/commentary/passage)——查看历史注疏家对某段内容的评注,并标明卷号和行号 |
| 边听边读 | 朗读(/read-aloud)——逐句高亮并与音频同步,支持锁屏播放 |
| 以大师的口吻提问 | 大师人格模式——15 位历史大师,每位都使用限定于其所属传统的 RAG |
| 跨数据库查找经文 | 多维搜索,覆盖来自 612 个来源的 10,500 多部典籍 |
| 在线阅读全文 | 8,900 多部典籍,包含 19,000 多卷全文,采用 CBETA 风格排版 |
| 比较译文 | 平行阅读,支持 30 多种语言并排显示 |
| 比较不同佛教经典中的经文 | 三语跨藏平行阅读——包含 4,000 多组经大模型验证的片段对齐,覆盖汉语 / 巴利语 / 藏语,涉及《心经》、《维摩诘经》、《法华经》(法华 ↔ Toh 113,259 组)、八千颂般若经(小品般若 ↔ Toh 11,127 组)、《念处经》+ 完整的阿含 ↔ 尼柯耶语料(MN/DN/SN/AN)、《法句经》 |
| 查找佛教术语 | 39 部词典,共 74.7 万条(汉语 / 梵语 / 巴利语 / 藏语 / 英语) |
| 探索关系 | 知识图谱,包含 11 万多个实体和 27,900 多种关系(22,000 多条传承链) |
| 发现相似典籍 | 语义相似度,由 67 万多个嵌入向量驱动(pgvector + HNSW) |
| 探索佛教地理 | 知识图谱地图——启用地理信息的实体、寺院位置、Deck.GL 上的传承关系弧线 |
| 跟踪来源更新 | 动态资讯流——来自 612 个数据源的实时更新 |
| 以可视化方式探索历史 | 时间线与仪表盘——朝代图表、译经趋势、分类分析 |
| 保存和整理 | 用于个人研习的收藏集、书签和注释 |
| 在研究中引用 | 供学术使用的引文导出(BibTeX、RIS、APA) |
快速开始
git clone https://github.com/xr843/fojin.git
cd fojin
cp .env.example .env # edit POSTGRES_PASSWORD before starting
docker compose up -d # database migrations run automatically
API 文档位于 http://localhost:8000/docs
首次启动后,平台中已有数据库架构和来源元数据,但没有文本内容。要从公共数据源导入文本:
# Import CBETA catalog (auto-scans local xml-p5 directory or fetches from remote)
docker exec fojin-backend python scripts/import_catalog.py
# Import CBETA full text content (requires xml-p5 repository)
docker exec fojin-backend python scripts/import_content.py --all --xml-dir /data/xml-p5
# Generate embeddings for AI Q&A (supports incremental processing)
docker exec fojin-backend python -m scripts.archive.misc.generate_embeddings --source cbeta
# Import SuttaCentral Early Buddhist Texts
docker exec fojin-backend python scripts/archive/imports/import_suttacentral.py
# See all available importers (one-off importers live under archive/)
ls backend/scripts/archive/imports/
每个导入器都会直接从原始来源下载数据(CBETA、SuttaCentral 等)——本仓库不包含任何数据。
通过 AI 工具使用 FoJin(MCP)
FoJin 经过验证的跨藏经语料库可通过已发布的 fojin-mcp 服务,直接供 AI 助手(Claude Desktop、ChatGPT 或任何 MCP 客户端)调用——这样,助手就能根据 FoJin 中有出处的段落回答佛教问题,而不是产生幻觉。
将任何 MCP 客户端指向托管端点即可——无需安装,也无需获取密钥:
claude mcp add --transport http fojin https://mcp.fojin.ai/mcp
或者通过 stdio 在本地运行,并连接到你自己的实例:
uvx fojin-mcp # zero-install run
# or: pip install fojin-mcp && fojin-mcp
它通过公共 API 提供八个只读工具,每个工具都会返回包含稳定、可解析的跨藏经URN(fojin:cbeta/T0001.1)的段落:
| 工具 | 功能 |
|---|---|
search_corpus | 在汇总后的藏经中进行语义搜索 |
read_passage | 阅读指定文本/卷 |
get_parallels | 查询某段落的跨藏经平行文本(汉语 ↔ 巴利语 ↔ 藏语) |
lookup_dictionary | 在 39 部词典中查询术语 |
lookup_entity | 查询知识图谱中的实体事实 |
resolve_urn | 将 FoJin URN 解析为其来源位置 |
verify_quote | 逐字核验——这句话是否确实见于藏经,出处是否确如所述?分别回答“引文是否真实”和“引用是否正确”;如果文本接近但并不完全一致,还会提供字符级差异对比 |
commentaries | 查询历代注释者对某一段落的注释,并标明卷和行 |
Claude Desktop 配置和 ChatGPT 设置说明见 mcp-server/README.md。该服务是一个轻量级只读客户端:不保存凭据、不打包语料库,只调用 FoJin 的公共端点——默认目标为 https://fojin.app/api;可通过 FOJIN_API_BASE_URL 覆盖,以指向可自托管的实例。
功能特性
多维搜索
按标题、译者、目录编号或全文关键词搜索佛教藏经。由 Elasticsearch 提供支持,并使用 ICU 分词器支持多语言搜索。

全文阅读
在线阅读 8,900 多部佛教文本,包含 19,000 多卷的完整内容。采用 CBETA 风格的排版,并提供智能偈颂/散文检测、段落重排和可调字号。可按卷导航、滚动浏览内容,也可在相关文本之间跳转。
平行阅读(30 种语言)
并排比较不同译本——包括古典汉语、梵语、巴利语、藏语、英语、日语、韩语、犍陀罗语,以及另外 21 种语言。
辞典查询
32 部权威辞典,收录中文、巴利语、梵语、藏语和英语词条 748,000 余条:
中文佛教辞典(14 部)
- NTI Reader(佛学辞典)——161K 条词目,中文↔英语
- Suihan Lu(新集藏經音義隨函錄)——72K 条词目,唐代音义词汇表
- Fo Guang(佛光大辭典)——32K 条词目
- Ding Fubao(丁福保佛学大辞典)——31K 条词目
- Yiqiejing Yinyi(一切經音義,慧琳音義)——23K 条词目,佛经音义
- Faxiang Dictionary(法相辭典,朱芾煌)——15K 条词目,瑜伽行派术语
- Zhonghua Encyclopedia(中華佛教百科全書)——6K 条词目
- Common Buddhist Terms(佛學常見詞彙,陳義孝)——6K 条词目
- Agama Dictionary(阿含辭典,莊春江)——5K 条词目
- Fanfanyu(翻梵語)——4K 条词目,梵汉翻译词汇表
- Xu Yinyi(續一切經音義,希麟)——2K 条词目
- Yogācāra Glossary(唯識名詞白話新解)——2K 条词目
- Sanzang Fashu(三藏法數)——1K 条词目
- Buddhist Origins of Idioms(俗語佛源)——567 条词目
巴利语辞典(5 部)
- Digital Pali Dictionary(DPD)——89K 条词目,含语法、词源和例句
- NCPED(New Concise Pali-English Dictionary)——21K 条词目
- PTS PED(Pali Text Society)——16K 条词目
- Buddhadatta(巴利語辭典,達摩比丘中譯)——11K 条词目,巴利语→中文
- SuttaCentral Glossary——6K 条词目
梵语辞典(4 部)
- Apte(Practical Sanskrit-English Dictionary)——35K 条词目
- Monier-Williams(Sanskrit-English Dictionary)——32K 条词目
- Edgerton BHS(Buddhist Hybrid Sanskrit Dictionary)——18K 条词目
- Fanyi Mingyi Ji(翻譯名義集)——1K 条词目
藏语辞典(2 部)
- Rangjung Yeshe(Tibetan-English Dictionary)——74K 条词目
- Hopkins(Tibetan-Sanskrit-English Dictionary)——18K 条词目
多语种参考辞典(4 部)
- Soothill-Hodous(Chinese Buddhist Terms,中文↔英语)——17K 条词目
- Mahāvyutpatti(翻譯名義大集,梵语↔藏语↔中文)——9K 条词目
- Nanshan Vinaya(南山律学辞典)——3K 条词目
- Pentaglot(五體清文鑑,满语-蒙古语-藏语-中文-梵语)——1K 条词目
专业辞典(3 部)
- Abhidharma Dictionary(阿毗達磨辭典)——1K 条词目
- Tiantai Dictionary(天台教學辭典)——1K 条词目
- DDB(Digital Dictionary of Buddhism)——中日韩佛教术语
知识图谱
包含 110,000 多个实体(寺院、人物、典籍、宗派、概念)和 28,000 多条关系,其中包括 DILA Authority Database 的 22,000 多条师徒传承链,并以交互式力导向图呈现。点击任意节点即可探索关联。
三语跨部平行阅读
**首个由大模型驱动的佛典跨部平行阅读系统。**其他平台都不具备此功能:CBETA(汉文)、SuttaCentral(巴利语)和 84000(藏语)各自使用不同语言,互不相通。FoJin 通过经大模型验证的分块级对齐将它们连接起来。
当前覆盖范围(11 组对应定义,4,000 多处分块级对齐):
| 经文 / 语料 | 源文本 | 目标文本 | 对应数 | 类型 |
|---|---|---|---|---|
| 《妙法蓮華經》Lotus Sutra(2026-06-08) | T0262 罗什(中文) | Toh 113 Kangyur(藏语) | 259 | 汉 ↔ 藏 |
| 《小品般若波羅蜜經》8,000-verse Prajñāpāramitā(2026-06-09) | T0227 罗什(中文) | Toh 11 Aṣṭasāhasrikā(藏语) | 127 | 汉 ↔ 藏 |
| 《維摩詰所說經》Vimalakīrti | T0475 罗什(中文) | Toh 176(藏语) | 20 | 汉 ↔ 藏 |
| 《般若波羅蜜多心經》Heart Sutra | T0252(中文) | Toh 21 Kangyur(藏语) | 6 | 汉 ↔ 藏 |
| Mahāsatipaṭṭhāna Sutta 念处经 | MN 10(巴利语) | T0026 中阿含(中文) | 50 | 巴 ↔ 汉 |
| Dhammacakkappavattana 转法轮经 | SN 56.11(巴利语) | T0099 杂阿含(中文) | 17 | 巴 ↔ 汉 |
| Dhammapada 法句经 | T0210(中文) | SC 26 vaggas(巴利语) | 49 | 汉 ↔ 巴 |
| Majjhima Nikāya ↔ 中阿含 | 全部 MN 经文(巴利语) | T0026(中文) | ~1,800 | 巴 ↔ 汉 |
| Dīgha Nikāya ↔ 长阿含 | 全部 DN 经文(巴利语) | T0001(中文) | ~700 | 巴 ↔ 汉 |
| Saṃyutta Nikāya 56 ↔ 杂阿含 | SN 56 经文(巴利语) | T0099(中文) | ~150 | 巴 ↔ 汉 |
| Aṅguttara Nikāya 4 ↔ 增一阿含 | AN 4 经文(巴利语) | T0125(中文) | ~400 | 巴 ↔ 汉 |
| 置信度分布:所有配对均 ≥ 0.75。在原始 MVP 样本上人工核验的精确率:100%。大乘汉藏批次:Lotus Sutra(2026-06-08),费用为 $1.70 / 259 对(接受率 8.6%);8,000-verse Prajñāpāramitā(2026-06-09),费用为 $3.64 / 127 对(接受率 3.4%,较低的原因是该经重复性的意合风格产生的 1:1 分块对应更少)。 |
使用方法:
-
在 AI 问答中 — 当小金引用已对齐的经文时,引用抽屉会显示标签页
[ 汉文 ] [ 巴利 (5) ] [ 藏文 (3) ]。点击标签页即可查看其他经典中的对应段落,并以正确的天城文 / 藏文显示。 -
在阅读器中 — 点击工具栏中的 🌐 「多语对读」(Multilingual Parallel)按钮。默认标签页 **「按经对读」**显示 SuttaCentral 权威的 Akanuma 风格表中的经级平行对读(3,293 对,涵盖全部 4 部 Āgama ↔ Nikāya),包含巴利语原文 + Sujato 英文预览,以及“阅读全文”链接。另一个标签页 **「按段对读」**保留了实验性的 embedding+LLM 分块级对齐(由流水线生成,已知存在噪声)。面板位于 AI 阅读面板左侧;两个面板可以同时打开,并可独立调整大小。
流水线(backend/scripts/build_alignments.py):
- 使用 pgvector 在目标文本的嵌入中召回 top-20 候选项
- LLM 验证(DeepSeek V3)针对每个候选项返回
{is_parallel, confidence, reason}JSON confidence ≥ 0.75的配对会写入alignment_pairs,并使用唯一的(text_a, text_b)分块元组确保重复运行的幂等性$50费用上限保护(MVP 实际费用:约 $0.15)- 多目标解析器支持目标内容分布在多行中的情况(例如,SC Dhammapada 的 26 个独立 vagga 文本)
当检索到的分块存在对齐关系时,RAG 层会自动将 parallel_chunks 纳入 LLM 上下文,因此答案可以自然地引用“巴利语版本说……”,而不会产生幻觉。
扩展对齐集——飞轮效应:除了上述批处理流水线之外,对齐飞轮(backend/app/services/alignment_flywheel.py)还会从已验证的配对向外扩展,挖掘新的候选平行内容——相邻分块往往也能对齐,因此这种方法既快速又精准,而盲目搜索最近邻则会淹没在同语言匹配中。候选项会提交人工审核(管理界面位于 /admin/alignment/review),只有获批后才会加入基准真值 alignment_pairs(method='flywheel-verified')。任何内容都不会自动提升——人工审核是精确率的把关环节——每个已验证的对齐都会提升下一轮挖掘的效果。build_alignments.py 中的基于边际差值的候选路由器会根据比率边际差值,将召回的候选项分流到自动接受 / LLM 验证 / 自动拒绝区间,从而降低 LLM 成本,同时默认关闭自动接受,以确保精确率保证不受影响。
从分块到句子——深度拓展:已验证的分块配对可用于生成句子级对齐(backend/scripts/refine_sentence_alignments.py + services/sentence_align.py):纯 Python 的 bertalign 风格动态规划算法,基于 BGE-M3 余弦相似度,将每个已对齐段落细分为 1-1 / 1-2 / 2-1 句子配对;配对以稳定的字符偏移量为锚点,并存储于 sentence_alignments。这为精准的逐句对读和跨语言句子查找提供支持。目前已有两个使用入口:跨语言句子搜索(GET /api/search/parallel-sentences——使用中文查询,从约 896K 对的 MITRA 存储中获取已对齐的梵文 / 藏文句子),以及带版本号和许可标注的公共数据集导出(GET /exports/alignments.jsonl),可将对齐语料转化为可引用的研究成果。对齐质量由专用的评估工具链(黄金集 + 精确率 / 召回率 / 校准指标 + 回归门禁)把关,并与 RAG 评估并行运行;MITRA 跨经典平行内容则通过代理质量分数(mitra_e_score)门控后纳入 RAG 上下文。
AI 问答 — “XiaoJin”
这是 FoJin 的核心。 使用自然语言提问,XiaoJin 会通过 RAG(检索增强生成),基于权威佛教典籍作答。系统使用超过 670K 个嵌入向量,并通过 HNSW 索引实现快速语义搜索。答案有据可依,因为检索结合了向量相似度、关键词重排和根本经文召回(你询问的经文总会被纳入上下文),且每段引用内容在成为可点击的引文前,都会与检索到的来源进行核对。功能包括:
- 支持感知上下文的多轮对话
- 关键词重排 + 可选的 API 交叉编码器重排,提升答案质量
- 可点击的引文,格式为【《经名》第N卷】——点击后会打开侧边抽屉,显示上下文;如有对应内容,还会提供用于跨藏经对照的多语言标签页(见上文“三语”部分)
- GFM Markdown 表格——比较类答案(例如“中观与瑜伽行派”)会以规范表格呈现,而不是原始管道符语法
- 渐进式后续问题建议(概念 → 相关典籍 → 修行)
- 智能数据源推荐——用户询问如何查找数据库时,AI 会通过语义相似度,从 612 个数据源中自动推荐相关来源
- 元问题处理——检测自我介绍类问题(“你是谁”/“你能做什么”),并跳过 RAG,提供清晰的功能概览,而不是随机引用经文
- 防幻觉引文规则——系统提示词严格禁止在【…】中加入经名,除非检索到的上下文中确实出现了该来源,从而避免引文链接失效
- 阅读器内联分屏视图——AI 面板默认在文本旁打开,中间有可拖动的分隔条;两侧可独立滚动,可调整宽度并保存至 localStorage
- 阅读器页面上的 “询问 XiaoJin”按钮——选中文字即可提问
- 按 Tab 键可在输入框中的建议问题之间循环切换
- 支持 BYOK(自带密钥),可连接多个 LLM 提供商

可验证的答案 — 每一句都能点回原典
信任才是关键。每个答案在呈现给你之前,都会经过三道确定性检查:
- 引文白名单——除非确实检索到了对应来源,否则会移除或更正【《经名》卷N】形式的引文,确保引文链接绝不会指向 FoJin 未曾读取的内容。
- 引文核验——检查引号内的文字是否为检索到的段落中的逐字原文(繁简体统一处理);非逐字的“引文”会被降级为普通文字,不会冒充经文。
- 可信状态——每个答案都会标记为
verified/citation_corrected/quote_relaxed/no_sources,方便你了解答案有多少依据。
在温度为 0 的评测框架中,原始模型只有很小一部分时间能做到逐字忠实;但经过这些检查后,约 98% 的含引文答案值得信赖:FoJin 要么指向真实来源,要么如实保留不确定性,绝不伪造经文。指标(served_trustworthy_rate)在 backend/eval/faithfulness.py 中追踪,并作为回归测试门槛。
请准确理解这个指标的分母,因为我们更希望你了解实情,而非只留下深刻印象:它统计的是含有引文的答案。如果答案中没有【…】引文,就不算引用任何内容,因此无法验证,也不计入这 98%;这些检查只能为明确标注来源的主张背书。引文逐字准确率会单独报告(verbatim_quote_rate),这是有意为之:不能让系统通过减少引文来提高得分。
研究助手(研究助手)
对于单次搜索无法回答的多步骤问题——“空性在般若波罗蜜多、中观和瑜伽行派中分别如何阐释?请列举跨经典的平行内容并注明出处。”——研究助手会将问题规划为多个步骤,在语料库、词典和知识图谱中检索,然后综合出有依据的答案。综合过程使用与聊天相同的引用校验机制,因此 Agent 可以自由规划,但不能引用未检索到的内容。可通过 /research 使用(需要登录);API 地址为 POST /api/research/query。
法师模式(法师模式)
选择一位特定的佛教大师,即可获得以其教法风格撰写、以其宗派核心经典为依据的回答。现有 15 位历史大师:
| 大师 | 宗派 | 核心教义 |
|---|---|---|
| 龙树 Nāgārjuna | 印度·中观 | 八不中道、缘起性空、二谛中道、戏论寂灭 |
| 智顗 Zhiyi | 天台宗 | 一念三千、三谛圆融、五时八教、止观双修 |
| 慧能 Huineng | 禅宗 | 直指人心、见性成佛、无念无相无住 |
| 玄奘 Xuanzang | 法相唯识宗 | 八识、三性、五位百法、转识成智 |
| 法藏 Fazang | 华严宗 | 法界缘起、四法界、十玄门、六相圆融 |
| 鸠摩罗什 Kumarajiva | 三论宗/中观 | 八不中道、缘起性空、不二法门 |
| 印光 Yinguang | 净土宗 | 信愿行、持名念佛、敦伦尽分 |
| 蕅益 Ouyi | 天台/净土·跨宗派 | 教宗天台行归净土、六信、性相融会 |
| 虚云 Xuyun | 禅宗·五宗兼嗣 | 参话头、起疑情、老实修行 |
| 米拉日巴 Milarepa | 藏传·噶举派 | 雪山闭关瑜伽士、那洛六法、以道歌说法 |
| 阿姜查 Ajahn Chah | 南传·泰国森林禅林派 | 正念、放下、朴素生活化教学 |
| 宗喀巴 Tsongkhapa | 藏传·格鲁派 | 菩提道次第、三主要道、应成中观 |
| 阿底峡 Atiśa Dīpaṃkara | 藏传·噶当派(印藏桥梁) | 菩提道灯论、三士道、七因果 |
| 觉音 Buddhaghosa | 南传·上座部论师 | 清净道论、戒定慧、七清净十六观智 |
| 马哈希 Mahasi Sayadaw | 南传·缅甸内观传统 | 标记现象法、腹部起伏、四念处密集禅修 |
每位大师都有一份 100-150 行的增强型系统提示词,涵盖传承、核心教义、说话风格、教学方法、关键典故和术语表。选择大师后,RAG 检索会限定于其核心经典(例如,选择智顗后只检索《摩诃止观》《法华玄义》等),从而提供更精准的引用。
由 Master-skill 提供支持——一个开源的佛教大师 AI 人格框架。
知识图谱地图(知识图谱地图)
在交互式世界地图上可视化 50,000 多个带地理信息的佛教实体,包括寺院、历史地点、人物和宗派。使用 Deck.GL + MapLibre 构建。
- 实体类型:寺院(绿色)、地点(紫色)、人物(红色)、宗派(蓝色)
- 传承弧线:切换显示地图上 8,000 多条师徒传承关系的动态弧线
- 仅中文筛选:快速筛选,仅显示中文名称的实体
- 实体搜索:按名称查找实体,支持简体中文与繁体中文转换(OpenCC)
- 交互式工具提示:悬停即可查看元数据、国旗和来源信息
动态活动流(佛学动态)
追踪来自 612 个数据源的实时更新,包括新增文本、译文发布、手稿扫描和架构变更。包含学术内容聚合和全平台活动摘要。
相似段落发现
阅读任何文本时,侧边栏都会使用 pgvector 余弦相似度,自动查找其他文本中语义相似的段落。发现整部佛典中的跨文本平行内容、相关注疏和主题关联。
时间线与统计信息仪表板
通过交互式 D3 图表可视化佛教文本史,展示朝代分布、翻译趋势、语言分类、类别树图和译者排行。可切换学术与大众展示模式。
文集、书签与注释
将文本保存到个人文集,为特定段落添加书签,并添加注释以供学习和研究。
引文导出
以 BibTeX、RIS 和 APA 格式导出引文,用于学术论文和文献管理器。
多语言界面
支持 9 种语言:简体中文、繁体中文、英语、日语、韩语、泰语、越南语、僧伽罗语和缅甸语。
数据源

FoJin 汇集全球主要佛教数字项目的数据。数据源按研究领域(汉传、上座部、藏传、梵文、敦煌、艺术、词典、数字人文)分类,并可按地区、语言和类型筛选:
| 数据源 | 内容 | 语言 |
|---|---|---|
| CBETA | 汉文大藏经 | 文言文 |
| SuttaCentral | 早期佛教典籍 | 巴利文、中文、英文 |
| 84000 | 藏传佛教大藏经 | 藏文、英文、梵文 |
| BDRC | 藏文手稿(IIIF) | 藏文 |
| SAT | 大正藏 | 中文、日文 |
| DILA | 权威数据库(人物、地点、目录) | 多语言 |
| GRETIL | 梵文电子文本 | 梵文 |
| DSBC | 数字梵文佛教大藏经 | 梵文 |
| Gandhari.org | 犍陀罗语手稿 | 犍陀罗语 |
| VRI Tipitaka | 巴利文大藏经(Chattha Sangayana) | 巴利文 |
| Korean Tripitaka | 高丽大藏经 | 中文、韩文 |
| 另有 602 个…… |
技术栈
| 层 | 技术 |
|---|---|
| 前端 | React 18、TypeScript、Vite、Ant Design 5、Zustand、TanStack Query、D3.js、Deck.GL + MapLibre(地理地图) |
| 后端 | FastAPI、SQLAlchemy(异步)、Pydantic v2、SSE 流式传输 |
| 数据库 | PostgreSQL 15 + pgvector(HNSW 索引)+ pg_trgm |
| 搜索 | Elasticsearch 8(ICU 分词器) |
| 缓存 | Redis 7 |
| AI | RAG(670K+ 向量、BGE-M3、HNSW)+ 15 种大师人格 + 多提供商大模型(OpenAI/Anthropic/DeepSeek/DashScope/Gemini/+10 个更多)+ 确定性引文/引文内容保护机制 |
| 集成 | MCP 服务(fojin-mcp)——本地使用 stdio,托管于 mcp.fojin.ai 的可流式传输 HTTP + 提供 OpenAPI/Swagger 文档的公开 REST API + 跨大藏经 URN 方案 |
| 部署 | Docker Compose、Nginx(gzip、安全标头)、Cloudflare CDN |
| CI | GitHub Actions(lint、测试、安全扫描) |
架构
+-------------+
| Cloudflare | (CDN, SSL, DDoS protection)
+------+------+
|
+------+------+
| Nginx | (gzip, security headers, static cache)
+------+------+
|
+-----------+-----------+
| |
+-----+------+ +-----+------+
| React 18 | | FastAPI |
| Vite + D3 | | async SSE |
+-------------+ +------+------+
|
+--------+---------+---------+
| | | |
+-----+--+ +--+----+ +--+---+ +---+--------+
| PG 15 | | ES 8 | |Redis | | LLM APIs |
| pgvector | | ICU | |cache | | (multi- |
| HNSW idx | | | | | | provider) |
+---------+ +-------+ +------+ +------------+
开发
# Backend
cd backend
python -m venv .venv && source .venv/bin/activate
pip install -r requirements-dev.txt
alembic upgrade head
uvicorn app.main:app --reload
# Frontend
cd frontend
npm install
npm run dev
# Tests
cd backend && pytest tests/ -q
安全
- 使用非 root 容器(后端:
app,前端:nginx) - 多阶段 Docker 构建(生产环境不包含构建工具)
- 内部服务(Postgres、Redis、Elasticsearch、后端、Umami)仅绑定到
127.0.0.1 - 为每个容器限制内存/CPU
- CSP、X-Frame-Options、X-Content-Type-Options 标头
- 限制所有搜索参数的查询长度
- JWT 空闲有效期为 30 天(滑动续期,自登录起最长 90 天);
POST /api/auth/logout-all会撤销所有未过期令牌。生产环境必须使用强密钥
自托管隐私默认设置
- 不进行分析数据回传。 Umami 跟踪脚本需通过构建时配置
VITE_UMAMI_URL+VITE_UMAMI_WEBSITE_ID显式启用;如果任一变量未设置,前端将不包含遥测功能。 - 默认情况下,大模型/嵌入流量会发送至上游。 默认配置会使用你的平台密钥调用 DeepSeek + SiliconFlow,用户的问题会发送至这些服务。若要完全离线运行,可将
LLM_API_URL/EMBEDDING_API_URL指向本地的 OpenAI 兼容服务(vLLM、Ollama、LM Studio);也可以让每位用户通过应用内 BYOK 流程提供自己的密钥。 - 前端容器默认绑定到
127.0.0.1(通过FRONTEND_BIND设置),因此开箱即用时只能从主机访问——请在其前方配置经过身份验证的反向代理或 CDN,作为公开入口。如果需要在没有代理的情况下直接通过局域网/远程访问,请设置FRONTEND_BIND=0.0.0.0;请注意,Docker 会通过自身的 iptables 规则发布端口,这会绕过ufw等主机防火墙,因此任何能够访问主机该端口的人都可以访问你的实例。
完整说明请参阅 SECURITY.md。
贡献
欢迎贡献!无论是添加新的数据源、改进搜索、修复 Bug,还是翻译 UI,我们都欢迎你的帮助。
- Fork 此仓库
- 创建功能分支(
git checkout -b feat/amazing-feature) - 提交更改(
git commit -m 'Add amazing feature') - 推送到该分支(
git push origin feat/amazing-feature) - 发起 Pull Request
详细指南请参阅 CONTRIBUTING.md。
路线图
- 引文导出(BibTeX、RIS、APA)
- 移动端自适应阅读器
- 带速率限制的公共 REST API
- 用户批注
- 社区贡献的数据源
- 国际化(i18n)——9 种 UI 语言
- 基于嵌入的语义搜索(670K+ 向量,HNSW 索引)
- 支持 RAG、多轮上下文和流式输出的 AI 问答
- 相似段落发现(跨文本语义匹配)
- 时间线可视化和统计信息仪表板
- 用户反馈系统和通知中心
- 管理员仪表板(用户管理、平台分析)
- API 文档(
/docs上的 OpenAPI/Swagger、/redoc上的 ReDoc) - AI 答案重排序(关键词 + 可选的 API 交叉编码器)
- AI 答案中的可点击引文链接
- AI 答案后的渐进式后续问题建议
- 阅读器页面上的“询问小锦”悬浮按钮
- 按 Tab 键循环切换建议问题
- CBETA 风格的文本布局,支持偈颂/散文检测
- Docker 启动时自动迁移数据库
- AI 答案评分(赞/踩),用于质量跟踪
- 按研究领域筛选数据源(8 个类别)
- 管理员反馈回复及通知系统
- 聊天中的 AI 数据源推荐(语义相似度)
- 导入 DILA 权威谱系(22K+ 师生关系)
- DILA 目录关联(2,300+ 部文本的贡献者和地点)
- 南山律学辞典(3,200+ 个佛教戒律术语)
- 导入 CBETA 全文——大正藏(T)+ 卍续藏(X):3,600+ 部文本、143M 个字符、432K 个嵌入向量
- 扩充词典——39 部词典、747K 条词目(DPD、Apte、Mahāvyutpatti、Buddhadatta、Pentaglot、buddhaspace 的 7 部词典)
- 大师 Persona 模式——15 位佛教大师,支持按传统划分范围的 RAG(由 Master-skill 提供支持)
- 知识图谱地图——50K+ 个地理实体、Deck.GL + MapLibre、谱系弧线
- 动态信息流——实时跟踪数据源更新、学术信息流
- AI 阅读器内嵌分栏面板,带可拖动分隔线并支持独立滚动
- 阅读器中自动打开 AI 面板,一键查看解读
- 聊天中的元问题检测——识别“你是谁/你能做什么”等问题并跳过 RAG
- 三语跨藏经平行阅读——11 组配对定义,4,000+ 组经 LLM 验证的片段对齐,覆盖 CBETA / SuttaCentral / 84000(包括《法华经》↔ Toh 113、《小品般若经》(八千颂般若)↔ Toh 11、完整的阿含↔尼迦耶语料,以及最初的 5 部 MVP 经典)
- 聊天引文抽屉,支持多语言标签页(汉/巴/藏并排显示)
- 阅读器“多语对读”内嵌侧边栏——双标签页:以 SuttaCentral 为准的经文级平行文本 + 旧版片段级 RAG 对齐;可与 AI 面板并存并独立拖动调整大小
- AI 答案支持 GFM Markdown 表格(remark-gfm)——比较类回答可正确呈现为表格
- 防止幻觉的引文规则(规则 4/4b)——禁止将未检索到的经名括在【…】中
- 为
/texts/{id}页面注入服务端 SEO 元数据——为每部经文生成适用于搜索引擎的<title>/<description>(支持抓取 SPA 路由) - 确定性答案可验证性——引文白名单 + 逐字引文降级 + 单条答案可信状态;temp 0 下约 98% 的引文答案达到
served_trustworthy_rate,作为评估回归门槛 - 跨藏经 URN 方案——稳定、可解析的段落标识符(
fojin:cbeta/T0001.1),可与 CBETA / SuttaCentral / 84000 / GRETIL / VRI 互操作 - MCP 服务——已发布到 PyPI,包名为
fojin-mcp——提供 8 个只读、可通过 URN 寻址的工具;可从 Claude Desktop / ChatGPT 调用 - 托管 MCP 端点——通过可流式传输的 HTTP 提供
https://mcp.fojin.ai/mcp;匿名访问,有速率限制,无需获取密钥 - 开放式逐字引文验证(
GET /api/verify/quote+verify_quote工具)——适用于任何引文,不仅限于 FoJin 自身的答案:ES 生成候选列表,Postgres 负责判定,并返回完全匹配/近似匹配/不存在及字符级差异;绝不在不同卷中匹配后悄然接受 - 注疏对齐(
GET /api/commentary/passage+commentaries工具)——按段落检索历史注疏,并锚定到卷和行;首个语料为《金刚经》(52 位注疏家,5,683 个对齐片段) - Agent 门户(
/agents)+llms.txt——用一个页面说明 FoJin 提供的功能以及调用方式 - 朗读(
/read-aloud)——音频与句子同步,支持行高亮和锁屏播放(首部经典为《心经》) - 首页上的小锦——可拖动的助手,支持内嵌流式回答,无需离开页面
- 滑动式会话续期——活跃用户不再每隔 8 小时被悄然降级为访客;更改密码仍会撤销所有设备的会话
- Agentic 研究助手(
/research)——规划 → 检索(语料 + 词典 + KG)→ 基于证据综合生成,并由同一套引文防护机制保护 - 对齐飞轮——挖掘基于锚点扩展的候选项 + 通过人工审核晋升(管理员 UI 位于
/admin/alignment/review),形成真实标注对齐数据 - 跨藏经句子级对齐——使用类似 bertalign 的 DP,在 BGE-M3 嵌入上将已验证的片段对细分为对齐的句子对(
sentence_alignments);纯 Python 实现,无新增依赖 - 基于间隔的候选项路由器——对齐构建器中的比率间隔分档(自动接受/LLM 验证/自动拒绝),在保持 100% 精确率保证的同时降低 LLM 成本(默认关闭自动接受)
- 对齐质量评估工具——金标准集 + 确定性的精确率/召回率/校准指标 + 仿照 RAG 评估的回归门槛
- RAG 中的 MITRA 跨语言平行文本——约 896K 组梵文/藏文 ↔ 中文句子对,根据代理质量分数进行筛选(
mitra_e_score,允许 NULL) - 跨语言搜索(输入中文查询,查找梵文/巴利文/藏文结果)——基于 MITRA 句子级平行文本(
GET /api/search/parallel-sentences) - 开放对齐数据集导出——带版本和许可证标记的 JSONL,包含来源信息 +
GET /exports/alignments.jsonl流式端点 - 三语 MVP v1.1——扩展至 20+ 部经文(《法华经》、《华严经》、《中论》、《楞伽经》、完整的阿含↔尼迦耶)
- 阅读器逐句对读(句子级平行阅读 UI)——后端接口已交付(
GET /alignment/sentences/...,由enable_sentence_parallels控制,默认隐藏);等待生产环境句子数据后再开发前端 - 主题本体浏览页面
- 扫描文本的 OCR 流程
- 协作式批注共享
- 与 Zotero 和文献管理器集成
许可证
Apache License 2.0 — 仅适用于 FoJin 源代码。第三方数据源保留各自的许可证(CC BY-NC-SA、CC0、CC BY-NC-ND 等)。详情请参阅 NOTICE。
致谢
FoJin 的构建离不开全球佛教数字人文社区的慷慨贡献。特别感谢:
- CBETA — 中华电子佛典协会
- SuttaCentral — 早期佛教典籍
- BDRC — 佛教数字资源中心
- 84000 — 翻译佛陀的话语
- SAT — SAT 大藏经文本数据库
- 来源页面 上列出的所有其他数据源提供方
社区
- LINUX DO — 感谢 LINUX DO 社区提供支持和反馈
相关项目
- Master-skill — 佛教大师 AI 人设框架(为 FoJin 的大师模式提供支持)
- The Open Buddhist University — 提供佛学研究的免费课程、书籍和百科全书
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。