diff --git a/cmd/picoclaw-launcher-tui/internal/ui/app.go b/cmd/picoclaw-launcher-tui/internal/ui/app.go index b0c2b3ffa..4947d6aea 100644 --- a/cmd/picoclaw-launcher-tui/internal/ui/app.go +++ b/cmd/picoclaw-launcher-tui/internal/ui/app.go @@ -181,7 +181,7 @@ func refreshMainMenu(menu *Menu, s *appState) { }, { Label: "Start Talk", - Description: "Open aldo agent in terminal", + Description: "Open picoclaw agent in terminal", Action: func() { s.requestStartTalk() }, diff --git a/cmd/picoclaw/internal/helpers.go b/cmd/picoclaw/internal/helpers.go index 3a49ded16..9655d3c08 100644 --- a/cmd/picoclaw/internal/helpers.go +++ b/cmd/picoclaw/internal/helpers.go @@ -9,7 +9,7 @@ import ( "github.com/sipeed/picoclaw/pkg/config" ) -const Logo = "🤖" +const Logo = "🦞" var ( version = "dev" diff --git a/cmd/picoclaw/internal/onboard/helpers.go b/cmd/picoclaw/internal/onboard/helpers.go index 457d683e2..4db8bdc8b 100644 --- a/cmd/picoclaw/internal/onboard/helpers.go +++ b/cmd/picoclaw/internal/onboard/helpers.go @@ -33,7 +33,7 @@ func onboard() { workspace := cfg.WorkspacePath() createWorkspaceTemplates(workspace) - fmt.Printf("%s aldo is ready!\n", internal.Logo) + fmt.Printf("%s picoclaw is ready!\n", internal.Logo) fmt.Println("\nNext steps:") fmt.Println(" 1. Add your API key to", configPath) fmt.Println("") @@ -43,7 +43,7 @@ func onboard() { fmt.Println("") fmt.Println(" See README.md for 17+ supported providers.") fmt.Println("") - fmt.Println(" 2. Chat: aldo agent -m \"Hello!\"") + fmt.Println(" 2. Chat: picoclaw agent -m \"Hello!\"") } func createWorkspaceTemplates(workspace string) { diff --git a/cmd/picoclaw/internal/status/helpers.go b/cmd/picoclaw/internal/status/helpers.go index 87cb1da3c..ab28f4885 100644 --- a/cmd/picoclaw/internal/status/helpers.go +++ b/cmd/picoclaw/internal/status/helpers.go @@ -17,7 +17,7 @@ func statusCmd() { configPath := internal.GetConfigPath() - fmt.Printf("%s aldo Status\n", internal.Logo) + fmt.Printf("%s picoclaw Status\n", internal.Logo) fmt.Printf("Version: %s\n", internal.FormatVersion()) build, _ := internal.FormatBuildInfo() if build != "" { diff --git a/cmd/picoclaw/internal/version/command.go b/cmd/picoclaw/internal/version/command.go index 2229edb09..1cf686671 100644 --- a/cmd/picoclaw/internal/version/command.go +++ b/cmd/picoclaw/internal/version/command.go @@ -22,7 +22,7 @@ func NewVersionCommand() *cobra.Command { } func printVersion() { - fmt.Printf("%s aldo %s\n", internal.Logo, internal.FormatVersion()) + fmt.Printf("%s picoclaw %s\n", internal.Logo, internal.FormatVersion()) build, goVer := internal.FormatBuildInfo() if build != "" { fmt.Printf(" Build: %s\n", build) diff --git a/cmd/picoclaw/main.go b/cmd/picoclaw/main.go index fb0ac435f..6db69c990 100644 --- a/cmd/picoclaw/main.go +++ b/cmd/picoclaw/main.go @@ -25,12 +25,12 @@ import ( ) func NewPicoclawCommand() *cobra.Command { - short := fmt.Sprintf("%s aldo - Personal AI Assistant v%s\n\n", internal.Logo, internal.GetVersion()) + short := fmt.Sprintf("%s picoclaw - Personal AI Assistant v%s\n\n", internal.Logo, internal.GetVersion()) cmd := &cobra.Command{ - Use: "aldo", + Use: "picoclaw", Short: short, - Example: "aldo list", + Example: "picoclaw list", } cmd.AddCommand( diff --git a/pkg/agent/context.go b/pkg/agent/context.go index da8fdac5e..583377272 100644 --- a/pkg/agent/context.go +++ b/pkg/agent/context.go @@ -61,9 +61,9 @@ func NewContextBuilder(workspace string) *ContextBuilder { func (cb *ContextBuilder) getIdentity() string { workspacePath, _ := filepath.Abs(filepath.Join(cb.workspace)) - return fmt.Sprintf(`# aldo 🤖 + return fmt.Sprintf(`# picoclaw 🦞 -You are aldo, a helpful AI assistant. +You are picoclaw, a helpful AI assistant. ## Workspace Your workspace is at: %s diff --git a/pkg/utils/download.go b/pkg/utils/download.go index 156a0d548..5d9a13a30 100644 --- a/pkg/utils/download.go +++ b/pkg/utils/download.go @@ -46,7 +46,7 @@ func DownloadToFile(ctx context.Context, client *http.Client, req *http.Request, } // Create temp file. - tmpFile, err := os.CreateTemp("", "aldo-dl-*") + tmpFile, err := os.CreateTemp("", "picoclaw-dl-*") if err != nil { return "", fmt.Errorf("failed to create temp file: %w", err) } diff --git a/pkg/utils/media.go b/pkg/utils/media.go index 571210da5..a34889fb8 100644 --- a/pkg/utils/media.go +++ b/pkg/utils/media.go @@ -65,7 +65,7 @@ func DownloadFile(url, filename string, opts DownloadOptions) string { opts.LoggerPrefix = "utils" } - mediaDir := filepath.Join(os.TempDir(), "aldo_media") + mediaDir := filepath.Join(os.TempDir(), "picoclaw_media") if err := os.MkdirAll(mediaDir, 0o700); err != nil { logger.ErrorCF(opts.LoggerPrefix, "Failed to create media directory", map[string]any{ "error": err.Error(), diff --git a/workspace/IDENTITY.md b/workspace/IDENTITY.md index b41db4b36..dabb0e14b 100644 --- a/workspace/IDENTITY.md +++ b/workspace/IDENTITY.md @@ -1,7 +1,56 @@ # Identity ## Name -Aldo 🤖 +PicoClaw 🦞 ## Description -Personal AI assistant, based on picoclaw. \ No newline at end of file +Ultra-lightweight personal AI assistant written in Go, inspired by nanobot. + +## Version +0.1.0 + +## Purpose +- Provide intelligent AI assistance with minimal resource usage +- Support multiple LLM providers (OpenAI, Anthropic, Zhipu, etc.) +- Enable easy customization through skills system +- Run on minimal hardware ($10 boards, <10MB RAM) + +## Capabilities + +- Web search and content fetching +- File system operations (read, write, edit) +- Shell command execution +- Multi-channel messaging (Telegram, WhatsApp, Feishu) +- Skill-based extensibility +- Memory and context management + +## Philosophy + +- Simplicity over complexity +- Performance over features +- User control and privacy +- Transparent operation +- Community-driven development + +## Goals + +- Provide a fast, lightweight AI assistant +- Support offline-first operation where possible +- Enable easy customization and extension +- Maintain high quality responses +- Run efficiently on constrained hardware + +## License +MIT License - Free and open source + +## Repository +https://github.com/sipeed/picoclaw + +## Contact +Issues: https://github.com/sipeed/picoclaw/issues +Discussions: https://github.com/sipeed/picoclaw/discussions + +--- + +"Every bit helps, every bit matters." +- Picoclaw \ No newline at end of file diff --git a/workspace/SOUL.md b/workspace/SOUL.md index 119109023..0be8834f5 100644 --- a/workspace/SOUL.md +++ b/workspace/SOUL.md @@ -1,6 +1,6 @@ # Soul -I am aldo, a lightweight AI assistant powered by AI. +I am picoclaw, a lightweight AI assistant powered by AI. ## Personality diff --git a/workspace/skills/hardware/references/board-pinout.md b/workspace/skills/hardware/references/board-pinout.md index 3e4a1fc02..827dd0613 100644 --- a/workspace/skills/hardware/references/board-pinout.md +++ b/workspace/skills/hardware/references/board-pinout.md @@ -126,6 +126,6 @@ I2C adapter numbers can change between boots depending on driver load order. Alw ### Permissions `/dev/i2c-*` and `/dev/spidev*` typically require root access. Options: -- Run aldo as root +- Run picoclaw as root - Add user to `i2c` and `spi` groups - Create udev rules: `SUBSYSTEM=="i2c-dev", MODE="0666"`