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.
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.