# 资料馆 · 产品定位 > 一句话:**AI 干完活之后,东西去哪了?** 资料馆就是那个"去哪了"。 ## 要解决的问题 我们写的代码、生成的文档、做的 PPT、出的图、找到的网页、读的论文—— **散落在磁盘各处,AI 每次产出都得重新找一遍**。 已有的文件夹(`saved-images/`、`outputs/`、`dist/`、`Downloads/`…)不会自己变成"可检索的知识"。 ## 三个入口 资料馆只干三件事:**收进来、归一化、找得到**。 ### ① 产物入口(核心) > AI 产出的东西,自动/一键进库 | 来源 | 例子 | |---|---| | 对话里生成的图片 | `saved-images/*.png` | | 生成的文档 | `*.md`、`*.docx`、`*.pdf` | | 做完的 PPT | `*.pptx`、Univer slide | | 代码产物 | 编译出的 demo、截图、日志 | **要求**: - 一次扫描一个目录 → 批量建条目 - **按项目分组**(游戏项目 / 论文项目 / 资料库本身…) - 文件复制或移动到 `items/artifacts/<项目>/`,**原件保留** - 自动识别类型(图片/PDF/Office/Markdown) ### ② 网页入口 > 搜到好用的网站,别只留在浏览器历史里 - `library_save_url(url)` → 抓标题/摘要/正文快照 → 建条目 + 本地 md 快照 - web_search 给的链接可以直接丢进来 - 面板里能内嵌打开(iframe),也能看快照 ### ③ 文献入口 > 论文不该是一条条 URL,而是归一化的条目 **归一化字段**: ``` title / authors / year / venue / doi / arxivId / url / pdf ``` - 从 arXiv、Crossref、Semantic Scholar 拉元数据 - 同一篇论文的"原文 PDF / 中文翻译 / 我的笔记"作为**变体**挂在同一条目下 - 全文可搜(已有 pdf.js 抽取 + `.cache/text` 缓存) ## 三条设计约束 1. **原件不动**:入库是"登记 + 复制",绝不移动/删除源文件 2. **可撤销**:所有编辑器/工具写入都进 `user-items.json`,删掉即可回到原始状态 3. **可离线**:除了抓网页和拉文献元数据,其余全部本地 ## 已经有的 / 还缺的 | 能力 | 状态 | |---|---| | 面板(树 + 卡片 + 预览 + pdf.js) | ✅ 已有 | | 条目编辑器(新建/编辑/删除/拖拽分组) | ✅ 已有 | | 全文搜索(md/txt/pdf 正文 + 提示词) | ✅ 已有(`library_search` fulltext) | | 网页入库(`library_save_url`) | ✅ 已有 | | 论文翻译(PDFMathTranslate,保留排版) | ✅ 已接,依赖 Docker(可选) | | **产物批量入库(扫描目录 → 条目)** | ⬜ **缺** | | **论文元数据归一化(arXiv/DOI → 字段)** | ⬜ **缺** | | **自动入库(AI 产出后自动登记)** | ⬜ **缺** | ## 路线 ``` 第一步 产物批量入库(library_import) ← 先让"东西能进来" 第二步 论文归一化(library_paper) ← 再让"文献有结构" 第三步 自动入库(生成后自动登记) ← 最后让"不用手动" ```