This is looking like a high-quality production tool. Since this is now a public package on PyPI, I’ve updated the README.md to prioritize the standard installation method while keeping the technical details that make your project look professional.
🚀 Qwen-Claude Bridge
Qwen-Claude is a high-performance automation CLI that bridges the gap between Qwen’s authentication and the Claude Code Router (CCR). It automates the extraction of OAuth tokens and manages configuration synchronization, allowing you to use Qwen models within Claude Code seamlessly.
✨ Features
- 🔄 Automated Token Sync: Extracts the latest Qwen OAuth access token and injects it directly into your CCR configuration.
- 🛡️ Smart Schema Validation: Ensures your
config.jsonis always valid and correctly points to the Qwen portal. - ⚡ Dependency Guard: Automatically verifies that
qwen,ccr, andclaudeCLIs are installed and accessible in your PATH. - 🪟 Windows Optimized: Built-in support for Windows execution logic, handling
.ps1,.bat, and.cmdwrappers natively. - 🤖 Intelligent Fallback: Detects expired sessions, triggers an interactive login when needed, and resumes the workflow.
🛠️ Installation
Install the package directly from PyPI:
pip install qwen-claude
Required Global Tools
The bridge coordinates with the following Node.js-based tools. Ensure they are installed on your system:
| Tool | Purpose | Install Command |
|---|---|---|
| Qwen CLI | Auth Provider | npm install -g @qwen-code/qwen-code@latest |
| CCR | Router Engine | npm install -g @musistudio/claude-code-router |
| Claude | AI Interface | npm install -g @anthropic-ai/claude-code |
🚀 Usage
Launch the bridge using the qc command. This will validate your environment, refresh tokens if necessary, and start your Claude Code session:
qc
Checking Version
To check your current version of the bridge:
qc -v
# OR
qc --version
Workflow Overview
- Verify: Checks for the presence of required global binaries.
- Validate: Ensures
~/.claude-code-router/config.jsonmatches the standard schema. - Refresh: If the token expires in < 120 seconds, it triggers a refresh via the Qwen CLI.
- Inject: Updates the CCR configuration with the new
access_token. - Execute: Restarts the CCR service and enters the Claude Code environment.
⚙️ Configuration
The bridge initializes your router using a pre-defined schema optimized for Qwen 3 Coder:
{
"Providers": [
{
"name": "qwen",
"api_base_url": "https://portal.qwen.ai/v1/chat/completions",
"models": ["qwen3-coder-plus"]
}
],
"Router": {
"default": "qwen,qwen3-coder-plus",
"think": "qwen,qwen3-coder-plus"
}
}
📁 Project Structure
QWEN_CLAUDE
├── .github/
│ └── workflows/
│ └── publish.yml # CI/CD Pipeline
├── src/
│ └── qwen_claude/
│ ├── __init__.py # Version metadata
│ ├── cli.py # Automation logic
│ └── schema.json # Default CCR configuration
├── CODE_OF_CONDUCT.md # Community standards
├── CONTRIBUTING.md # Contribution guidelines
├── LICENSE # MIT License
├── pyproject.toml # Build & Entry points
└── README.md # Documentation
🤝 Contributing
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make to Qwen-Claude are greatly appreciated.
To maintain a high standard of code and community health, please follow these steps:
- Read the Guidelines: Before starting, please review our CONTRIBUTING.md for technical instructions and our CODE_OF_CONDUCT.md to understand our community standards.
- Fork & Clone: Fork the repository to your own GitHub account and clone it locally.
- Create a Branch: Dedicated to your fix or feature (
git checkout -b feature/AmazingFeature). - Develop & Test: Make your changes and ensure the logic remains robust.
- Commit & Push: Commit your changes with clear messages (
git commit -m 'Add some AmazingFeature') and push to your fork. - Open a Pull Request: Submit your PR against the
mainbranch. We will review it as soon as possible!
Metadata
Release files for qwen-claude 0.1.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| qwen_claude-0.1.5.tar.gz | 7.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| qwen_claude-0.1.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 18.2 kB
Release files / qwen_claude-0.1.5.tar.gz
| Download URL | qwen_claude-0.1.5.tar.gz |
|---|---|
| Size | 7.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
de39c3dfc7a09e1f6d0a92fc40798eda441898fca9f9884477c491c111c7a2d2
|
|
BLAKE2b-256 checksum How to use checksums |
9e37efe7ce128b2f2dff604644c126a9eefdefafee83d594a3515f7ce6a1ffd8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 6, 2026.
Transparency logRelease files / qwen_claude-0.1.5-py3-none-any.whl
| Download URL | qwen_claude-0.1.5-py3-none-any.whl |
|---|---|
| Size | 11.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3d8926babb3b264a9033f2f18917d0c7a672df91c88a6bbffe605c8500ad193d
|
|
BLAKE2b-256 checksum How to use checksums |
3c2a939ca314e0683886e4e634db955aaeb0c402661ca42e41f2bc5329f5effc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 6, 2026.
Transparency log