diff --git a/sources/seafile.md b/sources/seafile.md new file mode 100644 index 0000000..8f867ec --- /dev/null +++ b/sources/seafile.md @@ -0,0 +1,77 @@ +# SeaFile 大文件存储索引 (2026-07-16 接通) + +> 数据源: SeaFile (http://10.10.10.254:9898/) 4 个资料库 +> 用途: MiniMax code / Hermes 跨 agent 上传 / 分享 / 删除文件 +> 更新: 手动 (SeaFile 无内置 connector, 走 API 直查) + +## 配置 (v1.2 skill, 2026-07-16) + +| 项目 | 值 | +|---|---| +| **API 端口** | `9898` (内网) — ⚠️ 5000 是 Web UI 反代, 不是 API | +| **API 端点** | `http://10.10.10.254:9898/api2/` | +| **公网域名** | `https://fb.biokingdom.top` (用于公网 share-link) | +| **Token** | `eecfeac1c9ff756ccbb3fefc219355985a1af73c` (40 字符, 权限齐全) | +| **Auth Header** | `Authorization: Token {token}` | + +## 4 个资料库 (Repo ID) + +| 资料库 | Repo ID | 用途 | 实测文件数 | +|---|---|---|---| +| **文献库** | `b845bc08-939d-4316-934e-d661a14e7724` | PDF + 精读配图 | **9085** (2026-07-16 实测) | +| **产品库** | `5170c8b3-3c56-4092-bd19-d9776bf9cce0` | 手册/规格书 | ? | +| **汇佰生物** | `e99f456e-206b-4649-9de4-61a6d9ff0b12` | 汇佰相关 | ? | +| **普瑞麦迪** | `537282e8-11ca-4b68-9f16-7c4e56976cf2` | 普瑞麦迪相关 | ? | + +## 端到端实测 (2026-07-16 23:18) + +``` +1. Wrote test file: /tmp/openwiki_seafile_test.txt +2. Got upload-link: 9898/seafhttp/upload-api/5f84391c... +3. Upload: HTTP 200, file_id: fcea6738ddb1c2be... +4. List dir: 9085 files, test file in list: True +5. Share-link: HTTP 201 + URL: http://10.10.10.254:9898/f/8416206c.../?raw=1 + Verify: HTTP 200, text/plain 48 bytes ✓ +6. Delete: HTTP 200 +7. List after: test file gone: True ✓ +``` + +## 跟 OpenWiki 其他源的关系 + +| 源 | 看什么 | +|---|---| +| `sources/seafile.md` (本文件) | 文件存储 + share-link | +| `sources/wikijs.md` | 已发布的综述/手册 | +| `sources/literature.md` | 精读笔记 | +| `sources/ragflow.md` | 全文检索 | +| `sources/nocodb.md` | 结构化数据 | +| `sources/sales-ammunition.md` | CelVivo 销售弹药 | + +**互补关系**: SeaFile 是**大文件存储** (PDF/图), Wiki.js 是**已发布文档** (综述/HTML), NocoDB 是**元数据**. OpenWiki 是**跨 agent 索引**. + +## 跨 agent 触发场景 + +| 用户说 | 做什么 | +|---|---| +| "上传这个 PDF 到 SeaFile" | upload + return share-link | +| "给客户发这图" | upload + create public share-link | +| "SeaFile 里有什么" | list dir + show recent | +| "删 SeaFile 里的 X" | delete + verify | + +## 必读 skill (6+ 踩坑) + +**所有 SeaFile 任务** MiniMax code 必须先 `skill_view('seafile-util')` + 用 `scripts/upload.py`. 不要自己写 requests.post. + +**关键 6 个坑**: +1. 保留 `/seafhttp` 路径段 +2. share-link 公网 vs 内网 (公网 API 才稳定) +3. 同名覆盖 share-link 缓存陷阱 +4. 公网 SSL EOF 重试 +5. 替换 URL 静默失败 +6. MiniMax code 配图用内网 (同网段可读) + +## 跟 LDR / Wiki.js / OpenWiki 集成 + +- LDR 精读 → 配图上传 SeaFile → 嵌入 Wiki.js 文章 → MiniMax code 读 OpenWiki sources/ 引用 share-link +- 形成闭环: PDF → SeaFile (存储) → Wiki.js (发布) → OpenWiki (索引) → MiniMax code (查询) → Robin (客户) \ No newline at end of file