mirror of
https://github.com/sipeed/picoclaw.git
synced 2026-06-12 18:08:54 +00:00
3b3062abe8
* Add extraBody field to model configuration forms
This adds a new field allowing users to specify additional JSON fields
to inject into the request body when configuring models.
* Handle ExtraBody clearing when frontend sends empty object
The backend now interprets an empty object sent from the frontend as a
signal to clear the ExtraBody field, while nil/undefined preserves the
existing value. Frontend changed to send {} instead of undefined when
the field is empty.
Picoclaw Web
This directory contains the standalone web service for picoclaw.
It provides a complete unified web interface, acting as a dashboard, configuration center, and interactive console (channel client) for the core picoclaw engine.
Architecture
The service is structured as a monorepo containing both the backend and frontend code to ensure high cohesion and simplify deployment.
backend/: The Go-based web server. It provides RESTful APIs, manages WebSocket connections for chat, and handles the lifecycle of thepicoclawprocess. It eventually embeds the compiled frontend assets into a single executable.frontend/: The Vite + React + TanStack Router single-page application (SPA). It provides the interactive user interface.
Getting Started
Prerequisites
- Go 1.25+
- Node.js 20+ with pnpm
Development
Run both the frontend dev server and the Go backend simultaneously:
make dev
Or run them separately:
make dev-frontend # Vite dev server
make dev-backend # Go backend
Build
Build the frontend and embed it into a single Go binary:
make build
The output binary is backend/picoclaw-web.
Other Commands
make test # Run backend tests and frontend lint
make lint # Run go vet and prettier/eslint
make clean # Remove all build artifacts