v0.4.0
shadowsocks/shadowsocks-windowsv0.4.0Nov 9, 2025by github-actions[bot]
AI Summary
Adds the PaddleOCR-VL backend as an alternative to DeepSeek-OCR, implements lazy loading for faster startup, and adds comprehensive sampling controls for both server and CLI. Common utilities were refactored into a shared core crate.
Key Highlights
- New PaddleOCR-VL backend support
- Lazy loading of weights to reduce startup time
- New sampling controls (--do-sample, --temperature, --top-p, etc.)
- Refactoring of common utilities into deepseek-ocr-core
New Features
- PaddleOCR-VL backend support
- Lazy loading
- Server/CLI sampling controls
- Model-aware prompts
- Common utilities moved to deepseek-ocr-core
Full Release Notes
## New Features - `PaddleOCR‑VL` backend (SigLIP + Ernie 0.9B with FlashAttention) is now selectable alongside `DeepSeek‑OCR`. Documentation covers model switching and architecture/memory differences. - Model-aware prompts with bilingual Markdown feedback when requests omit <image> placeholders. - Lazy loading: the server defers weight mmap until the first request, reducing startup time. - Server/CLI sampling controls: `--do-sample`, `--temperature`, `--top-p`, `--top-k`, `--repetition-penalty`, and `--no-repeat-ngram-size` are now recognized across both entry points. ## Improvements - Common utilities (token sampling, embedding gathers, transformer KV cache) moved into deepseek-ocr-core, trimming duplication between DeepSeek and Paddle crates. - Documentation clarifies multi-model selection, DeepSeek-only dynamic crop mode, bilingual terminology, and per-flag behavior. - CLI/Server prompt builders choose the correct format per model, improving output quality without manual tweaks. ## Bug Fixes - ModelScope provider now respects arbitrary repo IDs and exact file paths, fixing Paddle asset downloads that previously fetched the wrong config.json. - Requests without images no longer throw transport errors; both sync and streaming responses return a structured bilingual warning instead. - Prompt/image mismatches surface as normal assistant replies instead of opaque “prompt formatting failed” errors, keeping clients compatible with standard OpenAI flows.