ex-USSR Kinship Research

把 Codex、Claude Code 变成前苏联地区家谱研究员,层层留痕、区分证据与推断。

Star 数
★ 1.9k
最近更新
1 天前
License
MIT
主语言
Python

30 秒速览

运行形态
Agent 插件 / 技能命令行工具
可在哪里用
兼容但需适配Codex · Claude Code
费用
软件免费,模型调用费用自付
上手难度
低 · 几分钟可跑通
开始前需要
Python 3Pillow(可选,用于 scan_montage.py)基于 Chromium 的浏览器(可选,用于 build_pdf.py)Node.js(可选,用于 Skills CLI)Shell / 命令行网络访问本地文件系统
典型场景
家史研究者知道曾祖父 1930 年代被流放到哈萨克斯坦,想让 Agent 在教区簿中追溯其父母。
不适合
  • 想查在世亲属现住址或联系方式的人
  • 期待自动识别并确认血缘关系的用户

这个 Agent 能做什么,适合哪些场景?

这是一个面向 AI Agent 技能运行时的家谱研究技能,覆盖前苏联 15 个加盟共和国及俄罗斯帝国时期。核心是 SKILL.md 里的工作流程与硬性规则,配套 references/ 下的来源策略、证据协议、司法辖区指南、隐私规则和多地专题(加利西亚、车臣驱逐、德国强制劳动、比萨拉比亚等)。它通过 Python 脚本把案例变成可复核的登记册:init_case.py 建案例目录,hash_artifact.py 给每份扫描件算 SHA-256,audit_evidence.py 在写结论前检查引用完整性与佐证强度,build_pdf.py 仅在明确要求时把 HTML 报告导出 PDF。最终交付默认是一份完整 HTML 报告,可按需导出 GEDCOM 家族树。技能指令以俄语撰写,但 Agent 用用户语言交流,并保留原始拼写加译文。

先做案例受理:明确一个研究问题、已知事实、谁可能在世、哪些内容禁止触碰,并用 init_case.py 在技能目录之外建立案例。研究阶段解析每件事在事件发生时的国家、省、县、教区或民事登记处,建立姓名变体矩阵(革命前俄语、乌克兰语、波兰语、罗马尼亚语、德语、意第绪语及转写),按“原件 → 官方目录 → 索引 → 出版文献 → 族谱与论坛线索”的顺序查找来源。发现物写入人员、器物、主张、关系与完整检索日志(CSV)登记册,每份保存的扫描件用 hash_artifact.py 记录 SHA-256。主张状态只用可解释的标签:hypothesis、single-source、corroborated、strongly-corroborated、contradicted、unresolved,同一记录的副本共享 independence_group,不计为独立佐证。audit_evidence.py 检查引用完整性、ID 与状态,并列出仍未佐证或标记为难以辨认的条目。研究助手脚本包括 familysearch.py(在已登录的合法浏览器会话中查找 FamilySearch 书籍与 DGS 记录并保存许可范围内的片段)、familysearch-mcp.md 描述的 MCP 连接流程、gwar.py(一战 GWAR 报告、医院、嘉奖与战俘记录检索)、register_search.py 与需要 Pillow 的 scan_montage.py。最后用 assets/report.template.html 产出带关系证据的 HTML 报告,必要时导出 GEDCOM 5.5.1(UTF-8)文件。

  1. 家史研究者知道曾祖父 1930 年代被流放到哈萨克斯坦,想让 Agent 在教区簿中追溯其父母。
  2. 手头有一份结婚证扫描件和一张士兵卡,需要判断是否同一人并搭建证据链。
  3. 要为一个 1890 年代波多利亚村庄找到教区与对应的 FamilySearch 胶卷,并逐条读取某姓氏的出生记录。
  4. 需要向档案馆、图书馆或大学起草并发送正式查询信,且要避免重复发送、把回信当作证据登记。
  5. 处理车臣 1944 年驱逐、德国 1941–1945 强制劳动或比萨拉比亚跨境记录等特定专题的家族。
  6. 要把已有家谱整理成带来源引用的 GEDCOM 文件,交给另一个家谱软件继续使用。

如何安装或部署这个 Agent?

需要 Node.js 时可用 Skills CLI 安装(默认装入当前项目,加 -g 则跨项目安装):

