Proposal: OrcaRouter as an optional model provider for OpenTag
Les mainteneurs répondent en général sous 9 jours
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 30/100
Piste de recherche
Commencez dans agent/agent.py, où ChatOpenAI est configuré à partir de variables d’environnement, et examinez comment use_responses_api=True affecte la configuration actuelle du modèle. Clarifiez la configuration facultative du fournisseur et les attentes en matière de compatibilité avant l’implémentation ; l’implémentation doit préserver le comportement par défaut d’OpenAI et le contrat existant des variables d’environnement, tout en ajoutant une sélection de fournisseur testée.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
OpenTag is a refreshingly concrete thing to ship: a self-hosted, deployable knowledge-work agent that does the work where the team already is — in the Slack or Teams thread. I particularly like the human-in-the-loop design, where a Linear or Notion write pauses behind an approval gate and research comes back as a cited brief with a chart inline, so the bot feels like a careful colleague rather than a firehose.
Because OpenTag is built to be forked and pointed at your own agent, the model behind it is a real decision for each adopting team. Today agent/agent.py wires a single OpenAI model from OPENAI_API_KEY and OPENAI_MODEL; forks may want to pick which model handles routine triage versus deep research without rewriting the graph.
I'd like to propose adding OrcaRouter as an optional provider for OpenTag — an additional choice, not a replacement; the OpenAI default and the env-var contract stay as they are. OrcaRouter exposes an OpenAI-compatible API and uses standard API-key authentication. For a fork-and-ship project like this, the useful parts are: many chat and reasoning models behind one endpoint, so a cheap/fast model can handle routine triage while a reasoning model does deep research without changing the graph; automatic routing with provider failover, which matters for an on-call bot where an outage should not silently drop a Slack mention; and usage tracking with per-team budgets when a whole workspace shares one bot.
Where it would plug in: agent/agent.py builds its model through LangChain's ChatOpenAI entirely from environment variables, so an OrcaRouter option would most plausibly be an optional model/base-URL configuration beside OPENAI_API_KEY. The agent currently targets the OpenAI Responses API (use_responses_api=True); how an OpenAI-compatible provider slot should fit that is exactly what I'd want your opinion on before writing anything — nothing here is implemented or tested.
OrcaRouter is also appearing across the open-source ecosystem — projects such as RAGFlow, Dify, and NocoBase integrate with it (see https://www.orcarouter.ai/built-with). One transparency note: OrcaRouter runs an optional open-source partner program under which approved projects can receive a 5% revenue share from usage attributed to their integration. Participation is not a prerequisite for integrating, and I'd happily follow any disclosure or governance rules this repo prefers.
I'm an engineer on the OrcaRouter team. If maintainers think an optional provider slot fits OpenTag's goals, I'd be glad to submit an implementation PR for review; if not, I'd still welcome your thoughts. Thanks for building something teams can actually fork and ship.
- Langage dominant
- Python
- Étoiles
- 1.3k
- Forks
- 138
- Merge moyen
- 5 j 6 h
- PR mergées (30 j)
- 9
Préparer son environnement
Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de CopilotKit/OpenTag
-
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
CopilotKit/OpenTag#86 ·
Les mainteneurs répondent en général sous 9 jours
-
Approval card shows Python repr for list arguments that contain objectsPeut-être pris @RaphaelFakhri l’a pris il y a 6 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 25/100
CopilotKit/OpenTag#90 ·
Les mainteneurs répondent en général sous 9 jours
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
CopilotKit/OpenTag#76 ·
Les mainteneurs répondent en général sous 9 jours
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 35/100
CopilotKit/OpenTag#72 ·
Les mainteneurs répondent en général sous 9 jours
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
CopilotKit/OpenTag#36 ·
Les mainteneurs répondent en général sous 9 jours
Toutes les issues de CopilotKit/OpenTag
Issues similaires
-
[Resource] agent-claimcheckOuverte
Difficulté 1/5 Moins d'une heure Accessibilité débutants 85/100
yzhao062/awesome-auditable-ai#45 ·
Les mainteneurs répondent en général sous 3 jours
-
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
NVIDIA/flare-local-inference#90 ·
Les mainteneurs répondent en général sous 1 jour
-
area/streaming comp/gateway P2 platform/telegram type/bug
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
NousResearch/hermes-agent#144897 ·
Les mainteneurs répondent en général sous 1 jour
-
request-theme
Difficulté 1/5 Moins d'une heure Accessibilité débutants 66/100
LizardByte/ThemerrDB#9575 ·
Les mainteneurs répondent en général sous 1 jour