Standalone VS Code companion extension for local coding agents.
It does three things:
- watches
<agentStateDir>/<role>/kickoff.jsonand opens Copilot Chat when a fresh kickoff arrives - emits lightweight live activity to
<agentStateDir>/<role>/state.jsonandactivity.jsonl - exposes an operator webview for pause, resume, poke, restart, and quick state inspection across all roles
The extension is intentionally repo-agnostic. It assumes only:
- a shared agent state directory, default
.agent - a roles manifest, default
.github/agents/roles.json - optional
spawnScriptfields in the roles manifest forPokeandRestartactions
Configuration
These settings can be defined in workspace settings:
{
"agentConsole.role": "SeniorEngineerAgent",
"agentConsole.agentStateDir": ".agent",
"agentConsole.rolesFile": ".github/agents/roles.json",
"agentConsole.issueUrlTemplate": "https://github.com/owner/repo/issues/{issue}"
}
Role detection order:
agentConsole.roleAGENT_CONSOLE_ROLEenvironment variable- legacy
PARTNER_PATH_ROLEenvironment variable - inferred from
roles.jsonuserDataDirleaf names found in the current VS Code process arguments
Expected kickoff schema
{
"role": "SeniorEngineerAgent",
"ts": "2026-04-20T23:20:00.000Z",
"epoch": 1776727200,
"reason": "respawn-stale-heartbeat",
"version": 1,
"prompt": "Optional override prompt",
"mode": "Optional chat mode hint"
}
Payloads with version !== 1 are ignored with a status-bar warning.
Development
npm install
npm run build
To package a .vsix:
npm run package
Install
-
From GitHub Release — grab
agent-console.vsixfrom the Releases page and install via Extensions panel ->...-> Install from VSIX, or:code-insiders --install-extension agent-console.vsix --force -
From Marketplace — once published: search "Agent Console" in the Extensions panel, or
code --install-extension sirjamesoffordii.agent-console.
Publishing (maintainer notes)
Automated via .github/workflows/publish.yml:
- Create an Azure DevOps PAT with Marketplace: Manage scope at https://dev.azure.com.
- Add it as a repo secret named
VSCE_PAT(Settings -> Secrets and variables -> Actions). - Optional: add
OVSX_PATfor Open VSX. - Push a
v*tag or run thePublishworkflow viaworkflow_dispatch.
Manual fallback:
npx @vscode/vsce login sirjamesoffordii # paste PAT once
npm run publish
Companion tools
Reusable PowerShell helpers that pair with the extension live under
tools/:
tools/agent-contract/— producer-side primitives (Write-AgentKickoff,Write-AgentNextPrompt,Write-AgentNextAction) that any repo can import to drive the extension's JSON bus.tools/agent-tray/— Windows system-tray launcher that reads heartbeat files, surfaces overall health, and exposes spawn / poke / pause / resume / open-console actions via right-click menu.
Neither is packaged into the VSIX; they are repo-agnostic companion scripts to copy or reference from any host repo.