This commit is contained in:
Andy Bunce 2026-02-26 21:25:40 +00:00
parent 37adbcc96f
commit 60a1bec0df
2 changed files with 112 additions and 99 deletions

View file

@ -5,6 +5,7 @@ FROM python:3.12-slim
RUN apt-get update && apt-get install -y \ RUN apt-get update && apt-get install -y \
git curl build-essential unzip sudo \ git curl build-essential unzip sudo \
ffmpeg jq zsh pkg-config libssl-dev \ ffmpeg jq zsh pkg-config libssl-dev \
default-jdk-headless \
&& rm -rf /var/lib/apt/lists/* && rm -rf /var/lib/apt/lists/*
# 2. Install Starship & Aliases # 2. Install Starship & Aliases
@ -40,6 +41,13 @@ RUN curl -OL https://golang.org/dl/go${GO_VER}.linux-arm64.tar.gz && \
rm go${GO_VER}.linux-arm64.tar.gz rm go${GO_VER}.linux-arm64.tar.gz
ENV PATH="/usr/local/go/bin:$PATH" ENV PATH="/usr/local/go/bin:$PATH"
# 6a basex https://files.basex.org/releases/12.2/BaseX122.zip
ARG BASEX_VER=12.2/BaseX122.zip
RUN curl -fsSL https://files.basex.org/releases/${BASEX_VER} -o temp.zip || { echo "Download failed"; exit 1; } && \
unzip temp.zip -d /usr/local || { echo "Extraction failed"; rm temp.zip; exit 1; } && \
rm temp.zip
ENV PATH="/usr/local/basex/bin:$PATH"
# 7. Install OpenCode CLI # 7. Install OpenCode CLI
RUN curl -fsSL https://opencode.ai/install | bash RUN curl -fsSL https://opencode.ai/install | bash
ENV PATH="/root/.opencode/bin:$PATH" ENV PATH="/root/.opencode/bin:$PATH"
@ -60,20 +68,20 @@ cat <<EOF > /root/.config/opencode/opencode.json
"local-planner": { "local-planner": {
"npm": "@ai-sdk/openai-compatible", "npm": "@ai-sdk/openai-compatible",
"name": "GLM 4.7 (Planner)", "name": "GLM 4.7 (Planner)",
"options": { "baseURL": "http://host.docker.internal:9901/v1" }, "options": { "baseURL": "http://host.docker.internal:11434/v1" },
"models": { "glm": { "name": "GLM 4.7" } } "models": { "GLM-4.7-Flash-GGUF:Q6_K": { "name": "GLM-4.7-hello" } }
}, },
"local-oracle": { "local-oracle": {
"npm": "@ai-sdk/openai-compatible", "npm": "@ai-sdk/openai-compatible",
"name": "Kimi K2.5 (Context)", "name": "Kimi K2.5 (Context)",
"options": { "baseURL": "http://host.docker.internal:9900/v1" }, "options": { "baseURL": "http://host.docker.internal:11434/v1" },
"models": { "kimi": { "name": "Kimi K2.5" } } "models": { "gemma3:4b": { "name": "gemma3:4b" } }
}, },
"local-coder": { "local-coder": {
"npm": "@ai-sdk/openai-compatible", "npm": "@ai-sdk/openai-compatible",
"name": "Qwen3 Next (Coder)", "name": "Qwen3 Next (Coder)",
"options": { "baseURL": "http://host.docker.internal:9902/v1" }, "options": { "baseURL": "http://host.docker.internal:11434/v1" },
"models": { "qwen": { "name": "Qwen3 Next" } } "models": { "qwen3-coder-next": { "name": "Qwen3 Next" } }
} }
} }
} }
@ -84,10 +92,10 @@ EOF
RUN cat <<EOF > /root/.config/opencode/oh-my-opencode.json RUN cat <<EOF > /root/.config/opencode/oh-my-opencode.json
{ {
"agents": { "agents": {
"sisyphus": { "model": "local-planner/glm" }, "sisyphus": { "model": "local-planner/GLM 4.7 (Planner)" },
"oracle": { "model": "local-oracle/kimi" }, "oracle": { "model": "local-oracle/kimi" },
"librarian": { "model": "local-oracle/kimi" }, "librarian": { "model": "local-oracle/kimi" },
"build": { "model": "local-coding/qwen" } "build": { "model": "local-coder/qwen3-code-next" }
}, },
"disabled_agents": ["multimodal-looker"], "disabled_agents": ["multimodal-looker"],
"confirm_dangerous_actions": false "confirm_dangerous_actions": false

5
docker-images/README.md Normal file
View file

@ -0,0 +1,5 @@
```
docker build -t smart-agent -f Dockerfile.agent .
```