docs: update meta files for Claude profiles, skill discovery, and extended agent options
This commit is contained in:
parent
ff49e7e176
commit
17c5f9b88a
8 changed files with 94 additions and 9 deletions
|
|
@ -61,9 +61,13 @@ bterminal-v2/
|
|||
adapters/
|
||||
sdk-messages.ts # SDK message abstraction layer
|
||||
pty-bridge.ts # PTY IPC wrapper
|
||||
agent-bridge.ts # Agent IPC wrapper (local + remote routing)
|
||||
claude-bridge.ts # Claude profiles + skills IPC wrapper
|
||||
settings-bridge.ts # Settings IPC wrapper
|
||||
ctx-bridge.ts # ctx database IPC wrapper
|
||||
ssh-bridge.ts # SSH session IPC wrapper
|
||||
remote-bridge.ts # Remote machine management IPC wrapper
|
||||
session-bridge.ts # Session/layout persistence IPC wrapper
|
||||
utils/
|
||||
agent-tree.ts # Agent tree builder (hierarchy from messages)
|
||||
highlight.ts # Shiki syntax highlighter (lazy singleton)
|
||||
|
|
@ -298,3 +302,29 @@ Architecture designed in [multi-machine.md](multi-machine.md). Implementation ex
|
|||
- [x] Relay command response propagation — implemented in bterminal-relay main.rs
|
||||
- [ ] Real-world relay testing (2 machines)
|
||||
- [ ] TLS/certificate pinning
|
||||
|
||||
---
|
||||
|
||||
## Extras: Claude Profiles & Skill Discovery [status: complete]
|
||||
|
||||
### Claude Profile / Account Switching
|
||||
- [x] Tauri command claude_list_profiles(): reads ~/.config/switcher/profiles/ directories
|
||||
- [x] Profile metadata from profile.toml (email, subscription_type, display_name)
|
||||
- [x] Config dir resolution: ~/.config/switcher-claude/{name}/ or fallback ~/.claude/
|
||||
- [x] Default profile fallback when no switcher profiles exist
|
||||
- [x] Profile selector dropdown in AgentPane toolbar (shown when >1 profile)
|
||||
- [x] Selected profile's config_dir passed as claude_config_dir -> CLAUDE_CONFIG_DIR env override
|
||||
|
||||
### Skill Discovery & Autocomplete
|
||||
- [x] Tauri command claude_list_skills(): reads ~/.claude/skills/ (dirs with SKILL.md or .md files)
|
||||
- [x] Tauri command claude_read_skill(path): reads skill file content
|
||||
- [x] Frontend adapter: claude-bridge.ts (ClaudeProfile, ClaudeSkill interfaces, listProfiles/listSkills/readSkill)
|
||||
- [x] Skill autocomplete in AgentPane: `/` prefix triggers menu, arrow keys navigate, Tab/Enter select
|
||||
- [x] expandSkillPrompt(): reads skill content, injects as prompt with optional user args
|
||||
|
||||
### Extended AgentQueryOptions
|
||||
- [x] Rust struct (bterminal-core/src/sidecar.rs): setting_sources, system_prompt, model, claude_config_dir, additional_directories
|
||||
- [x] Sidecar JSON passthrough (both agent-runner.ts and agent-runner-deno.ts)
|
||||
- [x] SDK query() options: settingSources defaults to ['user', 'project'], systemPrompt, model, additionalDirectories
|
||||
- [x] CLAUDE_CONFIG_DIR env injection for multi-account support
|
||||
- [x] Frontend AgentQueryOptions interface (agent-bridge.ts) updated with new fields
|
||||
|
|
|
|||
|
|
@ -146,8 +146,41 @@
|
|||
- [x] Early error: if Claude CLI not found, agent_error emitted immediately instead of cryptic SDK failure
|
||||
- [x] CLI path resolved once at sidecar startup, logged for debugging
|
||||
|
||||
### Session: 2026-03-07 (continued) — Claude Profiles & Skill Discovery
|
||||
|
||||
#### Claude Profile / Account Switching (switcher-claude integration)
|
||||
- [x] New Tauri commands: claude_list_profiles(), claude_list_skills(), claude_read_skill(), pick_directory()
|
||||
- [x] claude_list_profiles() reads ~/.config/switcher/profiles/ for profile directories with profile.toml metadata
|
||||
- [x] Config dir resolution: ~/.config/switcher-claude/{name}/ or fallback ~/.claude/
|
||||
- [x] extract_toml_value() simple TOML parser for profile metadata (email, subscription_type, display_name)
|
||||
- [x] Always includes "default" profile if no switcher profiles found
|
||||
|
||||
#### Skill Discovery & Autocomplete
|
||||
- [x] claude_list_skills() reads ~/.claude/skills/ directory (directories with SKILL.md or standalone .md files)
|
||||
- [x] Description extracted from first non-heading, non-empty line (max 120 chars)
|
||||
- [x] claude_read_skill(path) reads full skill file content
|
||||
- [x] New frontend adapter: v2/src/lib/adapters/claude-bridge.ts (ClaudeProfile, ClaudeSkill interfaces)
|
||||
|
||||
#### AgentPane Session Toolbar
|
||||
- [x] Working directory input (cwdInput) — editable text field, replaces fixed cwd prop
|
||||
- [x] Profile/account selector dropdown (shown when >1 profile available)
|
||||
- [x] Selected profile's config_dir passed as claude_config_dir in AgentQueryOptions
|
||||
- [x] Skill autocomplete menu: type `/` to trigger, arrow keys navigate, Tab/Enter select, Escape dismiss
|
||||
- [x] expandSkillPrompt(): reads skill content via readSkill(), prepends to prompt with optional user args
|
||||
|
||||
#### Extended AgentQueryOptions (full stack passthrough)
|
||||
- [x] New fields in Rust AgentQueryOptions struct: setting_sources, system_prompt, model, claude_config_dir, additional_directories
|
||||
- [x] Sidecar QueryMessage interface updated with matching fields
|
||||
- [x] Both sidecar runners (agent-runner.ts, agent-runner-deno.ts) pass new fields to SDK query()
|
||||
- [x] CLAUDE_CONFIG_DIR injected into cleanEnv when claudeConfigDir provided (multi-account support)
|
||||
- [x] settingSources defaults to ['user', 'project'] (loads CLAUDE.md and project settings)
|
||||
- [x] Frontend AgentQueryOptions interface updated in agent-bridge.ts
|
||||
|
||||
### Next Steps
|
||||
- [ ] Real-world relay testing (2 machines)
|
||||
- [ ] TLS/certificate pinning for relay connections
|
||||
- [ ] E2E testing with Playwright/WebDriver (when display server available)
|
||||
- [ ] Test agent teams with CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1
|
||||
- [ ] Model selector in AgentPane toolbar (dropdown for model override)
|
||||
- [ ] System prompt field in AgentPane toolbar (custom instructions per session)
|
||||
- [ ] Additional directories picker in AgentPane toolbar
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
## Goal
|
||||
Redesign BTerminal from a GTK3 terminal emulator into a **multi-session Claude agent dashboard** optimized for 32:9 ultrawide (5120x1440). Simultaneous visibility of all active sessions, agent tree visualization, inline markdown rendering, maximum information density.
|
||||
|
||||
## Status: Phases 1-7 + Multi-Machine (A-D) Complete — Rev 5
|
||||
## Status: Phases 1-7 + Multi-Machine (A-D) + Profiles/Skills Complete — Rev 6
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -153,6 +153,9 @@ See [phases.md](phases.md) for the full phased implementation plan.
|
|||
| Stop-on-close in TilingGrid, not AgentPane | Removed onDestroy stopAgent() from AgentPane (fired on layout remounts). Stop logic moved to TilingGrid onClose handler — only fires on explicit user close. | 2026-03-06 |
|
||||
| Bundle SDK into sidecar | Removed --external flag from esbuild build:sidecar. SDK bundled into agent-runner.mjs — no runtime dependency on node_modules. | 2026-03-06 |
|
||||
| pathToClaudeCodeExecutable | Auto-detect Claude CLI path at sidecar startup via findClaudeCli() (checks common paths + `which`). Pass to SDK query() options. Early error if CLI not found. | 2026-03-07 |
|
||||
| Claude profiles (switcher-claude) | Read ~/.config/switcher/profiles/ for multi-account support. Profile selector in AgentPane toolbar when >1 profile. Selected profile's config_dir passed as CLAUDE_CONFIG_DIR to SDK env. | 2026-03-07 |
|
||||
| Skill discovery & autocomplete | Read ~/.claude/skills/ for skill files. `/` prefix triggers autocomplete in prompt textarea. Skill content read and injected as prompt. | 2026-03-07 |
|
||||
| Extended AgentQueryOptions | Added setting_sources, system_prompt, model, claude_config_dir, additional_directories to full stack (Rust struct -> sidecar JSON -> SDK options). settingSources defaults to ['user', 'project']. | 2026-03-07 |
|
||||
|
||||
## Open Questions
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue