Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

Proposal: OrcaRouter as an optional model provider for OpenTag

Aberta
#69 0 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 9 dias

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
5/5
Tempo estimado
Mais de uma semana
Facilidade para iniciantes
30/100
Tipo de issue
Funcionalidade
Clareza
Precisa de esclarecimento
Status de atividade
Ativa
Stack de tecnologia
python
Domínio
ai, api, backend

Direção de pesquisa

Comece em agent/agent.py, onde ChatOpenAI é configurado a partir de variáveis de ambiente, e inspecione como use_responses_api=True afeta a configuração atual do modelo. Esclareça a configuração opcional do provedor e as expectativas de compatibilidade antes da implementação; a implementação deve preservar o padrão da OpenAI e o contrato existente das variáveis de ambiente, além de adicionar uma seleção de provedor testada.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

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.

Linguagem predominante
Python
Estrelas
1.3k
Forks
138
Merge médio
5d 6h
PRs com merge (30d)
9

Preparar o ambiente

Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de CopilotKit/OpenTag

Todas as issues de CopilotKit/OpenTag

Issues semelhantes

Mais issues de Python

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.