@te-river/opencode-team-mode 1.4.1 → 1.4.2
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/README.md +18 -0
- package/README.zh-CN.md +15 -0
- package/dist/agents.d.ts.map +1 -1
- package/dist/agents.js +9 -0
- package/dist/agents.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -254,6 +254,24 @@ Default is **5 days**. To choose your own, use the tuple plugin form in
|
|
|
254
254
|
`ttlDays` accepts any number of days in `(0, 365]`; invalid values silently
|
|
255
255
|
fall back to 5.
|
|
256
256
|
|
|
257
|
+
### Default agent
|
|
258
|
+
|
|
259
|
+
TeamMode makes **`team` the default agent** (replacing the built-in `build`)
|
|
260
|
+
so every new chat starts with the team orchestrator — it appears above the
|
|
261
|
+
rest in the switcher's default slot. To keep `build` (or any other agent)
|
|
262
|
+
as the default, or pin a different one:
|
|
263
|
+
|
|
264
|
+
```jsonc
|
|
265
|
+
{
|
|
266
|
+
"plugin": [
|
|
267
|
+
["@te-river/opencode-team-mode@latest", { "defaultAgent": false }]
|
|
268
|
+
]
|
|
269
|
+
}
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
An explicitly configured non-`build` `default_agent` is always respected
|
|
273
|
+
untouched.
|
|
274
|
+
|
|
257
275
|
---
|
|
258
276
|
|
|
259
277
|
## 🔧 Customization
|
package/README.zh-CN.md
CHANGED
|
@@ -246,6 +246,21 @@ opencode-team-mode/
|
|
|
246
246
|
|
|
247
247
|
`ttlDays` 接受 `(0, 365]` 内的天数;非法值静默回退到 5 天。
|
|
248
248
|
|
|
249
|
+
### 默认代理
|
|
250
|
+
|
|
251
|
+
TeamMode 会将 **`team` 设为默认代理**(替代内建 `build`),新会话直接由团队
|
|
252
|
+
调度者接管。若想保持 `build` 或其他代理为默认:
|
|
253
|
+
|
|
254
|
+
```jsonc
|
|
255
|
+
{
|
|
256
|
+
"plugin": [
|
|
257
|
+
["@te-river/opencode-team-mode@latest", { "defaultAgent": false }]
|
|
258
|
+
]
|
|
259
|
+
}
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
用户显式配置的非 `build` 默认代理永远原样保留。
|
|
263
|
+
|
|
249
264
|
---
|
|
250
265
|
|
|
251
266
|
## 🔧 自定义
|
package/dist/agents.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../src/agents.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../src/agents.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAka7C,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAO9C,CAAA"}
|
package/dist/agents.js
CHANGED
|
@@ -29,6 +29,9 @@ const BLACKBOARD_GUARANTEE = `
|
|
|
29
29
|
- NEVER reply "append this verbatim for me" or hand the full deliverable
|
|
30
30
|
back to the dispatcher to transcribe — that defeats the entire point of
|
|
31
31
|
the blackboard. Reply with your summary + the file path, nothing else.
|
|
32
|
+
- Read ONLY the blackboard files explicitly listed in your dispatch. Do
|
|
33
|
+
not browse the task directory for "extra context" — the lead scoped the
|
|
34
|
+
reading deliberately, and stale rounds will only pollute yours.
|
|
32
35
|
- If a write genuinely fails (permissions, missing directory), start your
|
|
33
36
|
reply with the line \`BLACKBOARD WRITE FAILED: <reason>\` and only then
|
|
34
37
|
include the full content as fallback, so the lead can retry the write
|
|
@@ -100,6 +103,12 @@ file blackboard (root path is appended at the end of this prompt):
|
|
|
100
103
|
prior work in the text AND point to the blackboard file holding the full
|
|
101
104
|
content. Summary-in-prompt + file-path is the belt-and-braces protocol —
|
|
102
105
|
never rely on an agent "knowing" what another produced.
|
|
106
|
+
- Scope the reading: list ONLY the blackboard files the work package
|
|
107
|
+
actually needs (latest relevant round of each artifact) — never tell an
|
|
108
|
+
agent to "read everything in the directory".
|
|
109
|
+
- When an artifact is revised, write a new round-suffixed file
|
|
110
|
+
(e.g. \`03-review-findings-r2.md\`) and reference only the latest round
|
|
111
|
+
in dispatches, so stale iterations never enter a sub-agent's context.
|
|
103
112
|
- Sub-agents reply with a summary plus their file path; read the file
|
|
104
113
|
yourself when you need detail, then relay the relevant parts onward.
|
|
105
114
|
- A specialist asking you to transcribe its output verbatim is a protocol
|
package/dist/agents.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agents.js","sourceRoot":"","sources":["../src/agents.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH,wEAAwE;AACxE,yEAAyE;AACzE,wEAAwE;AACxE,MAAM,oBAAoB,GAAG
|
|
1
|
+
{"version":3,"file":"agents.js","sourceRoot":"","sources":["../src/agents.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -16,7 +16,9 @@
|
|
|
16
16
|
*
|
|
17
17
|
* Options (via the tuple plugin form):
|
|
18
18
|
* "plugin": [["@te-river/opencode-team-mode@latest", { "ttlDays": 7 }]]
|
|
19
|
-
* `ttlDays`
|
|
19
|
+
* - `ttlDays` → blackboard auto-cleanup TTL; default 5.
|
|
20
|
+
* - `defaultAgent` → promote Team as the default agent (replacing the
|
|
21
|
+
* built-in `build`); set `false` to opt out.
|
|
20
22
|
*/
|
|
21
23
|
import type { OpenCodePlugin } from "./types.js";
|
|
22
24
|
declare const plugin: OpenCodePlugin;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAkB,MAAM,YAAY,CAAA;AAsBhE,QAAA,MAAM,MAAM,EAAE,cAyCb,CAAA;AAED,eAAe,MAAM,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -16,7 +16,9 @@
|
|
|
16
16
|
*
|
|
17
17
|
* Options (via the tuple plugin form):
|
|
18
18
|
* "plugin": [["@te-river/opencode-team-mode@latest", { "ttlDays": 7 }]]
|
|
19
|
-
* `ttlDays`
|
|
19
|
+
* - `ttlDays` → blackboard auto-cleanup TTL; default 5.
|
|
20
|
+
* - `defaultAgent` → promote Team as the default agent (replacing the
|
|
21
|
+
* built-in `build`); set `false` to opt out.
|
|
20
22
|
*/
|
|
21
23
|
import { agents } from "./agents.js";
|
|
22
24
|
import { commands } from "./commands.js";
|
|
@@ -65,6 +67,11 @@ const plugin = {
|
|
|
65
67
|
continue;
|
|
66
68
|
cfg.command[name] = def;
|
|
67
69
|
}
|
|
70
|
+
// ---------- make Team the default agent (opt-out: defaultAgent:false)
|
|
71
|
+
const promote = options?.defaultAgent !== false;
|
|
72
|
+
if (promote && (!cfg.default_agent || cfg.default_agent === "build")) {
|
|
73
|
+
cfg.default_agent = "team";
|
|
74
|
+
}
|
|
68
75
|
},
|
|
69
76
|
};
|
|
70
77
|
},
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EACL,0BAA0B,EAC1B,YAAY,EACZ,gBAAgB,GACjB,MAAM,iBAAiB,CAAA;AAExB,iEAAiE;AACjE,SAAS,cAAc,CAAC,IAAY,EAAE,OAAe;IACnD,OAAO;QACL,EAAE;QACF,EAAE;QACF,kDAAkD;QAClD,qBAAqB,IAAI,IAAI;QAC7B,wFAAwF;QACxF,yEAAyE,OAAO,QAAQ;QACxF,+EAA+E;KAChF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACd,CAAC;AAED,MAAM,MAAM,GAAmB;IAC7B,EAAE,EAAE,WAAW;IAEf,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAC/B,wEAAwE;QACxE,MAAM,SAAS,GACb,OAAO,KAAK,EAAE,SAAS,KAAK,QAAQ,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;YAChE,CAAC,CAAC,KAAK,CAAC,SAAS;YACjB,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAA;QACnB,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;QACnC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,IAAI,gBAAgB,CAAA;QAC7E,MAAM,SAAS,GAAG,0BAA0B,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;QAC9D,MAAM,IAAI,GAAG,cAAc,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;QAE/C,OAAO;YACL,iEAAiE;YACjE,MAAM,CAAC,GAAmB;gBACxB,IAAI,CAAC,GAAG,CAAC,KAAK;oBAAE,GAAG,CAAC,KAAK,GAAG,EAAE,CAAA;gBAC9B,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;oBACjD,mEAAmE;oBACnE,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;wBAAE,SAAQ;oBAC7B,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG;wBAChB,GAAG,GAAG;wBACN,MAAM,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM;qBACjE,CAAA;gBACH,CAAC;gBAED,IAAI,CAAC,GAAG,CAAC,OAAO;oBAAE,GAAG,CAAC,OAAO,GAAG,EAAE,CAAA;gBAClC,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACnD,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;wBAAE,SAAQ;oBAC/B,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,CAAA;gBACzB,CAAC;gBAED,uEAAuE;gBACvE,MAAM,OAAO,GAAG,OAAO,EAAE,YAAY,KAAK,KAAK,CAAA;gBAC/C,IAAI,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,aAAa,KAAK,OAAO,CAAC,EAAE,CAAC;oBACrE,GAAG,CAAC,aAAa,GAAG,MAAM,CAAA;gBAC5B,CAAC;YACH,CAAC;SACF,CAAA;IACH,CAAC;CACF,CAAA;AAED,eAAe,MAAM,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@te-river/opencode-team-mode",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.2",
|
|
4
4
|
"description": "Team collaboration mode plugin for OpenCode Desktop — injects specialized agents (architect, reviewer, implementer, tester, researcher) and team workflow commands into your OpenCode workspace.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|