Files
nexus-claude-api/README.md
Guangfei.Zhao 4685a0165d Enhance user configuration management and logging
- Introduced user configuration command to set API key.
- Updated README and documentation for user config and logging paths.
- Refactored logging to support user-specific log files.
- Added tests for user configuration and logging behavior.
2026-06-27 10:21:00 +08:00

72 lines
2.4 KiB
Markdown

# nexus-claude-api
Local Anthropic-compatible API proxy for using AI Nexus Claude models with Claude Code.
AI Nexus currently documents AWS Bedrock Converse API as the workaround while Anthropic Messages API support is unavailable. This service exposes local Anthropic-compatible endpoints and translates them to Nexus Converse requests.
## Quick Start
```powershell
cd nexus-claude-api
uv sync --extra dev
uv run nexus-claude-api config set --api-key "your-nexus-api-key"
uv run nexus-claude-api start --port 4141 --claude-code
```
Use the printed Claude Code command in the same shell.
`ANTHROPIC_AUTH_TOKEN='dummy'` in the printed command is only a local Claude Code compatibility placeholder. Claude Code expects an Anthropic auth token variable to exist, but this local proxy does not validate it by default. It is not your Nexus key.
The printed command ends with `claude --model <configured-model>` so the current Claude Code process uses this proxy's configured model instead of any model saved in your global Claude settings. The helper does not edit `C:\Users\A200477427\.claude\settings.json` or any other global Claude Code configuration.
## Endpoints
- `GET /`
- `HEAD /`
- `GET /health`
- `GET /v1/models`
- `POST /v1/messages`
- `POST /v1/messages/count_tokens`
## Environment
Credential lookup order:
1. `--api-key`
2. user config `~/.config/nexus-claude-api/config.json`
3. `NEXUS_API_KEY`
4. `AWS_BEARER_TOKEN_BEDROCK`
To write user config:
```powershell
nexus-claude-api config set --api-key "your-nexus-api-key"
```
This creates `~/.config/nexus-claude-api/config.json`:
```json
{
"api_key": "your-nexus-api-key"
}
```
Logs are written to `~/.config/nexus-claude-api/logs/nexus-claude-api.log` by default.
For repository-local development only, pass `--dev` and create `nexus-claude-api.local.json` in the current directory:
```powershell
uv run nexus-claude-api start --dev --port 4141 --claude-code
```
In development mode, config is read from `nexus-claude-api.local.json` and logs are written to `logs/nexus-claude-api.log` in the current directory. The local config file is ignored by git.
The service binds to `127.0.0.1` by default and does not persist API keys.
## Docs
- [PRD](docs/PRD.md)
- [Requirements Design](docs/REQUIREMENTS_DESIGN.md)
- [AI Nexus Claude Documentation](docs/AI_NEXUS_CLAUDE.md)
- [Python Internal Distribution Guide](docs/PACKAGING_DISTRIBUTION.md)