Organizer 扫描
- 作者仓库星标 49
- 许可证 Apache-2.0
- 作者仓库 Insurance-Skills
Scan Organizer
Processes scanned PDFs — extracts text (Docling + vision OCR), classifies by category using an LLM, and organizes into subfolders with markdown and metadata sidecars. Works with any OpenAI-compatible API (Ollama, OpenAI, OpenRouter, etc.).
Categories
medical, financial, insurance, tax, legal, personal, household, other
Commands
Run from the scan-organizer project directory.
Process new scans
uv run scan-organizer process
Dry run (classify without moving)
uv run scan-organizer process --dry-run
Process a single file
uv run scan-organizer process --file /path/to/scan.pdf
Force re-process all (including already processed)
uv run scan-organizer process --force
Check inbox status
uv run scan-organizer status
Undo a processed file (move back to inbox)
uv run scan-organizer undo <filename>
Reclassify a file
uv run scan-organizer reclass <filename>
Output Format
All commands output JSON to stdout. Progress messages go to stderr.
Process output
{"processed": 3, "skipped": 7, "errors": 0, "results": [{"file": "...", "category": "medical", "title": "...", "destination": "..."}]}
Status output
{"inbox_count": 10, "unprocessed": 3, "already_processed": 7, "categories": {"medical": 2, "financial": 3}}
Architecture
- Extract — Docling parses PDF structure and native text
- OCR — Pages with sparse text are rendered to PNG and sent to a vision model
- Classify — Merged text sent to a language model for categorization
- Organize — PDF moved to
<scans_dir>/<category>/,.md+.meta.jsonsidecars written
File Organization
<scans_dir>/
medical/
2025-12-20_lab-results_0003.pdf
2025-12-20_lab-results_0003.md
2025-12-20_lab-results_0003.meta.json
financial/
...
.manifest.json <- tracks all moves for undo
Tips
- Run
statusfirst to see how many unprocessed scans are in the inbox - Use
--dry-runto preview classifications before moving files - The manifest tracks all moves for auditability
- If a classification is wrong, use
reclassto undo and re-process
- 流狐分类
- 通用
- 作者声明 Agent
- 未找到明确声明;不据此推断已兼容或已测试
- 静态检查
- 94 / 100 · 启发式扫描,不代表运行安全
- 作者 / 版本 / 许可
- @FDU-INS · Apache-2.0
- 流狐 Token 估算
- 低消耗
- 流狐接入估算
- 即装即用
- 是否需要外部 API Key
- 未发现要求
- 检测到的系统要求
- 未声明
- 底层运行要求
- 未声明
- 检测到的文件与系统行为
-
- 只读
- 检测到的网络行为
- 仅限本地
- 安装命令数
- 无(仅作为资料)
档案由构建时根据 SKILL.md 与安装命令自动衍生,可能与作者实际意图存在差异。
需要注意: 未限定 allowed-tools,默认拥有全部工具权限。
# Process output
{"processed": 3, "skipped": 7, "errors": 0, "results": [{"file": "...", "category": "medical", "title": "...", "destination": "..."}]} Process new scans
Process new scans
Process a single file
Process a single file
Force re-process all (including already processed)
Force re-process all (including already processed)
Undo a processed file (move back to inbox)
Undo a processed file (move back to inbox)
# Scan Organizer
Processes scanned PDFs — extracts text (Docling + vision OCR), classifies by category using an LLM, and organizes into subfolders with markdown and metadata sidecars. Works with any OpenAI-compatible API (Ollama, OpenAI, OpenRouter, etc.).
## Categories
`medical`, `financial`, `insurance`, `tax`, `legal`, `personal`, `household`, `other`
## Commands
Run from the scan-organizer project directory.
### Process new scans
```bash
uv run scan-organizer process
```
### Dry run (classify without moving)
```bash
uv run scan-organizer process --dry-run
```
### Process a single file
```bash
uv run scan-organizer process --file /path/to/scan.pdf
```
### Force re-process all (including already processed)
```bash
uv run scan-organizer process --force
```
### Check inbox status
```bash
uv run scan-organizer status
```
### Undo a processed file (move back to inbox)
```bash
uv run scan-organizer undo <filename>
```
### Reclassify a file
```bash
uv run scan-organizer reclass <filename>
```
## Output Format
All commands output JSON to stdout. Progress messages go to stderr.
### Process output
```json
{"processed": 3, "skipped": 7, "errors": 0, "results": [{"file": "...", "category": "medical", "title": "...", "destination": "..."}]}
```
### Status output
```json
{"inbox_count": 10, "unprocessed": 3, "already_processed": 7, "categories": {"medical": 2, "financial": 3}}
```
## Architecture
1. **Extract** — Docling parses PDF structure and native text
2. **OCR** — Pages with sparse text are rendered to PNG and sent to a vision model
3. **Classify** — Merged text sent to a language model for categorization
4. **Organize** — PDF moved to `<scans_dir>/<category>/`, `.md` + `.meta.json` sidecars written
## File Organization
```
<scans_dir>/
medical/
… 证据边界与执行链路
作者原文负责流程事实;流狐只索引当前章节、要点、文件与命令。
章节 -> Categories → Commands → Process new scans → Dry run (classify without moving) → Process a single file → Force re-process all (including already processed)
要点 -> Extract · OCR · Classify · Organize
文件/命令 -> medical · financial · insurance · tax · legal · personal · household · other
内容 SHA-256 -> 8b457407f30f
方法与流程
适用与边界
原文中的明确线索
medical、financial、insurance、tax、legal、personal、household、other