feat(ai): first-class multi-provider support (native Anthropic and Gemini)
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 35/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Quiet
- Tech stack
- java
- Domain
- ai, backend-api-design
Research direction
Start by reading the provider configuration around quarkus.langchain4j.openai.* and the @RegisterAiService setup, then trace the existing streaming, observability, token accounting, and native build paths. The issue identifies generalized cost accounting as a dependency; review that work first. Done means Anthropic and native Gemini can be selected by configuration, their provider-specific usage and capabilities are handled, and both extensions pass the GraalVM native build.
Written by the indexing model from the issue text.
Description
Problem Statement
The bot reaches the model only through quarkus-langchain4j-openai, configured under the quarkus.langchain4j.openai.* namespace with a single @RegisterAiService. Anthropic's Messages API is not OpenAI-compatible, and Gemini's native API exposes capabilities (safety settings, thinking budget, explicit caching, richer usage with cached/thinking token counts) that the OpenAI-compatible path cannot pass through a typed client. First-class providers would unlock accurate cost, tunable safety, and better review quality.
Proposed Solution
Introduce a pluggable provider-selection mechanism (build-time/runtime), add quarkus-langchain4j-anthropic and a native Gemini binding, select the active provider by config, and generalize the streaming/observability/token-accounting layers (already on generic LangChain4j interfaces) to cover them. Validate each provider extension in the GraalVM native build. Depends on generalized cost accounting.
Alternatives Considered
- Route Anthropic/Gemini through an OpenAI-compatible gateway — works today with zero code, but loses native cost/safety/thinking fidelity.
Priority
Important
Code of Conduct
- I have searched for existing issues and this is not a duplicate.
- Dominant language
- Java
- Stars
- 35
- Forks
- 7
- Avg merge
- 9h 32m
- Merged PRs (30d)
- 144
Getting set up
- Ships a 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 devops-thiago/ThrillhouseBot
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
devops-thiago/ThrillhouseBot#1093 ·
Maintainers usually reply within 1 day
-
documentation enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
devops-thiago/ThrillhouseBot#321 ·
Maintainers usually reply within 1 day
-
documentation
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
devops-thiago/ThrillhouseBot#46 ·
Maintainers usually reply within 1 day
-
fix(review): preserve tilde-fenced code during path screeningPossibly taken @devops-thiago claimed this today. Openbug java
Difficulty 4/5 1-2 days Newbie friendliness 35/100
devops-thiago/ThrillhouseBot#1111 · 1 comment ·
Maintainers usually reply within 1 day
-
fix(review): exclude TAP TODO and SKIP results from CI failuresPossibly taken @devops-thiago claimed this today. Openbug java
Difficulty 3/5 1-2 days Newbie friendliness 35/100
devops-thiago/ThrillhouseBot#1110 · 1 comment ·
Maintainers usually reply within 1 day
All issues in devops-thiago/ThrillhouseBot
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
Maintainers usually reply within 4 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
objectionary/lints#1556 ·
Maintainers usually reply within 3 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
wildfly/wildfly-launcher#99 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
apache/rocketmq#11427 · 2 comments ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
Maintainers usually reply within 1 day