Skip to content
Closed
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
2 changes: 2 additions & 0 deletions ARCHITECTURE.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# πŸ—οΈ rocCLAW Architecture

> ⚠️ **Alpha Preview** β€” This document describes the current architecture as of v0.9.0-alpha. Details may change as the project evolves.

Technical deep-dive into how rocCLAW works under the hood.

---
Expand Down
45 changes: 45 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [0.9.0-alpha.0] β€” 2026-04-06

### ⚠️ Alpha Preview

> **This is early, unstable software.** Expect rough edges, breaking changes, and incomplete features. Do not use in production environments.

### Added
- **Avatar system** β€” Per-agent avatar selection with auto-generated, default (12 PNG profiles), and custom modes; globally toggled from the footer
- **Fleet sidebar soul names** β€” Agent cards now display identity names fetched from each agent's `IDENTITY.md`, with improved card layout and sizing
- **Footer avatar mode toggle** β€” Quick dropdown to switch between auto/default/custom avatar sources without opening agent settings
- **`AgentCreateModal` types** β€” Added `AgentCreationType` union (`create` | `resume`) for clearer creation vs. resumption flows
- **`AgentSettingsMutationController`** β€” New React controller hook for batched, optimistic agent settings updates with conflict resolution
- **Fleet hydration derivation** β€” `deriveDefaultIndex` utility shared across `FooterBar`, `TasksDashboard`, and fleet tiles for consistent avatar mapping across reloads
- **`agentFleetHydration` operation** β€” Fetches `IDENTITY.md` per agent at hydration time; shows soul names in fleet cards
- **Gateway version display** β€” Client-side fetch of OpenClaw gateway version displayed in footer
- **E2E test coverage** β€” Settings panel test using specific heading locator; bootstrap workflow tests

### Changed
- **Fleet tile avatars** β€” Increased from 80px to 96px; now fill card height with `object-cover` centering
- **Fleet card layout** β€” Identity name shown as muted subtitle above agent name; soul name bold/larger; agent name small and muted below
- **`identityName` field** β€” `agent.identity?.name` is now the single source of truth for display names across all components
- **`FooterBar` avatar toggle** β€” Now shows whenever agents exist (not only when an agent is running); aligned with global `AvatarModeContext`
- **`AgentAvatar` context** β€” Now reads `AvatarModeContext` so footer, fleet tiles, and task cards stay in sync
- **Avatar mode context** β€” Shared globally via `AvatarModeContext.tsx` to prevent stale state from `useEffect` localStorage reads
- **Seed hashing** β€” Default avatars use `seed + index` blending to ensure all agents get unique default images on each reload

### Fixed
- **Avatar centering** β€” `fill` mode avatars now use `relative` positioning with `object-cover` to prevent overflow
- **Avatar sync on reload** β€” Agents now get consistent (but distinct) default avatar images even after page reload
- **Identity name priority** β€” Fixed priority chain: `agent.identity?.name` β†’ `agent.identityName` β†’ derived from identity file
- **Footer default avatar** β€” Footer avatar in default mode now uses shared `deriveDefaultIndex` for correct index calculation
- **Lint errors** β€” Fixed `setState-in-effect` lint errors and resolved all remaining lint issues

### Infrastructure
- GitHub Actions CI pipeline for automated testing on push/PR
- Playwright E2E test suite with maximized browser window support
- Vitest unit test suite
- ESLint + TypeScript strict type checking
2 changes: 2 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# 🀝 Contributing to rocCLAW

> ⚠️ **Alpha Preview** β€” Contribution guidelines are a starting point. As the project matures, these will evolve. Please ask in Discussions before investing time in large contributions.

Thank you for your interest in making rocCLAW better! This guide will help you get set up and contribute effectively.

---
Expand Down
9 changes: 6 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
<div align="center">

# πŸŽ›οΈ rocCLAW
# ⚠️ rocCLAW β€” Alpha Preview

**Your focused operator rocclaw for OpenClaw**
> **This is early, unstable software (v0.9.0-alpha).** Expect rough edges, breaking changes, and incomplete features. Do not use in production environments. Feedback welcome!

**Your focused operator studio for OpenClaw AI agents**

<p align="center">
<a href="https://discord.gg/EFkFHbZw"><img src="https://img.shields.io/badge/Discord-Join%20Community-5865F2?logo=discord&logoColor=white" alt="Discord"></a>
<a href="https://nodejs.org"><img src="https://img.shields.io/badge/Node.js-20.9%2B-339933?logo=nodedotjs&logoColor=white" alt="Node.js"></a>
<a href="https://github.com/simoncatbot/rocclaw/releases"><img src="https://img.shields.io/github/v/release/simoncatbot/rocclaw?include_prereleases&logo=github&color=blue" alt="GitHub Release"></a>
<a href="https://github.com/simoncatbot/rocclaw/releases"><img src="https://img.shields.io/github/v/release/simoncatbot/rocclaw?include_prereleases&logo=github&color=red" alt="GitHub Release"></a>
<a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-blue.svg" alt="License"></a>
</p>

Expand Down Expand Up @@ -121,6 +123,7 @@ npm run dev

| Guide | What you'll learn |
|-------|-------------------|
| [πŸ“‹ Changelog](CHANGELOG.md) | Release history and what's new |
| [πŸ“š Setup & Configuration](README.md#setup-guides) | Detailed installation for different scenarios |
| [πŸ–₯️ UI Guide](docs/ui-guide.md) | How to use each feature in the interface |
| [πŸ” Permissions & Sandboxing](docs/permissions-sandboxing.md) | Security settings explained |
Expand Down
2 changes: 2 additions & 0 deletions docs/permissions-sandboxing.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# πŸ” Permissions & Sandboxing Guide

> ⚠️ **Alpha Preview** β€” Security model is under active development as of v0.9.0-alpha.

Understanding how rocCLAW configures security and how the OpenClaw gateway enforces it.

---
Expand Down
2 changes: 2 additions & 0 deletions docs/pi-chat-streaming.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# πŸ’¬ Chat Streaming

> ⚠️ **Alpha Preview** β€” This document describes the chat architecture as of v0.9.0-alpha. Implementation details may evolve.

Understanding how real-time chat events flow from the OpenClaw gateway to your browser.

---
Expand Down
2 changes: 2 additions & 0 deletions docs/ui-guide.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# πŸ–₯️ rocCLAW UI Guide

> ⚠️ **Alpha Preview** β€” This guide reflects v0.9.0-alpha. UI elements and behavior may change between releases.

Complete walkthrough of the rocCLAW interface β€” what every button does and how to use it effectively.

---
Expand Down
8 changes: 5 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@simoncatbot/rocclaw",
"version": "0.1.0",
"description": "Focused operator studio for OpenClaw - Web dashboard for AI agent management",
"version": "0.9.0-alpha.0",
"description": "⚠️ ALPHA PREVIEW β€” Focused operator studio for OpenClaw AI agents. This is early software β€” expect rough edges.",
"main": "server/index.js",
"bin": {
"rocclaw": "./server/index.js"
Expand All @@ -19,7 +19,9 @@
"agent",
"dashboard",
"chat",
"nextjs"
"nextjs",
"alpha",
"operator-studio"
],
"author": "SimonCatBot",
"license": "MIT",
Expand Down
Loading