This commit is contained in:
Jaroslaw Konik 2026-06-10 08:33:52 +02:00
parent eafb0e678c
commit 0da2c62dfe

19
agent
View file

@ -1,4 +1,5 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -euo pipefail
workspace="$HOME/ai_workspace" workspace="$HOME/ai_workspace"
app="opencode" app="opencode"
@ -24,7 +25,7 @@ while [[ $# -gt 0 ]]; do
shift shift
;; ;;
*) *)
echo "Usage: $0 [-p /path/to/workspace] [-a claude|opencode] [-e rust] [--rebuild]" >&2 echo "Usage: $0 [-p /path/to/workspace] [-a claude|opencode|vibe] [-e rust] [--rebuild]" >&2
exit 1 exit 1
;; ;;
esac esac
@ -33,16 +34,21 @@ done
case "$app" in case "$app" in
claude) claude)
image_name="claude-code-local" image_name="claude-code-local"
npm_pkg="@anthropic-ai/claude-code" install_pkg="RUN apt-get update && apt-get install -y npm && npm install -g @anthropic-ai/claude-code"
cmd="claude" cmd="claude"
extra_volumes=( extra_volumes=(
-v "$HOME/.claude:$HOME/.claude" -v "$HOME/.claude:$HOME/.claude"
-v "$HOME/.claude.json:$HOME/.claude.json" -v "$HOME/.claude.json:$HOME/.claude.json"
) )
;; ;;
vibe)
image_name="vibe-local"
install_pkg="RUN apt-get update && apt-get install -y curl && curl -LsSf https://mistral.ai/vibe/install.sh | bash"
cmd="vibe"
;;
opencode) opencode)
image_name="opencode-local" image_name="opencode-local"
npm_pkg="opencode-ai" install_pkg="RUN apt-get update && apt-get install -y npm && npm install -g opencode-ai"
cmd="opencode" cmd="opencode"
extra_volumes=( extra_volumes=(
-v "$HOME/.config/opencode:$HOME/.config/opencode" -v "$HOME/.config/opencode:$HOME/.config/opencode"
@ -89,16 +95,15 @@ image_name="${image_name}${env_suffix}"
if $rebuild || ! docker image inspect "$image_name" &>/dev/null; then if $rebuild || ! docker image inspect "$image_name" &>/dev/null; then
echo "Building $image_name..." echo "Building $image_name..."
dockerfile="FROM node:24-bookworm dockerfile="FROM debian:bookworm
ENV PATH=/root/.local/bin/:$PATH
${env_layer} ${env_layer}
RUN npm install -g $npm_pkg $install_pkg
WORKDIR /workspace WORKDIR /workspace
CMD [\"$cmd\"]" CMD [\"$cmd\"]"
docker build --pull -t "$image_name" - <<< "$dockerfile" docker build --pull -t "$image_name" - <<< "$dockerfile"
fi fi
clear
docker run -it --rm \ docker run -it --rm \
--name "${image_name}-container" \ --name "${image_name}-container" \
--user "$(id -u):$(id -g)" \ --user "$(id -u):$(id -g)" \