🎉 Initial commit: PiAgentUI — AI Agent Desktop & Web UI
Build & Push Frontend Docker Image / build-and-push (push) Canceled after 0s
Build Validation / validate (push) Canceled after 6s
Build & Push Backend Docker Image / build-and-push (push) Failing after 10m10s
Build & Push Gateway Docker Image / build-and-push (push) Failing after 10m9s
Build & Push Frontend Docker Image / build-and-push (push) Canceled after 0s
Build Validation / validate (push) Canceled after 6s
Build & Push Backend Docker Image / build-and-push (push) Failing after 10m10s
Build & Push Gateway Docker Image / build-and-push (push) Failing after 10m9s
A professional workspace for AI coding agents with: - Real-time streaming chat with SSE - Session management (fork, clone, tree navigation) - MCP tools browser & metadata panel - Skills browser (global, project, package sources) - Voice input & STT provider configuration - Integrated terminal & file explorer - Model selector with capability metadata - Keyboard-first UI with command palette - 8 languages (en, pt-BR, es, ja, zh-CN, ar, bn, hi) - Tauri 2 desktop app - React 19 + TypeScript + Vite 8 + Tailwind CSS 4 - Pi Agent extension runtime Originally forked from OpenCodeUI, now an independent project. License: GPL-3.0-only
This commit is contained in:
commit
b3489e1ede
983 files changed
+158475
No files matched your search
@@ -0,0 +1,48 @@
|
||||
# ============================================
|
||||
# OpenCode WebUI - Frontend
|
||||
# ============================================
|
||||
# 纯前端静态文件 + Caddy 反向代理 API
|
||||
|
||||
# ---- Stage 1: 构建前端 ----
|
||||
# 前端产物是静态文件,和目标 CPU 架构无关。
|
||||
# 多架构镜像构建时让 Node builder 始终跑在构建机原生平台,避免 arm64 通过 QEMU 重跑 npm/vite 构建。
|
||||
FROM --platform=$BUILDPLATFORM node:22-alpine AS builder
|
||||
|
||||
ARG NPM_REGISTRY=https://registry.npmjs.org/
|
||||
ARG NPM_REGISTRY_FALLBACK=https://registry.npmmirror.com/
|
||||
|
||||
WORKDIR /app
|
||||
COPY package.json package-lock.json ./
|
||||
RUN set -eux; \
|
||||
npm config set registry "${NPM_REGISTRY}"; \
|
||||
npm config set fetch-retries 5; \
|
||||
npm config set fetch-retry-factor 2; \
|
||||
npm config set fetch-retry-mintimeout 10000; \
|
||||
npm config set fetch-retry-maxtimeout 120000; \
|
||||
npm config set audit false; \
|
||||
npm config set fund false; \
|
||||
if npm ci --ignore-scripts; then \
|
||||
exit 0; \
|
||||
fi; \
|
||||
echo "npm ci failed on ${NPM_REGISTRY}, retrying with ${NPM_REGISTRY_FALLBACK}"; \
|
||||
npm cache clean --force; \
|
||||
npm config set registry "${NPM_REGISTRY_FALLBACK}"; \
|
||||
npm ci --ignore-scripts
|
||||
COPY . .
|
||||
RUN node scripts/copy-material-icons.mjs
|
||||
ENV VITE_API_BASE_URL=/api
|
||||
RUN npm run build
|
||||
|
||||
# ---- Stage 2: Caddy 运行时 ----
|
||||
FROM caddy:2-alpine
|
||||
|
||||
# 前端静态文件
|
||||
COPY --from=builder /app/dist /srv
|
||||
|
||||
# Caddy 配置(默认 + standalone)
|
||||
COPY docker/Caddyfile /etc/caddy/Caddyfile
|
||||
COPY docker/Caddyfile.standalone /etc/caddy/Caddyfile.standalone
|
||||
|
||||
EXPOSE 3000
|
||||
|
||||
CMD ["caddy", "run", "--config", "/etc/caddy/Caddyfile"]
|
||||
Reference in new issue
Block a user