Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
e582d3a
feat(agents): add local agent profile catalog
Waishnav Jul 2, 2026
6266abf
feat(agents): add minimal local agents cli
Waishnav Jul 2, 2026
07e7135
feat(agents): support cli fallback profiles
Waishnav Jul 2, 2026
4650806
docs(agents): document minimal local agent workflow
Waishnav Jul 2, 2026
b475ea1
feat(agents): simplify built-in profile schema
Waishnav Jul 3, 2026
3582b7e
feat(agents): route built-in providers through adapters
Waishnav Jul 3, 2026
9ca359b
fix(agents): allow profile runners to edit workspaces
Waishnav Jul 3, 2026
e9bf517
docs(agents): align profiles with built-in providers
Waishnav Jul 3, 2026
394cc31
refactor(subagents): rename local agent feature gate
Waishnav Jul 3, 2026
b349a80
fix(subagents): scope session listing by workspace
Waishnav Jul 3, 2026
096a113
test(subagents): verify response filtering hides tool events
Waishnav Jul 3, 2026
ed4916a
fix(subagents): align provider response extraction with harness formats
Waishnav Jul 3, 2026
3e8081c
fix(subagents): clear stale response on follow-up
Waishnav Jul 4, 2026
2c95b5f
fix(subagents): skip invalid profile files
Waishnav Jul 4, 2026
d73307c
test(subagents): isolate workspace profile fixtures
Waishnav Jul 4, 2026
80ee468
fix(subagents): parse profile frontmatter with yaml
Waishnav Jul 4, 2026
7827f63
refactor(subagents): persist sessions in sqlite
Waishnav Jul 4, 2026
65e5757
fix(subagents): harden provider response handling
Waishnav Jul 4, 2026
9cb917b
fix(subagents): fallback to pi session history
Waishnav Jul 4, 2026
2960da7
fix(subagents): recover pi final text from stream
Waishnav Jul 4, 2026
b8e72ee
fix(subagents): preserve node loader for workers
Waishnav Jul 5, 2026
1c9beda
fix(subagents): update pi rpc dependency
Waishnav Jul 5, 2026
86640bc
fix(subagents): prefer user pi binary
Waishnav Jul 5, 2026
ca93955
fix(subagents): handle acp provider turns
Waishnav Jul 5, 2026
b956e74
fix(subagents): align claude sdk launch
Waishnav Jul 5, 2026
e9cb5d1
test(subagents): use platform path delimiter
Waishnav Jul 5, 2026
9a19349
feat(subagents): run built-in providers directly
Waishnav Jul 5, 2026
4a48668
feat(subagents): advertise built-in providers
Waishnav Jul 5, 2026
7197629
feat(subagents): preflight provider availability
Waishnav Jul 5, 2026
a72d1ed
fix(subagents): fail pi rpc on malformed stdout
Waishnav Jul 5, 2026
c513a8d
fix(subagents): reject claude error results
Waishnav Jul 5, 2026
6c4dfb5
fix(subagents): avoid shell command lookup
Waishnav Jul 5, 2026
f50f02a
refactor(subagents): share local agent path cleanup
Waishnav Jul 5, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
96 changes: 96 additions & 0 deletions .agents/plan/local-agent-profiles-and-cli-plan.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
# Subagent profiles and DevSpace agent CLI plan

## Decision

Subagent profiles describe roles over built-in coding-agent providers.
DevSpace owns provider invocation and lifecycle. Custom CLI-backed agents,
provider action objects, and model-visible backend details are out of scope for
v1.

The model-facing workflow stays small:

```bash
devspace agents ls
devspace agents run <profile-or-id> "<prompt>"
devspace agents show <id>
```

Profile discovery happens through the compact catalog returned by
`open_workspace`. `devspace agents ls` lists existing subagent sessions for the
current workspace; it does not list profile definitions.

## Profile schema

Profiles are discovered from:

- `~/.devspace/agents/*.md`
- project `.devspace/agents/*.md`

Supported frontmatter fields:

```yaml
schema: devspace-agent/v1
name: reviewer
description: Read-only reviewer for bugs, security risks, and missing tests.
provider: codex
model: gpt-5.4
disabled: false
```

Supported providers:

- `codex`
- `claude`
- `opencode`
- `pi`
- `cursor`
- `copilot`

Removed from v1 profile schema:

- `backend`
- `command`
- `mode`
- `permissions`
- `actions`

## Provider mapping

DevSpace maps provider ids to native integrations:

- `codex`: Codex SDK
- `claude`: Claude Code SDK
- `opencode`: OpenCode SDK
- `pi`: Pi RPC mode
- `cursor`: ACP
- `copilot`: ACP

The adapter registry is the internal seam future MCP tools can reuse if we move
from skill plus CLI guidance to first-class MCP agent tools.

## Model exposure

`open_workspace` exposes only compact profile metadata:

```json
{
"name": "reviewer",
"description": "Read-only reviewer for bugs, security risks, and missing tests.",
"provider": "codex",
"model": "gpt-5.4"
}
```

The profile body, provider protocol, raw provider transcript, and adapter
details stay outside the default model context.

Shell calls launched through DevSpace receive `DEVSPACE_WORKSPACE_ID` and
`DEVSPACE_WORKSPACE_ROOT`, so `devspace agents ls` can scope itself without the
model passing workspace flags.

## Non-goals

- Custom or arbitrary subagent commands.
- Provider-specific action DSLs.
- Exposing raw provider transcripts by default.
- Tracking changed files or tests from provider output.
Loading
Loading