opencode-multiagent 0.4.0 → 0.6.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.
Files changed (33) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/README.md +1 -1
  3. package/README.tr.md +1 -1
  4. package/agents/brainstormer.md +113 -0
  5. package/commands/brainstorm-conclude.md +14 -0
  6. package/commands/brainstorm.md +14 -0
  7. package/defaults/opencode-multiagent.json +64 -105
  8. package/defaults/opencode-multiagent.schema.json +41 -208
  9. package/dist/index.js +251 -105
  10. package/dist/opencode-multiagent/compiler.d.ts.map +1 -1
  11. package/dist/opencode-multiagent/constants.d.ts +0 -66
  12. package/dist/opencode-multiagent/constants.d.ts.map +1 -1
  13. package/dist/opencode-multiagent/defaults.d.ts +0 -2
  14. package/dist/opencode-multiagent/defaults.d.ts.map +1 -1
  15. package/dist/opencode-multiagent/hooks.d.ts.map +1 -1
  16. package/dist/opencode-multiagent/markdown.d.ts.map +1 -1
  17. package/dist/opencode-multiagent/runtime.d.ts.map +1 -1
  18. package/dist/opencode-multiagent/supervision.d.ts +4 -0
  19. package/dist/opencode-multiagent/supervision.d.ts.map +1 -1
  20. package/dist/opencode-multiagent/task-manager.d.ts +22 -0
  21. package/dist/opencode-multiagent/task-manager.d.ts.map +1 -1
  22. package/dist/opencode-multiagent/telemetry.d.ts +6 -0
  23. package/dist/opencode-multiagent/telemetry.d.ts.map +1 -1
  24. package/dist/opencode-multiagent/tools.d.ts +11 -0
  25. package/dist/opencode-multiagent/tools.d.ts.map +1 -1
  26. package/{agents → docs}/AGENTS.md +6 -2
  27. package/docs/agents.md +107 -17
  28. package/docs/agents.tr.md +107 -17
  29. package/docs/configuration.md +24 -16
  30. package/docs/configuration.tr.md +24 -17
  31. package/docs/usage-guide.md +54 -11
  32. package/docs/usage-guide.tr.md +56 -12
  33. package/package.json +1 -1
@@ -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 flow:
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 | Role |
53
- | ---------- | -------------------------------------------------------------------------- |
54
- | `planner` | Owns triage, planning, challenge, inspection, and result integration. |
55
- | `executor` | Runs the plan by dispatching bounded coding tasks and validating results. |
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
 
@@ -70,11 +73,12 @@ the route unless you have a strong reason to override the flow.
70
73
 
71
74
  ## 5. Shared Task Board
72
75
 
73
- The plugin exposes three shared task tools:
76
+ The plugin exposes shared task tools:
74
77
 
75
- - `task_create`
76
- - `task_update`
77
- - `task_list`
78
+ - `task_create` — create a new task with optional `maxRetries` and `escalationModel`
79
+ - `task_update` — update task status, result, and `findings` for sibling context sharing
80
+ - `task_list` — list tasks with dependency status (`depsMet`, `unmetDeps`)
81
+ - `task_ready` — list tasks whose dependencies are all met and are ready to dispatch
78
82
 
79
83
  These are used internally by the agent system to track work, but they are also important to
80
84
  understand when reading logs or `.opencode` artifacts.
@@ -90,6 +94,23 @@ Possible task states:
90
94
  - `failed`
91
95
  - `blocked`
92
96
 
97
+ ### Retry and escalation
98
+
99
+ Tasks created with `maxRetries > 0` are automatically retried when the child session ends with
100
+ a failure. When retries are exhausted and an `escalationModel` is set, the task is reset with a
101
+ prompt to re-dispatch using a more capable model.
102
+
103
+ ### Sibling context sharing
104
+
105
+ When a task is completed with `findings`, those findings are included in the completion
106
+ notification sent to sibling tasks. This lets parallel workers learn from each other's results
107
+ without requiring manual coordination.
108
+
109
+ ### Dependency visibility
110
+
111
+ `task_list` now returns dependency status for each task (`depsMet: true/false`, `unmetDeps: [...]`).
112
+ Use `task_ready` to quickly find tasks that are ready to dispatch.
113
+
93
114
  ### Persistence
94
115
 
95
116
  When a project root is available, the task board is persisted to:
@@ -137,6 +158,28 @@ Example:
137
158
  }
