mirror of
https://github.com/sipeed/picoclaw.git
synced 2026-06-12 18:08:54 +00:00
1f9d390a64
- Move SecurityCopyFrom() before validateConfig() in PUT and PATCH handlers - Make SecurityCopyFrom() call applySecurityConfig() to populate private fields - Add tests for config save with security-only channel tokens Without this fix, saving config via the web UI fails with 'channels.pico.token is required' (and similar for Telegram/Discord) when tokens are stored in .security.yml, because the validation ran before security credentials were copied to the config struct.
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