pi-open-agents 0.1.16 โ 0.1.18
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 +36 -0
- package/package.json +1 -1
- package/src/primary/executor.ts +2 -1
- package/src/primary/manager.ts +2 -2
- package/src/types.ts +2 -2
package/README.md
CHANGED
|
@@ -13,6 +13,8 @@ Unified agent and subagent management for [pi](https://pi.dev), with [OpenCode](
|
|
|
13
13
|
Replaces `pi-agent-mode` + `@johnnywu/pi-subagents` with one coherent plugin.
|
|
14
14
|
|
|
15
15
|
> **Why pi?** Pi's minimalist core keeps system prompts under 1,000 tokens โ making it exceptionally fast on local models and cheap on cloud APIs. pi-open-agents is built to leverage that minimalism. See [Pi vs OpenCode: Performance & Architecture](./PI-VS-OPencode.md) for a detailed comparison.
|
|
16
|
+
>
|
|
17
|
+
> ๐ **Herd your agents.** pi-open-agents + [Herdr](https://herdr.dev) runs a full team of coding agents โ persistent workspaces, live agent awareness, control from one screen. **[Set up the stack in 5 commands โ](./PI-WITH-HERDR.md)**
|
|
16
18
|
|
|
17
19
|
---
|
|
18
20
|
|
|
@@ -82,6 +84,22 @@ have no permission system. `pi-open-agents` replaces both:
|
|
|
82
84
|
|
|
83
85
|
---
|
|
84
86
|
|
|
87
|
+
## Popular requests, already covered
|
|
88
|
+
|
|
89
|
+
Some of the most upvoted agent/subagent asks across the ecosystem are already
|
|
90
|
+
here โ or native in pi itself:
|
|
91
|
+
|
|
92
|
+
| Asked elsewhere (๐) | Status in pi + pi-open-agents |
|
|
93
|
+
|---|---|
|
|
94
|
+
| `AGENTS.md` adoption โ anthropics/claude-code#31005 ๐336, openai/codex#12115 ๐109 | โ
Native in pi: `AGENTS.md`/`CLAUDE.md` discovery with `AGENTS.override.md` layering |
|
|
95
|
+
| Agent Skills standard (`.agents/skills/`) โ agentskills/agentskills#15 ๐183 | โ
Native in pi; shared agents from `.agents/` (#7 aligns to the dotagents layout) |
|
|
96
|
+
| Tool restrictions that actually reach subagents โ anthropics/claude-code#18950 ๐70 | โ
Since v0.1.14, `tools:`/`permission:` restrict the child toolset via `--tools` (full parent inheritance โ #8) |
|
|
97
|
+
| Reasoning effort per agent โ Kilo-Org/kilocode#13105 ๐8 | โ
`thinking: offโฆxhigh` per agent, forwarded to the child process |
|
|
98
|
+
| Delegation guards โ Kilo-Org/kilocode#9985 | โ
`allowedAgents` allowlist + `maxDepth` recursion limit |
|
|
99
|
+
| Agent management UI โ openai/codex#22321 ๐41 | โ
`/agent`, `/agents`, `/agent-search`, `Ctrl+Shift+M`, programmatic `set_agent` |
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
85
103
|
## Features
|
|
86
104
|
|
|
87
105
|
### Per-agent model, thinking, and permissions
|
|
@@ -290,6 +308,24 @@ Optional cleanup:
|
|
|
290
308
|
|
|
291
309
|
---
|
|
292
310
|
|
|
311
|
+
## Run a fleet ๐
|
|
312
|
+
|
|
313
|
+
Pi stays minimal on purpose โ one agent, done well. When you need **many**,
|
|
314
|
+
add [Herdr](https://herdr.dev): persistent workspaces, mouse-first UX, live
|
|
315
|
+
agent awareness (`idle` / `working` / `blocked`), and cross-agent control
|
|
316
|
+
from one screen โ pi, or any mix of the 25 supported agent kinds. Six agents,
|
|
317
|
+
six sessions, zero chaos: that's the exact workstation setup documented in
|
|
318
|
+
**[pi ร Herdr ร pi-open-agents](./PI-WITH-HERDR.md)**.
|
|
319
|
+
|
|
320
|
+
## Roadmap
|
|
321
|
+
|
|
322
|
+
- **Parent permission inheritance** for subagents โ #8
|
|
323
|
+
- **Agent hot-reload** (or `/reload-agents`) โ #9
|
|
324
|
+
- **Per-call model override** in `subagent()` โ #10
|
|
325
|
+
- **Parallel subagent limit** โ #11
|
|
326
|
+
|
|
327
|
+
---
|
|
328
|
+
|
|
293
329
|
## Development
|
|
294
330
|
|
|
295
331
|
**Contributing?** Please read the [Contributing Guide](./CONTRIBUTING.md) before
|
package/package.json
CHANGED
package/src/primary/executor.ts
CHANGED
|
@@ -64,7 +64,8 @@ async function applyModel(agent: AgentDefinition, pi: ExtensionAPI, ctx: Extensi
|
|
|
64
64
|
* Falls back to the session's current thinking level if agent doesn't specify one.
|
|
65
65
|
*/
|
|
66
66
|
function applyThinking(agent: AgentDefinition, pi: ExtensionAPI): void {
|
|
67
|
-
pi
|
|
67
|
+
// Cast: pi-open-agents accepts "max" (aligned with CLI); pi-agent-core type lags behind
|
|
68
|
+
pi.setThinkingLevel(agent.thinking as any);
|
|
68
69
|
}
|
|
69
70
|
|
|
70
71
|
// โโโ Tool Filtering โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
package/src/primary/manager.ts
CHANGED
|
@@ -82,8 +82,8 @@ export class AgentManager {
|
|
|
82
82
|
if (this.originalState.model) {
|
|
83
83
|
await pi.setModel(this.originalState.model);
|
|
84
84
|
}
|
|
85
|
-
// Restore thinking level
|
|
86
|
-
pi.setThinkingLevel(this.originalState.thinkingLevel);
|
|
85
|
+
// Restore thinking level (cast: pi-agent-core type lags behind on "max")
|
|
86
|
+
pi.setThinkingLevel(this.originalState.thinkingLevel as any);
|
|
87
87
|
// Restore tools
|
|
88
88
|
pi.setActiveTools(this.originalState.toolNames);
|
|
89
89
|
} else {
|
package/src/types.ts
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
|
|
11
11
|
export type AgentMode = "primary" | "subagent" | "all";
|
|
12
12
|
|
|
13
|
-
export type ThinkingLevel = "off" | "minimal" | "low" | "medium" | "high" | "xhigh";
|
|
13
|
+
export type ThinkingLevel = "off" | "minimal" | "low" | "medium" | "high" | "xhigh" | "max";
|
|
14
14
|
|
|
15
15
|
export type SystemPromptMode = "append" | "replace" | "replace-all";
|
|
16
16
|
|
|
@@ -19,7 +19,7 @@ export type PermissionAction = "allow" | "deny" | "ask";
|
|
|
19
19
|
export type AgentSource = "global" | "project";
|
|
20
20
|
|
|
21
21
|
export const THINKING_LEVELS: readonly ThinkingLevel[] = [
|
|
22
|
-
"off", "minimal", "low", "medium", "high", "xhigh",
|
|
22
|
+
"off", "minimal", "low", "medium", "high", "xhigh", "max",
|
|
23
23
|
] as const;
|
|
24
24
|
|
|
25
25
|
export const SYSTEM_PROMPT_MODES: readonly SystemPromptMode[] = [
|