diff --git a/CLAUDE.md b/CLAUDE.md index fcc719d..d4757f7 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -4,7 +4,7 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co ## Project Overview -Sico is an open-source AI agent platform with three main services that communicate via gRPC and a bidirectional "reverse RPC" pattern. The backend handles HTTP APIs and persistence, the core handles AI/LLM orchestration, and the frontend provides a React dashboard. +Sico is an open-source AI agent platform with three main services that communicate via gRPC and a bidirectional "reverse RPC" pattern. The backend handles HTTP APIs and persistence, the core handles AI/LLM orchestration, and the frontend provides a React dashboard (frontend codebase is not opensourced). ## Build & Run Commands @@ -41,19 +41,6 @@ uv run ruff format . # format ``` Requires Python >=3.13. Uses `uv` for dependency management (pyproject.toml + uv.lock). -### Frontend (React + pnpm) -```bash -cd frontend -pnpm install # install dependencies -pnpm dev # start dev server (vite) -pnpm build # production build (tsc -b && vite build) -pnpm lint # eslint -pnpm lint:fix -pnpm format # prettier -pnpm format:check -``` -Single-package React app (package name `sico-frontend`, private). Uses Vite + Tailwind + styled-components + React Router. TypeScript path alias `@` → `frontend/src/`. - ### Protobuf Code Generation All `.proto` files live in `proto/`. Generation scripts are run from the `proto/` directory: ```bash @@ -121,14 +108,6 @@ Key patterns: - **`app/pb/`** — Auto-generated protobuf/betterproto2 stubs (do not edit manually). - **`app/utils/`** — Shared utilities: Redis, caching, eventbus, response builders. -### Frontend Structure (TypeScript/React — `frontend/`) - -- Single-package React app rooted at `frontend/` (not a monorepo). Package name `sico-frontend`, private, managed with pnpm. -- **`src/`** — app source: `pages/`, `components/`, `api/`, `hooks/`, `utils/`, `assets/`; `App.tsx` + `main.tsx` + `PlatformRouter.tsx` entry. -- **`public/`** — static assets (includes `pdfjs/` worker). -- **`proto-types/src/`** — generated TS types from protobuf (do not edit manually; emitted by `bash gen.sh` in `proto/`). -- Uses Vite, Tailwind CSS, styled-components, React Router, and `@` path alias mapped to `src/`. - ### Sandbox System The sandbox subsystem manages isolated environments (Android emulators, AIO containers) for agent tool execution. Sandboxes are pooled and leased to agent instances. The `sandbox/emulator/` directory contains the Android emulator sandbox implementation (Python). diff --git a/README.md b/README.md index 24bb61e..f3f0380 100644 --- a/README.md +++ b/README.md @@ -196,7 +196,6 @@ make kind-down # tear down and delete local cluster data sico/ ├── backend/ # Go HTTP + gRPC service (Gin, GORM, Wire) ├── core/ # Python agent orchestration service (asyncio, grpclib) -├── frontend/ # Packaged/deployment frontend assets (source package is separate) ├── proto/ # Protobuf definitions shared by all services ├── sandbox/ # Sandbox runtimes (Android emulator, ...) ├── skills/ # Packaged Digital Worker skills diff --git a/docs/technical_report.md b/docs/technical_report.md index ca1cad8..c0cf158 100644 --- a/docs/technical_report.md +++ b/docs/technical_report.md @@ -129,7 +129,7 @@ Sico separates AI orchestration from data persistence with a protobuf-driven gRP |---------|----------|-----------|---------------| | **Backend** | Go | Gin | HTTP API gateway, JWT/Casbin auth for operator-facing APIs, sandbox-client HMAC auth, data persistence, reverse gRPC server | | **Core** | Python | asyncio | Agent orchestration, LLM invocation, tool execution, Experience Learning; no direct MySQL access, with runtime state in workspace files and memory/vector stores | -| **Frontend** | - | - | Operator-facing web client for human users (not open source) | +| **Frontend** | TypeScript | React / Vite | Operator-facing web client for human users; source code is not currently published in this repository and is distributed separately as a packaged archive | Sico uses two services because AI orchestration and platform responsibilities evolve at different speeds and benefit from different runtimes. The Backend service is implemented in Go for high-throughput HTTP handling. The Core service is implemented in Python to support rapid iteration across the AI/LLM ecosystem. This separation decouples deployment cycles and allows each service to optimize for its primary workload.