feat: document llmman as a local AI server alternative to Ollama - #8990
ericcurtin wants to merge 1 commit into
Conversation
Reviewer's guide (collapsed on small PRs)Reviewer's GuideThis documentation-focused PR exposes llmman as a selectable Ollama-compatible server through the existing Local AI configuration, adds an explicit warning about its missing embedding endpoint, and updates user-facing provider text without introducing a second implementation. File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
|
|
There was a problem hiding this comment.
Hey - I've found 1 issue
Prompt for AI Agents
Please address the comments from this code review:
## Individual Comments
### Comment 1
<location path="frontend/appflowy_flutter/lib/workspace/application/settings/ai/ollama_setting_bloc.dart" line_range="236" />
<code_context>
content: serverUrl,
- hintText: 'http://localhost:11434',
+ hintText:
+ '$kDefaultOllamaServerUrl (Ollama) or $kDefaultLlmmanServerUrl (llmman)',
settingType: SettingType.serverUrl,
),
</code_context>
<issue_to_address>
**issue (broader_impact):** Pointing the setting at llmman does not provide a usable chat-only configuration: `update_local_ai_setting` validates both the chat and embedding models through `/api/tags`, and the embedding scheduler continues to call Ollama `/api/embed`. A llmman setup without the required embedding model is rejected when the URL is saved, while a setup that passes model validation fails when indexing or search invokes embeddings, so the UI hint and documentation present llmman as a drop-in without explaining that the existing Local AI path can block or fail the entire configuration.
**Triggers:** When a user configures llmman with its supported chat models and attempts to save the setting or use local AI search/indexing.
**Suggested fix:** Either allow a chat-only llmman configuration without requiring the embedding model, or explicitly state in the UI that llmman cannot currently be used for AppFlowy Local AI until the embedding path is implemented.
```suggestion
'$kDefaultOllamaServerUrl (Ollama); llmman cannot currently be used for AppFlowy Local AI until the embedding path is implemented',
```
</issue_to_address>Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.
| content: serverUrl, | ||
| hintText: 'http://localhost:11434', | ||
| hintText: | ||
| '$kDefaultOllamaServerUrl (Ollama) or $kDefaultLlmmanServerUrl (llmman)', |
There was a problem hiding this comment.
issue (broader_impact): Pointing the setting at llmman does not provide a usable chat-only configuration: update_local_ai_setting validates both the chat and embedding models through /api/tags, and the embedding scheduler continues to call Ollama /api/embed. A llmman setup without the required embedding model is rejected when the URL is saved, while a setup that passes model validation fails when indexing or search invokes embeddings, so the UI hint and documentation present llmman as a drop-in without explaining that the existing Local AI path can block or fail the entire configuration.
Triggers: When a user configures llmman with its supported chat models and attempts to save the setting or use local AI search/indexing.
Suggested fix: Either allow a chat-only llmman configuration without requiring the embedding model, or explicitly state in the UI that llmman cannot currently be used for AppFlowy Local AI until the embedding path is implemented.
| '$kDefaultOllamaServerUrl (Ollama) or $kDefaultLlmmanServerUrl (llmman)', | |
| '$kDefaultOllamaServerUrl (Ollama); llmman cannot currently be used for AppFlowy Local AI until the embedding path is implemented', |
llmman (https://github.com/llmmanorg/llmman) serves the Ollama API on port 17434, so Local AI already works against it by changing the server url, but nothing in the app made that discoverable. - Add kDefaultOllamaServerUrl / kDefaultLlmmanServerUrl and show both in the server url hint. - Note on LocalAISetting.ollama_server_url that any Ollama-API server works; mention llmman next to Ollama in the en-US settings text.
Adds llmman, a local model runner that serves the Ollama API on port 17434, as a documented alternative to Ollama for Local AI.
ollama_setting_bloc.dart: addkDefaultOllamaServerUrl/kDefaultLlmmanServerUrland show both in the server-url hint. The existingOllamaSettingBlocand RustLocalAIControllerare reused unchanged, so there is no second provider code path.controller.rs: doc comment onLocalAISetting.ollama_server_urlnoting any Ollama-API server works.en-US.json: mention llmman alongside Ollama inaiSettingsDescription(source locale only; others are managed via Fink).Testing:
rustfmt --check(reporustfmt.toml) oncontroller.rsclean;en-US.jsonparses;dart formatleaves the edited lines unchanged. Not run:flutter analyze/flutter test(no pinned Flutter SDK locally).PR Checklist
Summary by Sourcery
Support llmman as an alternative Ollama-compatible local AI server.
New Features:
Enhancements:
Documentation: