docs: update credential setup
This commit is contained in:
parent
3ee8946e29
commit
c54e768016
3 changed files with 55 additions and 77 deletions
52
.env.example
52
.env.example
|
|
@ -1,52 +0,0 @@
|
|||
# =============================================================================
|
||||
# LLM Provider Configuration
|
||||
# =============================================================================
|
||||
# Copy this file to .env and fill in your values:
|
||||
# cp .env.example .env
|
||||
#
|
||||
# Then load before running:
|
||||
# source .env && pnpm dev:console
|
||||
# =============================================================================
|
||||
|
||||
# Default LLM provider (e.g., openai, anthropic, deepseek, kimi-coding, groq, mistral)
|
||||
export LLM_PROVIDER=
|
||||
|
||||
# --- OpenAI ---
|
||||
export OPENAI_API_KEY=
|
||||
export OPENAI_BASE_URL=
|
||||
export OPENAI_MODEL=
|
||||
|
||||
# --- Anthropic ---
|
||||
export ANTHROPIC_API_KEY=
|
||||
export ANTHROPIC_BASE_URL=
|
||||
export ANTHROPIC_MODEL=
|
||||
|
||||
# --- DeepSeek ---
|
||||
export DEEPSEEK_API_KEY=
|
||||
export DEEPSEEK_BASE_URL=
|
||||
export DEEPSEEK_MODEL=
|
||||
|
||||
# --- Kimi (Moonshot) ---
|
||||
export MOONSHOT_API_KEY=
|
||||
export MOONSHOT_BASE_URL=
|
||||
export MOONSHOT_MODEL=
|
||||
|
||||
# --- Groq ---
|
||||
export GROQ_API_KEY=
|
||||
export GROQ_BASE_URL=
|
||||
export GROQ_MODEL=
|
||||
|
||||
# --- Mistral ---
|
||||
export MISTRAL_API_KEY=
|
||||
export MISTRAL_BASE_URL=
|
||||
export MISTRAL_MODEL=
|
||||
|
||||
# --- Together ---
|
||||
export TOGETHER_API_KEY=
|
||||
export TOGETHER_BASE_URL=
|
||||
export TOGETHER_MODEL=
|
||||
|
||||
# --- Google ---
|
||||
export GOOGLE_API_KEY=
|
||||
export GOOGLE_BASE_URL=
|
||||
export GOOGLE_MODEL=
|
||||
13
CLAUDE.md
13
CLAUDE.md
|
|
@ -73,15 +73,18 @@ Frontend (web:3001 / desktop)
|
|||
- **Backend**: NestJS 11, Socket.io, Pino logging
|
||||
- **CLI bundling**: esbuild → `bin/` directory
|
||||
|
||||
## Environment Setup
|
||||
## Credentials Setup
|
||||
|
||||
Use JSON5 credential files instead of `.env`:
|
||||
|
||||
```bash
|
||||
cp .env.example .env
|
||||
# Set LLM_PROVIDER and corresponding API keys
|
||||
# Supported: openai, anthropic, deepseek, kimi-coding, groq, mistral, together, google
|
||||
# .env is loaded automatically via --env-file in all dev/agent scripts
|
||||
pnpm credentials:cli init
|
||||
```
|
||||
|
||||
This creates:
|
||||
- `~/.super-multica/credentials.json5` (LLM providers + built-in tools)
|
||||
- `~/.super-multica/skills.env.json5` (skills / plugins / integrations)
|
||||
|
||||
## Atomic Commits
|
||||
|
||||
After completing any task that modifies code, you MUST create atomic commits before ending the conversation.
|
||||
|
|
|
|||
67
README.md
67
README.md
|
|
@ -35,45 +35,72 @@ skills/ # Bundled skills (commit, code-review)
|
|||
pnpm install
|
||||
```
|
||||
|
||||
### Environment Configuration
|
||||
### Credentials Configuration
|
||||
|
||||
The Agent requires LLM provider credentials. Copy the example and fill in your values:
|
||||
The Agent reads credentials from JSON5 files (no `.env` required).
|
||||
|
||||
Create empty templates:
|
||||
|
||||
```bash
|
||||
cp .env.example .env
|
||||
# Edit .env with your API keys
|
||||
pnpm credentials:cli init
|
||||
```
|
||||
|
||||
Example `.env` for OpenAI:
|
||||
This creates:
|
||||
|
||||
```bash
|
||||
export LLM_PROVIDER=openai
|
||||
export OPENAI_API_KEY=sk-xxx
|
||||
export OPENAI_BASE_URL=https://api.openai.com/v1
|
||||
export OPENAI_MODEL=gpt-4o
|
||||
- `~/.super-multica/credentials.json5` — core config (LLM providers + built-in tools)
|
||||
- `~/.super-multica/skills.env.json5` — dynamic keys (skills / plugins / integrations)
|
||||
|
||||
Example `credentials.json5` (OpenAI):
|
||||
|
||||
```json5
|
||||
{
|
||||
version: 1,
|
||||
llm: {
|
||||
provider: "openai",
|
||||
providers: {
|
||||
openai: {
|
||||
apiKey: "sk-xxx",
|
||||
baseUrl: "https://api.openai.com/v1",
|
||||
model: "gpt-4o"
|
||||
}
|
||||
}
|
||||
},
|
||||
tools: {
|
||||
brave: { apiKey: "brv-..." }
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Load the environment before starting services that use the Agent:
|
||||
Example `skills.env.json5` (dynamic keys):
|
||||
|
||||
```json5
|
||||
{
|
||||
env: {
|
||||
LINEAR_API_KEY: "lin-...",
|
||||
SLACK_BOT_TOKEN: "xoxb-..."
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Start services directly (no `source .env`):
|
||||
|
||||
```bash
|
||||
# Hub Console (requires LLM env vars)
|
||||
source .env && pnpm dev:console
|
||||
|
||||
# Agent CLI
|
||||
source .env && pnpm agent:cli "hello"
|
||||
|
||||
# Gateway (no LLM env vars needed)
|
||||
pnpm dev:console
|
||||
pnpm agent:cli "hello"
|
||||
pnpm dev:gateway
|
||||
```
|
||||
|
||||
See `.env.example` for all supported providers (OpenAI, Anthropic, DeepSeek, Kimi, Groq, Mistral, etc.).
|
||||
Optional overrides:
|
||||
|
||||
- `SMC_CREDENTIALS_PATH` — custom path for `credentials.json5`
|
||||
- `SMC_SKILLS_ENV_PATH` — custom path for `skills.env.json5`
|
||||
|
||||
### Configuration Priority
|
||||
|
||||
Each setting is resolved in order (first match wins):
|
||||
|
||||
1. **CLI argument** — `--provider`, `--model`, `--api-key`, `--base-url`
|
||||
2. **Environment variable** — `LLM_PROVIDER`, `OPENAI_MODEL`, `OPENAI_API_KEY`, `OPENAI_BASE_URL`, etc.
|
||||
2. **Credentials file** — `credentials.json5` (`llm.provider` + `llm.providers[provider]`)
|
||||
3. **Session metadata** — restored from previous session
|
||||
4. **Default** — `kimi-coding` provider with `kimi-k2-thinking` model
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue