Magisterium AI

技能

Magisterium AI 通过 A2A 协议公开以下技能。通过消息中的 metadata.skillId 指定要使用的技能。如果省略 skillId,则默认使用 catholic_qa

技能ID描述
天主教问答catholic_qa完整问答,附带来自 29,000 多份训导文献、《圣经》及教父著作的引用。
文献搜索document_search对训导文献、通谕、要理章节和教会法进行语义搜索。
文献获取document_fetch通过 ID 获取特定文献的完整正文和元数据。
礼仪读经liturgical_readings获取任意日期或礼仪时节的天主教弥撒读经。
每日圣人saints_of_the_day获取《罗马殉道录》中某一天纪念的圣人。
圣人查询saint_lookup通过姓名或规范 ID 查询一位圣人、真福、可敬者或天主之仆。
天主教神职人员查询person_lookup通过姓名或规范 ID 查询一位天主教神职人员(主教、枢机、总主教等)。
教宗查询pope_lookup通过姓名或规范 ID 查询一位教宗。
教区查询diocese_lookup查询一个教会管辖区(教区、总教区、宗主教区),含目录元数据、关键统计数据和最新财务信息。
教区统计时间序列diocese_statistics_lookup返回某教区完整的逐年统计时间序列 —— 19 项指标,每年一行。

所有技能均通过 message/send JSON-RPC 方法调用。

json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "message/send",
  "params": {
    "message": {
      "role": "user",
      "messageId": "unique-id",
      "kind": "message",
      "parts": [{ "kind": "text", "text": "your query here" }],
      "metadata": { "skillId": "document_search" }
    }
  }
}

响应始终以 Taskkind: "task")的形式返回,其 status.state"completed",并带有一个或多个 artifacts。每个 artifact 都有一个唯一的 artifactId、一个与技能相关的 name,以及一个或多个 partstextdatafile)。


catholic_qa

用自然语言提出一个问题,获得带引用的长篇回答。这是功能最强大(也最消耗资源)的技能 —— 它运行在与 magisterium.com 相同的模型上。

输入: 包含问题的单个文本 part。

Artifact: name: "catholic_qa_response",包含:

  • 一个 text part,内含完整回答。
  • 一个 data part,包含 citations(当使用了任何来源时)。
  • 一个 data part,包含 related_questions(当模型返回建议时)。
json
{
  "artifactId": "art_...",
  "name": "catholic_qa_response",
  "parts": [
    { "kind": "text", "text": "The Catholic Church teaches..." },
    { "kind": "data", "data": { "citations": [ /* ... */ ] } },
    { "kind": "data", "data": { "related_questions": [ /* ... */ ] } }
  ]
}

catholic_qa 使用比其他技能更严格的速率限制变体。请参阅 API 参考 → 速率限制

document_search

在 Magisterium 知识库中检索与语义查询匹配的文献引用。

输入: 包含查询的单个文本 part。

Artifact: name: "search_results",包含单个 data part:

json
{
  "artifactId": "art_...",
  "name": "search_results",
  "parts": [
    {
      "kind": "data",
      "data": {
        "results": [
          { "id": "12345", "url": "https://...", "title": "Lumen Gentium" }
        ]
      }
    }
  ]
}

使用结果中的 id 字段调用 document_fetch 以获取完整文本。

document_fetch

通过 ID 获取一份文献的完整正文和元数据。该技能接受一个 data part,而不是文本 part:

json
{
  "parts": [{ "kind": "data", "data": { "id": "12345" } }]
}

如果调用方发送的是文本 part,处理程序会退回到将其视为文献 ID。

Artifact: name: "document",包含两个 part:

  • 一个 text part,包含文献正文。
  • 一个 data part,包含 { id, title, author, ref }

如果找不到该文献,artifact 将只包含一个内容为 "Document not found."text part。

liturgical_readings

获取指定日期的天主教弥撒读经。接受 自然语言 日期查询 —— 例如 "today"、"next Sunday" 或 "Easter Sunday 2026"。

输入: 包含日期查询的单个文本 part。

Artifact: name: "mass_readings",包含单个 text part,内含格式化后的读经内容。如果所请求的日期没有可用的读经,该 part 的内容为 "No mass readings found."

saints_of_the_day

从《罗马殉道录》中查询指定日期所纪念的圣人。

输入: 包含绝对日期的 data part,或被视为日期查询的文本 part:

json
{
  "parts": [{ "kind": "data", "data": { "date": "2026-03-19" } }]
}

Artifact: name: "martyrology",包含单个 text part,内含格式化的殉道录条目。缺失的日期将返回 "No martyrology data found."


