pi-acp 0.0.14 → 0.0.16
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 +46 -11
- package/dist/index.js +810 -49
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# pi-acp
|
|
2
2
|
|
|
3
|
-
ACP (Agent Client Protocol) adapter for [`pi`](https://
|
|
3
|
+
ACP ([Agent Client Protocol](https://agentclientprotocol.com/overview/introduction)) adapter for [`pi`](https://github.com/badlogic/pi-mono/tree/main/packages/coding-agent) coding agent (fka shitty coding agent).
|
|
4
4
|
|
|
5
5
|
`pi-acp` communicates **ACP JSON-RPC 2.0 over stdio** to an ACP client (e.g. an editor) and spawns `pi --mode rpc`, bridging requests/events between the two.
|
|
6
6
|
|
|
@@ -31,7 +31,8 @@ High-level mapping:
|
|
|
31
31
|
- Slash commands
|
|
32
32
|
- Loads file-based slash commands compatible with pi’s conventions
|
|
33
33
|
- Adds a small set of built-in commands for headless/editor usage
|
|
34
|
-
- Skills are loaded by pi directly and are available in
|
|
34
|
+
- Skills are loaded by pi directly and are available in ACP sessions
|
|
35
|
+
- (Zed) On session start, `pi-acp` posts a markdown “startup info” block (pi version, context file, skills, prompts, extensions)
|
|
35
36
|
|
|
36
37
|
## Prerequisites
|
|
37
38
|
|
|
@@ -59,9 +60,11 @@ Add the following to your Zed `settngs.json`:
|
|
|
59
60
|
"type": "custom",
|
|
60
61
|
"command": "npx",
|
|
61
62
|
"args": ["-y", "pi-acp"],
|
|
62
|
-
"env": {
|
|
63
|
-
|
|
64
|
-
|
|
63
|
+
"env": {
|
|
64
|
+
"PI_ACP_STARTUP_INFO": "true" // optional, "true" by default
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
65
68
|
```
|
|
66
69
|
|
|
67
70
|
#### Global install
|
|
@@ -76,9 +79,9 @@ npm install -g pi-acp
|
|
|
76
79
|
"type": "custom",
|
|
77
80
|
"command": "pi-acp",
|
|
78
81
|
"args": [],
|
|
79
|
-
"env": {}
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
+
"env": {}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
82
85
|
```
|
|
83
86
|
|
|
84
87
|
#### From source
|
|
@@ -96,13 +99,29 @@ Point your ACP client to the built `dist/index.js`:
|
|
|
96
99
|
"type": "custom",
|
|
97
100
|
"command": "node",
|
|
98
101
|
"args": ["/path/to/pi-acp/dist/index.js"],
|
|
99
|
-
"env": {}
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
+
"env": {}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
102
105
|
```
|
|
103
106
|
|
|
104
107
|
## Features
|
|
105
108
|
|
|
109
|
+
### Startup info message (Zed)
|
|
110
|
+
|
|
111
|
+
By default, `pi-acp` emits a short markdown “startup info” block into the session (pi version, context, skills, prompts, extensions).
|
|
112
|
+
|
|
113
|
+
Disable it by setting:
|
|
114
|
+
|
|
115
|
+
- `PI_ACP_STARTUP_INFO=false`
|
|
116
|
+
|
|
117
|
+
In Zed:
|
|
118
|
+
|
|
119
|
+
```json
|
|
120
|
+
"env": {
|
|
121
|
+
"PI_ACP_STARTUP_INFO": "false"
|
|
122
|
+
}
|
|
123
|
+
```
|
|
124
|
+
|
|
106
125
|
### Slash commands
|
|
107
126
|
|
|
108
127
|
`pi-acp` supports slash commands:
|
|
@@ -124,6 +143,8 @@ These are expanded adapter-side (pi RPC mode doesn’t expand them).
|
|
|
124
143
|
- `/session` – show session stats (tokens/messages/cost/session file)
|
|
125
144
|
- `/queue all|one-at-a-time` – set pi queue mode (unstable feature)
|
|
126
145
|
- `/changelog` – print the installed pi changelog (best-effort)
|
|
146
|
+
- `/steering` - maps to `pi` Steering Mode, get/set
|
|
147
|
+
- `/follow-up` - pats to `pi` Follow-up Mode, get/set
|
|
127
148
|
|
|
128
149
|
Other built-in commands:
|
|
129
150
|
|
|
@@ -133,6 +154,20 @@ Other built-in commands:
|
|
|
133
154
|
|
|
134
155
|
The rest are not yet implemented due to ACP limitations (e.g. no history)
|
|
135
156
|
|
|
157
|
+
## Authentication / Setup (ACP Registry)
|
|
158
|
+
|
|
159
|
+
This agent supports **Terminal Auth** for the ACP Registry.
|
|
160
|
+
|
|
161
|
+
In Zed, this will show an **Authenticate** banner that launches pi in a terminal.
|
|
162
|
+
|
|
163
|
+
Launch pi in a terminal for interactive login/setup:
|
|
164
|
+
|
|
165
|
+
```bash
|
|
166
|
+
pi-acp --terminal-login
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
Your ACP client can also invoke this automatically based on the agent's advertised `authMethods`.
|
|
170
|
+
|
|
136
171
|
## Development
|
|
137
172
|
|
|
138
173
|
```bash
|