Proposal: OrcaRouter as an optional model provider for OpenTag
Los mantenedores suelen responder en 9 días
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 30/100
Línea de trabajo
Empieza en agent/agent.py, donde ChatOpenAI se configura a partir de variables de entorno, e inspecciona cómo use_responses_api=True afecta a la configuración actual del modelo. Aclara la configuración opcional del proveedor y las expectativas de compatibilidad antes de la implementación; la implementación debe preservar el valor predeterminado de OpenAI y el contrato existente de variables de entorno, a la vez que añade una selección de proveedor probada.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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.
- Lenguaje dominante
- Python
- Estrellas
- 1.3k
- Forks
- 138
- Merge medio
- 5 d 6 h
- PR fusionados (30 d)
- 9
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de CopilotKit/OpenTag
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
CopilotKit/OpenTag#86 ·
Los mantenedores suelen responder en 9 días
-
Approval card shows Python repr for list arguments that contain objectsPosiblemente ocupada @RaphaelFakhri la tomó hace 6 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 25/100
CopilotKit/OpenTag#90 ·
Los mantenedores suelen responder en 9 días
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
CopilotKit/OpenTag#76 ·
Los mantenedores suelen responder en 9 días
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
CopilotKit/OpenTag#72 ·
Los mantenedores suelen responder en 9 días
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
CopilotKit/OpenTag#36 ·
Los mantenedores suelen responder en 9 días
Todos los issues de CopilotKit/OpenTag
Issues similares
-
link-rot
Dificultad 1/5 Menos de una hora Aptitud para principiantes 67/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
developmentseed/titiler-cmr#265 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
Insecure Brotli version <1.2.1Posiblemente ocupada @jamescw19 la tomó hoy. Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
stac-utils/stac-fastapi-pgstac#438 · 1 reacción ·
-
bug triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
Los mantenedores suelen responder en 1 día