chore(rename): migrate legacy 'Hermes' codename bytes to canonical 'Claude' across repo
- Rewrites all Claude/claude/CLAUDE -> Hermes/claude/CLAUDE - Renames 31 files (hermes-*.ts -> claude-*.ts, hermes-*.png -> claude-*.png, etc.) - Renames 1 directory (src/routes/api/hermes-proxy -> claude-proxy) - 254 files content-modified, 2681 byte sequences replaced - Build passes, no new test regressions (pre-existing failures unchanged) - Adds skills-bundle/ to gitignore + vitest exclude to keep test scope clean
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
# Hermes Workspace — Comprehensive Features Inventory
|
||||
# Claude Workspace — Comprehensive Features Inventory
|
||||
|
||||
> **Version:** 2.0.0 | **Stack:** React 19 + TanStack Start/Router + Vite 7 + Tailwind CSS 4 + Zustand + xterm.js + Monaco Editor
|
||||
> **Description:** Desktop workspace for Hermes Agent — chat, orchestration, and multi-agent coding pipelines
|
||||
> **Description:** Desktop workspace for Claude Agent — chat, orchestration, and multi-agent coding pipelines
|
||||
|
||||
---
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
- **Real-time SSE streaming** with tool call rendering
|
||||
- **Multi-session management** — create, rename, delete, fork sessions
|
||||
- **Dual chat backend modes:**
|
||||
- **Enhanced Hermes** — full session API with persistent history via Hermes gateway
|
||||
- **Enhanced Claude** — full session API with persistent history via Claude gateway
|
||||
- **Portable** — OpenAI-compatible `/v1/chat/completions` (works with Ollama, LM Studio, vLLM, etc.)
|
||||
- **Chat sidebar** — session list with search, pin, rename, delete dialogs
|
||||
- **Message rendering:**
|
||||
@@ -89,7 +89,7 @@
|
||||
|
||||
### 1.5 Memory Browser Screen (`/memory`)
|
||||
|
||||
- **Browse agent memory files** in `~/.hermes/` (MEMORY.md, memory/, memories/)
|
||||
- **Browse agent memory files** in `~/.claude/` (MEMORY.md, memory/, memories/)
|
||||
- **Search across memory entries** — text search with line-level results (max 200 matches)
|
||||
- **Markdown preview** with live editing via MemoryEditor
|
||||
- **Memory file list** — sorted with MEMORY.md first, daily files by date
|
||||
@@ -97,7 +97,7 @@
|
||||
|
||||
### 1.6 Skills Browser Screen (`/skills`)
|
||||
|
||||
- **Browse 2,000+ skills** from the Hermes skill registry
|
||||
- **Browse 2,000+ skills** from the Claude skill registry
|
||||
- **Tabbed view:** Installed, Marketplace, Featured
|
||||
- **Skill categories:** All, Web & Frontend, Coding Agents, Git & GitHub, DevOps & Cloud, Browser & Automation, Image & Video, Search & Research, AI & LLMs, Productivity, Marketing & Sales, Communication, Data & Analytics, Finance & Crypto
|
||||
- **Search and filter** — by name, description, author, tags, triggers
|
||||
@@ -129,7 +129,7 @@
|
||||
|
||||
| Endpoint | Method | Description |
|
||||
| -------------------- | ------ | -------------------------------------------------------------------------------- |
|
||||
| `/api/send-stream` | POST | Main streaming chat endpoint — routes to enhanced Hermes or portable OpenAI mode |
|
||||
| `/api/send-stream` | POST | Main streaming chat endpoint — routes to enhanced Claude or portable OpenAI mode |
|
||||
| `/api/send` | POST | Non-streaming chat send |
|
||||
| `/api/sessions/send` | POST | Session-specific send |
|
||||
| `/api/chat-events` | GET | SSE chat event stream |
|
||||
@@ -162,7 +162,7 @@
|
||||
|
||||
| Endpoint | Method | Description |
|
||||
| -------------------- | ------ | -------------------------------- |
|
||||
| `/api/memory` | GET | Get memory from Hermes gateway |
|
||||
| `/api/memory` | GET | Get memory from Claude gateway |
|
||||
| `/api/memory/list` | GET | List local memory markdown files |
|
||||
| `/api/memory/read` | GET | Read specific memory file |
|
||||
| `/api/memory/search` | GET | Search across memory files |
|
||||
@@ -180,17 +180,17 @@
|
||||
| Endpoint | Method | Description |
|
||||
| -------------------- | ------ | -------------------------------------------- |
|
||||
| `/api/models` | GET | List available models (gateway + auth store) |
|
||||
| `/api/hermes-config` | GET | Read Hermes config.yaml and .env |
|
||||
| `/api/hermes-config` | PATCH | Update config.yaml and .env |
|
||||
| `/api/claude-config` | GET | Read Claude config.yaml and .env |
|
||||
| `/api/claude-config` | PATCH | Update config.yaml and .env |
|
||||
| `/api/context-usage` | GET | Token/context usage for a session |
|
||||
|
||||
### 2.7 Jobs
|
||||
|
||||
| Endpoint | Method | Description |
|
||||
| ------------------------- | --------------------- | ---------------------------------------------- |
|
||||
| `/api/hermes-jobs` | GET | List all jobs |
|
||||
| `/api/hermes-jobs` | POST | Create new job |
|
||||
| `/api/hermes-jobs/$jobId` | GET/POST/PATCH/DELETE | Job CRUD and actions (pause/resume/run/output) |
|
||||
| `/api/claude-jobs` | GET | List all jobs |
|
||||
| `/api/claude-jobs` | POST | Create new job |
|
||||
| `/api/claude-jobs/$jobId` | GET/POST/PATCH/DELETE | Job CRUD and actions (pause/resume/run/output) |
|
||||
|
||||
### 2.8 Terminal
|
||||
|
||||
@@ -210,8 +210,8 @@
|
||||
| `/api/ping` | GET | Server ping/health |
|
||||
| `/api/connection-status` | GET | Gateway connection status with capabilities |
|
||||
| `/api/gateway-status` | GET | Detailed gateway capabilities |
|
||||
| `/api/start-agent` | POST | Auto-start Hermes agent process |
|
||||
| `/api/start-hermes` | POST | Start Hermes gateway |
|
||||
| `/api/start-agent` | POST | Auto-start Claude agent process |
|
||||
| `/api/start-claude` | POST | Start Claude gateway |
|
||||
| `/api/workspace` | GET | Workspace auto-detection |
|
||||
|
||||
### 2.10 OAuth
|
||||
@@ -279,8 +279,8 @@
|
||||
- **connection-overlay** — full-screen connection status
|
||||
- **connection-startup-screen** — initial loading/connection screen
|
||||
- **backend-unavailable-state** — offline fallback UI
|
||||
- **hermes-health-banner** — gateway health indicator
|
||||
- **hermes-reconnect-banner** — reconnection prompt
|
||||
- **claude-health-banner** — gateway health indicator
|
||||
- **claude-reconnect-banner** — reconnection prompt
|
||||
- **error-boundary** — React error boundary
|
||||
- **error-toast** — error notification
|
||||
- **loading-indicator** — generic loading state
|
||||
@@ -306,7 +306,7 @@
|
||||
- **usage-meter/** — usage-meter, usage-meter-compact, usage-details-modal, context-alert-modal
|
||||
- **search/** — search-modal, search-input, search-results, search-result-item, quick-actions
|
||||
- **settings-dialog/** — settings-dialog
|
||||
- **onboarding/** — hermes-onboarding, onboarding-wizard, onboarding-tour, tour-steps, setup-step-content, provider-select-step
|
||||
- **onboarding/** — claude-onboarding, onboarding-wizard, onboarding-tour, tour-steps, setup-step-content, provider-select-step
|
||||
- **agent-chat/** — AgentChatModal, AgentChatHeader, AgentChatInput, AgentChatMessages
|
||||
- **avatars/** — user-avatar, assistant-avatar
|
||||
- **auth/** — login-screen
|
||||
@@ -326,8 +326,8 @@
|
||||
|
||||
| Setting | Type | Default | Description |
|
||||
| ------------------------- | ------------------------------- | -------- | --------------------------- |
|
||||
| `hermesUrl` | string | `''` | Hermes API URL |
|
||||
| `hermesToken` | string | `''` | Bearer token |
|
||||
| `claudeUrl` | string | `''` | Claude API URL |
|
||||
| `claudeToken` | string | `''` | Bearer token |
|
||||
| `theme` | `system\|light\|dark` | `system` | Color mode |
|
||||
| `accentColor` | `orange\|purple\|blue\|green` | `blue` | Accent color |
|
||||
| `editorFontSize` | number | `13` | Monaco editor font size |
|
||||
@@ -346,9 +346,9 @@
|
||||
|
||||
| Theme | Description | Mode |
|
||||
| --------------------- | ------------------------------- | ----- |
|
||||
| Hermes Official | Navy and indigo flagship | Dark |
|
||||
| Hermes Official Light | Soft indigo light palette | Light |
|
||||
| Hermes Classic | Bronze accents on dark charcoal | Dark |
|
||||
| Claude Official | Navy and indigo flagship | Dark |
|
||||
| Claude Official Light | Soft indigo light palette | Light |
|
||||
| Claude Classic | Bronze accents on dark charcoal | Dark |
|
||||
| Classic Light | Warm parchment with bronze | Light |
|
||||
| Slate | Cool blue developer theme | Dark |
|
||||
| Slate Light | GitHub-light with blue accents | Light |
|
||||
@@ -374,26 +374,26 @@
|
||||
|
||||
| Variable | Description |
|
||||
| ---------------------- | -------------------------------------------------- |
|
||||
| `HERMES_API_URL` | Backend API URL (default: `http://127.0.0.1:8642`) |
|
||||
| `HERMES_PASSWORD` | Optional password protection for web UI |
|
||||
| `HERMES_WORKSPACE_DIR` | Workspace root directory (default: `~/.hermes`) |
|
||||
| `HERMES_AGENT_PATH` | Path to hermes-agent directory |
|
||||
| `HERMES_DEFAULT_MODEL` | Default model override |
|
||||
| `HERMES_ALLOWED_HOSTS` | Allowed hosts (default: `.ts.net`) |
|
||||
| `CLAUDE_API_URL` | Backend API URL (default: `http://127.0.0.1:8642`) |
|
||||
| `CLAUDE_PASSWORD` | Optional password protection for web UI |
|
||||
| `CLAUDE_WORKSPACE_DIR` | Workspace root directory (default: `~/.claude`) |
|
||||
| `CLAUDE_AGENT_PATH` | Path to claude-agent directory |
|
||||
| `CLAUDE_DEFAULT_MODEL` | Default model override |
|
||||
| `CLAUDE_ALLOWED_HOSTS` | Allowed hosts (default: `.ts.net`) |
|
||||
| `ANTHROPIC_API_KEY` | Anthropic API key passthrough (optional) |
|
||||
| `OPENAI_API_KEY` | OpenAI API key passthrough (optional) |
|
||||
| `OPENROUTER_API_KEY` | OpenRouter API key passthrough (optional) |
|
||||
| `GOOGLE_API_KEY` | Google Gemini API key passthrough (optional) |
|
||||
| `HERMES_API_TOKEN` | Auth token for gateway API_SERVER_KEY |
|
||||
| `CLAUDE_API_TOKEN` | Auth token for gateway API_SERVER_KEY |
|
||||
| `BEARER_TOKEN` | Bearer token for backend auth |
|
||||
| `PORT` | Server port (default: 3002 dev, 3000 prod) |
|
||||
|
||||
### 4.6 Hermes Config Management
|
||||
### 4.6 Claude Config Management
|
||||
|
||||
- **Read/write `~/.hermes/config.yaml`** — YAML config via web UI
|
||||
- **Read/write `~/.hermes/.env`** — environment variables
|
||||
- **Read/write `~/.claude/config.yaml`** — YAML config via web UI
|
||||
- **Read/write `~/.claude/.env`** — environment variables
|
||||
- **Provider status** with masked API keys
|
||||
- **Auth store integration** — reads from `~/.hermes/auth-profiles.json` and `~/.openclaw/agents/main/agent/auth-profiles.json`
|
||||
- **Auth store integration** — reads from `~/.claude/auth-profiles.json` and `~/.openclaw/agents/main/agent/auth-profiles.json`
|
||||
|
||||
---
|
||||
|
||||
@@ -405,7 +405,7 @@
|
||||
- **Core:** health, chatCompletions, models, streaming
|
||||
- **Enhanced:** sessions, skills, memory, config, jobs
|
||||
- **Three chat modes:**
|
||||
- `enhanced-hermes` — full Hermes session API
|
||||
- `enhanced-claude` — full Claude session API
|
||||
- `portable` — OpenAI-compatible /v1/chat/completions
|
||||
- `disconnected` — no usable backend
|
||||
- **Auto-detection** with port fallback (8642 → 8643)
|
||||
@@ -420,7 +420,7 @@
|
||||
|
||||
### 5.3 Run Store (Persistence)
|
||||
|
||||
- Persisted run state at `~/.hermes/webui-mvp/runs/`
|
||||
- Persisted run state at `~/.claude/webui-mvp/runs/`
|
||||
- Run lifecycle: accepted → active → handoff → stalled → complete → error
|
||||
- Tool call tracking with phase management
|
||||
- Lifecycle event logging (max 40 per run)
|
||||
@@ -434,7 +434,7 @@
|
||||
|
||||
### 5.5 Memory Browser (Server)
|
||||
|
||||
- Filesystem-based memory browsing in `~/.hermes/`
|
||||
- Filesystem-based memory browsing in `~/.claude/`
|
||||
- File filters: MEMORY.md, memory/_, memories/_
|
||||
- Markdown-only restriction
|
||||
- Path traversal prevention
|
||||
@@ -447,12 +447,12 @@
|
||||
- Automatic default model detection from `/v1/models`
|
||||
- Multimodal support (image_url content parts)
|
||||
|
||||
### 5.7 Hermes Agent Auto-Start
|
||||
### 5.7 Claude Agent Auto-Start
|
||||
|
||||
- Auto-detects sibling `hermes-agent/` directory
|
||||
- Auto-detects sibling `claude-agent/` directory
|
||||
- Resolves Python virtualenv (`.venv`, `venv`, system `python3`)
|
||||
- Spawns uvicorn with health polling (15 attempts, 1s interval)
|
||||
- Reads `~/.hermes/.env` for agent configuration
|
||||
- Reads `~/.claude/.env` for agent configuration
|
||||
|
||||
### 5.8 Workspace Daemon (Optional)
|
||||
|
||||
@@ -476,7 +476,7 @@
|
||||
| Ollama | Local (no auth) | Local models |
|
||||
| Custom | API Key | Any OpenAI-compatible server |
|
||||
|
||||
### 6.2 Known Gateway Providers (Hermes Config)
|
||||
### 6.2 Known Gateway Providers (Claude Config)
|
||||
|
||||
- Nous Portal (OAuth device code flow)
|
||||
- OpenAI Codex (OAuth)
|
||||
@@ -499,7 +499,7 @@
|
||||
|
||||
- **Device code flow** for Nous Portal
|
||||
- Token polling mechanism
|
||||
- Auth profile storage in `~/.hermes/auth-profiles.json`
|
||||
- Auth profile storage in `~/.claude/auth-profiles.json`
|
||||
|
||||
### 6.5 Workspace Agents
|
||||
|
||||
@@ -592,7 +592,7 @@ Web Audio API synthesized sounds (no audio files):
|
||||
|
||||
### 8.1 Authentication
|
||||
|
||||
- Optional password protection via `HERMES_PASSWORD` env var
|
||||
- Optional password protection via `CLAUDE_PASSWORD` env var
|
||||
- Timing-safe password comparison
|
||||
- Cryptographic session tokens (32 bytes hex)
|
||||
- HTTP-only, SameSite=Strict cookies (30-day expiry)
|
||||
@@ -684,14 +684,14 @@ pnpm stop:stable # Stop via scripts/stop-stable.sh
|
||||
|
||||
### 10.4 Docker Compose
|
||||
|
||||
- **hermes-agent** container — Python FastAPI gateway on port 8642
|
||||
- **hermes-workspace** container — Node.js web UI on port 3000
|
||||
- **claude-agent** container — Python FastAPI gateway on port 8642
|
||||
- **claude-workspace** container — Node.js web UI on port 3000
|
||||
- Health checks with retries
|
||||
- Environment file passthrough
|
||||
|
||||
### 10.5 Auto-Start Features
|
||||
|
||||
- Hermes agent auto-start from sibling directory
|
||||
- Claude agent auto-start from sibling directory
|
||||
- Workspace daemon auto-start with crash recovery
|
||||
- Port fallback detection (8642 → 8643)
|
||||
|
||||
@@ -736,4 +736,4 @@ pnpm stop:stable # Stop via scripts/stop-stable.sh
|
||||
|
||||
---
|
||||
|
||||
_Generated from codebase analysis of `/Users/aurora/hermes-workspace/`_
|
||||
_Generated from codebase analysis of `/Users/aurora/claude-workspace/`_
|
||||
|
||||
Reference in New Issue
Block a user