feat(agent): Better Harness, coordinated subagents, and harness tooling#6
Merged
Conversation
…5→0.7 Lucide icon renames required by icondata 0.7: - LuFileEdit → LuFilePenLine - LuPlusCircle → LuCirclePlus - LuSendHorizonal → LuSendHorizontal (typo fix) - LuAlertTriangle → LuTriangleAlert - LuTerminalSquare → LuSquareTerminal - LuPlayCircle/AlertCircle/CheckCircle/MinusCircle → LuCircle* variants No reactive API changes needed — leptos 0.8 is backward-compatible for all signal, effect, callback and event-listener APIs used here. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Runs cargo check for both crates on every pull request: - blxcode (Tauri backend, native Linux) - blxcode-ui (Leptos frontend, wasm32-unknown-unknown) Uses dtolnay/rust-toolchain for reliable toolchain setup and actions/cache to speed up repeated runs. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Extract all per-tool documentation from the system prompt into 6 embedded Core Skill files (file-access, memory, plans, tasks, rules-skills, harness). System prompt shrinks from ~470 to ~240 lines; tool docs are now served lazily via `skills_read`. - Add `SkillSourceKind::Core` variant (backend + frontend wire types) - `list_skills` prepends 6 always-present core skills; `read_skill` serves embedded content; `remove_skill` rejects core names - Skills tab: Core/User sub-tabs; "Install" button hidden in Core view - SkillCard: "core" badge + remove button suppressed for core skills - All 13 locale files updated with SrSkillsTabCore/User/SrSourceCore Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Refactored SkillCard to render as an expandable card with a shadcn-style switch. - Added lazy loading for the skill's `SKILL.md` body on first expand. - Updated styling for the card, including hover effects and improved layout. - Introduced source-kind icon badges for better visual representation. - Enhanced SkillsTab with a modern pill switcher for Core/User sub-tabs. - Added counts for core and user skills in the tab headers. - Improved error and empty state handling in the SkillsTab. - Updated CSS for better visual consistency and responsiveness across components.
…atch and improved role management
…ies, and improved styling
…spatch and enhanced role management - Introduced subagent events for tracking lifecycle: `SubagentStarted`, `SubagentStep`, `SubagentToolCall`, and `SubagentFinished`. - Enhanced the timeline to display subagent activities and their statuses. - Implemented environment detection and session caching for workspace management. - Added Git tools scoped to the workspace, including commands for status, diff, log, and more. - Established a shell execution framework with command allowlisting and child process management. - Refactored tool dispatching to support subagent operations across multiple providers (Anthropic, OpenRouter, OpenAI). - Updated documentation to reflect new features and usage guidelines for subagents.
…uses - Added Portuguese, Russian, Simplified Chinese, and Traditional Chinese translations for various subagent roles, statuses, and web tool descriptions. - Introduced new structures and functions in `tauri_bridge.rs` for managing web settings and API keys. - Implemented a debounce mechanism for subagent timeline events to optimize event handling in the agent panel. - Enhanced the agent panel UI to include web settings management, allowing users to configure API keys for Tavily and Brave. - Updated the timeline rendering logic to support localized labels for tools and subagent statuses. - Added functionality to invalidate the agent environment cache when necessary.
- Added new sections for Agent Harness and Subagents in user and developer documentation. - Updated README and various documentation files to include links to Agent Harness and Subagents. - Improved clarity on core skills, tool usage, and the interaction between the main agent and subagents. - Documented the structure and functionality of the Agent Harness, including core skills and web tools. - Clarified the roles and limits of subagents, including their interaction with the main agent and tool access. - Enhanced troubleshooting guidance for web tools and subagent visibility.
- Updated README to reflect the new features and enhancements in the workbench, including the upgrade to Leptos 0.8. - Enhanced documentation for the localization process, including the new path for the render script and added parallel processing capabilities. - Improved clarity on how to add UI strings and manage translations, with examples for specific keys and full rewrites. - Updated localization files for German, Spanish, French, Hungarian, and Italian to ensure consistency with the latest changes.
Signed-off-by: Maik Damm <iptoux@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR delivers the Better Harness agent stack and coordinated subagents on top of the existing BLXCode workbench agent, plus supporting UI, i18n, documentation, and CI.
Better Harness (core skills + slim system prompt)
file-access,memory,plans,tasks,rules-skills,harness,environment,shell,git,web,subagents) viaCORE_SKILLSinskills_rules/store.rs.SkillSourceKind::Coreand Skills panel Core / User tabs with core badge and remove guard.system_prompt.rsto a compact checklist + tool name index; full tool docs viaskills_readon core skills.availability: disabled_no_keywhen no Tavily/Brave key is configured.Coordinated subagents
subagents.run— parallel runs (max 5 agents, default concurrency 3) sharing coordinator provider/model/key/thinking.scout,review,security_analystwith role-specific defaultallowedToolGroups.subagent_runner.rsfor OpenRouter, OpenAI-compatible, and Anthropic (non-streaming).submit_resulttool with structured JSON; truncation for coordinator payload size.SubagentGroupcards, localized labels, 50 ms event debounce (subagent_debounce.rs).subagents.run/shell_writestripped from subagent catalogs).Harness server tools
environment_detectwith session cache;agent_environment_invalidate+ frontend call on workspace switch.shell_execwith read-only allowlist, child registry, cancel kill.git_*,workspace_search,workspace_diff, …).web_search/web_fetch) with settings envelope + keyring (agent:web:tavily/agent:web:brave) and Harness Web Tools UI.tool_dispatch.rsandtool_groups.rsfor coordinator + subagent filtered catalogs.UI & i18n
AgSubagent*,AgRole*,AgTool*,AgWeb*keys across all 13 locales.Docs
Other (already on branch)
.github/workflows/pr-check.yml)..agents/plans/.Architecture (high level)
Test plan
cargo test -p blxcode— backend unit tests (tool groups, environment cache, skills store, …)cargo check -p blxcodeandcargo check -p blxcode-ui --target wasm32-unknown-unknowncargo tauri dev— open workspace, configure provider + optional web keysskills_listshows 11 core skills; Skills panel Core/User tabsenvironment_detectworks; cache invalidation on switchweb_searchappears in tool catalog when enableddocs/user/anddocs/developer/Breaking / behavior notes
skills_readfor detailed tool guidance (by design).shell_writeandsubagents.runare never exposed to subagent tool catalogs.Plans
.agents/plans/better-harness.md— done.agents/plans/coordinated-subagents.md— doneMade with Cursor