Skip to content

feat: dynamic dropdown YACL controller for provider selection - Removed @AutoGen from sttProvider/llmProvider/ttsProvider/liveBundleProvider - Added buildProviderSelectionCategory() building dropdowns from registry - Added createConfigScreen() merging auto-gen + provider selection tabs - Updated McTalking.java forge and neoforge to use new screen factory - #132

Open
sshcrack wants to merge 3 commits into
mainfrom
local-llm-support

Conversation

@sshcrack

Copy link
Copy Markdown
Owner

No description provided.

sshbot added 3 commits June 20, 2026 22:11
…g + local-ai-lib)

- :api subproject: AiProvider, ProviderSelection, LiveSession, AiProviderRegistry
- SessionFactory + GeminiGameSession/CitizenGameSession/LocalComposableSession
- Provider selection config fields + en_us.json translations
- ConversationManager: dual-path support (old GeminiWsClient + new gameSessions)
- McTalkingVoicechatPlugin: handle game session audio input
- local-ai-library: composite build enabled + stub providers
- Build: implementation(project(:api)), compileOnly gemini_live_lib, local_ai_lib dep
… architecture

- LlmFallback utility: tries configured LLM provider, falls back through
  registry providers with configurable timeout
- MemoryCompactionService: startProviderLlmCompaction path when provider
  architecture is configured, falls back to existing Flash/Live modes
- CitizenMemoryGenerator: tries LLM provider first, falls back to GeminiFlash
- PlayerConversationMemoryGenerator: same pattern
- Removed @Autogen from sttProvider/llmProvider/ttsProvider/liveBundleProvider
- Added buildProviderSelectionCategory() building dropdowns from registry
- Added createConfigScreen() merging auto-gen + provider selection tabs
- Updated McTalking.java forge and neoforge to use new screen factory
public enum Capability {
STT,
LLM,
TTS,

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do a tts fast as well (for like live conversations and one for the dialog generator)

String sttProviderId,
String llmProviderId,
String ttsProviderId,
String liveBundleProviderId

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also don't require a live model. Instead it should be also possible to select like a conversation pipeline with it having Stt and then to tts and then played back you know

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I want you to categorize models for like conversations, dialog Generation etc

Comment thread build.forge.gradle.kts
forgeLikeVersionRange = "[${prop("deps.minecolonies_version")},)"
}
required("gemini_live_lib") {
optional("gemini_live_lib") {

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Still make it required so it works for newest players

Comment thread build.neoforge.gradle.kts
forgeLikeVersionRange = "[${prop("deps.minecolonies_version")},)"
}
required("gemini_live_lib") {
optional("gemini_live_lib") {

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here as well

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants