Skip to content
iHeadWaterPublic

About

水文水资源(Hydrology and Water Resources)文献知识库

Resources

Stars

2 stars

Watchers

0 watching

Forks

Repository files navigation

mylibrary — 水文水资源研究知识平台

围绕文献的一条线 —— 从收到用,一路都在这个仓库里:

① 收进来 ② 读进去 ③ 组织起来 ④ 产出内容 ⑤ 沉淀成资产
下载 PDF · 建 Zotero 条目 检索 · 精读 · 分析卡 主题分类 公众号 · 播客 · B 站 证据卡 · 主题池

入口是 Zotero 文献库;进入 Zotero 之前的情报采集由上游兄弟仓库 dailyinfo 负责。 现在是单个包 hydrolitagent,共用一份 .venv 与 uv.lock。

在线文档 · 详细能力表见 README-zh.md;文档源码在 docs/。

怎么用

打开本项目文件夹,用一个编码 agent 让它替你干活。

「本项目文件夹」就是你 git clone 下来的 mylibrary 目录。在这个目录里开一个编码 agent —— Claude Code · Codex · workbuddy,你顺手哪个都行 —— 然后说人话:

「把 10.1038/s41586-024-07145-1 下载并入库」 · 「把《某某》这篇做成卡」 · 「看看能聚出哪些主题」

⚠️ 一定要在 mylibrary 目录里操作。 所有命令与产物路径都以它为基准;在别处(比如用户主目录) 运行会找不到依赖,产物也会落到错误的位置。新开终端先回到这里:

cd /path/to/mylibrary

开工前先配好这些

你要做的 先得有
所有能力 Git · Python 3.12–3.14 · uv · uv sync --all-packages
读 / 写 Zotero 库 Zotero API key(放 .env)
文献卡与主题卡 Zotero 桌面版开着,并在设置里允许其他应用通信 · 一个已登录的 AI 命令行工具(Codex 或 Claude) · 读论文 PDF 页面用的小工具 Poppler
论文入库 论文 PDF 所在的 GDrive 目录 + Zotero 里对应的「链接附件根目录」设置

逐条说明与凭据清单见 前提与配置 —— 配一次就够。

能让 agent 做什么

配好之后,多数事直接说人话就行:

你对 agent 说 会发生什么 详情
「把这篇论文下载并入库」 DOI / arXiv / 标题 → 下载 PDF → 建 Zotero 条目 + linked_file 附件 论文入库流水线
「去我的库里找找 X 相关的文献」 搜 / 读 Zotero 库(含全文、附件与批注) MCP Server 工具
「把这批论文精读成分析卡 / 出一期公众号+播客」 每周综述:精读全文 → 分析卡 → 主题聚类 → 文章 → 播客 文献深度处理
「把《某某》这篇做成卡」 从你的 Zotero 找到它 → 读 PDF → 出主体卡草稿 → 代码校验 文献卡与主题卡
「这几篇都做一下」 同一条链路逐篇跑,一篇失败不拖累其余 单篇论文输入
「看看能聚出哪些主题」 由已有的文献卡生成候选主题、必要时定向精读并回填 统一主题池
「主题池现在什么样」 报当前候选与历史版本 统一主题池
「当前用哪个模型 / 产物放哪」 报模型选择与产物落点,不调模型 运行维护

前三行是入库与当期内容线;后五行是文献卡与主题卡线(底层是 uv run hydrolitagent cards … 的 5 条子命令)。无论哪条 —— 你不需要读那些详情页,只在想自己动手或排错时才去。

付费墙(SD / Wiley / Nature 等)的下载需要浏览器 + 机构会话,见论文 PDF 下载。

代码怎么组织(分三支 / Zotero 四种读法 / 目录地图 / 产物路径边界)见 模块架构 与 配置字段说明。

快速开始

