with one click
heterogeneous-agent
Implement or debug LobeHub heterogeneous agents. Use for Claude Code/Codex adapters, external CLI agents, event mapping, IPC, persistence, tool-call chains, sessions, traces, or adapter bugs.
Menu
Implement or debug LobeHub heterogeneous agents. Use for Claude Code/Codex adapters, external CLI agents, event mapping, IPC, persistence, tool-call chains, sessions, traces, or adapter bugs.
LobeHub Drizzle ORM schema and query style. Use for pgTable schemas, indexes, joins, inferred types, db.select/db.query, schema fields, foreign keys, junction tables, or postgres query patterns.
LobeHub code review checklist. Use when reviewing a PR, diff, or branch for console leftovers, return await, secrets, i18n, desktop router drift, UI imports, migrations, or cloud impact.
Vitest testing guide. Use when writing or updating tests, fixing failing tests, improving coverage, debugging test issues, or setting up mocks.
Add server-side environment variables that control default values for user settings.
Agent runtime lifecycle hooks. Use for before/after tool or step hooks, tool mocks, human intervention, sub-agent calls, context compression, evals, tracing, callAgent, or lifecycle events.
Build or extend LobeHub Agent Signal pipelines. Use for signal sources, signal/action types, policies, middleware, workflow handoff, dedupe, scope behavior, or observability.
| name | heterogeneous-agent |
| description | Implement or debug LobeHub heterogeneous agents. Use for Claude Code/Codex adapters, external CLI agents, event mapping, IPC, persistence, tool-call chains, sessions, traces, or adapter bugs. |
Use this skill when the bug or feature lives in the external CLI agent pipeline, not the normal server-side agent runtime.
apps/desktop/src/main/modules/heterogeneousAgent/drivers/packages/heterogeneous-agents/src/adapters/heteroAgentRawLine transport, window.__HETERO_AGENT_TRACE, or executeHeterogeneousAgentmessage.id boundaries, missing tool_result, TodoWrite state drift, or subagent thread routingheteroAgentRawLineHeterogeneousAgentEventexecuteHeterogeneousAgent persists assistant/tool messages and forwards stream eventscreateGatewayEventHandler hydrates the UIagent-tracing or context-engine debuggingapps/desktop/src/main/controllers/HeterogeneousAgentCtr.tsapps/desktop/src/main/modules/heterogeneousAgent/drivers/claudeCode.tsapps/desktop/src/main/modules/heterogeneousAgent/drivers/codex.tspackages/heterogeneous-agents/src/adapters/claudeCode.tspackages/heterogeneous-agents/src/adapters/codex.tssrc/store/chat/slices/aiChat/actions/heterogeneousAgentExecutor.tssrc/store/chat/slices/aiChat/actions/__tests__/heterogeneousAgentExecutor.test.tsexecuteHeterogeneousAgent exposes window.__HETERO_AGENT_TRACE.persistToolBatch, persistToolResult, step transitions, and subagent routing.ToolCallPayload.id.message.id are one turn, not multiple turns.tool_result lives in type: 'user' events, not assistant events.message_delta.usage is authoritative; do not trust echoed usage on every assistant block.persistToolBatch must pre-register assistant tools[] before creating tool messages.parentId equal to the owning assistant and tool_call_id equal to the tool id.tool_result must resolve an existing toolMsgIdByCallId.toolMsgIdByCallId map at main step boundaries.message.id changes.type: 'user' tool_result blocks are being ignored because the code only inspects assistant events.pluginState.todos is being attached at tool-result time.parent_tool_use_id handling and whether subagent chunks are being forwarded to the main gateway handler.newStep or an equivalent turn-change signal.persistToolBatch Phase 1 ran before tool message creation.tool_result for unknown toolCallId and missing result_msg_id backfill.