feat(setup): add contextual help text to all wizard flows
Each setup section now explains what's needed before prompting: - Providers: links to API key consoles (Anthropic, OpenAI, Gemini, etc.) - Channels: step-by-step bot creation (Telegram @BotFather, Discord dev portal, Slack app setup, WhatsApp QR) - Gmail: Google Cloud Console OAuth setup walkthrough - Memory: explains what vector search does and key reuse - Security: describes each option (sandbox, pairing, tool profiles) - Gateway: explains auth token, Tailscale Serve, lock mode Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -26,9 +26,23 @@ const SECOND_TIER: ProviderDef[] = [
|
||||
{ name: 'GitHub Models', provider: 'github', defaultModel: 'claude-sonnet-4-20250514', needsApiKey: false, needsEndpoint: false },
|
||||
];
|
||||
|
||||
const PROVIDER_HELP: Record<string, string> = {
|
||||
anthropic: 'Get your API key at https://console.anthropic.com/settings/keys',
|
||||
openai: 'Get your API key at https://platform.openai.com/api-keys',
|
||||
ollama: 'Ollama runs locally — install from https://ollama.com and run: ollama serve',
|
||||
gemini: 'Get your API key at https://aistudio.google.com/apikey',
|
||||
openrouter: 'Get your API key at https://openrouter.ai/keys (supports 200+ models)',
|
||||
xai: 'Get your API key at https://console.x.ai',
|
||||
bedrock: 'Uses AWS credentials from environment (~/.aws/credentials or IAM role)',
|
||||
github: 'Uses GitHub Copilot — authenticate via OAuth device flow on first use',
|
||||
};
|
||||
|
||||
async function configureProvider(p: Prompter, def: ProviderDef): Promise<{
|
||||
provider: string; model: string; api_key?: string; endpoint?: string;
|
||||
}> {
|
||||
const help = PROVIDER_HELP[def.provider];
|
||||
if (help) p.println(` ${help}`);
|
||||
|
||||
const config: Record<string, string> = { provider: def.provider };
|
||||
if (def.needsApiKey) config.api_key = await p.password(def.apiKeyLabel ?? 'API key');
|
||||
if (def.needsEndpoint) config.endpoint = await p.ask('Host', def.defaultEndpoint);
|
||||
|
||||
Reference in New Issue
Block a user