git clone https://github.com/iHeadWater/mylibrary.git mylibrary
cd mylibrary
uv sync --all-packages --locked
cp .env.example .env      # 按需填 ZOTERO_API_KEY / ZOTERO_LIBRARY_ID / GDRIVE_PAPERS_PATH

上面只装了通用部分;每条能力额外要什么、凭据放哪,见前提与配置。

不用自己的论文也能先跑通入口(合成示例,不调用模型):

uv run python scripts/paper_validate.py --draft hydrolitagent/cards/assets/examples/subject-card-validation/draft.json --paper-input hydrolitagent/cards/assets/examples/subject-card-validation/paper-input.json --report-dir outputs/validation-demo

返回 status: PASS、退出码 0 即入口可用。不要把文档里的预期结果当成实际输出。

文献卡与主题卡(Windows)

配好之后跟 agent 说「把《某某》这篇做成卡」即可。自己敲是这 5 条:

uv run hydrolitagent cards paper-input --user-library --item-key ABCD1234 --json
uv run hydrolitagent cards evidence-generate --paper-input paper-input.json --ai-provider codex --json
uv run hydrolitagent cards evidence-validate --draft <草稿目录>/draft.json --paper-input paper-input.json --json
uv run hydrolitagent cards themes-run --json
uv run hydrolitagent cards ai-config --json          # 看模型选择与产物落点

--ai-provider 只接受 claude 或 codex —— 它选的是命令行适配器,不是模型厂家; 用哪种模型由那个 CLI 自己的配置决定。详见文献卡与主题卡(你通常不需要读它)。

单篇本地流程不需要先填工具链的 Zotero Web API 密钥,也不需要启动 MCP Server。

其他工具链与批量自动化

git clone git@github.com:iHeadWater/mylibrary.git
cd mylibrary
uv sync --all-packages   # 装依赖(workspace 成员已并入 hydrolitagent/cards)
cp .env.example .env     # 填入 DEEPSEEK_API_KEY、ZOTERO_API_KEY、ZOTERO_LIBRARY_ID 等

本仓库只有一个包 —— uv sync 与 uv sync --all-packages 等价。

# 工具链:启动 12 个工具的 MCP Server(端口 8002)
uv run python -m hydrolitagent.zotero.server

# 工具链:下载论文并入库 —— DOI / arXiv ID / 标题 → 下载 PDF → Zotero 条目 + linked_file 附件
uv run python scripts/download_paper.py --setup-check                                  # 新机器先自检一次
uv run python scripts/download_paper.py --doi "10.1016/j.jhydrol.2023.130249" --sync
uv run python scripts/download_paper.py --arxiv 2501.08086 --sync

# 容器(myopenclaw hermes)里用打包好的流水线;逐条细节见 docs/user-guide/paper-pipeline.md
bash scripts/run_paper_pipeline.sh "10.1016/j.jhydrol.2023.130249"

# 文献卡平台:只读自查模型与产物根(Windows)
uv run hydrolitagent cards ai-config --json

# 证据卡与主题综合:先自测,再制卡
python skills/hydrology-evidence-cards/tests/self_test.py
python skills/hydrology-theme-synthesis/tests/self_test.py

文档与测试

uv run mkdocs serve     # 本地预览文档站
uv run pytest           # 一套测试:tests/(原平台测试已并入)

tests/test_zotero_local_api_integration.py 是依赖本机 Zotero 在线及特定文献样本的集成测试,不是所有新用户都能复现同一结果。本次环境有一项因指定样本只有一篇 PDF、测试要求至少两篇而失败。只验证平台代码可运行 uv run pytest;完整测试出现失败时应看具体原因,不把排除测试后的结果称为完整全绿。

许可

AGPL-3.0(© 2025 OuyangWenyu)—— 可自由使用、修改、分发,含商用; 但分发本软件、或把修改过的版本作为网络服务提供时,必须同样以 AGPL-3.0 提供完整源码。 详见 LICENSE。

About

水文水资源(Hydrology and Water Resources)文献知识库

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages