@averyyy/pi-client 1.0.0-piclient.1 → 1.0.1-piclient.1
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 +5 -5
- package/README.md +24 -6
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -2,9 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
### Fixed
|
|
4
4
|
|
|
5
|
+
- Reported upstream Pi 1.0.0 and its full source commit in package metadata.
|
|
6
|
+
- Documented remote model operations, server-side credentials, and the 64 KiB UTF-8 request limit.
|
|
7
|
+
- Enabled remote prompt-cache warming with streaming and idle modes, bounded request bodies, and session usage accounting.
|
|
5
8
|
- Fixed automatic update checks to compare the installed `pi-client` version instead of the upstream `pi` version.
|
|
6
9
|
- Used `pi-client` in fork help and documented `web`, `send`, server configuration, global package updates, and `/reload` without changing upstream Pi help.
|
|
7
10
|
- Reported upload HTTP and connection failures with the target, response metadata, and a bounded, token-redacted body excerpt instead of JSON or network stack traces.
|
|
11
|
+
- Handled malformed `settings.json` when checking for the Tau Codex extension instead of crashing `pi-client web`.
|
|
12
|
+
- Used `--legacy-peer-deps` for npm-global fork updates and documented installs so existing upstream Pi installs do not trigger peer override warnings for forked prerelease aliases.
|
|
8
13
|
|
|
9
14
|
### Added
|
|
10
15
|
|
|
@@ -16,11 +21,6 @@
|
|
|
16
21
|
- `pi-client web` command that starts the client backend in Tau mirror mode on port `1838` by default.
|
|
17
22
|
- `pi-client send <path>` command for chunked file and folder uploads to pi-server.
|
|
18
23
|
|
|
19
|
-
### Fixed
|
|
20
|
-
|
|
21
|
-
- Handled malformed `settings.json` when checking for the Tau Codex extension instead of crashing `pi-client web`.
|
|
22
|
-
- Used `--legacy-peer-deps` for npm-global fork updates and documented installs so existing upstream Pi installs do not trigger peer override warnings for forked prerelease aliases.
|
|
23
|
-
|
|
24
24
|
### Changed
|
|
25
25
|
|
|
26
26
|
- Updated the upstream Pi base through commit `0e6909f0`, including the latest provider and compaction fixes.
|
package/README.md
CHANGED
|
@@ -12,22 +12,22 @@ npm i -g --ignore-scripts --legacy-peer-deps @averyyy/pi-client
|
|
|
12
12
|
|
|
13
13
|
## Use
|
|
14
14
|
|
|
15
|
-
Connect to
|
|
15
|
+
Connect to your server:
|
|
16
16
|
|
|
17
17
|
```bash
|
|
18
|
-
PI_SERVER_URL=https://pi.
|
|
18
|
+
PI_SERVER_URL=https://pi-server.example.com pi-client
|
|
19
19
|
```
|
|
20
20
|
|
|
21
21
|
Send one prompt and exit:
|
|
22
22
|
|
|
23
23
|
```bash
|
|
24
|
-
PI_SERVER_URL=https://pi.
|
|
24
|
+
PI_SERVER_URL=https://pi-server.example.com pi-client -p "Say exactly: ok"
|
|
25
25
|
```
|
|
26
26
|
|
|
27
27
|
Send a file or folder to the server:
|
|
28
28
|
|
|
29
29
|
```bash
|
|
30
|
-
PI_SERVER_URL=https://pi.
|
|
30
|
+
PI_SERVER_URL=https://pi-server.example.com pi-client send /path/to/file-or-folder
|
|
31
31
|
```
|
|
32
32
|
|
|
33
33
|
The server saves it under its configured upload directory, which defaults to `~/.pi/upload_files`.
|
|
@@ -37,7 +37,7 @@ Start the browser UI:
|
|
|
37
37
|
```bash
|
|
38
38
|
pi-client install npm:@averyyy/pi-tau-codex
|
|
39
39
|
# or: pi install npm:@averyyy/pi-tau-codex
|
|
40
|
-
PI_SERVER_URL=https://pi.
|
|
40
|
+
PI_SERVER_URL=https://pi-server.example.com pi-client web
|
|
41
41
|
```
|
|
42
42
|
|
|
43
43
|
The web command starts `pi-client` in Tau mirror mode. Install the standalone `@averyyy/pi-tau-codex` extension into the shared `~/.pi/agent` settings first. Tau listens on `http://127.0.0.1:1838` by default.
|
|
@@ -50,6 +50,24 @@ If your server uses an auth token, set it on the client:
|
|
|
50
50
|
PI_SERVER_AUTH_TOKEN=your-token PI_SERVER_URL=http://127.0.0.1:4217 pi-client
|
|
51
51
|
```
|
|
52
52
|
|
|
53
|
+
Use matching client and server releases. Provider credentials configured on the server are sufficient for chat, image generation, classifiers, and compaction. Client-side credentials, environment overrides, and request headers are forwarded when supplied.
|
|
54
|
+
|
|
55
|
+
The authenticated model catalog includes chat, image, and classifier models with availability tracked separately for each model type. Extensions and codemode scripts use the normal model registry APIs; inference runs on the server. MCP connections, tools, and provider login remain in the client process.
|
|
56
|
+
|
|
57
|
+
`PI_CLIENT_MAX_REQUEST_KB=64` limits each client HTTP request body to 65,536 UTF-8 bytes. Larger prompts, tool definitions, images, operation payloads, and session trees use the shared chunk transport.
|
|
58
|
+
|
|
59
|
+
## Prompt Cache Warming
|
|
60
|
+
|
|
61
|
+
Cache warming replays eligible requests through pi-server with the original prompt, tools, model, and cache options, limiting output to one token. The default `streaming` mode warms during active agent runs. To also warm while waiting for input, set this in your global Pi settings:
|
|
62
|
+
|
|
63
|
+
```json
|
|
64
|
+
{
|
|
65
|
+
"cacheWarming": "idle"
|
|
66
|
+
}
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
The server confirms the cache retention used by each request, and the client uses that policy for refresh timing and cost decisions. The model must declare a prompt-cache lifetime, and the expected savings must reach $0.05. `/session` shows the warming decision. Set `cacheWarming` to `"off"` to disable it. Refresh usage counts toward session totals without adding model messages; cancellation and changed model/context stop warming. Requests use the same 64 KiB transport limit.
|
|
70
|
+
|
|
53
71
|
## Devin Pro
|
|
54
72
|
|
|
55
73
|
Update both `@averyyy/pi-client` and `@averyyy/pi-server` to a version with native Devin support. Start `pi-client` with your server connection configured, then:
|
|
@@ -59,7 +77,7 @@ Update both `@averyyy/pi-client` and `@averyyy/pi-server` to a version with nati
|
|
|
59
77
|
/model devin/swe-2-medium
|
|
60
78
|
```
|
|
61
79
|
|
|
62
|
-
Login opens Devin's browser OAuth flow and saves the session token in Pi's normal credential store. The account catalog loads after login; `pi-client --list-models swe-2` lists the discovered SWE-2 variants. Choose the exact variant (for example `swe-2-high` or `swe-2-max`) to change effort.
|
|
80
|
+
Login opens Devin's browser OAuth flow and saves the session token in Pi's normal credential store. The account catalog loads after login; `pi-client --list-models swe-2` lists the discovered SWE-2 variants. Choose the exact variant (for example `swe-2-high` or `swe-2-max`) to change effort. Known configured SWE-2 IDs remain selectable before account discovery finishes; successful discovery supplies the account's models and limits, and discovery failures are reported.
|
|
63
81
|
|
|
64
82
|
Authentication and model discovery may contact Devin from the client. Model inference, including compaction, goes through `pi-client → pi-server → Devin`. Direct Devin inference rejects `PI_SERVER_MODE=true`. Pi continues to own tools, agent loops, session history, and subagents. No Devin CLI installation or provider extension is needed. Remove conflicting Devin extensions before enabling the native provider.
|
|
65
83
|
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@averyyy/pi-client",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.1-piclient.1",
|
|
4
4
|
"description": "Lightweight CLI wrapper that connects to a pi-server instance",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"piClient": {
|
|
7
|
-
"basePiVersion": "0.
|
|
8
|
-
"basePiCommit": "
|
|
7
|
+
"basePiVersion": "1.0.1",
|
|
8
|
+
"basePiCommit": "a13d35a742c6ef8462812a28fbe1d8c8b7431c32"
|
|
9
9
|
},
|
|
10
10
|
"bin": {
|
|
11
11
|
"pi-client": "bin/pi-client.js"
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"prepublishOnly": "npm run build"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@earendil-works/pi-coding-agent": "npm:@averyyy/pi-coding-agent@1.0.
|
|
28
|
+
"@earendil-works/pi-coding-agent": "npm:@averyyy/pi-coding-agent@1.0.1-piclient.1"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
31
|
"shx": "0.4.0",
|