* feat(model): add `picoclaw model add` for custom OpenAI-compatible endpoints Onboards a model from a user-supplied API base + key by hitting GET <base>/models, prompting the user to pick one, and writing the entry into model_list[] (with api_keys) plus setting it as the default model. This was previously only available in the TUI launcher (issue #2208) and is now accessible from the CLI: picoclaw model add -b URL -k KEY [-m MODEL] [-n ALIAS] * chore: remove deprecated picoclaw-launcher-tui Per RFC #2208, the TUI launcher is deprecated in favor of the CLI; its "online model picker" feature has been ported to `picoclaw model add` in the previous commit. This drops the binary and all build/release/docs references: - delete cmd/picoclaw-launcher-tui/ and assets/launcher-tui.jpg - Makefile: remove the `build-launcher-tui` target - .goreleaser.yaml: drop the build entry plus the `picoclaw-launcher-tui` ids from the launcher docker image, macOS notarize list, and nfpms contents - docker/Dockerfile.goreleaser.launcher: drop the COPY for the TUI binary - READMEs (root + 8 locales): remove the "TUI Launcher" section and screenshot link - docs/guides/docker.*: update the "launcher image includes …" sentence to reflect the two remaining binaries `make build` still succeeds; `go build ./web/backend` (the launcher target) still succeeds. `picoclaw-launcher` (web console) is unaffected.
5.6 KiB
🐳 Docker et Démarrage Rapide
Retour au README
🐳 Docker Compose
Vous pouvez également exécuter PicoClaw avec Docker Compose sans rien installer localement.
# 1. Cloner ce dépôt
git clone https://github.com/sipeed/picoclaw.git
cd picoclaw
# 2. Premier lancement — génère automatiquement docker/data/config.json puis s'arrête
# (se déclenche uniquement quand config.json et workspace/ sont tous deux absents)
docker compose -f docker/docker-compose.yml --profile gateway up
# Le conteneur affiche "First-run setup complete." et s'arrête.
# 3. Configurer vos clés API
vim docker/data/config.json # Set provider API keys, bot tokens, etc.
# 4. Démarrer
docker compose -f docker/docker-compose.yml --profile gateway up -d
Tip
Utilisateurs Docker : Par défaut, le Gateway écoute sur
127.0.0.1, ce qui n'est pas accessible depuis l'hôte. Si vous devez accéder aux endpoints de santé ou exposer des ports, définissezPICOCLAW_GATEWAY_HOST=0.0.0.0dans votre environnement ou mettez à jourconfig.json.
# 5. Vérifier les logs
docker compose -f docker/docker-compose.yml logs -f picoclaw-gateway
# 6. Arrêter
docker compose -f docker/docker-compose.yml --profile gateway down
Mode Launcher (Console Web)
L'image launcher inclut les deux binaires (picoclaw, picoclaw-launcher) et démarre la console web par défaut, qui fournit une interface navigateur pour la configuration et le chat.
docker compose -f docker/docker-compose.yml --profile launcher up -d
Ouvrez http://localhost:18800 dans votre navigateur. Le launcher gère automatiquement le processus gateway.
Warning
La console web est protégée par un mot de passe de connexion au dashboard. Ne l'exposez pas à des réseaux non fiables ni à Internet public.
Mode Agent (One-shot)
# Poser une question
docker compose -f docker/docker-compose.yml run --rm picoclaw-agent -m "What is 2+2?"
# Mode interactif
docker compose -f docker/docker-compose.yml run --rm picoclaw-agent
Mise à jour
docker compose -f docker/docker-compose.yml pull
docker compose -f docker/docker-compose.yml --profile gateway up -d
🚀 Démarrage Rapide
Tip
Configurez votre clé API dans
~/.picoclaw/config.json. Obtenir des clés API : Volcengine (CodingPlan) (LLM) · OpenRouter (LLM) · Zhipu (LLM). La recherche web est optionnelle — obtenez gratuitement une API Tavily (1000 requêtes gratuites/mois) ou une API Brave Search (2000 requêtes gratuites/mois).
1. Initialiser
picoclaw onboard
2. Configurer (~/.picoclaw/config.json)
{
"agents": {
"defaults": {
"workspace": "~/.picoclaw/workspace",
"model_name": "gpt-5.4",
"max_tokens": 8192,
"temperature": 0.7,
"max_tool_iterations": 20
}
},
"model_list": [
{
"model_name": "ark-code-latest",
"model": "volcengine/ark-code-latest",
"api_keys": ["sk-your-api-key"],
"api_base":"https://ark.cn-beijing.volces.com/api/coding/v3"
},
{
"model_name": "gpt-5.4",
"model": "openai/gpt-5.4",
"api_keys": ["your-api-key"],
"request_timeout": 300
},
{
"model_name": "claude-sonnet-4.6",
"model": "anthropic/claude-sonnet-4.6",
"api_keys": ["your-anthropic-key"]
}
],
"tools": {
"web": {
"enabled": true,
"fetch_limit_bytes": 10485760,
"format": "plaintext",
"brave": {
"enabled": false,
"api_key": "YOUR_BRAVE_API_KEY",
"max_results": 5
},
"tavily": {
"enabled": false,
"api_key": "YOUR_TAVILY_API_KEY",
"max_results": 5
},
"duckduckgo": {
"enabled": true,
"max_results": 5
},
"perplexity": {
"enabled": false,
"api_key": "YOUR_PERPLEXITY_API_KEY",
"max_results": 5
},
"searxng": {
"enabled": false,
"base_url": "http://your-searxng-instance:8888",
"max_results": 5
}
}
}
}
Nouveau : Le format de configuration
model_listpermet l'ajout de fournisseurs sans modification de code. Voir Configuration des Modèles pour plus de détails.request_timeoutest optionnel et utilise les secondes. S'il est omis ou défini à<= 0, PicoClaw utilise le timeout par défaut (120s).
3. Obtenir des clés API
- Fournisseur LLM : OpenRouter · Zhipu · Anthropic · OpenAI · Gemini
- Recherche Web (optionnel) :
- Brave Search - Payant ($5/1000 requêtes, ~$5-6/mois)
- Perplexity - Recherche alimentée par l'IA avec interface de chat
- SearXNG - Métamoteur auto-hébergé (gratuit, pas de clé API nécessaire)
- Tavily - Optimisé pour les agents IA (1000 requêtes/mois)
- DuckDuckGo - Solution de repli intégrée (pas de clé API requise)
Note
: Voir
config.example.jsonpour un modèle de configuration complet.
4. Discuter
picoclaw agent -m "What is 2+2?"
C'est tout ! Vous avez un assistant IA fonctionnel en 2 minutes.