[PR #56] [MERGED] feat: add multi-model router support for OpenAI and OpenRouter #92

Closed
opened 2026-02-27 07:20:23 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/KeygraphHQ/shannon/pull/56
Author: @ajmallesh
Created: 1/20/2026
Status: Merged
Merged: 1/22/2026
Merged by: @ajmallesh

Base: mainHead: feat/model-router


📝 Commits (10+)

  • df06dad feat: add claude-code-router support for multi-model testing
  • 7303326 feat: add DeepSeek provider support for claude-code-router
  • 429b74c feat: add OpenRouter provider support for claude-code-router
  • f4e2b49 feat: add model tracking and reporting across pipeline
  • 5428422 fix: add universal billing error detection for router mode
  • f04244f revert: remove '402' billing pattern causing false positives
  • 3515bf5 refactor: simplify router to OpenAI and OpenRouter providers only
  • 6442525 docs: remove DeepSeek references from router mode documentation
  • 6db40b3 Merge branch 'main' into feat/model-router
  • 8e6bb76 docs: remove Gemini 3 Pro from supported router models

📊 Changes

17 files changed (+411 additions, -37 deletions)

View changed files

📝 .env.example (+26 -1)
📝 CLAUDE.md (+31 -0)
📝 README.md (+41 -2)
configs/router-config.json (+33 -0)
📝 docker-compose.yml (+31 -0)
📝 shannon (+40 -5)
📝 src/ai/claude-executor.ts (+23 -11)
📝 src/ai/message-handlers.ts (+12 -6)
src/ai/router-utils.ts (+34 -0)
📝 src/audit/audit-session.ts (+4 -3)
📝 src/audit/metrics-tracker.ts (+16 -5)
📝 src/phases/pre-recon.ts (+3 -3)
📝 src/phases/reporting.ts (+84 -0)
📝 src/temporal/activities.ts (+25 -1)
📝 src/temporal/query.ts (+3 -0)
📝 src/temporal/shared.ts (+1 -0)
📝 src/temporal/workflows.ts (+4 -0)

📄 Description

Summary

  • Add claude-code-router integration for routing Claude Agent SDK requests through alternative LLM providers
  • Support OpenAI (gpt-5.2, gpt-5-mini) and OpenRouter (google/gemini-3-pro-preview, google/gemini-3-flash-preview)
  • Add model tracking and cost reporting across the entire pipeline
  • Add billing error detection with automatic retry logic for router mode

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/KeygraphHQ/shannon/pull/56 **Author:** [@ajmallesh](https://github.com/ajmallesh) **Created:** 1/20/2026 **Status:** ✅ Merged **Merged:** 1/22/2026 **Merged by:** [@ajmallesh](https://github.com/ajmallesh) **Base:** `main` ← **Head:** `feat/model-router` --- ### 📝 Commits (10+) - [`df06dad`](https://github.com/KeygraphHQ/shannon/commit/df06dadaff28ea82be682de26322e4fa2eb39c13) feat: add claude-code-router support for multi-model testing - [`7303326`](https://github.com/KeygraphHQ/shannon/commit/7303326188e542428b7cfaeef22df61d44418e27) feat: add DeepSeek provider support for claude-code-router - [`429b74c`](https://github.com/KeygraphHQ/shannon/commit/429b74cff95fa8fcc0c668ad2efb9636fb318c77) feat: add OpenRouter provider support for claude-code-router - [`f4e2b49`](https://github.com/KeygraphHQ/shannon/commit/f4e2b49493d5253f59e6e944cf9c694b5e125360) feat: add model tracking and reporting across pipeline - [`5428422`](https://github.com/KeygraphHQ/shannon/commit/5428422b6ca90471ac2f41fd6fdc0b6a55636a8b) fix: add universal billing error detection for router mode - [`f04244f`](https://github.com/KeygraphHQ/shannon/commit/f04244f8f9b9b31f6526e1e5b6d96b5b6a11fb55) revert: remove '402' billing pattern causing false positives - [`3515bf5`](https://github.com/KeygraphHQ/shannon/commit/3515bf58ec48d221817e1f5636149514dcf17679) refactor: simplify router to OpenAI and OpenRouter providers only - [`6442525`](https://github.com/KeygraphHQ/shannon/commit/64425254aa662601c612a5ac6e769e5348e90c00) docs: remove DeepSeek references from router mode documentation - [`6db40b3`](https://github.com/KeygraphHQ/shannon/commit/6db40b34365127367c632e01db1f02fd60b7a817) Merge branch 'main' into feat/model-router - [`8e6bb76`](https://github.com/KeygraphHQ/shannon/commit/8e6bb7624f59156b7f6ef817d4bccff70c7f0edc) docs: remove Gemini 3 Pro from supported router models ### 📊 Changes **17 files changed** (+411 additions, -37 deletions) <details> <summary>View changed files</summary> 📝 `.env.example` (+26 -1) 📝 `CLAUDE.md` (+31 -0) 📝 `README.md` (+41 -2) ➕ `configs/router-config.json` (+33 -0) 📝 `docker-compose.yml` (+31 -0) 📝 `shannon` (+40 -5) 📝 `src/ai/claude-executor.ts` (+23 -11) 📝 `src/ai/message-handlers.ts` (+12 -6) ➕ `src/ai/router-utils.ts` (+34 -0) 📝 `src/audit/audit-session.ts` (+4 -3) 📝 `src/audit/metrics-tracker.ts` (+16 -5) 📝 `src/phases/pre-recon.ts` (+3 -3) 📝 `src/phases/reporting.ts` (+84 -0) 📝 `src/temporal/activities.ts` (+25 -1) 📝 `src/temporal/query.ts` (+3 -0) 📝 `src/temporal/shared.ts` (+1 -0) 📝 `src/temporal/workflows.ts` (+4 -0) </details> ### 📄 Description ## Summary - Add claude-code-router integration for routing Claude Agent SDK requests through alternative LLM providers - Support OpenAI (`gpt-5.2`, `gpt-5-mini`) and OpenRouter (`google/gemini-3-pro-preview`, `google/gemini-3-flash-preview`) - Add model tracking and cost reporting across the entire pipeline - Add billing error detection with automatic retry logic for router mode --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-02-27 07:20:23 +03:00
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/shannon-KeygraphHQ#92
No description provided.