人类做佛教研究与翻译时用到的 WikiPali 功能(用户 2026-08-08 给出的清单), 对照
wikipali插件当前的实现状态。用途:逐项落实的工作清单。标 ⬜ 的需要提供一个能跑通的完整 API URL—— 照着反推参数比读控制器快,也不会猜错。
插件版本基准:0.7.0(2026-08-09)
当前进度:✅ 13 项 · ⬜ 9 项(其中 7 项需要 API URL,2 项是写入侧的文章/文集)
图例
| 记号 | 含义 |
|---|---|
| ✅ | 已实现,有命令 |
| 🔧 | 端点已确认可用,只差封装成命令 |
| ⚠️ | 能做,但体验或粒度不到位 |
| ⬜ | 需要 API URL(端点可能存在但参数未知,或路由里没找到) |
| 功能 | 状态 | 实现 / 端点 | 备注 |
|---|---|---|---|
| 词典释义 | ✅ | wikipali word → GET /v2/dict?word=&lang= |
释义在 note 字段,不是 description |
| 词形展开 | ✅ | wikipali forms → GET /v2/case/{词} |
检索的必经前置;拿词典形直接搜会 0 条且不报错 |
| 功能 | 状态 | 实现 / 端点 | 备注 |
|---|---|---|---|
| 术语表 | ✅ | wikipali terms → GET /v2/term-vocabulary?view=&lang= |
全表 17074 条(zh-Hans),本地缓存后过滤 |
| 单个术语查询 | ⬜ | GET /v2/system-term/{lang}/{word}? |
实测返回 {"ok":false,"message":"no channel"} —— 缺参数 |
| 功能 | 状态 | 实现 / 端点 | 备注 |
|---|---|---|---|
| 分类目录(如「长部的复注有哪些」) | ✅ | wikipali books --tags dīghanikāya,ṭīkā → GET /v2/book-title |
服务端已扩展:book-title 现在返回 toc / tags / related_name 并缓存 24 小时。不再需要 tag 端点。⚠ 需要服务端部署这一版 |
| 某本书的目录 | ✅ | wikipali toc → GET /v2/palitext?view=book-toc&book=¶= |
返回整套丛书,客户端按 book 过滤 |
| 章节内容 · 查有哪些版本 | ⚠️ | wikipali versions → GET /v2/channel?view=paragraphs&book_id=¶= |
只能按段落查;按章节查目前用章节起始段近似 |
| 章节内容 · 读某一版本 | ✅ | wikipali chapter <坐标> --fetch --channel <uid> |
先报体量(chapter_strlen)再取 |
| 段落内容 · 多版本 | ✅ | wikipali versions → wikipali get <坐标> --channel <uid> |
查存在的版本,一次读一个 |
| 句子内容 · 多版本 | ✅ | 同上 | 句子是 get 的最小返回粒度,带 word_start/word_end |
| 相似句 | ⬜ | GET /v2/sent-sim? |
实测 500。库里 sent_sims 表约 3.6 GB。缺参数 |
| 功能 | 状态 | 实现 / 端点 | 备注 |
|---|---|---|---|
| 文章 | ✅ | wikipali articles [关键词] / wikipali article <uid> |
列表支持 search=;单篇返回 markdown 正文 |
| 文集 | ✅ | wikipali anthology [uid] |
不给 uid 列表,给 uid 看其文章目录 |
| 功能 | 状态 | 实现 / 端点 | 备注 |
|---|---|---|---|
| 相关段落 | ✅ | wikipali related <坐标> |
63 万行 / 217 部书,覆盖率 97.9–99.9%,双向可用,按 mūla→aṭṭhakathā→ṭīkā 排序标层次。⚠ 服务端「无关联时 500」的修复已合并但线上未部署,客户端已兜住这个窗口 |
| 相关章节 | ⬜ | ? | 路由里没找到 |
| 相关书 | ⬜ | ? | 路由里没找到;related-paragraph 的返回里有书级信息,但不确定是否等价 |
| 功能 | 状态 | 实现 / 端点 | 备注 |
|---|---|---|---|
| 章节评论 | ⬜ | discussion / discussion-count? |
缺参数 |
| 段落评论 | ⬜ | 同上 | 缺参数 |
| 句子评论 | ⬜ | discussion / sent-discussion-tree(POST)/ discussion-anchor/{id}? |
GET /v2/discussion?view=sentence&res_id=x → 500。缺参数 |
| 功能 | 状态 | 实现 / 端点 | 备注 |
|---|---|---|---|
| 句子 | ✅ | wikipali write |
模型身份署名、写前确认、count 核对、401 自动重签一次 |
| 术语 | ⬜ | POST /v2/terms(DhammaTermController)? |
GET /v2/terms?view=public&key= → 500。缺参数 |
| 评论 · 句子 | ⬜ | POST /v2/discussion? |
缺参数 |
| 修改建议 | ⬜ | ? | 路由里没找到独立端点;SentResource 里有 suggestionCount,代码里有 SuggestionApi |
| 文章 | ⬜ | POST /v2/article |
端点在,写入未封装(读已封装) |
| 文集 | ⬜ | POST /v2/anthology |
端点在,写入未封装(读已封装) |
按对研究流程的价值排序:
sent-sim —— 对读与校勘的核心能力,数据量最大(3.6 GB)book-title 返回 tags 即可,不需要新端点system-term/{lang}/{word} —— 现在只能靠全表缓存过滤discussion —— 前人对某句的讨论是重要的二手材料terms —— 研究产出的术语能回流每项给一个能跑通的完整 URL即可(含参数与示例值),我照着反推。
| 版本 | 内容 | 依赖 |
|---|---|---|
| 0.6.0 ✅ | related(相关段落)· articles / article / anthology(文章与文集读取)—— 已发布 2026-08-09 |
— |
| 0.7.0 ✅ | books(分类目录,按 tag 找书)—— 配套服务端扩展 book-title 的返回 |
— |
| 待定 | 上面 7 项,收到 URL 后按价值排 | 用户提供 URL |
| 待定 | 按章节聚合分布(dist --by chapter),方案见 wikipali-research-agent-design.md §3.7 |
方案待定 |
| 待定 | 短语检索改走 /v3/search(OpenSearch),见 §3.6 |
v3 调试完成 |
| 待定 | versions 支持按章节查(现在只能按段落,章节用起始段近似) |
可能需要服务端支持 |
这两项不阻塞开发,但会影响产出质量,定案后要改 references/conventions.md。
{{book-para-start-end}}发现(2026-08-09):平台自己就有引用格式。用户所写文章《表24:三种别住(Parivāsa)》 引用巴利原文用的是:
{{141-120-17-40}} = book 141 · paragraph 120 · word_start 17 · word_end 40
精确到句,实测该坐标正是义注里讲 odhānasamodhāna 的那一句。
采用它的好处:这是平台原生格式,写成这样的引用在 wikipali 上能直接解析定位,
读者点开就能看到原文。比目前临时用的
Cūḷavaggapāḷi, Pārivāsikakkhandhaka (VN 216:35) 强。
待定的点:
{{坐标}}」的组合写法?定案后:改 conventions.md 的「引用格式」一节,research 规程要求产出中的原文引用一律用它。
samodhānaparivāsa 在术语表(term-vocabulary)里是「合并别住」,
而用户所写文章里用的是「合一别住」。
规程现在写的是「产出译名应与术语表一致,不一致要说明理由」。若实际研究中术语表并非 唯一权威,这条要改写——比如改成「优先用术语表,与既有文献用词不一致时并列标出」。
多版本不做并排对照。 一度考虑把巴利原文、缅文 nissaya、汉译按 (book, paragraph,
word_start, word_end) 四元组对齐后并排输出。用户 2026-08-09 否定:正确做法是
先查有哪些版本,一次只读一个。理由是上下文预算——一次拉多个完整版本会直接撑爆,
而研究时本来就是逐个版本读。所以 versions → get/chapter --channel 这条链就是最终形态。
versions 的粒度缺口。 它按段落查,而用户的用法是「给章节编号,查存在的版本」。
目前只能用章节起始段近似——同一章内不同段落的版本覆盖可能不同(某译本只译了半章)。
是否需要章节级的查询,取决于实际使用中这个近似会不会出错。