mcpField
F
fojin — Buddhist Canon Tools

fojin — Buddhist Canon Tools

远程服务
fojin.app搜索与检索3541 天前更新

关于 fojin — Buddhist Canon Tools

FoJin 佛津的 fojin-mcp 是一个只读 MCP 服务,可让 AI 助手检索佛教典籍并获取带 URN 引用的段落。它面向需要可核查佛典引用的研究者和开发者,所依托的语料库汇集了多个数据源。

主要功能

  1. 01八个只读工具
  2. 02语义检索佛典段落
  3. 03跨语种平行段落对照
  4. 04词典与知识图谱查询
  5. 05校验引文与原文是否一致

适用场景

  1. 01让 AI 助手基于佛典原文回答问题并附出处
  2. 02核对引文是否为原文逐字引用
  3. 03查询某段经文的历代注疏

MCP 相关

fojin-mcp 是 MCP 服务,向 MCP 客户端提供 search_corpus、read_passage、verify_quote 等只读工具,返回带稳定 URN 的段落。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://mcp.fojin.ai/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

8
参数类型必填说明
langany否
limitinteger否
querystring是

详细介绍

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

CI Security Scan fojin-mcp on PyPI License GitHub stars

FoJin — 全球佛教数字文本平台


为什么选择 FoJin?

佛教典籍散布在全球数百个数据库中——CBETA、SuttaCentral、BDRC、SAT、84000、GRETIL 等等。每个数据库都有自己的界面、语言和数据格式。当你有一个问题——“《心经》中的‘色即是空’是什么意思?”,“这段内容的巴利语版本和汉语版本有何不同?”——你花在寻找合适段落上的时间,往往比理解它还多。

FoJin 替你解答问题。 用日常语言提问;小金会从 612 个来源中检索相关段落,并给出带有可点击引文的答案,方便你核实。FoJin 的其他功能——全文阅读、跨藏对齐、知识图谱、39 部词典——都是为了让答案更有依据,并让你在得到答案后继续深入探索:

你的需求FoJin 的帮助方式
提出问题,获取有来源依据的答案AI 问答(“小金”)——基于 67 万多个段落的 RAG、重排、根本经文召回、可点击的【《经》卷 N】引文、跨藏引文抽屉、防幻觉保护
信任答案可验证的答案——确定性引文白名单 + 逐字引用降级 + 单答案可信状态;在温度为 0 时,约 98% 的含引文答案可信可用
研究复杂的多步骤问题研究助手(/research)——跨语料、词典和知识图谱规划,然后在同样的保护机制下综合生成带引文的答案
通过 AI 助手调用 FoJinMCP 服务——托管于 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

然后访问:http://localhost:3000

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īrtiT0475 罗什(中文)Toh 176(藏语)20汉 ↔ 藏
《般若波羅蜜多心經》Heart SutraT0252(中文)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 分块对应更少)。

使用方法:

  1. 在 AI 问答中 — 当小金引用已对齐的经文时,引用抽屉会显示标签页 [ 汉文 ] [ 巴利 (5) ] [ 藏文 (3) ]。点击标签页即可查看其他经典中的对应段落,并以正确的天城文 / 藏文显示。

  2. 在阅读器中 — 点击工具栏中的 🌐 「多语对读」(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 提供商

AI 问答:回答有关玄奘弟子的问题

可验证的答案 — 每一句都能点回原典

信任才是关键。每个答案在呈现给你之前,都会经过三道确定性检查:

  • 引文白名单——除非确实检索到了对应来源,否则会移除或更正【《经名》卷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 种语言:简体中文、繁体中文、英语、日语、韩语、泰语、越南语、僧伽罗语和缅甸语。

数据源

来自 30 个国家和地区的 612 个数据源

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
AIRAG(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
CIGitHub 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,我们都欢迎你的帮助。

  1. Fork 此仓库
  2. 创建功能分支(git checkout -b feat/amazing-feature)
  3. 提交更改(git commit -m 'Add amazing feature')
  4. 推送到该分支(git push origin feat/amazing-feature)
  5. 发起 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 社区提供支持和反馈

相关项目


如果 FoJin 对您的研究有所帮助,欢迎为项目点亮星标!

讨论区  ·  问题反馈  ·  参与贡献  ·  [email protected]

用心为佛学研究社区打造。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。