
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Local-first switchboard for six providers: Groq • *** • OpenAI • Google • LM Studio • *** BYO keys • Zero telemetry • One-command run • Compare outputs side-by-side
Run the container (multi-arch image: linux/amd64 and arm64):
bashdocker run -d --name llm-workbench --restart unless-stopped \ -p 127.0.0.1:8080:8080 \ -e NODE_ENV=production \ -e PORT=5000 \ -v "$HOME/.config/llm-workbench:/home/llm/.config/llm-workbench:rw" \ visionforge4d/eddy-llm-workbench:latest # Health (Nginx + API) curl -fsS http://127.0.0.1:8080/nginx-healthz && echo "OK" curl -fsS http://127.0.0.1:8080/health && echo
Fedora/SELinux note: add
:Zto the-vmount if you see permission warnings.
Prefer GHCR? Use
ghcr.io/<your-gh-username>/llm-workbench:latestinstead of the Docker Hub image.
Open: http://localhost:8080
Click a tile to choose a provider. Run pro***s, compare outputs, export sessions.
Switchboard UI Six providers live with distinct tiles & icons (Groq, ***, OpenAI, Google, LM Studio, ***).
Side-by-side compare Run the same pro*** across multiple providers and view outputs together, with basic latency notes.
Local session log Every run is saved to JSONL under your config directory.
Export One-click export of a session to JSONL or Markdown (includes provider, model, and timing).
Local-first ***ds to localhost, strict CORS, zero telemetry, BYO keys.
Nginx serves the UI and proxies at :8080.
Node API listens on :5000 (proxied at /api/*).
Health endpoints:
GET /nginx-healthz → okGET /health → JSONConfig file (created on first run):
~/.config/llm-workbench/config.yml
Example:
yamlkeys: openai: "" # sk-... groq: "" # gsk_... anthropic: "" # claude key google: "" # Gemini key mistral: "" # Mistral key lmstudio_base_url: "http://127.0.0.1:1234" # LM Studio local endpoint server: bind_host: "0.0.0.0" port: 5000 # API port inside the container (Nginx proxies 8080 -> 5000) security: cors_origins: ["http://localhost:8080"] rate_limit_rpm: 60 ui: default_provider: "lmstudio"
yamlservices: llm-workbench: image: visionforge4d/eddy-llm-workbench:latest environment: NODE_ENV: production PORT: "5000" ports: - "127.0.0.1:8080:8080" volumes: - ${HOME}/.config/llm-workbench:/home/llm/.config/llm-workbench:rw restart: unless-stopped
Zero(ish) downtime: verify on a side port, then switch.
bash# Spin up new on 8081 and verify docker run -d --name llmwb_new \ -p 127.0.0.1:8081:8080 \ -e NODE_ENV=production -e PORT=5000 \ visionforge4d/eddy-llm-workbench:latest curl -fsS 127.0.0.1:8081/nginx-healthz && curl -fsS 127.0.0.1:8081/health # Promote to 8080 docker rm -f llm-workbench || true docker rename llmwb_new llm-workbench docker run -d --name llm-workbench --restart unless-stopped \ -p 127.0.0.1:8080:8080 \ -e NODE_ENV=production -e PORT=5000 \ visionforge4d/eddy-llm-workbench:latest
“port is already allocated” — Something else has 8080. Free it or use -p 127.0.0.1:8081:8080.
TCP reset on curl — Usually too early after start; try again, or check logs:
bashdocker logs --tail=100 llm-workbench docker exec -it llm-workbench sh -lc 'busybox netstat -ltn'
map directive is not allowed here — You’re loading a server file as the master. The image already ships a valid master.
SELinux “permission denied” — Add :Z to ***d mounts.
latest – rolling stableX.Y.Z – immutable releaseX.Y – rolling minorlinux/amd64, linux/arm64bashdocker buildx create --use || true docker buildx build --platform linux/amd64,linux/arm64 \ -t visionforge4d/eddy-llm-workbench:1.7.6 \ -t visionforge4d/eddy-llm-workbench:latest \ --push .
Runs as non-root user llm
No writes to /var/lib/nginx; temps under /tmp
Logs to stdout/stderr (12-factor style)
Safe defaults (no secrets in image)
Optional runtime hardening:
bashdocker run -d --name llm-workbench \ --read-only --tmpfs /tmp:rw,noexec,nosuid,nodev \ -p 127.0.0.1:8080:8080 \ -e NODE_ENV=production -e PORT=5000 \ visionforge4d/eddy-llm-workbench:latest
Provider interface to add more.MIT © VisionForge4d
Feedback, issues, and PRs very welcome.
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务