feat: Configure MiniMax as default provider for Hermes and PaperClip
Sets Hermes default model provider to MiniMax (MiniMax-M3) using MINIMAX_API_KEY from shared.env. Updates PaperClip OpenCode providers with MiniMax baseURL and additional models (MiniMax-M3, MiniMax-Text-01).
This commit is contained in:
1 parent
47bfdfbd49
commit
c70fd63092
2 files changed
+25
-9
No files matched your search
@@ -34,6 +34,7 @@ log "========================================================="
|
||||
# -----------------------------------------------------------------------------
|
||||
OPENROUTER_API_KEY=""
|
||||
MISTRAL_API_KEY=""
|
||||
MINIMAX_API_KEY=""
|
||||
|
||||
if [[ -f "${SHARED_ENV}" ]]; then
|
||||
# shellcheck source=/dev/null
|
||||
@@ -113,9 +114,20 @@ else
|
||||
'
|
||||
fi
|
||||
|
||||
# Standard-Provider für Hermes konfigurieren: MiniMax bevorzugen
|
||||
if [[ -n "${MINIMAX_API_KEY:-}" ]]; then
|
||||
log "Konfiguriere Hermes für MiniMax..."
|
||||
docker exec -u node "${PAPERCLIP_CONTAINER}" hermes config set model.provider minimax 2>/dev/null || true
|
||||
docker exec -u node "${PAPERCLIP_CONTAINER}" hermes config set model.default MiniMax-M3 2>/dev/null || true
|
||||
elif [[ -n "${OPENROUTER_API_KEY:-}" ]]; then
|
||||
log "Konfiguriere Hermes für OpenRouter..."
|
||||
docker exec -u node "${PAPERCLIP_CONTAINER}" hermes config set model.provider auto 2>/dev/null || true
|
||||
fi
|
||||
|
||||
# Verifikation im Container
|
||||
log "Verifiziere Hermes im PaperClip-Container:"
|
||||
docker exec -u node "${PAPERCLIP_CONTAINER}" hermes --version 2>&1 || true
|
||||
docker exec -u node "${PAPERCLIP_CONTAINER}" hermes config get model 2>&1 || true
|
||||
docker exec -u node "${PAPERCLIP_CONTAINER}" /opt/hermes-venv/bin/python3 -c "import anthropic; print('anthropic package ok')" 2>&1 || true
|
||||
fi
|
||||
|
||||
@@ -125,14 +137,18 @@ fi
|
||||
if docker ps --format '{{.Names}}' | grep -q "^${HERMES_CONTAINER}$"; then
|
||||
log "3/3 Standalone Hermes Container (${HERMES_CONTAINER}) ist aktiv."
|
||||
|
||||
# Sicherstellen, dass .env im Volume existiert
|
||||
if [[ -n "${OPENROUTER_API_KEY}" ]]; then
|
||||
docker exec -u root "${HERMES_CONTAINER}" bash -c "cat > /opt/data/.env <<EOF
|
||||
OPENROUTER_API_KEY=${OPENROUTER_API_KEY}
|
||||
EOF
|
||||
chown -R hermes:hermes /opt/data/.env 2>/dev/null || true
|
||||
chmod 600 /opt/data/.env
|
||||
"
|
||||
# Alle Keys aus shared.env kopieren
|
||||
if [[ -f "${SHARED_ENV}" ]]; then
|
||||
docker cp "${SHARED_ENV}" "${HERMES_CONTAINER}:/opt/data/.env"
|
||||
docker exec -u root "${HERMES_CONTAINER}" bash -c '
|
||||
chown -R hermes:hermes /opt/data/.env 2>/dev/null || true
|
||||
chmod 600 /opt/data/.env
|
||||
'
|
||||
fi
|
||||
|
||||
if [[ -n "${MINIMAX_API_KEY:-}" ]]; then
|
||||
docker exec -u hermes "${HERMES_CONTAINER}" hermes config set model.provider minimax 2>/dev/null || true
|
||||
docker exec -u hermes "${HERMES_CONTAINER}" hermes config set model.default MiniMax-M3 2>/dev/null || true
|
||||
fi
|
||||
else
|
||||
log "3/3 Standalone Hermes Container (${HERMES_CONTAINER}) nicht aktiv (wird bei Bedarf gestartet)."
|
||||
|
||||
@@ -35,7 +35,7 @@ services:
|
||||
PAPERCLIP_AUTH_BASE_URL_MODE: "explicit"
|
||||
PAPERCLIP_PUBLIC_URL: "https://paperclip.orfel.de"
|
||||
HERMES_GATEWAY_ALLOW_INSECURE_HTTP: "1"
|
||||
PAPERCLIP_OPENCODE_PROVIDERS: '{"openrouter":{"npm":"@ai-sdk/openai-compatible","options":{"baseURL":"https://openrouter.ai/api/v1","apiKey":"{env:OPENROUTER_API_KEY}"},"models":{"anthropic/claude-sonnet-4-5":{},"anthropic/claude-3.5-sonnet":{},"google/gemini-2.5-pro":{},"deepseek/deepseek-r1":{},"openai/gpt-4o":{}}},"mistral":{"npm":"@ai-sdk/openai-compatible","options":{"apiKey":"{env:MISTRAL_API_KEY}"},"models":{"mistral/mistral-large":{}}},"minimax":{"npm":"@ai-sdk/openai-compatible","options":{"apiKey":"{env:MINIMAX_API_KEY}"},"models":{"minimax/abab6.5s":{}}},"poe":{"npm":"@ai-sdk/openai-compatible","options":{"apiKey":"{env:POE_API_KEY}"},"models":{"poe/claude-3-opus":{}}}}'
|
||||
PAPERCLIP_OPENCODE_PROVIDERS: '{"openrouter":{"npm":"@ai-sdk/openai-compatible","options":{"baseURL":"https://openrouter.ai/api/v1","apiKey":"{env:OPENROUTER_API_KEY}"},"models":{"anthropic/claude-sonnet-4-5":{},"anthropic/claude-3.5-sonnet":{},"google/gemini-2.5-pro":{},"deepseek/deepseek-r1":{},"openai/gpt-4o":{}}},"mistral":{"npm":"@ai-sdk/openai-compatible","options":{"apiKey":"{env:MISTRAL_API_KEY}"},"models":{"mistral/mistral-large":{}}},"minimax":{"npm":"@ai-sdk/openai-compatible","options":{"baseURL":"https://api.minimax.io/v1","apiKey":"{env:MINIMAX_API_KEY}"},"models":{"minimax/abab6.5s":{},"minimax/MiniMax-Text-01":{},"minimax/MiniMax-M3":{}}},"poe":{"npm":"@ai-sdk/openai-compatible","options":{"apiKey":"{env:POE_API_KEY}"},"models":{"poe/claude-3-opus":{}}}}'
|
||||
volumes:
|
||||
- /opt/PaperClip-Data/paperclip:/paperclip
|
||||
- /opt/PaperClip-Data/paperclip-hermes-venv:/opt/hermes-venv
|
||||
|
||||
Reference in new issue
Block a user