138
159
  ```
139
160
 
161
+ ### Extended model parameters
162
+
163
+ You can also set `top_p` and provider-specific `options` per agent. For example, to enable
164
+ thinking mode with a token budget:
165
+
166
+ ```json
167
+ {
168
+ "agentSettings": {
169
+ "planner": {
170
+ "model": "anthropic/claude-opus-4-6",
171
+ "top_p": 0.9,
172
+ "options": {
173
+ "thinking": { "type": "enabled", "budget_tokens": 10000 }
174
+ }
175
+ }
176
+ }
177
+ }
178
+ ```
179
+
180
+ These parameters are injected both at config compilation time and at runtime via the `chat.params`
181
+ hook, ensuring they reach the LLM provider regardless of how OpenCode merges agent config.
182
+
140
183
  Use `opencode.json` when you want an explicit host-level override for a specific OpenCode field.
141
184
 
142
185
  Example:
@@ -197,7 +240,7 @@ Common generated files and directories:
197
240
 
198
241
  | Path | Purpose |
199
242
  | ----------------------------------------------------- | ---------------------------------------------------- |
200
- | `~/.config/opencode/logs/opencode-multiagent.jsonl` | Observation and telemetry log |
243
+ | `~/.config/opencode/logs/opencode-multiagent.jsonl` | Observation, telemetry, and token usage log |
201
244
  | `~/.config/opencode/plugins/opencode-multiagent.json` | User runtime overrides |
202
245
  | `.opencode/tasks/taskboard.json` | Shared task board persistence |
203
246
  | `.opencode/plans/` | Durable plans created through planner and docmaster |
@@ -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 etkileşimin `planner`
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 akış:
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 | Rol |
53
- | ---------- | -------------------------------------------------------------------------------------- |
54
- | `planner` | Talebi triage eder, route seçer, büyük işler için plan üretir, sonuçları inceler. |
55
- | `executor` | Planı bounded uzman görevlerine bölerek uygular ve sonuçları doğrular. |
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
 
@@ -70,11 +73,12 @@ Kullanıcı açısından pratik kural basittir: güçlü bir sebep yoksa görevi
70
73
 
71
74
  ## 5. Ortak Task Board
72
75
 
73
- Plugin üç ortak task aracı sunar:
76
+ Plugin ortak task araçları sunar:
74
77
 
75
- - `task_create`
76
- - `task_update`
77
- - `task_list`
78
+ - `task_create` — opsiyonel `maxRetries` ve `escalationModel` ile yeni görev oluşturma
79
+ - `task_update` — görev durumu, sonuç ve sibling context paylaşımı için `findings` güncelleme
80
+ - `task_list` — bağımlılık durumu ile görevleri listeleme (`depsMet`, `unmetDeps`)
81
+ - `task_ready` — bağımlılıkları karşılanmış ve dispatch'e hazır görevleri listeleme
78
82
 
79
83
  Bu araçlar ajan sistemi tarafından dahili olarak kullanılır; ancak log ve `.opencode` çıktılarının
80
84
  nasıl oluştuğunu anlamak için bilinmeleri faydalıdır.
@@ -90,6 +94,23 @@ Olası task durumları:
90
94
  - `failed`
91
95
  - `blocked`
92
96
 
97
+ ### Yeniden deneme ve yükseltme
98
+
99
+ `maxRetries > 0` ile oluşturulan görevler, child session hatayla sonlandığında otomatik olarak
100
+ yeniden denenir. Yeniden denemeler tükendiğinde ve bir `escalationModel` tanımlıysa, görev daha
101
+ güçlü bir modelle yeniden dispatch edilmesi için sıfırlanır.
102
+
103
+ ### Sibling context paylaşımı
104
+
105
+ Bir görev `findings` ile tamamlandığında, bu bulgular kardeş görevlere gönderilen tamamlanma
106
+ bildirimlerine eklenir. Bu sayede paralel çalışanlar, manuel koordinasyon gerektirmeden
107
+ birbirlerinin sonuçlarından öğrenebilir.
108
+
109
+ ### Bağımlılık görünürlüğü
110
+
111
+ `task_list` artık her görev için bağımlılık durumunu döndürür (`depsMet: true/false`,
112
+ `unmetDeps: [...]`). Dispatch'e hazır görevleri hızlıca bulmak için `task_ready` kullanın.
113
+
93
114
  ### Kalıcılık
94
115
 
95
116
  Bir proje kökü varsa task board şu dosyaya yazılır:
@@ -138,6 +159,29 @@ kullanın.
138
159
  }
139
160
  ```
140
161
 
162
+ ### Genişletilmiş model parametreleri
163
+
164
+ Her ajan için `top_p` ve provider'a özgü `options` da ayarlanabilir. Örneğin, thinking modunu
165
+ bir token bütçesiyle açmak için:
166
+
167
+ ```json
168
+ {
169
+ "agentSettings": {
170
+ "planner": {
171
+ "model": "anthropic/claude-opus-4-6",
172
+ "top_p": 0.9,
173
+ "options": {
174
+ "thinking": { "type": "enabled", "budget_tokens": 10000 }
175
+ }
176
+ }
177
+ }
178
+ }
179
+ ```
180
+
181
+ Bu parametreler hem config derleme zamanında hem de runtime'da `chat.params` hook'u aracılığıyla
182
+ enjekte edilir; böylece OpenCode agent config'i nasıl birleştirirse birleştirsin parametreler
183
+ LLM provider'a ulaşır.
184
+
141
185
  Belirli bir OpenCode alanını açıkça override etmek istediğinizde `opencode.json` kullanın.
142
186
 
143
187
  Örnek:
@@ -198,7 +242,7 @@ Sık görülen dosya ve dizinler:
198
242
 
199
243
  | Yol | Amaç |
200
244
  | ----------------------------------------------------- | -------------------------------------------------------------- |
201
- | `~/.config/opencode/logs/opencode-multiagent.jsonl` | Observation ve telemetry logu |
245
+ | `~/.config/opencode/logs/opencode-multiagent.jsonl` | Observation, telemetry ve token kullanım logu |
202
246
  | `~/.config/opencode/plugins/opencode-multiagent.json` | Kullanıcı runtime override dosyası |
203
247
  | `.opencode/tasks/taskboard.json` | Ortak task board verisi |
204
248
  | `.opencode/plans/` | `planner` ve `docmaster` tarafından yazılan kalıcı planlar |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-multiagent",
3
- "version": "0.4.0",
3
+ "version": "0.6.0",
4
4
  "type": "module",
5
5
  "description": "Multi-agent orchestration plugin for OpenCode",
6
6
  "license": "MIT",