下面五项技能均为 目录查询。每项都接受自然语言形式的 query(作为文本 part 或 data.query 字段),并可选地附带一个规范 ID,返回放在单个 data part 中的结构化资料。如果既未提供 query 也未提供规范 ID,请求将以 INVALID_PARAMS-32602)被拒绝。

当查询无法解析时,artifact 包含一个形如 { "error": "not_found", "query": "...", "hint"?: "..." }data part,而非资料。任务本身仍以成功状态完成 —— not_found 是正常的查询结果,并非协议错误。

saint_lookup

cd_saints 目录(约 12,500 位人物)中查询一位圣人、真福、可敬者或天主之仆。

输入: data.query(例如 "Therese of Lisieux")或 data.saint_id(规范主键,例如 "jerome")。也接受裸文本 part 作为 query

json
{
  "parts": [{ "kind": "data", "data": { "query": "Catherine of Siena" } }]
}

Artifact: name: "saint_profile",包含单个 data part,内含规范资料 —— saint_idprimary_namecanonical_statusvocationimage_urllearn_more_url、生平与离世、瞻礼日、封圣事由、主保、圣像表征、传记,以及(如果发现多位候选)一个 alternates 数组。

person_lookup

cd_persons(在世,约 3,500 位)和 cd_persons_historical(约 2,200 位)目录中查询一位天主教神职人员(主教、枢机、总主教等)。教宗通过另外的 pope_lookup 技能提供。

输入: data.query(例如 "Cardinal Tagle")或 data.person_id(规范主键)。也接受裸文本 part 作为 query

json
{
  "parts": [{ "kind": "data", "data": { "query": "Cardinal Tagle" } }]
}

Artifact: name: "person_profile",包含单个 data part,内含规范资料 —— person_idsource_tableprimary_namecurrent_positionimage_urlcoat_of_arms_url、晋铎与祝圣日期、擢升枢机、主教传承、教育、座右铭,以及任何 alternates

如果查询仅解析为某位教宗,响应为 { "error": "not_found", "hint": "Top match looks like a pope; try get_pope." }

pope_lookup

cd_popes 目录(267 位)中查询一位教宗。

输入: data.query(例如 "Pope Francis""John Paul II")或 data.pope_id(规范主键,例如 "benedict-xvi")。也接受裸文本 part 作为 query

json
{
  "parts": [{ "kind": "data", "data": { "query": "John Paul II" } }]
}

Artifact: name: "pope_profile",包含单个 data part,内含规范的教宗资料 —— pope_idprimary_namepapal_nameordinalpope_titleimage_urlcoat_of_arms_urlbirth_nameoriginpontificate、宣福与封圣状态,以及任何 alternates

如果查询仅解析为某位非教宗的神职人员,响应为 { "error": "not_found", "hint": "Top match looks like a non-pope clergy member; try get_person." }

diocese_lookup

从教区目录(全球约 3,200 个管辖区)中查询一个教会管辖区(教区、总教区、宗主教区等)。

输入: data.query(例如 "Archdiocese of Manila")或 data.source_code(规范主键,例如 "dmaml")。也接受裸文本 part 作为 query

json
{
  "parts": [{ "kind": "data", "data": { "query": "Archdiocese of Manila" } }]
}

Artifact: name: "diocese_profile",包含单个 data part,内含目录元数据(source_codeprimary_namejurisdiction_typeritecountryregion_primarystatecitymetropolitandepends_onprovincecathedralpatron_saintareaerectedelevatedofficial_websiteimage_urlcurrent_bishop),以及:

  • recent_statistics —— 最多 5 年的关键数据(天主教徒人数、总人口、天主教徒比例、神父总数、堂区数、领洗数、修生数)。
  • latest_financials —— 如有可用,最近一个财政年度的关键指标(总收入、总支出、净资产、总资产、盈余/赤字),并附币种。
  • alternates —— 当匹配到多个候选时。

如需多年趋势分析,请改用 diocese_statistics_lookup

diocese_statistics_lookup

返回某教区完整的逐年统计时间序列 —— 即 diocese_statistics 中跟踪的全部 19 项指标。

输入: data.querydata.source_code(必须提供其中一个),并可选地附带闭区间边界:

json
{
  "parts": [{
    "kind": "data",
    "data": {
      "source_code": "dmaml",
      "start_year": 2010,
      "end_year": 2024
    }
  }]
}

Artifact: name: "diocese_statistics_time_series",包含单个 data part,内含 source_codediocese_nameyear_range: { start, end } 以及一个 rows 数组。每行包含某一年的 19 项指标:catholicstotal_populationpercent_catholicdiocesan_priestsreligious_prieststotal_priestscatholics_per_priestpermanent_deaconsmale_religiousfemale_religiousparishesarea_km2churches_or_stationsdiocesan_priests_ordainedreligious_priests_ordainedseminarianseducational_institutescharitable_institutesbaptisms