mirror of
https://github.com/jeffusion/gitea-ai-assistant.git
synced 2026-06-05 23:16:49 +00:00
- Add agent-kernel runtime (MainAgentRunner with while-true state machine, subagent spawning, tool loop, budget control) - Add review-agent entrypoint with read_file/search_code/spawn_subagent tools - Add deterministic publish adapter with cross-specialist finding dedup - Delete old fixed workflow (orchestrator, triage, specialist, judge agents, 4 domain agents, critic/debate/reflexion agents, learning/memory system) - Remove legacy ModelRole (planner/specialist/judge) from LLM types, gateway, config schema, DB, and frontend RoleAssignment UI - Replace RoleAssignment with AgentModelSettings for role-based model config - Add agent config API endpoints (GET/PUT /admin/api/agents/config) - Add review session detail page with observability/findings/logs tabs - Add runtime contract tests and review adapter integration tests - Add E2E mock LLM with scripted behavior support for deterministic testing - Update E2E test script with subagent and finding assertions - Add e2e/README.md with real PR review testing guide - Fix seed.sh to run gitea admin commands as git user (not root) - Update docs (configuration, review-engines, deployment, README) - Remove unused feedback controller, qdrant k8s manifest, embedding migration - Add .omo/ and .opencode/ to .gitignore
1.1 KiB
1.1 KiB
Deployment
Docker
docker build -t gitea-assistant .
docker run -d -p 5174:5174 -v ./data:/app/data -e PORT=5174 -e LOG_LEVEL=error gitea-assistant
Docker Compose
docker compose up -d
docker-compose.yml includes gitea-assistant.
Production default in compose sets LOG_LEVEL=error.
Kubernetes
Kubernetes manifests are in k8s/.
The default ConfigMap sets LOG_LEVEL=error for production.
1) Create namespace and encryption secret
kubectl apply -f k8s/namespace.yaml
ENCRYPTION_KEY=$(openssl rand -hex 32)
kubectl -n gitea-assistant create secret generic gitea-assistant-secret \
--from-literal=ENCRYPTION_KEY=$ENCRYPTION_KEY
2) Deploy
kubectl apply -k k8s/
Or apply individually:
kubectl apply -f k8s/namespace.yaml
kubectl apply -f k8s/gitea-assistant.yaml
3) Verify
kubectl -n gitea-assistant get pods
kubectl -n gitea-assistant get svc
4) Expose service (optional)
kubectl -n gitea-assistant patch svc gitea-assistant -p '{"spec":{"type":"NodePort"}}'