npx skills add https://github.com/DenisSergeevitch/ex-ussr-kinship-research

也可以直接克隆到 Agent 的技能目录。Codex:

git clone https://github.com/DenisSergeevitch/ex-ussr-kinship-research ~/.codex/skills/ex-ussr-kinship-research

Claude Code 个人技能:

git clone https://github.com/DenisSergeevitch/ex-ussr-kinship-research ~/.claude/skills/ex-ussr-kinship-research

单一项目则放进仓库内的 .claude/skills/。多数脚本只需要 Python 3 标准库;scan_montage.py 需要 Pillow,build_pdf.py 需要基于 Chromium 的浏览器(或设置 CHROME_PATH),加 --png-dir 渲染页面预览还需要 pypdfium2。

如何使用这个 Agent?

安装后直接用自然语言描述家族问题,Agent 会按技能工作流推进,并在等待档案回信时继续其他线索。例如:“我的曾祖父 1930 年代被流放到哈萨克斯坦,帮我在教区簿里找他的父母。”

在技能目录内初始化案例(脚本拒绝在技能文件夹内创建案例,包括 --force):

python scripts/init_case.py --case-dir ~/kinship-cases/my-case --research-question "Who were Maria's parents?" --subject-label "Maria"

为每份保存的扫描件计算校验值:

python scripts/hash_artifact.py ~/kinship-cases/my-case/scans/marriage-1902.jpg

写最终报告前审计证据登记册:

python scripts/audit_evidence.py --case-dir ~/kinship-cases/my-case

只有在明确要求 PDF 时才导出(要求静态 HTML、本地或内嵌图片,拒绝活动脚本与网络图片源):

python scripts/build_pdf.py --html ~/kinship-cases/my-case/report.html --out ~/kinship-cases/my-case/report.pdf

私有案例数据应放在技能 Git 检出目录之外。运行单元测试:

python3 -m unittest discover -s tests

这个 Agent 有哪些优点和局限?

优点
  • 证据协议用可解释的状态标签代替百分比,并用 independence_group 防止把同一记录的副本当成独立佐证。
  • 按事件发生时的历史司法辖区定位档案,而不是用今天的地图,减少找错档案馆。
  • audit_evidence.py 在写结论前自动检查引用完整性、ID 与弱佐证,降低“先有结论再找证据”的风险。
  • 默认交付完整 HTML 报告,关系逐条展开,PDF 仅在明确要求时才生成且会拒绝活动 HTML 与网络图片源。
  • 明确拒绝查询在世人员的现住址、电话与账户,并对驱逐、镇压、收养、DNA 等敏感发现保持中立表述。
局限
  • 技能指令本身是俄语撰写,虽声称用用户语言交流,但维护与审阅仍需俄语能力。
  • 多数能力依赖已登录的合法浏览器会话访问 FamilySearch,未登录或地区受限时功能受限。
  • PDF 导出依赖本机安装 Chrome、Chromium 或 Edge,或设置 CHROME_PATH。
  • FamilySearch MCP 工作流需要用户自行接入服务器并核对连接器的浏览器、隐私与写入能力,技能本身不提供托管。
  • 档案通信只能通过用户授权的邮箱或工具发送,连接邮箱本身并不构成发送授权。

这个 Agent 与同类方案有什么区别?

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 形态 / 费用 Star 最近更新 主语言 完整支持的平台
ex-USSR Kinship Research 当前 56 · 缺口较多 Agent 插件 / 技能免费 + 模型费 ★ 1.9k 1 天前 Python Codex · Claude Code
Apify Agent Skills 40 · 缺口较多 Agent 插件 / 技能免费版 + 付费版 ★ 2.5k 5 天前 Python Codex · Claude Code
Jev Social 71 · 存在缺口 命令行工具免费 + 模型费 ★ 196 3 天前 JavaScript —
Principia 66 · 存在缺口 命令行工具免费 + 模型费 ★ 1.1k 1 个月前 Rich Text Format —

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
缺口较多
56/ 100 五分制 2.8 / 5
信任安全 17/29
可靠稳定 8/14
适用触发 10/18
规范维护 9/18
有效结果 7/13
证据核验 5/8
查看各维度的扣分理由
信任安全17 / 29 · 2.9/5

