-
Notifications
You must be signed in to change notification settings - Fork 3.5k
Description
Is your feature request related to a problem? Please describe.
All current provider options (Anthropic API, Bedrock, Vertex, Router Mode) require either a paid API key or cloud credentials. This creates a real cost barrier for students and security learners who want to use Shannon but cannot justify pay-per-use API billing.
Describe the solution you'd like
Integrate the official GitHub Copilot SDK (@github/copilot-sdk) as a new provider option. A user would only need a GITHUB_TOKEN from a Copilot-enabled account — no Anthropic account or credit card required.
The SDK is the only legitimate programmatic path to Copilot outside of an IDE. It manages the Copilot CLI in server mode and handles all token exchange internally via JSON-RPC, so direct API access concerns are a non-issue.
Since Shannon is already TypeScript, this is a natural fit alongside the existing @anthropic-ai/claude-agent-sdk.
Rough implementation outline:
- Add
@github/copilot-sdkas an optional dependency - Add a Copilot executor path in
claude-executor.tsthat uses the SDK's agent interface - Pass
COPILOT_GITHUB_TOKEN/GH_TOKEN/GITHUB_TOKENthrough to the SDK - Add Copilot CLI as an additional dependency in the Dockerfile (required by the SDK)
- Document as a new option in
.env.example
Describe alternatives you've considered
Routing through the Copilot OpenAI-compatible endpoint (https://api.githubcopilot.com) via Router Mode — but this is blocked by Copilot's ToS for direct OAuth token access. The official SDK is the correct and supported path.
Additional context
The primary motivation: GitHub Copilot Pro is free for students via the GitHub Student Developer Pack, and a Copilot Free tier is available to all GitHub users. This would open Shannon to the education and CTF/security research community with zero cost barrier.
- SDK repo: https://github.com/github/copilot-sdk
- Install:
npm install @github/copilot-sdk - Auth: GitHub token, OAuth app, or BYOK (no regression for existing Anthropic users)
- Supported models: Claude Sonnet, Claude Opus, Claude Haiku, GPT-4o, and more
- Status: Official GitHub SDK, currently in Technical Preview
Happy to contribute a PR if the team is open to this direction.