Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 1 addition & 22 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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).
Expand Down
1 change: 0 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion docs/technical_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Expand Down
Loading