|
3 | 3 | """ |
4 | 4 |
|
5 | 5 | import json |
| 6 | +import os |
6 | 7 | import sys |
7 | 8 | import click |
8 | 9 | from typing import Optional, List |
@@ -86,11 +87,12 @@ def config_group(): |
86 | 87 | @click.option( |
87 | 88 | "--provider", |
88 | 89 | type=click.Choice( |
89 | | - ['openai-compatible', 'anthropic', 'bedrock', 'azure-openai', 'claude-code', 'codex'], |
| 90 | + ['openai-compatible', 'atlas-cloud', 'anthropic', 'bedrock', 'azure-openai', 'claude-code', 'codex'], |
90 | 91 | case_sensitive=False, |
91 | 92 | ), |
92 | 93 | help=( |
93 | 94 | "LLM provider type (default: openai-compatible). " |
| 95 | + "Use 'atlas-cloud' for Atlas Cloud (base URL auto-set; reads ATLASCLOUD_API_KEY). " |
94 | 96 | "Use 'claude-code' or 'codex' to run on a CLI subscription instead of an API key." |
95 | 97 | ), |
96 | 98 | ) |
@@ -139,6 +141,11 @@ def config_set( |
139 | 141 | $ codewiki config set --api-key sk-abc123 --base-url https://api.anthropic.com \\ |
140 | 142 | --main-model claude-sonnet-4 --cluster-model claude-sonnet-4 --fallback-model glm-4p5 |
141 | 143 |
|
| 144 | + \b |
| 145 | + # Atlas Cloud (OpenAI-compatible) — base URL auto-set, |
| 146 | + # API key read from ATLASCLOUD_API_KEY if --api-key is omitted |
| 147 | + $ codewiki config set --provider atlas-cloud --main-model <atlas-model> --cluster-model <atlas-model> |
| 148 | +
|
142 | 149 | \b |
143 | 150 | # Subscription mode (Claude Code) — no API key needed, |
144 | 151 | # authenticate via 'claude login' on the host first |
@@ -169,7 +176,17 @@ def config_set( |
169 | 176 | if not any([api_key, base_url, main_model, cluster_model, fallback_model, max_tokens, max_token_per_module, max_token_per_leaf_module, max_depth, provider, aws_region, api_version, azure_deployment]): |
170 | 177 | click.echo("No options provided. Use --help for usage information.") |
171 | 178 | sys.exit(EXIT_CONFIG_ERROR) |
172 | | - |
| 179 | + |
| 180 | + # Atlas Cloud convenience defaults: it's an OpenAI-compatible endpoint, so |
| 181 | + # auto-fill its base URL and pull the API key from ATLASCLOUD_API_KEY when the |
| 182 | + # user does not pass them explicitly. |
| 183 | + if provider and provider.lower() == "atlas-cloud": |
| 184 | + from codewiki.src.config import ATLAS_CLOUD_BASE_URL |
| 185 | + if not base_url: |
| 186 | + base_url = ATLAS_CLOUD_BASE_URL |
| 187 | + if not api_key: |
| 188 | + api_key = os.getenv("ATLASCLOUD_API_KEY") |
| 189 | + |
173 | 190 | # Validate inputs before saving |
174 | 191 | validated_data = {} |
175 | 192 |
|
|
0 commit comments