README 明确声明拒绝追踪在世者、不将文件上传第三方、CAPTCHA 仅一次尝试并转交用户、发送邮件需授权、init_case.py 拒绝在技能目录内建案,体现最小权限与用户确认;但依赖安全仅以'仅需 Python 标准库'口头断言,未提供锁定或审计,扣分;回滚方面仅提到渲染失败保留旧 PDF,缺少更广的恢复机制,故为 1。

可靠稳定8 / 14 · 2.9/5

测试覆盖审计脚本的字段校验、独立性分组、状态一致性、报告 ID 引用等,自洽性较好;但依赖可用性仅靠 README 描述(Chromium、pypdfium2 可选),无版本约束或清单,扣分;错误信息在测试中显示为具体中文提示(如'文件未找到'、字段数不符),故给 2。

适用触发10 / 18 · 2.8/5

面向多语言用户与多场景(教会簿、军事、驱逐、FamilySearch、GWAR、GEDCOM),边界声明清晰(不自动判定身份、不安装外部程序);但触发精度仅靠 SKILL.md 描述,未见具体触发词或路由规则,故为 1;环境适配覆盖 Codex/Claude Code 及 CLI 安装,给 2。

规范维护9 / 18 · 2.5/5

README 结构清晰、安装说明完整、示例丰富、MIT 许可证明确;但命名稳定性仅见 changelog 引用,未见版本号或语义化版本策略,扣分;已知限制仅零散提及,未集中列出;维护责任仅署名作者,无治理或更新流程,故为 1。

有效结果7 / 13 · 2.7/5

输出可用性高(CSV 登记册、最终报告模板、PDF 生成、GEDCOM 导出),边际价值明显(证据优先、独立性分组、审计脚本);但成本效益受限于需人工准备案件目录、依赖外部浏览器与可选库,且未提供量化收益,故为 1。

证据核验5 / 8 · 3.1/5

证据协议明确区分假设、单源、佐证、强佐证、矛盾、未解决,并要求独立性分组与直接原始记录;审计脚本强制检查引用 ID 与状态匹配,事实与推断分离良好;但跨源佐证依赖用户正确填写分组,脚本仅能校验声明,无法验证实际独立性,故给 2。

风险与缓解建议
  • 依赖安全仅靠'仅需标准库'的口头声明,未提供锁定文件或依赖审计,实际使用中可能引入未审查的第三方包。
  • 跨源佐证依赖用户手动填写独立性分组,审计脚本只能校验声明一致性,无法验证来源是否真正独立。
  • 触发精度未在可见文件中明确,SKILL.md 未提供具体触发词或路由规则,可能导致误触发或漏触发。
  • 版本与变更管理仅引用 changelog,未见语义化版本号或发布流程,长期维护责任不明确。
证据充分度:低 评估于 2026年11月4日 审查版本 557abe41be1b
查看完整评分方法 →

常见问题

它是免费的吗?
仓库以 MIT 许可证开源,脚本本身免费。实际使用需要你自备的 AI Agent(如 Codex 或 Claude Code)及其模型调用费用;FamilySearch 等外部服务可能有各自的访问条件。
会不会自动得出“这两个人是同一个人”的结论?
不会。姓名相同者会保持不同的 person_id,直到出现门牌号、父母、教父教母、确切出生日期或部队番号等区分性证据;主张状态也只用 hypothesis、single-source 等标签表示。
我的私人档案会被上传吗?
文档明确要求不得在未获得明确同意的情况下把用户文件或 DNA 数据上传到第三方服务,并把案例目录放在技能 Git 检出目录之外,init_case.py 会拒绝在技能文件夹内创建案例。
遇到验证码或登录墙怎么办?
Agent 可以在内部浏览器中通过正常控件尝试一次真实验证码;若需要用户操作,会打开标签页并给出 URL 与所需动作,登录由用户完成,不做任何绕过、付费墙或地理封锁规避。
能导出到其他家谱软件吗?
可以。按需生成带来源引用与证据备注的本地 .ged 文件,默认 GEDCOM 5.5.1 UTF-8,也可按你选择的程序要求使用其他受支持版本;但安装软件、配置 MCP 与自动同步外部族谱不在技能范围内。
在 GitHub 查看 ↗ 安装 ↓

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents