feat: MCP server management and skills commands from chat, future-changes doc with UI/skills/MCP plans
- mcp list/add/remove commands to manage MCP servers from any channel - skill list/show/create/remove/reload commands for skill management - skill create generates a SKILL.md template, or ask the AI naturally - Updated help text, commands.md with new commands - future-changes.md: WebChat UI overhaul plan (OpenClaw-inspired), MCP management UI, skill creator system, ClawHub/GitHub skill import plans
This commit is contained in:
@@ -79,6 +79,35 @@ After `config set`, run `reload` to apply changes that don't auto-apply (adapter
|
||||
| `cron list` | List all scheduled jobs |
|
||||
| `cron remove <id>` | Remove a scheduled job by ID |
|
||||
|
||||
### MCP Servers
|
||||
|
||||
| Command | Description |
|
||||
|---|---|
|
||||
| `mcp list` | List configured MCP servers |
|
||||
| `mcp add <name> <command> [args]` | Add a new MCP server |
|
||||
| `mcp remove <name>` | Remove an MCP server |
|
||||
|
||||
Examples:
|
||||
|
||||
```
|
||||
mcp add brave-search uvx brave-search-mcp@latest
|
||||
mcp add filesystem npx @anthropic-ai/mcp-filesystem /home/user/projects
|
||||
mcp add github uvx github-mcp-server
|
||||
mcp remove brave-search
|
||||
```
|
||||
|
||||
### Skills
|
||||
|
||||
| Command | Description |
|
||||
|---|---|
|
||||
| `skill list` | List all loaded skills |
|
||||
| `skill show <name>` | View a skill's content |
|
||||
| `skill create <name>` | Create a new skill template |
|
||||
| `skill remove <name>` | Remove a skill |
|
||||
| `skill reload` | Reload all skills |
|
||||
|
||||
You can also create skills via natural language — just ask: "Create a skill for checking stock prices" and the AI will write the SKILL.md for you.
|
||||
|
||||
### AI Chat
|
||||
|
||||
Any message that isn't a command is sent to the AI. The AI can also trigger actions by including tags in its response:
|
||||
|
||||
@@ -188,6 +188,102 @@ Key files to study in `inspirations/nanoclaw/`:
|
||||
|
||||
## Other Planned Changes
|
||||
|
||||
### WebChat UI Overhaul
|
||||
|
||||
The current chat.html is a minimal single-file UI. Upgrade to match OpenClaw's design language:
|
||||
|
||||
**Design elements from OpenClaw to adopt:**
|
||||
- Color palette: `--bg: #12141a`, `--card: #181b22`, `--accent: #ff5c5c` (or Aetheel's own brand color)
|
||||
- Typography: Space Grotesk for body, JetBrains Mono for code
|
||||
- Chat bubbles: user messages right-aligned with accent background, AI messages left-aligned with card background
|
||||
- Streaming indicator: pulsing border on AI bubble while generating
|
||||
- Tool cards: collapsible cards showing tool usage (web search, file ops, etc.)
|
||||
- Compose area: multi-line textarea with send button, sticky at bottom
|
||||
- Status bar: connection status, current engine/model display
|
||||
|
||||
**New panels (sidebar or tabs):**
|
||||
- Settings panel: engine/model/provider switching, timeout config
|
||||
- MCP Servers panel: add/remove/enable MCP servers
|
||||
- Skills panel: view loaded skills, create new ones
|
||||
- Usage panel: cost tracking, request history, rate limit status
|
||||
- Sessions panel: active sessions, session history
|
||||
|
||||
### MCP Server Management
|
||||
|
||||
Add the ability to manage MCP servers from chat, CLI, and the WebChat UI.
|
||||
|
||||
**Chat commands:**
|
||||
```
|
||||
mcp list # List configured MCP servers
|
||||
mcp add <name> <command> [args...] # Add a new MCP server
|
||||
mcp remove <name> # Remove an MCP server
|
||||
mcp enable <name> # Enable a disabled server
|
||||
mcp disable <name> # Disable without removing
|
||||
```
|
||||
|
||||
**Examples:**
|
||||
```
|
||||
mcp add brave-search uvx brave-search-mcp@latest
|
||||
mcp add filesystem npx @anthropic-ai/mcp-filesystem /home/user/projects
|
||||
mcp add github uvx github-mcp-server
|
||||
mcp remove brave-search
|
||||
```
|
||||
|
||||
**Implementation:**
|
||||
- Chat commands write to `config.json` → `mcp.servers` section
|
||||
- `write_mcp_config()` already generates `.mcp.json` (Claude) or `opencode.json` (OpenCode)
|
||||
- After adding/removing, auto-call `write_mcp_config()` and notify user to reload
|
||||
- WebChat UI: form with name, command, args fields + env vars
|
||||
- CLI: `aetheel mcp add/remove/list` subcommands
|
||||
|
||||
**Popular MCP servers to suggest during setup:**
|
||||
- `brave-search` — Web search
|
||||
- `filesystem` — File system access
|
||||
- `github` — GitHub API
|
||||
- `postgres` / `sqlite` — Database access
|
||||
- `puppeteer` — Browser automation
|
||||
- `memory` — Persistent memory server
|
||||
|
||||
### Skills System Enhancement
|
||||
|
||||
#### Skill Creator (via chat)
|
||||
|
||||
The AI should be able to create new skills when asked. This works by having the AI write a `SKILL.md` file to the workspace.
|
||||
|
||||
**How it works today:**
|
||||
- The system prompt already tells the AI: "You can create new skills by writing SKILL.md files to ~/.aetheel/workspace/skills/<name>/SKILL.md"
|
||||
- The AI has file write access via its runtime tools (Bash, Write, Edit)
|
||||
- So skill creation via natural language already works — just ask: "Create a skill for checking weather"
|
||||
|
||||
**What to add:**
|
||||
- A `skill` chat command for explicit management:
|
||||
```
|
||||
skill list # List all loaded skills
|
||||
skill create <name> # Interactive skill creation wizard
|
||||
skill remove <name> # Remove a skill
|
||||
skill reload # Reload all skills (same as /reload)
|
||||
skill show <name> # Show a skill's SKILL.md content
|
||||
```
|
||||
- Skill templates: pre-built SKILL.md templates for common use cases
|
||||
- Skill import from URL: `skill import https://github.com/user/repo/SKILL.md`
|
||||
|
||||
#### ClawhHub / Community Skills
|
||||
|
||||
Integration with external skill sources:
|
||||
|
||||
- **ClawHub.ai**: If they provide an API or registry, add `skill search <query>` and `skill install <name>` commands
|
||||
- **GitHub Anthropic skills**: Import from `github.com/anthropics/claude-code/tree/main/skills/`
|
||||
- **User-defined skill repos**: `skill import <git-url>` clones a repo's skills into the workspace
|
||||
|
||||
**Implementation:**
|
||||
```
|
||||
skill search weather # Search ClawHub/GitHub for skills
|
||||
skill install clawhub/weather # Install from ClawHub
|
||||
skill import https://github.com/user/skills-repo # Import from git
|
||||
```
|
||||
|
||||
Each imported skill gets its own folder under `~/.aetheel/workspace/skills/<name>/` with a `SKILL.md` and optionally a `handler.py`.
|
||||
|
||||
### Security Fixes (from security-audit.md)
|
||||
|
||||
- Path containment check in `memory/manager.py` `read_file()`
|
||||
|
||||
Reference in New Issue
Block a user