opencode-multiagent 0.4.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/README.md +1 -1
- package/README.tr.md +1 -1
- package/agents/AGENTS.md +6 -2
- package/agents/brainstormer.md +113 -0
- package/commands/brainstorm-conclude.md +14 -0
- package/commands/brainstorm.md +14 -0
- package/defaults/opencode-multiagent.json +5 -96
- package/defaults/opencode-multiagent.schema.json +16 -206
- package/dist/index.js +17 -97
- package/dist/opencode-multiagent/constants.d.ts +0 -66
- package/dist/opencode-multiagent/constants.d.ts.map +1 -1
- package/dist/opencode-multiagent/defaults.d.ts +0 -2
- package/dist/opencode-multiagent/defaults.d.ts.map +1 -1
- package/dist/opencode-multiagent/markdown.d.ts.map +1 -1
- package/dist/opencode-multiagent/runtime.d.ts.map +1 -1
- package/docs/agents.md +31 -17
- package/docs/agents.tr.md +31 -17
- package/docs/configuration.md +14 -13
- package/docs/configuration.tr.md +14 -13
- package/docs/usage-guide.md +9 -6
- package/docs/usage-guide.tr.md +10 -7
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.5.0](https://github.com/vaur94/opencode-multiagent/compare/v0.4.0...v0.5.0) (2026-03-15)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* add brainstormer agent and /brainstorm command for pre-planning exploration ([fb29719](https://github.com/vaur94/opencode-multiagent/commit/fb297196269c8fc5a793281a0bd7765546bd210b))
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* exclude uppercase documentation files (AGENTS.md) from agent/command compilation ([e993f55](https://github.com/vaur94/opencode-multiagent/commit/e993f55649bd18bb071fbc5053f675bae96ce1b7))
|
|
14
|
+
|
|
3
15
|
## [0.4.0](https://github.com/vaur94/opencode-multiagent/compare/v0.3.0...v0.4.0) (2026-03-15)
|
|
4
16
|
|
|
5
17
|
|
package/README.md
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
`opencode-multiagent` is an OpenCode plugin that installs a structured multi-agent control
|
|
6
6
|
plane through the standard plugin system.
|
|
7
7
|
|
|
8
|
-
-
|
|
8
|
+
- 3 primary agents: `brainstormer`, `planner`, `executor`
|
|
9
9
|
- 7 subagents for coding, review, research, and documentation
|
|
10
10
|
- plugin-managed MCP defaults, telemetry, file locks, supervision, and a shared task board
|
|
11
11
|
- compiled npm package with bundled `agents/`, `commands/`, `defaults/`, `skills/`,
|
package/README.tr.md
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
`opencode-multiagent`, standart plugin sistemi uzerinden yapilandirilmis bir multi-agent
|
|
6
6
|
kontrol duzlemi kuran bir OpenCode eklentisidir.
|
|
7
7
|
|
|
8
|
-
-
|
|
8
|
+
- 3 ana ajan: `brainstormer`, `planner`, `executor`
|
|
9
9
|
- kodlama, review, arastirma ve dokumantasyon icin 7 alt ajan
|
|
10
10
|
- plugin tarafindan yonetilen MCP varsayilanlari, telemetry, file lock, supervision ve ortak task board
|
|
11
11
|
- `agents/`, `commands/`, `defaults/`, `skills/`, `examples/` ve `docs/` ile birlikte yayinlanan derlenmis npm paketi
|
package/agents/AGENTS.md
CHANGED
|
@@ -61,15 +61,19 @@ The following agent names are reserved and suppressed by the plugin to prevent c
|
|
|
61
61
|
|
|
62
62
|
Do not create agent files with these names.
|
|
63
63
|
|
|
64
|
-
## Current Agents (
|
|
64
|
+
## Current Agents (10)
|
|
65
65
|
|
|
66
|
-
**Primary:** `planner`, `executor`
|
|
66
|
+
**Primary:** `planner`, `executor`, `brainstormer`
|
|
67
67
|
|
|
68
68
|
**Subagents:** `coder`, `ui-coder`, `sec-coder`, `reviewer`, `auditor`, `scout`, `docmaster`
|
|
69
69
|
|
|
70
70
|
## Agent Hierarchy
|
|
71
71
|
|
|
72
72
|
```
|
|
73
|
+
brainstormer (pre-planning exploration + idea refinement)
|
|
74
|
+
├── scout (research)
|
|
75
|
+
└── auditor (stress-test ideas)
|
|
76
|
+
|
|
73
77
|
planner (triage + planning + inspection)
|
|
74
78
|
├── executor (execution coordination)
|
|
75
79
|
│ ├── coder (standard coding)
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Brainstorming agent that explores ideas with the user before planning begins
|
|
3
|
+
mode: primary
|
|
4
|
+
model: anthropic/claude-opus-4-6
|
|
5
|
+
temperature: 0.3
|
|
6
|
+
steps: 200
|
|
7
|
+
permission:
|
|
8
|
+
'*': deny
|
|
9
|
+
read:
|
|
10
|
+
'*': allow
|
|
11
|
+
'*.env': deny
|
|
12
|
+
'*.env.*': deny
|
|
13
|
+
'*.env.example': allow
|
|
14
|
+
glob: allow
|
|
15
|
+
grep: allow
|
|
16
|
+
list: allow
|
|
17
|
+
lsp: allow
|
|
18
|
+
todoread: allow
|
|
19
|
+
code_index_set_project_path: allow
|
|
20
|
+
code_index_search_code_advanced: allow
|
|
21
|
+
code_index_find_files: allow
|
|
22
|
+
code_index_get_file_summary: allow
|
|
23
|
+
code_index_get_symbol_body: allow
|
|
24
|
+
repo_git_status: allow
|
|
25
|
+
repo_git_diff_unstaged: allow
|
|
26
|
+
repo_git_diff_staged: allow
|
|
27
|
+
repo_git_diff: allow
|
|
28
|
+
repo_git_log: allow
|
|
29
|
+
context7_*: allow
|
|
30
|
+
task:
|
|
31
|
+
'*': deny
|
|
32
|
+
scout: allow
|
|
33
|
+
auditor: allow
|
|
34
|
+
skill:
|
|
35
|
+
'*': deny
|
|
36
|
+
debate: allow
|
|
37
|
+
edit: deny
|
|
38
|
+
bash: deny
|
|
39
|
+
webfetch: deny
|
|
40
|
+
websearch: deny
|
|
41
|
+
codesearch: deny
|
|
42
|
+
external_directory: allow
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
You are `brainstormer`, the pre-planning exploration agent.
|
|
46
|
+
|
|
47
|
+
Role
|
|
48
|
+
|
|
49
|
+
- Explore ideas, directions, and trade-offs with the user before any planning or implementation begins.
|
|
50
|
+
- Deepen the conversation — never rush to conclusions.
|
|
51
|
+
- Surface gaps, unstated assumptions, and alternative approaches the user hasn't considered.
|
|
52
|
+
- When the discussion matures, produce a structured brief that `planner` can act on directly.
|
|
53
|
+
|
|
54
|
+
You do not
|
|
55
|
+
|
|
56
|
+
- write or edit code
|
|
57
|
+
- create plans or task boards
|
|
58
|
+
- make final decisions — the user decides, you challenge and explore
|
|
59
|
+
- give implementation details or technical specs — stay at the conceptual level
|
|
60
|
+
|
|
61
|
+
Conversation style
|
|
62
|
+
|
|
63
|
+
- Every response must include at least one question to the user.
|
|
64
|
+
- Do not immediately agree with the user's first idea. Offer alternatives: "What if we approached it this way instead?", "Have you considered…?", "What happens if we don't do this at all?"
|
|
65
|
+
- When you spot an unexplored area, call it out explicitly: "We haven't discussed X yet — it could matter because…"
|
|
66
|
+
- Keep the tone collaborative and curious, not adversarial. You are a thinking partner, not a critic.
|
|
67
|
+
- Use `scout` to ground the discussion in repository reality when the user makes claims about the codebase.
|
|
68
|
+
- Use `auditor` to stress-test a direction the user feels strongly about, so you can relay concrete concerns.
|
|
69
|
+
- Use `context7_*` queries when framework or library behavior is relevant to the discussion.
|
|
70
|
+
|
|
71
|
+
When to conclude
|
|
72
|
+
|
|
73
|
+
- When the conversation naturally converges and the user seems satisfied with the direction, remind them: "When you're ready, use `/brainstorm:conclude` and I'll package this into a planner-ready brief."
|
|
74
|
+
- Do not conclude on your own. The user decides when brainstorming is done.
|
|
75
|
+
|
|
76
|
+
Output contract (normal turns)
|
|
77
|
+
|
|
78
|
+
```
|
|
79
|
+
## Perspective
|
|
80
|
+
Current understanding of where the discussion stands.
|
|
81
|
+
|
|
82
|
+
## Gaps
|
|
83
|
+
Areas we haven't explored yet that could affect the direction.
|
|
84
|
+
|
|
85
|
+
## Questions
|
|
86
|
+
Concrete questions for the user to consider next.
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
Output contract (`/brainstorm:conclude`)
|
|
90
|
+
|
|
91
|
+
```
|
|
92
|
+
## Discussion Summary
|
|
93
|
+
What we discussed and the key points raised.
|
|
94
|
+
|
|
95
|
+
## Agreed Direction
|
|
96
|
+
The approach the user has chosen, with rationale.
|
|
97
|
+
|
|
98
|
+
## Open Questions
|
|
99
|
+
Anything still unresolved that planner should be aware of.
|
|
100
|
+
|
|
101
|
+
## Planner Brief
|
|
102
|
+
A self-contained prompt that can be handed directly to planner.
|
|
103
|
+
Include: objective, constraints, success criteria, known risks, and any decisions already made.
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
Hard rules
|
|
107
|
+
|
|
108
|
+
- Do not skip questions. Every turn must advance the user's thinking.
|
|
109
|
+
- Do not produce a planner brief unless `/brainstorm:conclude` is invoked.
|
|
110
|
+
- Do not implement code or edit files.
|
|
111
|
+
- Do not create plans, task boards, or execution artifacts.
|
|
112
|
+
- Do not claim the discussion is complete — only the user can decide that.
|
|
113
|
+
- Stay conceptual. If the user asks for code, redirect: "That's an implementation detail — let's nail down the approach first."
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Conclude brainstorming and produce a planner-ready brief
|
|
3
|
+
agent: brainstormer
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
The user wants to conclude the brainstorming session.
|
|
7
|
+
|
|
8
|
+
Requirements:
|
|
9
|
+
|
|
10
|
+
- summarize the full discussion so far
|
|
11
|
+
- state the agreed direction clearly
|
|
12
|
+
- list any open questions that remain unresolved
|
|
13
|
+
- produce a self-contained planner brief that includes: objective, constraints, success criteria, known risks, and decisions already made
|
|
14
|
+
- the brief must be actionable by `planner` without needing to re-read the brainstorming conversation
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Start a brainstorming session to explore an idea before planning
|
|
3
|
+
agent: brainstormer
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Start a brainstorming session about: $ARGUMENTS
|
|
7
|
+
|
|
8
|
+
Requirements:
|
|
9
|
+
|
|
10
|
+
- explore the idea from multiple angles before converging on a direction
|
|
11
|
+
- inspect the current repository reality to ground the discussion
|
|
12
|
+
- challenge assumptions and surface alternatives the user may not have considered
|
|
13
|
+
- identify gaps and open questions early
|
|
14
|
+
- do not rush to a conclusion — the user decides when to wrap up with `/brainstorm:conclude`
|
|
@@ -1,38 +1,4 @@
|
|
|
1
1
|
{
|
|
2
|
-
"flags": {
|
|
3
|
-
"profile": "standard",
|
|
4
|
-
"enforcement": true,
|
|
5
|
-
"observation": true,
|
|
6
|
-
"prompt_controls": true,
|
|
7
|
-
"agent_compilation": true,
|
|
8
|
-
"command_compilation": true,
|
|
9
|
-
"mcp_compilation": true,
|
|
10
|
-
"telemetry": true,
|
|
11
|
-
"supervision": true,
|
|
12
|
-
"quality_gate": true,
|
|
13
|
-
"task_lifecycle": true,
|
|
14
|
-
"quality_gate_enforcement": false,
|
|
15
|
-
"concurrency_limit": 5,
|
|
16
|
-
"skill_sources": ["${plugin_root}/skills", "${home}/.agents/skills", "${home}/skills"],
|
|
17
|
-
"skill_injection": false,
|
|
18
|
-
"compiler": {
|
|
19
|
-
"permission_compilation": true
|
|
20
|
-
},
|
|
21
|
-
"experimental": {
|
|
22
|
-
"chat_system_transform": false,
|
|
23
|
-
"chat_messages_transform": false,
|
|
24
|
-
"session_compacting": false,
|
|
25
|
-
"text_complete": false
|
|
26
|
-
},
|
|
27
|
-
"supervision_config": {
|
|
28
|
-
"idle_timeout_ms": 180000,
|
|
29
|
-
"cooldown_ms": 300000
|
|
30
|
-
},
|
|
31
|
-
"quality_config": {
|
|
32
|
-
"reminder_idle_ms": 120000,
|
|
33
|
-
"reminder_cooldown_ms": 300000
|
|
34
|
-
}
|
|
35
|
-
},
|
|
36
2
|
"agentSettings": {
|
|
37
3
|
"planner": {
|
|
38
4
|
"model": "anthropic/claude-opus-4-6",
|
|
@@ -78,6 +44,11 @@
|
|
|
78
44
|
"model": "anthropic/claude-sonnet-4-6",
|
|
79
45
|
"temperature": 0,
|
|
80
46
|
"steps": 30
|
|
47
|
+
},
|
|
48
|
+
"brainstormer": {
|
|
49
|
+
"model": "anthropic/claude-opus-4-6",
|
|
50
|
+
"temperature": 0.3,
|
|
51
|
+
"steps": 200
|
|
81
52
|
}
|
|
82
53
|
},
|
|
83
54
|
"mcpDefaults": {
|
|
@@ -114,67 +85,5 @@
|
|
|
114
85
|
},
|
|
115
86
|
"enabled": false
|
|
116
87
|
}
|
|
117
|
-
},
|
|
118
|
-
"profiles": {
|
|
119
|
-
"minimal": {
|
|
120
|
-
"enforcement": true,
|
|
121
|
-
"observation": false,
|
|
122
|
-
"prompt_controls": false,
|
|
123
|
-
"agent_compilation": true,
|
|
124
|
-
"command_compilation": true,
|
|
125
|
-
"mcp_compilation": true,
|
|
126
|
-
"telemetry": false,
|
|
127
|
-
"supervision": false,
|
|
128
|
-
"quality_gate": false,
|
|
129
|
-
"task_lifecycle": false,
|
|
130
|
-
"quality_gate_enforcement": false,
|
|
131
|
-
"concurrency_limit": 0,
|
|
132
|
-
"experimental": {
|
|
133
|
-
"chat_system_transform": false,
|
|
134
|
-
"chat_messages_transform": false,
|
|
135
|
-
"session_compacting": false,
|
|
136
|
-
"text_complete": false
|
|
137
|
-
}
|
|
138
|
-
},
|
|
139
|
-
"standard": {
|
|
140
|
-
"enforcement": true,
|
|
141
|
-
"observation": true,
|
|
142
|
-
"prompt_controls": true,
|
|
143
|
-
"agent_compilation": true,
|
|
144
|
-
"command_compilation": true,
|
|
145
|
-
"mcp_compilation": true,
|
|
146
|
-
"telemetry": true,
|
|
147
|
-
"supervision": true,
|
|
148
|
-
"quality_gate": true,
|
|
149
|
-
"task_lifecycle": true,
|
|
150
|
-
"quality_gate_enforcement": false,
|
|
151
|
-
"concurrency_limit": 5,
|
|
152
|
-
"experimental": {
|
|
153
|
-
"chat_system_transform": false,
|
|
154
|
-
"chat_messages_transform": false,
|
|
155
|
-
"session_compacting": false,
|
|
156
|
-
"text_complete": false
|
|
157
|
-
}
|
|
158
|
-
},
|
|
159
|
-
"strict": {
|
|
160
|
-
"enforcement": true,
|
|
161
|
-
"observation": true,
|
|
162
|
-
"prompt_controls": true,
|
|
163
|
-
"agent_compilation": true,
|
|
164
|
-
"command_compilation": true,
|
|
165
|
-
"mcp_compilation": true,
|
|
166
|
-
"telemetry": true,
|
|
167
|
-
"supervision": true,
|
|
168
|
-
"quality_gate": true,
|
|
169
|
-
"task_lifecycle": true,
|
|
170
|
-
"quality_gate_enforcement": true,
|
|
171
|
-
"concurrency_limit": 5,
|
|
172
|
-
"experimental": {
|
|
173
|
-
"chat_system_transform": true,
|
|
174
|
-
"chat_messages_transform": true,
|
|
175
|
-
"session_compacting": true,
|
|
176
|
-
"text_complete": true
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
88
|
}
|
|
180
89
|
}
|
|
@@ -1,144 +1,22 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
3
|
"title": "opencode-multiagent settings",
|
|
4
|
-
"description": "
|
|
4
|
+
"description": "User-overridable settings for the OpenCode multi-agent plugin.",
|
|
5
5
|
"type": "object",
|
|
6
6
|
"additionalProperties": false,
|
|
7
7
|
"properties": {
|
|
8
|
-
"
|
|
9
|
-
"
|
|
10
|
-
"description": "
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
"
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
"enum": ["minimal", "standard", "strict"],
|
|
17
|
-
"description": "Named runtime profile to use as the base flag set."
|
|
18
|
-
},
|
|
19
|
-
"enforcement": {
|
|
20
|
-
"type": "boolean",
|
|
21
|
-
"description": "Enable local path and shell safety enforcement hooks."
|
|
22
|
-
},
|
|
23
|
-
"observation": {
|
|
24
|
-
"type": "boolean",
|
|
25
|
-
"description": "Enable JSONL observation logging for events and tool executions."
|
|
26
|
-
},
|
|
27
|
-
"prompt_controls": {
|
|
28
|
-
"type": "boolean",
|
|
29
|
-
"description": "Enable prompt metadata headers and risky-input logging."
|
|
30
|
-
},
|
|
31
|
-
"agent_compilation": {
|
|
32
|
-
"type": "boolean",
|
|
33
|
-
"description": "Compile bundled, global, and project agent markdown into config."
|
|
34
|
-
},
|
|
35
|
-
"command_compilation": {
|
|
36
|
-
"type": "boolean",
|
|
37
|
-
"description": "Compile bundled, global, and project command markdown into config."
|
|
38
|
-
},
|
|
39
|
-
"mcp_compilation": {
|
|
40
|
-
"type": "boolean",
|
|
41
|
-
"description": "Inject plugin-managed MCP server defaults when missing from config."
|
|
42
|
-
},
|
|
43
|
-
"telemetry": {
|
|
44
|
-
"type": "boolean",
|
|
45
|
-
"description": "Enable detailed agent and tool telemetry in the plugin JSONL log."
|
|
46
|
-
},
|
|
47
|
-
"supervision": {
|
|
48
|
-
"type": "boolean",
|
|
49
|
-
"description": "Enable parent-child idle supervision reminders."
|
|
50
|
-
},
|
|
51
|
-
"quality_gate": {
|
|
52
|
-
"type": "boolean",
|
|
53
|
-
"description": "Enable quality reminder tracking for edited sessions."
|
|
54
|
-
},
|
|
55
|
-
"task_lifecycle": {
|
|
56
|
-
"type": "boolean",
|
|
57
|
-
"description": "Enable automatic task board updates when child sessions complete."
|
|
58
|
-
},
|
|
59
|
-
"quality_gate_enforcement": {
|
|
60
|
-
"type": "boolean",
|
|
61
|
-
"description": "Block task completion via task_update unless verification evidence exists."
|
|
62
|
-
},
|
|
63
|
-
"concurrency_limit": {
|
|
64
|
-
"type": "number",
|
|
65
|
-
"minimum": 0,
|
|
66
|
-
"description": "Maximum parallel child sessions per parent. 0 means unlimited."
|
|
67
|
-
},
|
|
68
|
-
"skill_injection": {
|
|
69
|
-
"type": "boolean",
|
|
70
|
-
"description": "Enable dynamic skill registry lookup and prompt injection."
|
|
71
|
-
},
|
|
72
|
-
"skill_sources": {
|
|
73
|
-
"type": "array",
|
|
74
|
-
"description": "Skill registry search paths. Variables such as ${plugin_root} and ${home} are resolved at runtime.",
|
|
75
|
-
"items": {
|
|
76
|
-
"type": "string",
|
|
77
|
-
"minLength": 1
|
|
78
|
-
},
|
|
79
|
-
"minItems": 1
|
|
80
|
-
},
|
|
81
|
-
"compiler": {
|
|
82
|
-
"type": "object",
|
|
83
|
-
"additionalProperties": false,
|
|
84
|
-
"properties": {
|
|
85
|
-
"permission_compilation": {
|
|
86
|
-
"type": "boolean",
|
|
87
|
-
"description": "Fill missing top-level OpenCode permission defaults conservatively."
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
},
|
|
91
|
-
"experimental": {
|
|
92
|
-
"type": "object",
|
|
93
|
-
"additionalProperties": false,
|
|
94
|
-
"properties": {
|
|
95
|
-
"chat_system_transform": {
|
|
96
|
-
"type": "boolean"
|
|
97
|
-
},
|
|
98
|
-
"chat_messages_transform": {
|
|
99
|
-
"type": "boolean"
|
|
100
|
-
},
|
|
101
|
-
"session_compacting": {
|
|
102
|
-
"type": "boolean"
|
|
103
|
-
},
|
|
104
|
-
"text_complete": {
|
|
105
|
-
"type": "boolean"
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
},
|
|
109
|
-
"supervision_config": {
|
|
110
|
-
"type": "object",
|
|
111
|
-
"additionalProperties": false,
|
|
112
|
-
"properties": {
|
|
113
|
-
"idle_timeout_ms": {
|
|
114
|
-
"type": "number",
|
|
115
|
-
"minimum": 0
|
|
116
|
-
},
|
|
117
|
-
"cooldown_ms": {
|
|
118
|
-
"type": "number",
|
|
119
|
-
"minimum": 0
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
},
|
|
123
|
-
"quality_config": {
|
|
124
|
-
"type": "object",
|
|
125
|
-
"additionalProperties": false,
|
|
126
|
-
"properties": {
|
|
127
|
-
"reminder_idle_ms": {
|
|
128
|
-
"type": "number",
|
|
129
|
-
"minimum": 0
|
|
130
|
-
},
|
|
131
|
-
"reminder_cooldown_ms": {
|
|
132
|
-
"type": "number",
|
|
133
|
-
"minimum": 0
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
}
|
|
8
|
+
"telemetry": {
|
|
9
|
+
"type": "boolean",
|
|
10
|
+
"description": "Enable or disable agent and tool telemetry logging."
|
|
11
|
+
},
|
|
12
|
+
"concurrency_limit": {
|
|
13
|
+
"type": "number",
|
|
14
|
+
"minimum": 0,
|
|
15
|
+
"description": "Maximum parallel child sessions per parent. 0 means unlimited."
|
|
138
16
|
},
|
|
139
17
|
"agentSettings": {
|
|
140
|
-
"title": "
|
|
141
|
-
"description": "
|
|
18
|
+
"title": "Agent model overrides",
|
|
19
|
+
"description": "Per-agent model, temperature, and step overrides.",
|
|
142
20
|
"type": "object",
|
|
143
21
|
"additionalProperties": {
|
|
144
22
|
"type": "object",
|
|
@@ -162,8 +40,8 @@
|
|
|
162
40
|
}
|
|
163
41
|
},
|
|
164
42
|
"mcpDefaults": {
|
|
165
|
-
"title": "
|
|
166
|
-
"description": "Plugin-managed MCP server definitions
|
|
43
|
+
"title": "MCP server defaults",
|
|
44
|
+
"description": "Plugin-managed MCP server definitions injected when missing from config.",
|
|
167
45
|
"type": "object",
|
|
168
46
|
"additionalProperties": {
|
|
169
47
|
"type": "object",
|
|
@@ -179,17 +57,12 @@
|
|
|
179
57
|
},
|
|
180
58
|
"command": {
|
|
181
59
|
"type": "array",
|
|
182
|
-
"items": {
|
|
183
|
-
"type": "string",
|
|
184
|
-
"minLength": 1
|
|
185
|
-
},
|
|
60
|
+
"items": { "type": "string", "minLength": 1 },
|
|
186
61
|
"minItems": 1
|
|
187
62
|
},
|
|
188
63
|
"environment": {
|
|
189
64
|
"type": "object",
|
|
190
|
-
"additionalProperties": {
|
|
191
|
-
"type": "string"
|
|
192
|
-
}
|
|
65
|
+
"additionalProperties": { "type": "string" }
|
|
193
66
|
},
|
|
194
67
|
"enabled": {
|
|
195
68
|
"type": "boolean"
|
|
@@ -197,69 +70,6 @@
|
|
|
197
70
|
},
|
|
198
71
|
"required": ["type", "enabled"]
|
|
199
72
|
}
|
|
200
|
-
},
|
|
201
|
-
"profiles": {
|
|
202
|
-
"title": "opencode-multiagent profiles",
|
|
203
|
-
"description": "Named flag bundles for switching plugin behavior by profile.",
|
|
204
|
-
"type": "object",
|
|
205
|
-
"additionalProperties": {
|
|
206
|
-
"type": "object",
|
|
207
|
-
"additionalProperties": false,
|
|
208
|
-
"properties": {
|
|
209
|
-
"enforcement": { "type": "boolean" },
|
|
210
|
-
"observation": { "type": "boolean" },
|
|
211
|
-
"prompt_controls": { "type": "boolean" },
|
|
212
|
-
"agent_compilation": { "type": "boolean" },
|
|
213
|
-
"command_compilation": { "type": "boolean" },
|
|
214
|
-
"mcp_compilation": { "type": "boolean" },
|
|
215
|
-
"telemetry": { "type": "boolean" },
|
|
216
|
-
"supervision": { "type": "boolean" },
|
|
217
|
-
"quality_gate": { "type": "boolean" },
|
|
218
|
-
"task_lifecycle": { "type": "boolean" },
|
|
219
|
-
"quality_gate_enforcement": { "type": "boolean" },
|
|
220
|
-
"concurrency_limit": { "type": "number", "minimum": 0 },
|
|
221
|
-
"skill_injection": { "type": "boolean" },
|
|
222
|
-
"skill_sources": {
|
|
223
|
-
"type": "array",
|
|
224
|
-
"items": { "type": "string", "minLength": 1 },
|
|
225
|
-
"minItems": 1
|
|
226
|
-
},
|
|
227
|
-
"compiler": {
|
|
228
|
-
"type": "object",
|
|
229
|
-
"additionalProperties": false,
|
|
230
|
-
"properties": {
|
|
231
|
-
"permission_compilation": { "type": "boolean" }
|
|
232
|
-
}
|
|
233
|
-
},
|
|
234
|
-
"experimental": {
|
|
235
|
-
"type": "object",
|
|
236
|
-
"additionalProperties": false,
|
|
237
|
-
"properties": {
|
|
238
|
-
"chat_system_transform": { "type": "boolean" },
|
|
239
|
-
"chat_messages_transform": { "type": "boolean" },
|
|
240
|
-
"session_compacting": { "type": "boolean" },
|
|
241
|
-
"text_complete": { "type": "boolean" }
|
|
242
|
-
}
|
|
243
|
-
},
|
|
244
|
-
"supervision_config": {
|
|
245
|
-
"type": "object",
|
|
246
|
-
"additionalProperties": false,
|
|
247
|
-
"properties": {
|
|
248
|
-
"idle_timeout_ms": { "type": "number", "minimum": 0 },
|
|
249
|
-
"cooldown_ms": { "type": "number", "minimum": 0 }
|
|
250
|
-
}
|
|
251
|
-
},
|
|
252
|
-
"quality_config": {
|
|
253
|
-
"type": "object",
|
|
254
|
-
"additionalProperties": false,
|
|
255
|
-
"properties": {
|
|
256
|
-
"reminder_idle_ms": { "type": "number", "minimum": 0 },
|
|
257
|
-
"reminder_cooldown_ms": { "type": "number", "minimum": 0 }
|
|
258
|
-
}
|
|
259
|
-
}
|
|
260
|
-
}
|
|
261
|
-
}
|
|
262
73
|
}
|
|
263
|
-
}
|
|
264
|
-
"required": ["flags", "agentSettings", "mcpDefaults", "profiles"]
|
|
74
|
+
}
|
|
265
75
|
}
|
package/dist/index.js
CHANGED
|
@@ -69,76 +69,7 @@ var mcpToolPrefixes = [
|
|
|
69
69
|
"code_index_",
|
|
70
70
|
"repo_git_"
|
|
71
71
|
];
|
|
72
|
-
var defaultProfiles = {
|
|
73
|
-
minimal: {
|
|
74
|
-
enforcement: true,
|
|
75
|
-
observation: false,
|
|
76
|
-
prompt_controls: false,
|
|
77
|
-
agent_compilation: true,
|
|
78
|
-
command_compilation: true,
|
|
79
|
-
mcp_compilation: true,
|
|
80
|
-
telemetry: false,
|
|
81
|
-
supervision: false,
|
|
82
|
-
quality_gate: false,
|
|
83
|
-
task_lifecycle: false,
|
|
84
|
-
quality_gate_enforcement: false,
|
|
85
|
-
concurrency_limit: 0,
|
|
86
|
-
experimental: {
|
|
87
|
-
chat_system_transform: false,
|
|
88
|
-
chat_messages_transform: false,
|
|
89
|
-
session_compacting: false,
|
|
90
|
-
text_complete: false
|
|
91
|
-
}
|
|
92
|
-
},
|
|
93
|
-
standard: {
|
|
94
|
-
enforcement: true,
|
|
95
|
-
observation: true,
|
|
96
|
-
prompt_controls: true,
|
|
97
|
-
agent_compilation: true,
|
|
98
|
-
command_compilation: true,
|
|
99
|
-
mcp_compilation: true,
|
|
100
|
-
telemetry: true,
|
|
101
|
-
supervision: true,
|
|
102
|
-
quality_gate: true,
|
|
103
|
-
task_lifecycle: true,
|
|
104
|
-
quality_gate_enforcement: false,
|
|
105
|
-
concurrency_limit: 5,
|
|
106
|
-
skill_sources: [
|
|
107
|
-
bundledSkillsDir,
|
|
108
|
-
join(homedir(), ".agents", "skills"),
|
|
109
|
-
join(homedir(), "skills")
|
|
110
|
-
],
|
|
111
|
-
skill_injection: false,
|
|
112
|
-
experimental: {
|
|
113
|
-
chat_system_transform: false,
|
|
114
|
-
chat_messages_transform: false,
|
|
115
|
-
session_compacting: false,
|
|
116
|
-
text_complete: false
|
|
117
|
-
}
|
|
118
|
-
},
|
|
119
|
-
strict: {
|
|
120
|
-
enforcement: true,
|
|
121
|
-
observation: true,
|
|
122
|
-
prompt_controls: true,
|
|
123
|
-
agent_compilation: true,
|
|
124
|
-
command_compilation: true,
|
|
125
|
-
mcp_compilation: true,
|
|
126
|
-
telemetry: true,
|
|
127
|
-
supervision: true,
|
|
128
|
-
quality_gate: true,
|
|
129
|
-
task_lifecycle: true,
|
|
130
|
-
quality_gate_enforcement: true,
|
|
131
|
-
concurrency_limit: 5,
|
|
132
|
-
experimental: {
|
|
133
|
-
chat_system_transform: true,
|
|
134
|
-
chat_messages_transform: true,
|
|
135
|
-
session_compacting: true,
|
|
136
|
-
text_complete: true
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
};
|
|
140
72
|
var defaultFlags = {
|
|
141
|
-
profile: "standard",
|
|
142
73
|
enforcement: true,
|
|
143
74
|
observation: true,
|
|
144
75
|
prompt_controls: true,
|
|
@@ -149,7 +80,7 @@ var defaultFlags = {
|
|
|
149
80
|
supervision: true,
|
|
150
81
|
quality_gate: true,
|
|
151
82
|
task_lifecycle: true,
|
|
152
|
-
quality_gate_enforcement:
|
|
83
|
+
quality_gate_enforcement: true,
|
|
153
84
|
concurrency_limit: 5,
|
|
154
85
|
skill_sources: [
|
|
155
86
|
bundledSkillsDir,
|
|
@@ -161,10 +92,10 @@ var defaultFlags = {
|
|
|
161
92
|
permission_compilation: true
|
|
162
93
|
},
|
|
163
94
|
experimental: {
|
|
164
|
-
chat_system_transform:
|
|
165
|
-
chat_messages_transform:
|
|
166
|
-
session_compacting:
|
|
167
|
-
text_complete:
|
|
95
|
+
chat_system_transform: true,
|
|
96
|
+
chat_messages_transform: true,
|
|
97
|
+
session_compacting: true,
|
|
98
|
+
text_complete: true
|
|
168
99
|
},
|
|
169
100
|
supervision_config: {
|
|
170
101
|
idle_timeout_ms: 180000,
|
|
@@ -315,7 +246,7 @@ async function loadMarkdownDefs(dirs) {
|
|
|
315
246
|
const defs = new Map;
|
|
316
247
|
for (const dir of dedupe(dirs)) {
|
|
317
248
|
const files = await readdir(dir).catch(() => []);
|
|
318
|
-
for (const file of files.filter((name) => name.endsWith(".md")).sort()) {
|
|
249
|
+
for (const file of files.filter((name) => name.endsWith(".md") && name !== name.toUpperCase()).sort()) {
|
|
319
250
|
try {
|
|
320
251
|
const value = await readFile(join2(dir, file), "utf8");
|
|
321
252
|
const { data, body } = parseFrontmatter(value);
|
|
@@ -1627,7 +1558,7 @@ var createPluginHooks = ({
|
|
|
1627
1558
|
return;
|
|
1628
1559
|
Object.assign(output.headers, {
|
|
1629
1560
|
"x-opencode-multiagent": "1",
|
|
1630
|
-
"x-opencode-multiagent-profile":
|
|
1561
|
+
"x-opencode-multiagent-profile": pluginMode,
|
|
1631
1562
|
"x-opencode-agent": label(input.agent) ?? "unknown"
|
|
1632
1563
|
});
|
|
1633
1564
|
},
|
|
@@ -1816,7 +1747,7 @@ ${experimentalText}`;
|
|
|
1816
1747
|
Object.assign(output.env, {
|
|
1817
1748
|
OPENCODE_MULTIAGENT: "1",
|
|
1818
1749
|
OPENCODE_MULTIAGENT_MODE: pluginMode,
|
|
1819
|
-
OPENCODE_MULTIAGENT_PROFILE:
|
|
1750
|
+
OPENCODE_MULTIAGENT_PROFILE: pluginMode,
|
|
1820
1751
|
OPENCODE_CONTROL_PLANE: "1"
|
|
1821
1752
|
});
|
|
1822
1753
|
},
|
|
@@ -1863,32 +1794,21 @@ ${String(output.output ?? "")}`.toLowerCase();
|
|
|
1863
1794
|
};
|
|
1864
1795
|
|
|
1865
1796
|
// src/opencode-multiagent/runtime.ts
|
|
1866
|
-
var readSettingsSection = (value) => {
|
|
1867
|
-
if (!value || typeof value !== "object" || Array.isArray(value)) {
|
|
1868
|
-
return {};
|
|
1869
|
-
}
|
|
1870
|
-
return value;
|
|
1871
|
-
};
|
|
1872
1797
|
async function loadRuntimeSettings() {
|
|
1873
|
-
const [bundledDefaults,
|
|
1798
|
+
const [bundledDefaults, userSettings] = await Promise.all([
|
|
1874
1799
|
loadBundledDefaults().catch(() => ({})),
|
|
1875
1800
|
readJSON(settingsPath, {})
|
|
1876
1801
|
]);
|
|
1877
1802
|
const defaultAgentSettings = readBundledDefaultsSection(bundledDefaults, "agentSettings", {});
|
|
1878
|
-
const
|
|
1879
|
-
|
|
1880
|
-
|
|
1881
|
-
|
|
1882
|
-
|
|
1883
|
-
|
|
1884
|
-
if (!(profileName in profiles)) {
|
|
1885
|
-
await note("config_warning", {
|
|
1886
|
-
observation: true,
|
|
1887
|
-
warning: "unknown_profile",
|
|
1888
|
-
profile: profileName
|
|
1889
|
-
});
|
|
1803
|
+
const userFlagOverrides = {};
|
|
1804
|
+
if (typeof userSettings.telemetry === "boolean") {
|
|
1805
|
+
userFlagOverrides.telemetry = userSettings.telemetry;
|
|
1806
|
+
}
|
|
1807
|
+
if (typeof userSettings.concurrency_limit === "number") {
|
|
1808
|
+
userFlagOverrides.concurrency_limit = userSettings.concurrency_limit;
|
|
1890
1809
|
}
|
|
1891
|
-
const flags = merge(
|
|
1810
|
+
const flags = merge(defaultFlags, userFlagOverrides);
|
|
1811
|
+
const userAgentSettings = userSettings.agentSettings ?? {};
|
|
1892
1812
|
const agentSettings = merge(defaultAgentSettings, userAgentSettings);
|
|
1893
1813
|
return { flags, agentSettings };
|
|
1894
1814
|
}
|
|
@@ -18,72 +18,7 @@ export declare const qualityEventTypes: Set<string>;
|
|
|
18
18
|
export declare const suspiciousTerms: string[];
|
|
19
19
|
export declare const qualitySignalRegex: RegExp;
|
|
20
20
|
export declare const mcpToolPrefixes: string[];
|
|
21
|
-
export declare const defaultProfiles: {
|
|
22
|
-
minimal: {
|
|
23
|
-
enforcement: boolean;
|
|
24
|
-
observation: boolean;
|
|
25
|
-
prompt_controls: boolean;
|
|
26
|
-
agent_compilation: boolean;
|
|
27
|
-
command_compilation: boolean;
|
|
28
|
-
mcp_compilation: boolean;
|
|
29
|
-
telemetry: boolean;
|
|
30
|
-
supervision: boolean;
|
|
31
|
-
quality_gate: boolean;
|
|
32
|
-
task_lifecycle: boolean;
|
|
33
|
-
quality_gate_enforcement: boolean;
|
|
34
|
-
concurrency_limit: number;
|
|
35
|
-
experimental: {
|
|
36
|
-
chat_system_transform: boolean;
|
|
37
|
-
chat_messages_transform: boolean;
|
|
38
|
-
session_compacting: boolean;
|
|
39
|
-
text_complete: boolean;
|
|
40
|
-
};
|
|
41
|
-
};
|
|
42
|
-
standard: {
|
|
43
|
-
enforcement: boolean;
|
|
44
|
-
observation: boolean;
|
|
45
|
-
prompt_controls: boolean;
|
|
46
|
-
agent_compilation: boolean;
|
|
47
|
-
command_compilation: boolean;
|
|
48
|
-
mcp_compilation: boolean;
|
|
49
|
-
telemetry: boolean;
|
|
50
|
-
supervision: boolean;
|
|
51
|
-
quality_gate: boolean;
|
|
52
|
-
task_lifecycle: boolean;
|
|
53
|
-
quality_gate_enforcement: boolean;
|
|
54
|
-
concurrency_limit: number;
|
|
55
|
-
skill_sources: string[];
|
|
56
|
-
skill_injection: boolean;
|
|
57
|
-
experimental: {
|
|
58
|
-
chat_system_transform: boolean;
|
|
59
|
-
chat_messages_transform: boolean;
|
|
60
|
-
session_compacting: boolean;
|
|
61
|
-
text_complete: boolean;
|
|
62
|
-
};
|
|
63
|
-
};
|
|
64
|
-
strict: {
|
|
65
|
-
enforcement: boolean;
|
|
66
|
-
observation: boolean;
|
|
67
|
-
prompt_controls: boolean;
|
|
68
|
-
agent_compilation: boolean;
|
|
69
|
-
command_compilation: boolean;
|
|
70
|
-
mcp_compilation: boolean;
|
|
71
|
-
telemetry: boolean;
|
|
72
|
-
supervision: boolean;
|
|
73
|
-
quality_gate: boolean;
|
|
74
|
-
task_lifecycle: boolean;
|
|
75
|
-
quality_gate_enforcement: boolean;
|
|
76
|
-
concurrency_limit: number;
|
|
77
|
-
experimental: {
|
|
78
|
-
chat_system_transform: boolean;
|
|
79
|
-
chat_messages_transform: boolean;
|
|
80
|
-
session_compacting: boolean;
|
|
81
|
-
text_complete: boolean;
|
|
82
|
-
};
|
|
83
|
-
};
|
|
84
|
-
};
|
|
85
21
|
export declare const defaultFlags: {
|
|
86
|
-
profile: string;
|
|
87
22
|
enforcement: boolean;
|
|
88
23
|
observation: boolean;
|
|
89
24
|
prompt_controls: boolean;
|
|
@@ -124,5 +59,4 @@ export declare const destructiveBashFragments: string[];
|
|
|
124
59
|
export declare const sensitiveMentions: string[];
|
|
125
60
|
export declare const experimentalText = "[opencode-multiagent experimental] Experimental control-plane transforms are active for this session.";
|
|
126
61
|
export type DefaultFlags = typeof defaultFlags;
|
|
127
|
-
export type DefaultProfiles = typeof defaultProfiles;
|
|
128
62
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/opencode-multiagent/constants.ts"],"names":[],"mappings":"AA4BA,eAAO,MAAM,UAAU,wBAAwB,CAAC;AAChD,eAAO,MAAM,UAAU,WAAW,CAAC;AAEnC,eAAO,MAAM,WAAW,QAAyC,CAAC;AAClE,eAAO,MAAM,SAAS,QAA+B,CAAC;AACtD,eAAO,MAAM,eAAe,QAA8B,CAAC;AAC3D,eAAO,MAAM,iBAAiB,QAAgC,CAAC;AAC/D,eAAO,MAAM,UAAU,QAA4B,CAAC;AACpD,eAAO,MAAM,WAAW,QAA0C,CAAC;AACnE,eAAO,MAAM,YAAY,QAAwC,CAAC;AAElE,eAAO,MAAM,WAAW,QAAsB,CAAC;AAC/C,eAAO,MAAM,mBAAmB,QAA4D,CAAC;AAC7F,eAAO,MAAM,gBAAgB,QAA8B,CAAC;AAC5D,eAAO,MAAM,kBAAkB,QAAgC,CAAC;AAChE,eAAO,MAAM,gBAAgB,QAA8B,CAAC;AAE5D,eAAO,MAAM,iBAAiB,aAW5B,CAAC;AAEH,eAAO,MAAM,qBAAqB,aAKhC,CAAC;AAEH,eAAO,MAAM,iBAAiB,aAA8D,CAAC;AAC7F,eAAO,MAAM,eAAe,UAA0D,CAAC;AACvF,eAAO,MAAM,kBAAkB,QACqF,CAAC;AAErH,eAAO,MAAM,eAAe,UAO3B,CAAC;AAEF,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/opencode-multiagent/constants.ts"],"names":[],"mappings":"AA4BA,eAAO,MAAM,UAAU,wBAAwB,CAAC;AAChD,eAAO,MAAM,UAAU,WAAW,CAAC;AAEnC,eAAO,MAAM,WAAW,QAAyC,CAAC;AAClE,eAAO,MAAM,SAAS,QAA+B,CAAC;AACtD,eAAO,MAAM,eAAe,QAA8B,CAAC;AAC3D,eAAO,MAAM,iBAAiB,QAAgC,CAAC;AAC/D,eAAO,MAAM,UAAU,QAA4B,CAAC;AACpD,eAAO,MAAM,WAAW,QAA0C,CAAC;AACnE,eAAO,MAAM,YAAY,QAAwC,CAAC;AAElE,eAAO,MAAM,WAAW,QAAsB,CAAC;AAC/C,eAAO,MAAM,mBAAmB,QAA4D,CAAC;AAC7F,eAAO,MAAM,gBAAgB,QAA8B,CAAC;AAC5D,eAAO,MAAM,kBAAkB,QAAgC,CAAC;AAChE,eAAO,MAAM,gBAAgB,QAA8B,CAAC;AAE5D,eAAO,MAAM,iBAAiB,aAW5B,CAAC;AAEH,eAAO,MAAM,qBAAqB,aAKhC,CAAC;AAEH,eAAO,MAAM,iBAAiB,aAA8D,CAAC;AAC7F,eAAO,MAAM,eAAe,UAA0D,CAAC;AACvF,eAAO,MAAM,kBAAkB,QACqF,CAAC;AAErH,eAAO,MAAM,eAAe,UAO3B,CAAC;AAEF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoCxB,CAAC;AAEF,eAAO,MAAM,oBAAoB,UAA0C,CAAC;AAE5E,eAAO,MAAM,sBAAsB,QAAsD,CAAC;AAC1F,eAAO,MAAM,oBAAoB,UAOhC,CAAC;AACF,eAAO,MAAM,mBAAmB,UAA4B,CAAC;AAE7D,eAAO,MAAM,wBAAwB,UAoBpC,CAAC;AACF,eAAO,MAAM,iBAAiB,UAS7B,CAAC;AAEF,eAAO,MAAM,gBAAgB,0GAC4E,CAAC;AAE1G,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC"}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import type { GenericRecord } from './types.ts';
|
|
2
2
|
export type BundledDefaults = {
|
|
3
|
-
flags?: GenericRecord;
|
|
4
3
|
agentSettings?: GenericRecord;
|
|
5
4
|
mcpDefaults?: GenericRecord;
|
|
6
|
-
profiles?: GenericRecord;
|
|
7
5
|
};
|
|
8
6
|
export declare const loadBundledDefaults: () => Promise<BundledDefaults>;
|
|
9
7
|
export declare const readBundledDefaultsSection: <T>(defaults: BundledDefaults, section: keyof BundledDefaults, fallback: T) => T;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/opencode-multiagent/defaults.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAGhD,MAAM,MAAM,eAAe,GAAG;IAC5B,
|
|
1
|
+
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/opencode-multiagent/defaults.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAGhD,MAAM,MAAM,eAAe,GAAG;IAC5B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,WAAW,CAAC,EAAE,aAAa,CAAC;CAC7B,CAAC;AAYF,eAAO,MAAM,mBAAmB,QAAa,OAAO,CAAC,eAAe,CAQnE,CAAC;AAEF,eAAO,MAAM,0BAA0B,GAAI,CAAC,EAC1C,UAAU,eAAe,EACzB,SAAS,MAAM,eAAe,EAC9B,UAAU,CAAC,KACV,CAQF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../src/opencode-multiagent/markdown.ts"],"names":[],"mappings":"AAGA,KAAK,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AA0E/C,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;UAC/B,eAAe;UAAQ,MAAM;YAAU,MAAM;
|
|
1
|
+
{"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../src/opencode-multiagent/markdown.ts"],"names":[],"mappings":"AAGA,KAAK,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AA0E/C,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;UAC/B,eAAe;UAAQ,MAAM;YAAU,MAAM;IAgBnF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/opencode-multiagent/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/opencode-multiagent/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAgB,MAAM,gBAAgB,CAAC;AAE5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAehD,wBAAsB,mBAAmB,IAAI,OAAO,CAAC;IACnD,KAAK,EAAE,OAAO,YAAY,CAAC;IAC3B,aAAa,EAAE,aAAa,CAAC;CAC9B,CAAC,CA0BD"}
|
package/docs/agents.md
CHANGED
|
@@ -4,12 +4,12 @@
|
|
|
4
4
|
|
|
5
5
|
# Agent Reference
|
|
6
6
|
|
|
7
|
-
`opencode-multiagent` ships
|
|
7
|
+
`opencode-multiagent` ships 10 bundled agents:
|
|
8
8
|
|
|
9
|
-
-
|
|
9
|
+
- 3 primary agents
|
|
10
10
|
- 7 subagents
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
Most bundled agents default to `temperature: 0`. The exception is `brainstormer` which uses `temperature: 0.3` for more creative exploration.
|
|
13
13
|
|
|
14
14
|
## System Shape
|
|
15
15
|
|
|
@@ -22,6 +22,10 @@ The system is intentionally layered:
|
|
|
22
22
|
## High-Level Hierarchy
|
|
23
23
|
|
|
24
24
|
```text
|
|
25
|
+
brainstormer (pre-planning exploration + idea refinement)
|
|
26
|
+
├── scout (research)
|
|
27
|
+
└── auditor (stress-test ideas)
|
|
28
|
+
|
|
25
29
|
planner (triage + planning + inspection)
|
|
26
30
|
├── executor (execution coordination)
|
|
27
31
|
│ ├── coder (standard coding) -> reviewer, scout
|
|
@@ -38,6 +42,15 @@ planner (triage + planning + inspection)
|
|
|
38
42
|
|
|
39
43
|
## Primary Agents
|
|
40
44
|
|
|
45
|
+
### `brainstormer`
|
|
46
|
+
|
|
47
|
+
- Mode: `primary`
|
|
48
|
+
- Default model: `anthropic/claude-opus-4-6`
|
|
49
|
+
- Temperature: `0.3`
|
|
50
|
+
- Steps: `200`
|
|
51
|
+
- Purpose: pre-planning exploration and idea refinement
|
|
52
|
+
- Best for: exploring ideas with the user before planning begins, surfacing gaps and alternatives, challenging assumptions, and producing a planner-ready brief when the discussion concludes
|
|
53
|
+
|
|
41
54
|
### `planner`
|
|
42
55
|
|
|
43
56
|
- Mode: `primary`
|
|
@@ -120,9 +133,9 @@ planner (triage + planning + inspection)
|
|
|
120
133
|
|
|
121
134
|
## Agent Categories at a Glance
|
|
122
135
|
|
|
123
|
-
| Category | Agents
|
|
124
|
-
| --------------------- |
|
|
125
|
-
| Primary orchestration | `planner`, `executor`
|
|
136
|
+
| Category | Agents |
|
|
137
|
+
| --------------------- | ------------------------------------------ |
|
|
138
|
+
| Primary orchestration | `brainstormer`, `planner`, `executor` |
|
|
126
139
|
| Coding | `coder`, `ui-coder`, `sec-coder` |
|
|
127
140
|
| Quality | `reviewer`, `auditor` |
|
|
128
141
|
| Research | `scout` |
|
|
@@ -130,17 +143,18 @@ planner (triage + planning + inspection)
|
|
|
130
143
|
|
|
131
144
|
## Summary Table
|
|
132
145
|
|
|
133
|
-
| Agent
|
|
134
|
-
|
|
|
135
|
-
| `
|
|
136
|
-
| `
|
|
137
|
-
| `
|
|
138
|
-
| `
|
|
139
|
-
| `
|
|
140
|
-
| `
|
|
141
|
-
| `
|
|
142
|
-
| `
|
|
143
|
-
| `
|
|
146
|
+
| Agent | Category | Mode | Model | Steps | Primary use |
|
|
147
|
+
| -------------- | ------------- | ---------- | ----------------------------- | ----- | ---------------------------------------- |
|
|
148
|
+
| `brainstormer` | Primary | `primary` | `anthropic/claude-opus-4-6` | `200` | Pre-planning exploration and ideation |
|
|
149
|
+
| `planner` | Primary | `primary` | `anthropic/claude-opus-4-6` | `200` | Triage, planning, challenge, inspection |
|
|
150
|
+
| `executor` | Primary | `primary` | `anthropic/claude-sonnet-4-6` | `200` | Execution orchestration |
|
|
151
|
+
| `coder` | Coding | `subagent` | `anthropic/claude-sonnet-4-6` | `40` | Standard bounded coding work |
|
|
152
|
+
| `ui-coder` | Coding | `subagent` | `anthropic/claude-sonnet-4-6` | `40` | UI and UX work |
|
|
153
|
+
| `sec-coder` | Coding | `subagent` | `anthropic/claude-opus-4-6` | `60` | Security-sensitive implementation |
|
|
154
|
+
| `reviewer` | Quality | `subagent` | `anthropic/claude-sonnet-4-6` | `30` | Code review, QA, and validation |
|
|
155
|
+
| `auditor` | Quality | `subagent` | `anthropic/claude-opus-4-6` | `40` | Plan gap finding before execution |
|
|
156
|
+
| `scout` | Research | `subagent` | `anthropic/claude-sonnet-4-6` | `30` | File discovery and external research |
|
|
157
|
+
| `docmaster` | Documentation | `subagent` | `anthropic/claude-sonnet-4-6` | `30` | Docs and `.magent` writing |
|
|
144
158
|
|
|
145
159
|
## Related Docs
|
|
146
160
|
|
package/docs/agents.tr.md
CHANGED
|
@@ -4,12 +4,12 @@
|
|
|
4
4
|
|
|
5
5
|
# Ajan Referansı
|
|
6
6
|
|
|
7
|
-
`opencode-multiagent`,
|
|
7
|
+
`opencode-multiagent`, 10 paketlenmiş ajan ile gelir:
|
|
8
8
|
|
|
9
|
-
-
|
|
9
|
+
- 3 ana ajan
|
|
10
10
|
- 7 alt ajan
|
|
11
11
|
|
|
12
|
-
Paketlenmiş
|
|
12
|
+
Paketlenmiş ajanların çoğu varsayılan olarak `temperature: 0` kullanır. Tek istisna, daha yaratıcı keşif için `temperature: 0.3` kullanan `brainstormer` ajanıdır.
|
|
13
13
|
|
|
14
14
|
## Sistem Yapısı
|
|
15
15
|
|
|
@@ -23,6 +23,10 @@ Sistem katmanlı olacak şekilde tasarlanmıştır:
|
|
|
23
23
|
|
|
24
24
|
```text
|
|
25
25
|
kullanici
|
|
26
|
+
-> brainstormer (planlama öncesi keşif + fikir olgunlaştırma)
|
|
27
|
+
-> scout (araştırma)
|
|
28
|
+
-> auditor (fikirleri stres-test)
|
|
29
|
+
|
|
26
30
|
-> planner (triage + planlama + inspeksiyon)
|
|
27
31
|
-> executor (yürütme koordinasyonu)
|
|
28
32
|
-> coder (standart kodlama) -> reviewer, scout
|
|
@@ -39,6 +43,15 @@ kullanici
|
|
|
39
43
|
|
|
40
44
|
## Ana Ajanlar
|
|
41
45
|
|
|
46
|
+
### `brainstormer`
|
|
47
|
+
|
|
48
|
+
- Mod: `primary`
|
|
49
|
+
- Varsayılan model: `anthropic/claude-opus-4-6`
|
|
50
|
+
- Temperature: `0.3`
|
|
51
|
+
- Steps: `200`
|
|
52
|
+
- Amaç: planlama öncesi keşif ve fikir olgunlaştırma
|
|
53
|
+
- En uygun kullanım: planlama başlamadan önce kullanıcıyla birlikte fikirleri keşfetmek, boşlukları ve alternatifleri ortaya çıkarmak, varsayımları sorgulamak ve tartışma tamamlandığında planner'a hazır bir brief üretmek
|
|
54
|
+
|
|
42
55
|
### `planner`
|
|
43
56
|
|
|
44
57
|
- Mod: `primary`
|
|
@@ -121,9 +134,9 @@ kullanici
|
|
|
121
134
|
|
|
122
135
|
## Kategori Özeti
|
|
123
136
|
|
|
124
|
-
| Kategori | Ajanlar
|
|
125
|
-
| ------------------- |
|
|
126
|
-
| Ana orkestrasyon | `planner`, `executor`
|
|
137
|
+
| Kategori | Ajanlar |
|
|
138
|
+
| ------------------- | ---------------------------------------------- |
|
|
139
|
+
| Ana orkestrasyon | `brainstormer`, `planner`, `executor` |
|
|
127
140
|
| Kodlama ajanları | `coder`, `ui-coder`, `sec-coder` |
|
|
128
141
|
| Kalite | `reviewer`, `auditor` |
|
|
129
142
|
| Araştırma | `scout` |
|
|
@@ -131,17 +144,18 @@ kullanici
|
|
|
131
144
|
|
|
132
145
|
## Özet Tablo
|
|
133
146
|
|
|
134
|
-
| Agent
|
|
135
|
-
|
|
|
136
|
-
| `
|
|
137
|
-
| `
|
|
138
|
-
| `
|
|
139
|
-
| `
|
|
140
|
-
| `
|
|
141
|
-
| `
|
|
142
|
-
| `
|
|
143
|
-
| `
|
|
144
|
-
| `
|
|
147
|
+
| Agent | Kategori | Mod | Model | Steps | Ana kullanım |
|
|
148
|
+
| -------------- | ------------- | ---------- | ----------------------------- | ----- | ------------------------------------------------------- |
|
|
149
|
+
| `brainstormer` | Primary | `primary` | `anthropic/claude-opus-4-6` | `200` | Planlama öncesi keşif ve fikir olgunlaştırma |
|
|
150
|
+
| `planner` | Primary | `primary` | `anthropic/claude-opus-4-6` | `200` | Triage, planlama, challenge, inspeksiyon |
|
|
151
|
+
| `executor` | Primary | `primary` | `anthropic/claude-sonnet-4-6` | `200` | Yürütme orkestrasyonu |
|
|
152
|
+
| `coder` | Coding | `subagent` | `anthropic/claude-sonnet-4-6` | `40` | Standart kodlama |
|
|
153
|
+
| `ui-coder` | Coding | `subagent` | `anthropic/claude-sonnet-4-6` | `40` | UI/UX kodlama |
|
|
154
|
+
| `sec-coder` | Coding | `subagent` | `anthropic/claude-opus-4-6` | `60` | Güvenlik hassas kodlama |
|
|
155
|
+
| `reviewer` | Quality | `subagent` | `anthropic/claude-sonnet-4-6` | `30` | Kod inceleme, QA, doğrulama |
|
|
156
|
+
| `auditor` | Quality | `subagent` | `anthropic/claude-opus-4-6` | `40` | Plan açığı bulma ve denetim |
|
|
157
|
+
| `scout` | Research | `subagent` | `anthropic/claude-sonnet-4-6` | `30` | Dosya keşfi ve araştırma |
|
|
158
|
+
| `docmaster` | Documentation | `subagent` | `anthropic/claude-sonnet-4-6` | `30` | Doküman, `.magent` yazımı ve GitHub |
|
|
145
159
|
|
|
146
160
|
## İlgili Dokümanlar
|
|
147
161
|
|
package/docs/configuration.md
CHANGED
|
@@ -130,19 +130,20 @@ This section centralizes per-agent defaults for:
|
|
|
130
130
|
- `temperature`
|
|
131
131
|
- `steps`
|
|
132
132
|
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
| Agent
|
|
136
|
-
|
|
|
137
|
-
| `
|
|
138
|
-
| `
|
|
139
|
-
| `
|
|
140
|
-
| `
|
|
141
|
-
| `
|
|
142
|
-
| `
|
|
143
|
-
| `
|
|
144
|
-
| `
|
|
145
|
-
| `
|
|
133
|
+
Most bundled agents default to `temperature: 0`. The exception is `brainstormer` which uses `temperature: 0.3` for more creative exploration.
|
|
134
|
+
|
|
135
|
+
| Agent | Category | Default model | Steps |
|
|
136
|
+
| -------------- | ------------- | ----------------------------- | ----- |
|
|
137
|
+
| `brainstormer` | Primary | `anthropic/claude-opus-4-6` | `200` |
|
|
138
|
+
| `planner` | Primary | `anthropic/claude-opus-4-6` | `200` |
|
|
139
|
+
| `executor` | Primary | `anthropic/claude-sonnet-4-6` | `200` |
|
|
140
|
+
| `coder` | Coding | `anthropic/claude-sonnet-4-6` | `40` |
|
|
141
|
+
| `ui-coder` | Coding | `anthropic/claude-sonnet-4-6` | `40` |
|
|
142
|
+
| `sec-coder` | Coding | `anthropic/claude-opus-4-6` | `60` |
|
|
143
|
+
| `reviewer` | Quality | `anthropic/claude-sonnet-4-6` | `30` |
|
|
144
|
+
| `auditor` | Quality | `anthropic/claude-opus-4-6` | `40` |
|
|
145
|
+
| `scout` | Research | `anthropic/claude-sonnet-4-6` | `30` |
|
|
146
|
+
| `docmaster` | Documentation | `anthropic/claude-sonnet-4-6` | `30` |
|
|
146
147
|
|
|
147
148
|
## `mcpDefaults`
|
|
148
149
|
|
package/docs/configuration.tr.md
CHANGED
|
@@ -131,19 +131,20 @@ Bu bölüm, agent bazında şu varsayılanları merkezi olarak yönetir:
|
|
|
131
131
|
- `temperature`
|
|
132
132
|
- `steps`
|
|
133
133
|
|
|
134
|
-
Paketlenmiş
|
|
135
|
-
|
|
136
|
-
| Agent
|
|
137
|
-
|
|
|
138
|
-
| `
|
|
139
|
-
| `
|
|
140
|
-
| `
|
|
141
|
-
| `
|
|
142
|
-
| `
|
|
143
|
-
| `
|
|
144
|
-
| `
|
|
145
|
-
| `
|
|
146
|
-
| `
|
|
134
|
+
Paketlenmiş ajanların çoğu varsayılan olarak `temperature: 0` kullanır. Tek istisna, daha yaratıcı keşif için `temperature: 0.3` kullanan `brainstormer` ajanıdır.
|
|
135
|
+
|
|
136
|
+
| Agent | Kategori | Varsayılan model | Steps |
|
|
137
|
+
| -------------- | ------------- | ----------------------------- | ----- |
|
|
138
|
+
| `brainstormer` | Primary | `anthropic/claude-opus-4-6` | `200` |
|
|
139
|
+
| `planner` | Primary | `anthropic/claude-opus-4-6` | `200` |
|
|
140
|
+
| `executor` | Primary | `anthropic/claude-sonnet-4-6` | `200` |
|
|
141
|
+
| `coder` | Coding | `anthropic/claude-sonnet-4-6` | `40` |
|
|
142
|
+
| `ui-coder` | Coding | `anthropic/claude-sonnet-4-6` | `40` |
|
|
143
|
+
| `sec-coder` | Coding | `anthropic/claude-opus-4-6` | `60` |
|
|
144
|
+
| `reviewer` | Quality | `anthropic/claude-sonnet-4-6` | `30` |
|
|
145
|
+
| `auditor` | Quality | `anthropic/claude-opus-4-6` | `40` |
|
|
146
|
+
| `scout` | Research | `anthropic/claude-sonnet-4-6` | `30` |
|
|
147
|
+
| `docmaster` | Documentation | `anthropic/claude-sonnet-4-6` | `30` |
|
|
147
148
|
|
|
148
149
|
## `mcpDefaults`
|
|
149
150
|
|
package/docs/usage-guide.md
CHANGED
|
@@ -39,20 +39,23 @@ When OpenCode loads the package, the plugin:
|
|
|
39
39
|
## 3. Normal User Flow
|
|
40
40
|
|
|
41
41
|
In normal use, you do not need to pick worker agents manually. The system is designed so the
|
|
42
|
-
top-level interaction goes through `planner
|
|
42
|
+
top-level interaction goes through `planner` for most tasks. For exploratory work where the
|
|
43
|
+
direction is unclear, start with `brainstormer` first.
|
|
43
44
|
|
|
44
|
-
Typical
|
|
45
|
+
Typical flows:
|
|
45
46
|
|
|
46
47
|
```text
|
|
47
48
|
user -> planner -> executor -> specialized subagents
|
|
49
|
+
user -> brainstormer -> (concludes with brief) -> planner -> executor -> ...
|
|
48
50
|
```
|
|
49
51
|
|
|
50
52
|
### The main routing roles
|
|
51
53
|
|
|
52
|
-
| Agent
|
|
53
|
-
|
|
|
54
|
-
| `
|
|
55
|
-
| `
|
|
54
|
+
| Agent | Role |
|
|
55
|
+
| -------------- | -------------------------------------------------------------------------- |
|
|
56
|
+
| `brainstormer` | Explores ideas with the user before planning. Produces a planner brief. |
|
|
57
|
+
| `planner` | Owns triage, planning, challenge, inspection, and result integration. |
|
|
58
|
+
| `executor` | Runs the plan by dispatching bounded coding tasks and validating results. |
|
|
56
59
|
|
|
57
60
|
## 4. Triage Levels
|
|
58
61
|
|
package/docs/usage-guide.tr.md
CHANGED
|
@@ -38,21 +38,24 @@ OpenCode paketi yüklediğinde plugin şu adımları uygular:
|
|
|
38
38
|
|
|
39
39
|
## 3. Normal Kullanım Akışı
|
|
40
40
|
|
|
41
|
-
Normal kullanımda uzman ajanları elle seçmeniz gerekmez. Sistem, top-level
|
|
42
|
-
üzerinden gitmesi için tasarlanmıştır.
|
|
41
|
+
Normal kullanımda uzman ajanları elle seçmeniz gerekmez. Sistem, çoğu görev için top-level
|
|
42
|
+
etkileşimin `planner` üzerinden gitmesi için tasarlanmıştır. Yönün belirsiz olduğu keşif
|
|
43
|
+
çalışmalarında önce `brainstormer` ile başlayabilirsiniz.
|
|
43
44
|
|
|
44
|
-
Tipik
|
|
45
|
+
Tipik akışlar:
|
|
45
46
|
|
|
46
47
|
```text
|
|
47
48
|
kullanici -> planner -> executor -> uzman alt ajanlar
|
|
49
|
+
kullanici -> brainstormer -> (brief ile sonuçlanır) -> planner -> executor -> ...
|
|
48
50
|
```
|
|
49
51
|
|
|
50
52
|
### Temel routing rolleri
|
|
51
53
|
|
|
52
|
-
| Agent
|
|
53
|
-
|
|
|
54
|
-
| `
|
|
55
|
-
| `
|
|
54
|
+
| Agent | Rol |
|
|
55
|
+
| -------------- | -------------------------------------------------------------------------------------- |
|
|
56
|
+
| `brainstormer` | Planlama öncesi kullanıcıyla fikirleri keşfeder, planner'a hazır brief üretir. |
|
|
57
|
+
| `planner` | Talebi triage eder, route seçer, büyük işler için plan üretir, sonuçları inceler. |
|
|
58
|
+
| `executor` | Planı bounded uzman görevlerine bölerek uygular ve sonuçları doğrular. |
|
|
56
59
|
|
|
57
60
|
## 4. Triage Seviyeleri (Tier Modeli)
|
|
58
61
|
|