feat: manage local LLM / image-gen servers (Ollama, llama.cpp, vLLM, MLX, ComfyUI)
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
Research direction
Start with the planned Rust crate, discovery layer, and Ollama support, then trace the app's ServerFuncBtn entry and the monitor agent's /llm/* endpoints. Review how the shared layer is used by the app and web panel; done means the phased backend management flow, model handling, and panel integration described in the plan are implemented.
Written by the indexing model from the issue text.
Description
Manage inference servers running on a host (or this device via Spi.local), including their models.
Approach
- Shared Rust layer, used by both the app (FFI) and the web panel (monitor agent):
- sans-IO clients per backend: build requests, parse responses into one normalized model (endpoint, models, loaded/running, VRAM, pull progress).
- discovery: fingerprint known ports (
GET /Ollama,/propsllama.cpp,/versionvLLM,/system_statsComfyUI; MLX by process cmdline). - HF cache scan/delete (shared by vLLM, MLX, llama.cpp
-hf).
- Transport
- App over SSH:
ServerTcpDialerto127.0.0.1:<port>, no port exposed; Rust parses. - Monitor agent: new
/llm/*endpoints calling the backends locally; web panel and monitor-only servers use these.
- App over SSH:
- Lifecycle (start/stop/restart) reuses existing systemd / container / launchd management.
Backends
| Backend | Model management | Notes |
|---|---|---|
| Ollama | full API: tags, ps, pull (NDJSON progress), delete, show, unload | |
| llama.cpp | router mode: /models, /models/load, /models/unload, /models/sse, download/delete (recent builds) |
single-model mode read-only |
| ComfyUI | /system_stats, /queue, /interrupt, /free, /api/experiment/models/{folder}; files via exec |
no core download API |
MLX (mlx_lm.server) |
HF cache | macOS only |
| vLLM | /health, /metrics, /v1/models, HF cache, optional LoRA |
one model per process; switching = restart with new args |
Plan
- Rust crate + discovery + Ollama; monitor
/llm/*; appServerFuncBtnentry + page. - llama.cpp + shared HF cache module.
- ComfyUI + MLX.
- vLLM.
- Web panel views.
Open questions
- Manual endpoints and API keys (
--api-keyon llama-server / vLLM) need a new table; v1 could be discovery-only. - Editing launch config to switch models (vLLM, single-mode llama.cpp): out of scope for v1.
- Optional: add a discovered endpoint as an Agent (fl_pi_llm) provider.
- Dominant language
- Dart
- Stars
- 8.9k
- Forks
- 573
- Avg merge
- 2h 11m
- Merged PRs (30d)
- 134
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from lollipopkit/flutter_server_box
-
优化建议Openenhancement feature
Difficulty 4/5 3-5 days Newbie friendliness 30/100
lollipopkit/flutter_server_box#1829 · 2 comments · 1 reaction ·
Maintainers usually reply within 1 day
-
feature
Difficulty 4/5 3-5 days Newbie friendliness 45/100
lollipopkit/flutter_server_box#1827 · 1 comment · 1 reaction ·
Maintainers usually reply within 1 day
-
bug
Difficulty 3/5 1-2 days Newbie friendliness 58/100
lollipopkit/flutter_server_box#1808 · 4 comments · 1 reaction ·
Maintainers usually reply within 1 day
-
bug
Difficulty 4/5 3-5 days Newbie friendliness 36/100
lollipopkit/flutter_server_box#1798 · 6 comments · 1 reaction ·
Maintainers usually reply within 1 day
-
bug invalid
Difficulty 3/5 1-2 days Newbie friendliness 35/100
lollipopkit/flutter_server_box#1784 · 12 comments · 2 reactions ·
Maintainers usually reply within 1 day
All issues in lollipopkit/flutter_server_box
Similar issues
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
chriskelly/wish-together#102 ·
Maintainers usually reply within 1 day
-
area/adaptivity kind/task priority/p1
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 60/100
spotiflacapp/SpotiFLAC-Mobile#783 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 72/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
Maintainers usually reply within 1 day