@piagent/platform 1.18.0 → 1.20.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.
- package/CHANGELOG.md +37 -0
- package/README.md +1 -1
- package/README.vi.md +1 -1
- package/docs/command-reference-vietnamese.md +2 -2
- package/docs/distribution-standard.md +6 -6
- package/docs/languages.json +2 -2
- package/docs/operator-manual-vietnamese.md +7 -7
- package/docs/publishing-for-teams.md +2 -0
- package/docs/release-install-policy.md +2 -2
- package/docs/team-onboarding.md +2 -2
- package/docs-site/architecture.html +1 -1
- package/docs-site/benchmark.html +1 -1
- package/docs-site/commands.html +1 -1
- package/docs-site/content/en/index.html +4 -4
- package/docs-site/content/en/whats-new.html +15 -0
- package/docs-site/content/index.html +4 -4
- package/docs-site/content/whats-new.html +15 -0
- package/docs-site/context-engine.html +1 -1
- package/docs-site/ecosystem.html +1 -1
- package/docs-site/en/architecture.html +1 -1
- package/docs-site/en/benchmark.html +1 -1
- package/docs-site/en/commands.html +1 -1
- package/docs-site/en/context-engine.html +1 -1
- package/docs-site/en/ecosystem.html +1 -1
- package/docs-site/en/index.html +5 -5
- package/docs-site/en/mcp-approval.html +1 -1
- package/docs-site/en/mcp-auth.html +1 -1
- package/docs-site/en/mcp-servers.html +1 -1
- package/docs-site/en/mcp.html +1 -1
- package/docs-site/en/permissions.html +1 -1
- package/docs-site/en/profiles.html +1 -1
- package/docs-site/en/quickstart.html +1 -1
- package/docs-site/en/runtime.html +1 -1
- package/docs-site/en/scope.html +1 -1
- package/docs-site/en/security.html +1 -1
- package/docs-site/en/team.html +1 -1
- package/docs-site/en/whats-new.html +16 -1
- package/docs-site/en/windows.html +1 -1
- package/docs-site/en/workflows.html +1 -1
- package/docs-site/index.html +5 -5
- package/docs-site/mcp-approval.html +1 -1
- package/docs-site/mcp-auth.html +1 -1
- package/docs-site/mcp-servers.html +1 -1
- package/docs-site/mcp.html +1 -1
- package/docs-site/permissions.html +1 -1
- package/docs-site/profiles.html +1 -1
- package/docs-site/quickstart.html +1 -1
- package/docs-site/runtime.html +1 -1
- package/docs-site/scope.html +1 -1
- package/docs-site/security.html +1 -1
- package/docs-site/team.html +1 -1
- package/docs-site/whats-new.html +16 -1
- package/docs-site/windows.html +1 -1
- package/docs-site/workflows.html +1 -1
- package/evals/private-holdout-v1/public-exposure.v2.json +2 -2
- package/package.json +1 -1
- package/packages/piagent-core/managed/call-purpose.mjs +3 -2
- package/packages/piagent-core/managed/command-tools.mjs +56 -0
- package/packages/piagent-core/managed/container-engine.mjs +68 -0
- package/packages/piagent-core/managed/continuation.mjs +131 -0
- package/packages/piagent-core/managed/doctor.mjs +12 -0
- package/packages/piagent-core/managed/helper-roles.mjs +1 -1
- package/packages/piagent-core/managed/helper-run.mjs +24 -6
- package/packages/piagent-core/managed/language-environment.mjs +57 -0
- package/packages/piagent-core/managed/linux-sandbox.mjs +6 -1
- package/packages/piagent-core/managed/package-proxy.mjs +181 -0
- package/packages/piagent-core/managed/patch-snapshot.mjs +53 -9
- package/packages/piagent-core/managed/repository-operation.mjs +20 -0
- package/packages/piagent-core/managed/review-snapshot-worker.mjs +29 -4
- package/packages/piagent-core/managed/sandbox-diagnostic.mjs +7 -2
- package/packages/piagent-core/managed/session.mjs +60 -67
- package/packages/piagent-core/managed/tool-boundary.mjs +70 -11
- package/packages/piagent-core/managed/tool-worker.mjs +18 -3
- package/packages/piagent-core/managed/workflow.mjs +20 -20
- package/packages/piagent-core/package.json +1 -1
- package/packages/piagent-webui/dist/client/assets/{MarkdownMessage-DlbuyiQ3.js → MarkdownMessage-nggiOt0N.js} +1 -1
- package/packages/piagent-webui/dist/client/assets/{index-BGxsZHB5.js → index-CM9cs-gP.js} +16 -14
- package/packages/piagent-webui/dist/client/index.html +1 -1
- package/packages/piagent-webui/gateway/company-relay.ts +14 -2
- package/packages/piagent-webui/gateway/gateway-service.ts +20 -8
- package/packages/piagent-webui/gateway/git-repositories.ts +46 -0
- package/packages/piagent-webui/gateway/managed-projection.ts +9 -2
- package/packages/piagent-webui/gateway/project-registry.ts +10 -6
- package/packages/piagent-webui/gateway/session-catalog.ts +13 -6
- package/packages/piagent-webui/server/loopback-server.ts +1 -1
- package/packages/piagent-webui/server/member-routes.ts +6 -3
- package/packages/piagent-webui/server/tool-call-summary.ts +3 -1
- package/packages/piagent-webui/server/transcript-projection.ts +20 -4
- package/packages/piagent-webui/shared/process-copy.ts +3 -1
- package/packages/piagent-webui/shared/turn-end.ts +68 -0
- package/schemas/piagent-webui/session-catalog-v1.schema.json +11 -1
- package/schemas/piagent-webui/transcript-v1.schema.json +23 -2
- package/scripts/company-terminal.mjs +15 -0
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,43 @@
|
|
|
2
2
|
|
|
3
3
|
This file records release-facing changes for Pi Agent Platform. Copy the relevant version block into GitHub Releases when publishing a tag.
|
|
4
4
|
|
|
5
|
+
## v1.20.0 - 2026-10-09
|
|
6
|
+
|
|
7
|
+
Package installs in the company sandbox no longer ask; a long subagent no longer gets its turn stopped; the review subagent reads work committed in earlier turns.
|
|
8
|
+
|
|
9
|
+
### Changes
|
|
10
|
+
|
|
11
|
+
- Company sandbox: package installs from the usual registries no longer ask. A plain command reaches npm, PyPI, the Go proxy, crates.io, Maven Central, Gradle, Google's Maven, NuGet, RubyGems, Packagist, pub.dev, CocoaPods, Hex and public GitHub downloads (release assets, such as the Gradle Wrapper's distributions, and git dependencies) through a proxy that Piagent runs outside the sandbox. The proxy allows only those hosts (and the member's additions in `~/.piagent/sandbox-domains`, one host or `*.domain` per line), on ports 443 and 80, and never an IP address or a name that resolves to this machine or a private network. Any other host is refused, and the command's failure names it and points to `run_with_network`, which still asks. Registry credentials stay out of the sandbox. Subagents that only read keep no network. `piagent studio --doctor` checks npm through the proxy.
|
|
12
|
+
- Bypass runs `run_with_docker` without asking, like `run_with_network`. It no longer asks about containers that mount folders outside the project or run privileged. Only what Bypass asks for any command still asks: pushes, deploys, registry logins, and deletes whose target is known only at run time.
|
|
13
|
+
- Maven and Gradle use the proxy too: the JVM gets the proxy settings, and Maven, which reads its proxy only from `settings.xml`, gets a settings file in the sandbox's own home. A live check ran `./mvnw test` and `./gradlew test`, each downloading its distribution, plugins and JUnit through the proxy, and the next conversation ran `./mvnw -o test` offline from the project's cache.
|
|
14
|
+
|
|
15
|
+
### Fixes
|
|
16
|
+
|
|
17
|
+
- A subagent that worked longer than 15 minutes (a verify running a long test suite while the main agent waited) was stopped with `managed-helper-cancelled`, and the turn ended with "Request was aborted". The dashboard stops a turn after 15 minutes without an event, and a working subagent sent none. While a subagent runs, the turn now sends a beat every minute. A turn is still limited to 6 hours, and each of the subagent's commands has its own time limit.
|
|
18
|
+
- The review subagent said "no patch" when asked to review work committed in earlier turns: it read only the change since the turn began, which was nothing. It now takes `since` (a commit, a branch or `HEAD~N`) and reads the commits after it plus anything not committed yet. When the turn has changed nothing, it reads the branch's commits since it left the default branch (or, on the default branch, its unpushed commits). A `since` that HEAD does not descend from is refused with the reason. The review the harness requires still reads the turn's own change.
|
|
19
|
+
|
|
20
|
+
## v1.19.0 - 2026-10-08
|
|
21
|
+
|
|
22
|
+
A company task with a checklist is carried to its end, every turn says how it ended, Docker in the company sandbox, and folders that hold several repositories.
|
|
23
|
+
|
|
24
|
+
### Changes
|
|
25
|
+
|
|
26
|
+
- When the main agent ends its turn while its checklist still has open steps (it often stops between the items it was asked for: "STEP06 done, STEP07 next") and the team's Harness requires a plan, the harness sends it on to the next open step as a new run, as if the member had sent "continue": each round gets its own subagents, checks and review. It stops when every step is completed, when the member stops it or writes, when a round fails, after 2 rounds in a row that finish no step and change no code, or after 30 rounds. The model is told to ask with `ask_user` when it cannot go on without the member, and to put every item the member asked for in the checklist. Studio logs these rounds as "Harness cho làm tiếp" (`X-Agent-Purpose: continue`).
|
|
27
|
+
- A checklist step can be marked `deferred` (left for later at the member's word, or no longer needed). The agent is told never to mark completed a step it did not do: in a live run where the member said to stop after STEP02, the model had marked the other four completed to end its turn; it now defers them, and the turn says "Dừng theo yêu cầu · 2/6 bước xong, 4 bước để sau". Deferred steps are not sent on and are left out of the steps Studio counts.
|
|
28
|
+
- "tiếp tục" (or the Continue button) after a turn that stopped midway takes up the open checklist: the turn's end and the harness rounds follow it even when the agent does not update it again.
|
|
29
|
+
- Every company turn ends with a line under the last answer, in the dashboard and the company Terminal: "Hoàn thành · n/n bước", "Dừng giữa chừng · còn x/y bước" (and why: two rounds without progress, the round limit, or a Harness that does not require a plan), "Lượt dừng vì lỗi" (which role) or "Bạn đã dừng lượt này", with Continue when the task is not finished. The sidebar shows the same for each conversation. The line never reaches the model.
|
|
30
|
+
- A folder that holds several repositories (a workspace with the front end, the back end and other projects side by side) shows "N repo" where a repository shows its branch: in the chat header, the status bar and the sidebar. Its menu lists the repositories found one level down with their branches and changed files, as an editor's source control view does; picking one opens its branches to switch or create one there.
|
|
31
|
+
|
|
32
|
+
- Company sandbox: Docker for approved commands. When Docker runs on the machine (Docker Desktop, Colima, OrbStack, Podman or the Linux daemon), the agent gets `run_with_docker`: one command the member approves runs with internet and the Docker engine, and nothing else is opened (`docker compose up -d` for a test database, `docker build`, Testcontainers tests). The Docker CLI gets its own settings without registry credentials: public images pull, private registries and `docker push` do not. Bypass still asks when a command or the project's compose file mounts a folder outside the project, mounts the Docker socket, or gives a container the host's processes, network or privileges. A plain command that tries Docker is pointed at `run_with_docker`; `piagent studio --doctor` checks Docker. The dashboard shows these commands as "Chạy với Docker".
|
|
33
|
+
- Company sandbox: `./gradlew` reuses the Gradle distributions already unpacked in `~/.gradle/wrapper/dists`, as `./mvnw` does with Maven, so it runs without asking for network.
|
|
34
|
+
|
|
35
|
+
### Fixes
|
|
36
|
+
|
|
37
|
+
- A company run that could not be closed (the Mac went to sleep, the network or Agent Watch went away while it ended) threw out of the turn: no answer settled and nothing said what happened. The turn now ends as failed with the reason, the conversation takes the next message, and the run is recovered or abandoned when the conversation opens again.
|
|
38
|
+
- A turn that committed its change (`git commit`) counted as "no code changed": the code was compared with HEAD, which the commit had moved. The code is now compared with the commit the turn started from, so required checks, the review (which reads the committed change) and the process report still apply.
|
|
39
|
+
- Adding a folder failed with "Không thể thêm thư mục" once 200 folders had been added: the list only grew. A full list now forgets folders gone from the disk, then the ones added longest ago, and a folder added again moves to the newest place. The add dialog also says why a folder could not be added (the folder picker did not open, a drive root or a link, too many attempts).
|
|
40
|
+
- Company sandbox: `./mvnw` failed without network ("curl: Failed to fetch apache-maven-…-bin.zip") even when the Maven it wants was already unpacked on the Mac, and a Maven downloaded through an approved command was gone in the next conversation. The Maven Wrapper now reuses the distributions in `~/.m2/wrapper/dists` (read-only) and keeps one it downloads in the project's cache, so `./mvnw -o` runs at once.
|
|
41
|
+
|
|
5
42
|
## v1.18.0 - 2026-10-08
|
|
6
43
|
|
|
7
44
|
Switch the Git branch from the dashboard, retries for passing failures, and Claude Haiku 5.5.
|
package/README.md
CHANGED
|
@@ -346,7 +346,7 @@ This repository intentionally excludes:
|
|
|
346
346
|
|
|
347
347
|
## Maturity
|
|
348
348
|
|
|
349
|
-
The current package version is read from package metadata and release tags. Personal machines may follow the unpinned package source when accepting ongoing updates; production/team quickstarts and committed project settings should pin an explicit tag such as `v1.
|
|
349
|
+
The current package version is read from package metadata and release tags. Personal machines may follow the unpinned package source when accepting ongoing updates; production/team quickstarts and committed project settings should pin an explicit tag such as `v1.20.0` or a reviewed commit.
|
|
350
350
|
|
|
351
351
|
Ready for:
|
|
352
352
|
|
package/README.vi.md
CHANGED
|
@@ -179,7 +179,7 @@ Xem [bằng chứng benchmark](https://piagent.io.vn/benchmark) và
|
|
|
179
179
|
|
|
180
180
|
Gate này chạy architecture check, test, typecheck, capability validation, runtime smoke và docs consistency trước khi release.
|
|
181
181
|
|
|
182
|
-
Bản phát hành hiện tại là `v1.
|
|
182
|
+
Bản phát hành hiện tại là `v1.20.0`. Với team hoặc production, hãy pin tag này
|
|
183
183
|
hoặc một commit đã review thay vì dựa vào nguồn package không cố định.
|
|
184
184
|
|
|
185
185
|
## Security
|
|
@@ -475,8 +475,8 @@ Các lệnh này chạy ngoài Pi.
|
|
|
475
475
|
| Command | Dùng khi nào |
|
|
476
476
|
|---|---|
|
|
477
477
|
| `npm install -g --ignore-scripts @earendil-works/pi-coding-agent@0.87.1` | Cài Pi CLI tương thích với release hiện tại. |
|
|
478
|
-
| `npm install -g --ignore-scripts @piagent/platform@1.
|
|
479
|
-
| `pi install git:github.com/Vt-mmm/piagent@v1.
|
|
478
|
+
| `npm install -g --ignore-scripts @piagent/platform@1.20.0` | Cài terminal helper `piagent-*` từ release tag hiện tại. |
|
|
479
|
+
| `pi install git:github.com/Vt-mmm/piagent@v1.20.0` | Cài pinned release khi cần reproducible team setup. |
|
|
480
480
|
| `pi install git:github.com/Vt-mmm/piagent` | Cài latest package platform cho máy cá nhân/sandbox. |
|
|
481
481
|
| `piagent-update --check` | Báo version hiện tại vs version sẽ lên cho cả ba thành phần; không cài gì. |
|
|
482
482
|
| `piagent-update` | Full update global một lệnh cho cả máy: Pi host → npm-global helper → Pi package, đúng thứ tự release yêu cầu. |
|
|
@@ -15,9 +15,9 @@ Repo này phải chạy được cho nhiều project/domain khác nhau. Vì vậ
|
|
|
15
15
|
|
|
16
16
|
| Use case | Package source |
|
|
17
17
|
|---|---|
|
|
18
|
-
| Team pinned release | `git:github.com/Vt-mmm/piagent@v1.
|
|
18
|
+
| Team pinned release | `git:github.com/Vt-mmm/piagent@v1.20.0` |
|
|
19
19
|
| Personal/sandbox dev | `git:github.com/Vt-mmm/piagent` |
|
|
20
|
-
| Registry distribution | `npm:@piagent/platform@1.
|
|
20
|
+
| Registry distribution | `npm:@piagent/platform@1.20.0` |
|
|
21
21
|
| Enterprise npm (fork under another scope) | `npm:@your-scope/platform@x.y.z` |
|
|
22
22
|
| Local platform dev | `/path/to/piagent` |
|
|
23
23
|
|
|
@@ -54,7 +54,7 @@ Root `package.json` có `pi` manifest trỏ tới:
|
|
|
54
54
|
Do đó team có thể:
|
|
55
55
|
|
|
56
56
|
```bash
|
|
57
|
-
pi install git:github.com/Vt-mmm/piagent@v1.
|
|
57
|
+
pi install git:github.com/Vt-mmm/piagent@v1.20.0
|
|
58
58
|
```
|
|
59
59
|
|
|
60
60
|
Không cần biết internal folder `packages/piagent-core`. Source không pin chỉ dành cho personal/sandbox như bảng channel ở trên.
|
|
@@ -66,12 +66,12 @@ Team nên install global package một lần:
|
|
|
66
66
|
```bash
|
|
67
67
|
node --version # >= 22.19.0
|
|
68
68
|
npm install -g --ignore-scripts @earendil-works/pi-coding-agent@0.87.1
|
|
69
|
-
npm install -g --ignore-scripts @piagent/platform@1.
|
|
69
|
+
npm install -g --ignore-scripts @piagent/platform@1.20.0
|
|
70
70
|
piagent-install --stable --dry-run
|
|
71
71
|
piagent-install --stable
|
|
72
72
|
```
|
|
73
73
|
|
|
74
|
-
`pi install git:github.com/Vt-mmm/piagent@v1.
|
|
74
|
+
`pi install git:github.com/Vt-mmm/piagent@v1.20.0` vẫn hợp lệ nếu chỉ cần cài Pi package. Lệnh đó không tự tạo các binary terminal `piagent-*`; muốn có helper global thì dùng `npm install -g --ignore-scripts @piagent/platform@1.20.0`.
|
|
75
75
|
|
|
76
76
|
Support matrix hiện tại: macOS Apple Silicon + Bash và Linux x64 + Bash đã được verify; macOS Intel + Bash và Linux ARM64 + Bash là supported target cần chạy smoke trước rollout; native Windows chưa phải target rollout team; WSL2 experimental. Chi tiết và version runtime nằm trong [release/install policy](release-install-policy.md).
|
|
77
77
|
|
|
@@ -118,7 +118,7 @@ Nếu muốn commit sẵn `.pi/piagent-profile.json` vào repo hoặc bootstrap
|
|
|
118
118
|
```bash
|
|
119
119
|
bash scripts/setup.sh /path/to/project \
|
|
120
120
|
--profile be-readonly-fe \
|
|
121
|
-
--package-source git:github.com/Vt-mmm/piagent@v1.
|
|
121
|
+
--package-source git:github.com/Vt-mmm/piagent@v1.20.0 \
|
|
122
122
|
--mcp-preset core \
|
|
123
123
|
--subagents-preset safe
|
|
124
124
|
```
|
package/docs/languages.json
CHANGED
|
@@ -21,8 +21,8 @@
|
|
|
21
21
|
"en": "README.md",
|
|
22
22
|
"vi": "README.vi.md",
|
|
23
23
|
"consistentAt": {
|
|
24
|
-
"en": "
|
|
25
|
-
"vi": "
|
|
24
|
+
"en": "fc9b775a03b4701ca9703bee7178926e4d6f6283",
|
|
25
|
+
"vi": "758090edabbc1cbbbfbc307793b96a4cbb4da398"
|
|
26
26
|
}
|
|
27
27
|
},
|
|
28
28
|
{
|
|
@@ -19,12 +19,12 @@ Support matrix release hiện tại: macOS Apple Silicon + Bash và Linux x64 +
|
|
|
19
19
|
```bash
|
|
20
20
|
node --version # >= 22.19.0
|
|
21
21
|
npm install -g --ignore-scripts @earendil-works/pi-coding-agent@0.87.1
|
|
22
|
-
npm install -g --ignore-scripts @piagent/platform@1.
|
|
22
|
+
npm install -g --ignore-scripts @piagent/platform@1.20.0
|
|
23
23
|
piagent-install --stable --dry-run
|
|
24
24
|
piagent-install --stable
|
|
25
25
|
```
|
|
26
26
|
|
|
27
|
-
Khi seed `.pi/settings.json` cho team/repo cần audit lặp lại, giữ package source dạng pinned tag như `git:github.com/Vt-mmm/piagent@v1.
|
|
27
|
+
Khi seed `.pi/settings.json` cho team/repo cần audit lặp lại, giữ package source dạng pinned tag như `git:github.com/Vt-mmm/piagent@v1.20.0`. Máy cá nhân có thể dùng `git:github.com/Vt-mmm/piagent` để theo latest.
|
|
28
28
|
|
|
29
29
|
Nếu đang ở source checkout của platform, dùng helper theo channel để preview trước khi đổi:
|
|
30
30
|
|
|
@@ -100,7 +100,7 @@ install package once
|
|
|
100
100
|
|
|
101
101
|
```bash
|
|
102
102
|
npm install -g --ignore-scripts @earendil-works/pi-coding-agent@0.87.1
|
|
103
|
-
npm install -g --ignore-scripts @piagent/platform@1.
|
|
103
|
+
npm install -g --ignore-scripts @piagent/platform@1.20.0
|
|
104
104
|
piagent-install --stable --dry-run
|
|
105
105
|
piagent-install --stable
|
|
106
106
|
```
|
|
@@ -285,7 +285,7 @@ Không phải daily default. Dùng khi muốn tạo sẵn `.pi` files cho projec
|
|
|
285
285
|
bash /path/to/piagent/scripts/setup.sh /path/to/project \
|
|
286
286
|
--project-only \
|
|
287
287
|
--profile auto \
|
|
288
|
-
--package-source git:github.com/Vt-mmm/piagent@v1.
|
|
288
|
+
--package-source git:github.com/Vt-mmm/piagent@v1.20.0 \
|
|
289
289
|
--mcp-preset core \
|
|
290
290
|
--subagents-preset safe
|
|
291
291
|
```
|
|
@@ -999,8 +999,8 @@ Watchdog là optional adversarial reviewer ở cuối turn, không bật mặc
|
|
|
999
999
|
|
|
1000
1000
|
| Command | Dùng để |
|
|
1001
1001
|
|---|---|
|
|
1002
|
-
| `npm install -g --ignore-scripts @piagent/platform@1.
|
|
1003
|
-
| `pi install git:github.com/Vt-mmm/piagent@v1.
|
|
1002
|
+
| `npm install -g --ignore-scripts @piagent/platform@1.20.0` | Cài terminal helper `piagent-*` từ release tag hiện tại. |
|
|
1003
|
+
| `pi install git:github.com/Vt-mmm/piagent@v1.20.0` | Install pinned release cho reproducible team setup. |
|
|
1004
1004
|
| `pi install git:github.com/Vt-mmm/piagent` | Install latest platform package cho máy cá nhân/sandbox. |
|
|
1005
1005
|
| Cài exact Pi host của release, rồi `npm install -g --ignore-scripts @piagent/platform@X.Y.Z` và `piagent-install --stable` | Full update: đồng bộ host, terminal helper và Pi package. Mỗi release pin một Pi host chính xác; lấy đúng version của release đang cài trong [release/install policy](release-install-policy.md). |
|
|
1006
1006
|
| Cài exact Pi host ghi trong release cũ, rồi helper `vPREVIOUS` và `piagent-install --stable` | Full rollback; đánh giá lại dependency findings của host cũ trước khi hạ version. |
|
|
@@ -1096,7 +1096,7 @@ Mở lại Pi session sau khi install.
|
|
|
1096
1096
|
Cài lại terminal helper đúng release rồi kiểm tra `PATH`:
|
|
1097
1097
|
|
|
1098
1098
|
```bash
|
|
1099
|
-
npm install -g --ignore-scripts @piagent/platform@1.
|
|
1099
|
+
npm install -g --ignore-scripts @piagent/platform@1.20.0
|
|
1100
1100
|
command -v piagent-install
|
|
1101
1101
|
```
|
|
1102
1102
|
|
|
@@ -41,6 +41,8 @@ pi install /path/to/piagent
|
|
|
41
41
|
|
|
42
42
|
## Versioning
|
|
43
43
|
|
|
44
|
+
- `1.20.0`: sandbox công ty cài package không cần duyệt: lệnh bash thường đi qua proxy của Piagent (chạy ngoài sandbox) tới npm, PyPI, Go proxy, crates.io, Maven Central, Gradle, NuGet, RubyGems, Packagist, pub.dev, CocoaPods, Hex và tải về public từ GitHub; chỉ cổng 443/80, không IP trực tiếp hay mạng nội bộ; host khác bị chặn và lỗi ghi rõ host, vẫn phải dùng `run_with_network`; registry riêng thêm vào `~/.piagent/sandbox-domains`; Maven/Gradle (`./mvnw`, `./gradlew`) dùng được proxy; Bypass chạy `run_with_docker` không hỏi (trừ push/deploy/login/xoá không rõ đích); subagent chạy quá 15 phút (verify chạy cả bộ test) không còn bị dừng với `managed-helper-cancelled`; subagent review đọc được code đã commit ở các lượt trước (`since`, hoặc các commit của nhánh khi lượt chưa sửa gì) thay vì báo “không có patch”.
|
|
45
|
+
- `1.19.0`: task công ty có checklist được làm đến hết: khi main agent tự dừng giữa chừng lúc checklist còn bước (Harness bắt buộc plan), Harness tự cho làm tiếp bước kế tiếp (mỗi vòng là một run mới, dừng sau 2 vòng liên tiếp không tiến triển, tối đa 30 vòng); cuối mỗi lượt có dòng báo Hoàn thành / Dừng giữa chừng còn x/y bước / Lỗi / Bạn đã dừng, kèm nút Tiếp tục; bước member bảo để sau được ghi “để sau” chứ không ghi là xong; lượt có commit vẫn được check và review; run không đóng được (mất mạng, máy ngủ) kết thúc lượt là lỗi; sandbox công ty có `run_with_docker` (một lệnh được duyệt dùng internet và Docker engine, không có credential registry, Bypass vẫn hỏi khi mount ngoài project); `./gradlew` và `./mvnw` dùng lại distribution đã có trên máy; folder chứa nhiều repo hiện “N repo” và đổi nhánh từng repo; danh sách folder đầy tự nhường chỗ.
|
|
44
46
|
- `1.18.0`: đổi nhánh Git ngay trên dashboard (bấm vào tên nhánh: chọn nhánh có sẵn hoặc tạo nhánh mới; không đổi khi có cuộc trò chuyện đang chạy trong folder); lỗi tạm thời của model sau khi Studio đã nhận (stream bị cắt, model hoặc gateway không trả lời) tự thử lại tối đa 2 lần; Claude Haiku 5.5.
|
|
45
47
|
- `1.17.0`: dashboard hiện nhánh Git của project (dưới tên cuộc trò chuyện, ở thanh trạng thái và cạnh từng nhóm project); detached HEAD hiện mã commit màu cảnh báo.
|
|
46
48
|
- `1.16.3`: dashboard cập nhật bằng nút xong vẫn tự kiểm tra bản mới (trước đó bị tắt tới khi khởi động lại máy).
|
|
@@ -153,7 +153,7 @@ Use this flow when the team needs both terminal commands and the Pi package:
|
|
|
153
153
|
```bash
|
|
154
154
|
node --version # >= 22.19.0
|
|
155
155
|
npm install -g --ignore-scripts @earendil-works/pi-coding-agent@0.87.1
|
|
156
|
-
npm install -g --ignore-scripts @piagent/platform@1.
|
|
156
|
+
npm install -g --ignore-scripts @piagent/platform@1.20.0
|
|
157
157
|
piagent-install --stable --dry-run
|
|
158
158
|
piagent-install --stable
|
|
159
159
|
```
|
|
@@ -179,7 +179,7 @@ bash scripts/install-global.sh --stable
|
|
|
179
179
|
Use this only when terminal commands are not needed:
|
|
180
180
|
|
|
181
181
|
```bash
|
|
182
|
-
pi install git:github.com/Vt-mmm/piagent@v1.
|
|
182
|
+
pi install git:github.com/Vt-mmm/piagent@v1.20.0
|
|
183
183
|
```
|
|
184
184
|
|
|
185
185
|
Direct `pi install` does not create `piagent-*` commands on `PATH`.
|
package/docs/team-onboarding.md
CHANGED
|
@@ -10,7 +10,7 @@ Một thành viên mới không cần biết local path của maintainer. Luồn
|
|
|
10
10
|
```bash
|
|
11
11
|
node --version # >= 22.19.0
|
|
12
12
|
npm install -g --ignore-scripts @earendil-works/pi-coding-agent@0.87.1
|
|
13
|
-
npm install -g --ignore-scripts @piagent/platform@1.
|
|
13
|
+
npm install -g --ignore-scripts @piagent/platform@1.20.0
|
|
14
14
|
piagent-install --stable
|
|
15
15
|
cd /path/to/project
|
|
16
16
|
pi
|
|
@@ -45,7 +45,7 @@ Mặc định team dùng stable helper:
|
|
|
45
45
|
```bash
|
|
46
46
|
node --version # >= 22.19.0
|
|
47
47
|
npm install -g --ignore-scripts @earendil-works/pi-coding-agent@0.87.1
|
|
48
|
-
npm install -g --ignore-scripts @piagent/platform@1.
|
|
48
|
+
npm install -g --ignore-scripts @piagent/platform@1.20.0
|
|
49
49
|
piagent-install --stable --dry-run
|
|
50
50
|
piagent-install --stable
|
|
51
51
|
```
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
<span>Pi Agent Platform</span>
|
|
31
31
|
</a>
|
|
32
32
|
<div class="top-actions">
|
|
33
|
-
<span class="pill"><span class="pill-dot"></span>v1.
|
|
33
|
+
<span class="pill"><span class="pill-dot"></span>v1.20.0 docs · VI</span>
|
|
34
34
|
<nav class="language-switch" aria-label="Ngôn ngữ">
|
|
35
35
|
<a class="language-option current" href="/architecture" hreflang="vi" lang="vi" aria-current="true">VI</a>
|
|
36
36
|
<a class="language-option" href="/en/architecture" hreflang="en" lang="en">EN</a>
|
package/docs-site/benchmark.html
CHANGED
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
<span>Pi Agent Platform</span>
|
|
31
31
|
</a>
|
|
32
32
|
<div class="top-actions">
|
|
33
|
-
<span class="pill"><span class="pill-dot"></span>v1.
|
|
33
|
+
<span class="pill"><span class="pill-dot"></span>v1.20.0 docs · VI</span>
|
|
34
34
|
<nav class="language-switch" aria-label="Ngôn ngữ">
|
|
35
35
|
<a class="language-option current" href="/benchmark" hreflang="vi" lang="vi" aria-current="true">VI</a>
|
|
36
36
|
<a class="language-option" href="/en/benchmark" hreflang="en" lang="en">EN</a>
|
package/docs-site/commands.html
CHANGED
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
<span>Pi Agent Platform</span>
|
|
31
31
|
</a>
|
|
32
32
|
<div class="top-actions">
|
|
33
|
-
<span class="pill"><span class="pill-dot"></span>v1.
|
|
33
|
+
<span class="pill"><span class="pill-dot"></span>v1.20.0 docs · VI</span>
|
|
34
34
|
<nav class="language-switch" aria-label="Ngôn ngữ">
|
|
35
35
|
<a class="language-option current" href="/commands" hreflang="vi" lang="vi" aria-current="true">VI</a>
|
|
36
36
|
<a class="language-option" href="/en/commands" hreflang="en" lang="en">EN</a>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<section class="hero">
|
|
2
|
-
<p class="eyebrow">Piagent 1.
|
|
2
|
+
<p class="eyebrow">Piagent 1.20.0</p>
|
|
3
3
|
<h1>A coding agent for the whole team, checked at every step.</h1>
|
|
4
4
|
<p>
|
|
5
5
|
One dashboard for Terminal and the browser. Use models with your own account, or the company's models through Agent Watch and Agent Studio. The guard checks every tool call; in company mode the team's Harness asks for checks, has a subagent review the change and reports the outcome right under the answer.
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
<div class="hero-actions">
|
|
14
14
|
<a class="button primary" href="/en/quickstart">Get started</a>
|
|
15
15
|
<a class="button" href="/en/ecosystem">Ecosystem</a>
|
|
16
|
-
<a class="button" href="/en/whats-new">What’s new in 1.
|
|
16
|
+
<a class="button" href="/en/whats-new">What’s new in 1.20.0</a>
|
|
17
17
|
<a class="button" href="/en/commands">View commands</a>
|
|
18
18
|
</div>
|
|
19
19
|
</section>
|
|
@@ -89,9 +89,9 @@ piagent-setup</code></pre>
|
|
|
89
89
|
<h2 id="where-to-start">Where to start</h2>
|
|
90
90
|
<div class="card-grid">
|
|
91
91
|
<a class="doc-card" href="/en/whats-new">
|
|
92
|
-
<span class="card-kicker">Release 1.
|
|
92
|
+
<span class="card-kicker">Release 1.20.0</span>
|
|
93
93
|
<h3>What’s new</h3>
|
|
94
|
-
<p>
|
|
94
|
+
<p>Package installs in the company sandbox no longer ask (npm, PyPI, Go, Maven, Gradle… through a registry-only proxy); in 1.19.0: company tasks with a checklist are carried to the end, every turn says whether it finished, stopped midway or failed, Docker in the company sandbox, folders with several repositories; in 1.18.0: switch the Git branch from the dashboard, retries for passing failures, Claude Haiku 5.5; in 1.17.0: the dashboard shows each project's Git branch; in 1.16.3: an updated dashboard keeps checking for releases; in 1.16.2: the Terminal says what the dashboard says: update question, /bypass, failures and Harness notes in Vietnamese; in 1.16.1: new releases are announced in a dialog and checked every hour, dashboard tabs stay signed in; in 1.16.0: Bypass for company conversations, Harness changes never interrupt you; in 1.15.2: long conversations shrink again; in 1.15.1: Studio sees what each model call is for, conversations in one folder keep their changes apart; in 1.15.0: a refused subagent says why; in 1.14: updates keep the models you chose; in 1.13: conversations keep their place, the agent's notes are formatted, Piagent on Windows through WSL2: a bubblewrap sandbox for company conversations and Agent Watch for Windows; in 1.12: @ picks files and folders on the Mac, skills and commands run from /, and forked company conversations take messages.</p>
|
|
95
95
|
</a>
|
|
96
96
|
<a class="doc-card" href="/en/ecosystem">
|
|
97
97
|
<span class="card-kicker">Get started</span>
|
|
@@ -1,3 +1,18 @@
|
|
|
1
|
+
<section class="section">
|
|
2
|
+
<p class="section-kicker">v1.20.0 · 2026-10-09</p>
|
|
3
|
+
<h2 id="v1-20-0">Package installs in the company sandbox no longer ask</h2>
|
|
4
|
+
<p class="section-lead">Plain bash commands reach the usual registries: npm, PyPI, the Go proxy, crates.io, Maven Central, Gradle, NuGet, RubyGems, Packagist, pub.dev, CocoaPods and Hex, plus public GitHub downloads (such as the Gradle distribution <span class="inline-code">./gradlew</span> needs). So <span class="inline-code">npm install</span>, <span class="inline-code">pip install</span>, <span class="inline-code">go mod download</span>, <span class="inline-code">./mvnw test</span> and <span class="inline-code">./gradlew test</span> run without waiting for your approval. Piagent goes through a proxy that runs outside the sandbox: only those hosts, on ports 443 and 80, never an IP address, your machine or a private network. Any other host is refused, the error names it, and a command that needs it still goes through <span class="inline-code">run_with_network</span> for your approval. To add your company's registry, write its host name (or <span class="inline-code">*.domain</span>) in <span class="inline-code">~/.piagent/sandbox-domains</span>, one per line. Registry and git credentials still stay out of the sandbox, so nothing is pushed or published.</p>
|
|
5
|
+
<p class="section-lead">In Bypass, <span class="inline-code">run_with_docker</span> runs without asking, like <span class="inline-code">run_with_network</span>; only pushes, deploys, registry logins and deletes with an unknown target still ask.</p>
|
|
6
|
+
<p class="section-lead">Fixed: a subagent that works longer than 15 minutes (such as a verify running the whole test suite while the main agent waits) is no longer stopped with <span class="inline-code">managed-helper-cancelled</span>. Asked to review work committed in earlier turns, the review subagent no longer says “no patch”. It reads the commits since the commit, branch or <span class="inline-code">HEAD~N</span> the agent names; when the current turn changed nothing, it reads the branch’s commits since it left the main branch.</p>
|
|
7
|
+
</section>
|
|
8
|
+
|
|
9
|
+
<section class="section">
|
|
10
|
+
<p class="section-kicker">v1.19.0 · 2026-10-08</p>
|
|
11
|
+
<h2 id="v1-19-0">Tasks with a checklist are carried to the end, and each turn says whether it finished</h2>
|
|
12
|
+
<p class="section-lead">In a company conversation, when the main agent stops while its checklist still has open steps (say, after STEP06 of the STEP22 you asked for) and the team's Harness requires a plan, the harness sends it on to the next open step, as if you had sent “continue”. It stops when the checklist is done, when you press Stop or write, when a round fails, or after 2 rounds in a row that finish no step. Every turn ends with one line: Done, Stopped midway with x of y steps open (and why), Turn stopped by a failure, or You stopped this turn, with Continue when the task is not finished; the conversation list shows it too. Steps you leave for later are marked deferred, never completed; “continue” takes up the open checklist. A turn whose change the agent committed is still checked and reviewed.</p>
|
|
13
|
+
<p class="section-lead">Docker in the company sandbox: when Docker runs on the machine (Docker Desktop, Colima, OrbStack…), the agent has <span class="inline-code">run_with_docker</span> to run one command you approve with internet and Docker, such as a test database with <span class="inline-code">docker compose up -d</span>, <span class="inline-code">docker build</span> or Testcontainers tests. Docker gets no registry credentials; Bypass still asks when a command or compose file mounts a folder outside the project. <span class="inline-code">./gradlew</span> and <span class="inline-code">./mvnw</span> reuse the Gradle and Maven already on the machine, without asking for network. A folder that holds several repositories (front end, back end…, each its own Git) shows “N repo”: click it to see each repository, its branch and changed files, and switch branches there; a full folder list makes room instead of failing to add a folder.</p>
|
|
14
|
+
</section>
|
|
15
|
+
|
|
1
16
|
<section class="section">
|
|
2
17
|
<p class="section-kicker">v1.18.0 · 2026-10-08</p>
|
|
3
18
|
<h2 id="v1-18-0">Switch the Git branch from the dashboard, retries for passing failures, Claude Haiku 5.5</h2>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<section class="hero">
|
|
2
|
-
<p class="eyebrow">Piagent 1.
|
|
2
|
+
<p class="eyebrow">Piagent 1.20.0</p>
|
|
3
3
|
<h1>Coding agent cho cả team, kiểm tra từng bước.</h1>
|
|
4
4
|
<p>
|
|
5
5
|
Một dashboard cho Terminal và trình duyệt. Dùng model bằng tài khoản của bạn, hoặc model của công ty qua Agent Watch và Agent Studio. Guard kiểm tra từng tool call; ở chế độ công ty, Harness của team tự yêu cầu chạy check, cho subagent review và báo kết quả ngay dưới câu trả lời.
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
<div class="hero-actions">
|
|
14
14
|
<a class="button primary" href="/quickstart">Bắt đầu</a>
|
|
15
15
|
<a class="button" href="/ecosystem">Hệ sinh thái</a>
|
|
16
|
-
<a class="button" href="/whats-new">Có gì mới trong 1.
|
|
16
|
+
<a class="button" href="/whats-new">Có gì mới trong 1.20.0</a>
|
|
17
17
|
<a class="button" href="/commands">Xem command</a>
|
|
18
18
|
</div>
|
|
19
19
|
</section>
|
|
@@ -89,9 +89,9 @@ piagent-setup</code></pre>
|
|
|
89
89
|
<h2 id="bat-dau-tu-dau">Bắt đầu từ đâu</h2>
|
|
90
90
|
<div class="card-grid">
|
|
91
91
|
<a class="doc-card" href="/whats-new">
|
|
92
|
-
<span class="card-kicker">Bản 1.
|
|
92
|
+
<span class="card-kicker">Bản 1.20.0</span>
|
|
93
93
|
<h3>Có gì mới</h3>
|
|
94
|
-
<p
|
|
94
|
+
<p>Cài package trong sandbox công ty không phải duyệt (npm, PyPI, Go, Maven, Gradle… qua proxy chỉ cho registry); ở 1.19.0: task công ty có checklist được làm đến hết, cuối mỗi lượt báo rõ xong, dừng giữa chừng hay lỗi, Docker trong sandbox công ty, folder chứa nhiều repo; ở 1.18.0: đổi nhánh Git trên dashboard, tự thử lại khi lỗi tạm thời, Claude Haiku 5.5; ở 1.17.0: dashboard hiện nhánh Git của project; ở 1.16.3: dashboard cập nhật xong vẫn tự kiểm tra bản mới; ở 1.16.2: Terminal nói giống dashboard: hỏi cập nhật, /bypass, lỗi và ghi chú Harness bằng tiếng Việt; ở 1.16.1: bản mới được báo bằng dialog và kiểm tra mỗi giờ, tab dashboard không còn mất đăng nhập; ở 1.16.0: Bypass cho cuộc trò chuyện công ty, đổi Harness không làm gián đoạn; ở 1.15.2: cuộc trò chuyện dài tự thu gọn trở lại; ở 1.15.1: Studio thấy mỗi call của model dùng để làm gì, nhiều cuộc trò chuyện trong một folder không nhận nhầm thay đổi của nhau; ở 1.15.0: subagent bị từ chối nói đúng lý do; ở 1.14: cập nhật giữ model bạn đã chọn; ở 1.13: cuộc trò chuyện giữ chỗ đang đọc, chữ của agent có định dạng, Piagent trên Windows qua WSL2: sandbox công ty bằng bubblewrap và Agent Watch cho Windows; ở 1.12: @ chọn file và folder trên máy, skill và command dùng bằng /, nhánh cuộc trò chuyện công ty gửi được tin nhắn.</p>
|
|
95
95
|
</a>
|
|
96
96
|
<a class="doc-card" href="/ecosystem">
|
|
97
97
|
<span class="card-kicker">Get started</span>
|
|
@@ -1,3 +1,18 @@
|
|
|
1
|
+
<section class="section">
|
|
2
|
+
<p class="section-kicker">v1.20.0 · 2026-10-09</p>
|
|
3
|
+
<h2 id="v1-20-0">Cài package trong sandbox công ty không phải duyệt nữa</h2>
|
|
4
|
+
<p class="section-lead">Lệnh bash thường tải được từ các registry quen thuộc: npm, PyPI, Go proxy, crates.io, Maven Central, Gradle, NuGet, RubyGems, Packagist, pub.dev, CocoaPods, Hex, và tải về public từ GitHub (ví dụ bản Gradle mà <span class="inline-code">./gradlew</span> cần). Nhờ vậy <span class="inline-code">npm install</span>, <span class="inline-code">pip install</span>, <span class="inline-code">go mod download</span>, <span class="inline-code">./mvnw test</span> hay <span class="inline-code">./gradlew test</span> chạy ngay, không phải chờ bạn duyệt. Piagent đi qua một proxy chạy ngoài sandbox: chỉ các host đó, cổng 443 và 80, không bao giờ tới IP trực tiếp, máy của bạn hay mạng nội bộ. Host khác bị chặn, lỗi ghi rõ host nào, và lệnh cần host đó vẫn phải qua <span class="inline-code">run_with_network</span> để bạn duyệt. Muốn thêm registry riêng của công ty, ghi tên host (hoặc <span class="inline-code">*.domain</span>) vào <span class="inline-code">~/.piagent/sandbox-domains</span>, mỗi dòng một host. Thông tin đăng nhập registry và git vẫn không vào sandbox, nên không push hay publish được.</p>
|
|
5
|
+
<p class="section-lead">Ở chế độ Bypass, <span class="inline-code">run_with_docker</span> chạy luôn không cần duyệt, giống <span class="inline-code">run_with_network</span>; chỉ push, deploy, đăng nhập registry hay lệnh xoá không rõ đích là vẫn hỏi.</p>
|
|
6
|
+
<p class="section-lead">Sửa lỗi: subagent chạy lâu hơn 15 phút (ví dụ verify chạy cả bộ test trong lúc main agent chờ) không còn bị dừng với <span class="inline-code">managed-helper-cancelled</span> nữa. Nhờ subagent review xem lại code đã commit ở các lượt trước thì nó không còn báo “không có patch”. Review đọc các commit kể từ commit, nhánh hoặc <span class="inline-code">HEAD~N</span> mà agent chỉ ra; nếu lượt hiện tại chưa sửa gì, nó đọc các commit của nhánh kể từ lúc tách khỏi nhánh chính.</p>
|
|
7
|
+
</section>
|
|
8
|
+
|
|
9
|
+
<section class="section">
|
|
10
|
+
<p class="section-kicker">v1.19.0 · 2026-10-08</p>
|
|
11
|
+
<h2 id="v1-19-0">Task có checklist được làm đến hết, và mỗi lượt báo rõ đã xong hay chưa</h2>
|
|
12
|
+
<p class="section-lead">Trong cuộc trò chuyện công ty, khi main agent tự dừng lúc checklist còn bước (ví dụ làm xong STEP06 rồi dừng, dù bạn giao đến STEP22) và Harness của team bắt buộc plan, Harness tự cho agent làm tiếp bước kế tiếp, như bạn gửi “tiếp tục”. Nó dừng khi checklist xong, khi bạn bấm Stop hoặc nhắn tin, khi gặp lỗi, hoặc sau 2 vòng liên tiếp không xong thêm bước nào. Cuối mỗi lượt có một dòng: Hoàn thành, Dừng giữa chừng còn x/y bước (kèm lý do), Lượt dừng vì lỗi, hoặc Bạn đã dừng lượt này, với nút Tiếp tục khi task chưa xong; danh sách cuộc trò chuyện cũng hiện trạng thái này. Bước bạn bảo để sau được đánh dấu “để sau”, không bao giờ bị ghi là xong; gửi “tiếp tục” là agent nhận lại checklist đang dở. Lượt mà agent đã commit vẫn được chạy check và review.</p>
|
|
13
|
+
<p class="section-lead">Sandbox công ty dùng được Docker: khi máy đang chạy Docker (Docker Desktop, Colima, OrbStack…), agent có <span class="inline-code">run_with_docker</span> để chạy một lệnh bạn duyệt với internet và Docker, ví dụ bật database cho test bằng <span class="inline-code">docker compose up -d</span>, <span class="inline-code">docker build</span> hay test Testcontainers. Docker không mang theo thông tin đăng nhập registry; Bypass vẫn hỏi khi lệnh hoặc file compose mount thư mục ngoài project. <span class="inline-code">./gradlew</span> và <span class="inline-code">./mvnw</span> dùng lại bản Gradle/Maven đã có trên máy nên không phải xin mạng. Folder chứa nhiều repo (FE, BE… mỗi folder một git) hiện “N repo”: bấm vào để xem từng repo, nhánh và số file thay đổi, rồi đổi nhánh trong repo đó; danh sách folder đầy thì tự bỏ folder đã mất hoặc lâu nhất, không còn báo “Không thể thêm thư mục”.</p>
|
|
14
|
+
</section>
|
|
15
|
+
|
|
1
16
|
<section class="section">
|
|
2
17
|
<p class="section-kicker">v1.18.0 · 2026-10-08</p>
|
|
3
18
|
<h2 id="v1-18-0">Đổi nhánh Git trên dashboard, tự thử lại khi lỗi tạm thời, Claude Haiku 5.5</h2>
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
<span>Pi Agent Platform</span>
|
|
31
31
|
</a>
|
|
32
32
|
<div class="top-actions">
|
|
33
|
-
<span class="pill"><span class="pill-dot"></span>v1.
|
|
33
|
+
<span class="pill"><span class="pill-dot"></span>v1.20.0 docs · VI</span>
|
|
34
34
|
<nav class="language-switch" aria-label="Ngôn ngữ">
|
|
35
35
|
<a class="language-option current" href="/context-engine" hreflang="vi" lang="vi" aria-current="true">VI</a>
|
|
36
36
|
<a class="language-option" href="/en/context-engine" hreflang="en" lang="en">EN</a>
|
package/docs-site/ecosystem.html
CHANGED
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
<span>Pi Agent Platform</span>
|
|
31
31
|
</a>
|
|
32
32
|
<div class="top-actions">
|
|
33
|
-
<span class="pill"><span class="pill-dot"></span>v1.
|
|
33
|
+
<span class="pill"><span class="pill-dot"></span>v1.20.0 docs · VI</span>
|
|
34
34
|
<nav class="language-switch" aria-label="Ngôn ngữ">
|
|
35
35
|
<a class="language-option current" href="/ecosystem" hreflang="vi" lang="vi" aria-current="true">VI</a>
|
|
36
36
|
<a class="language-option" href="/en/ecosystem" hreflang="en" lang="en">EN</a>
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
<span>Pi Agent Platform</span>
|
|
31
31
|
</a>
|
|
32
32
|
<div class="top-actions">
|
|
33
|
-
<span class="pill"><span class="pill-dot"></span>v1.
|
|
33
|
+
<span class="pill"><span class="pill-dot"></span>v1.20.0 docs · EN</span>
|
|
34
34
|
<nav class="language-switch" aria-label="Language">
|
|
35
35
|
<a class="language-option" href="/architecture" hreflang="vi" lang="vi">VI</a>
|
|
36
36
|
<a class="language-option current" href="/en/architecture" hreflang="en" lang="en" aria-current="true">EN</a>
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
<span>Pi Agent Platform</span>
|
|
31
31
|
</a>
|
|
32
32
|
<div class="top-actions">
|
|
33
|
-
<span class="pill"><span class="pill-dot"></span>v1.
|
|
33
|
+
<span class="pill"><span class="pill-dot"></span>v1.20.0 docs · EN</span>
|
|
34
34
|
<nav class="language-switch" aria-label="Language">
|
|
35
35
|
<a class="language-option" href="/benchmark" hreflang="vi" lang="vi">VI</a>
|
|
36
36
|
<a class="language-option current" href="/en/benchmark" hreflang="en" lang="en" aria-current="true">EN</a>
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
<span>Pi Agent Platform</span>
|
|
31
31
|
</a>
|
|
32
32
|
<div class="top-actions">
|
|
33
|
-
<span class="pill"><span class="pill-dot"></span>v1.
|
|
33
|
+
<span class="pill"><span class="pill-dot"></span>v1.20.0 docs · EN</span>
|
|
34
34
|
<nav class="language-switch" aria-label="Language">
|
|
35
35
|
<a class="language-option" href="/commands" hreflang="vi" lang="vi">VI</a>
|
|
36
36
|
<a class="language-option current" href="/en/commands" hreflang="en" lang="en" aria-current="true">EN</a>
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
<span>Pi Agent Platform</span>
|
|
31
31
|
</a>
|
|
32
32
|
<div class="top-actions">
|
|
33
|
-
<span class="pill"><span class="pill-dot"></span>v1.
|
|
33
|
+
<span class="pill"><span class="pill-dot"></span>v1.20.0 docs · EN</span>
|
|
34
34
|
<nav class="language-switch" aria-label="Language">
|
|
35
35
|
<a class="language-option" href="/context-engine" hreflang="vi" lang="vi">VI</a>
|
|
36
36
|
<a class="language-option current" href="/en/context-engine" hreflang="en" lang="en" aria-current="true">EN</a>
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
<span>Pi Agent Platform</span>
|
|
31
31
|
</a>
|
|
32
32
|
<div class="top-actions">
|
|
33
|
-
<span class="pill"><span class="pill-dot"></span>v1.
|
|
33
|
+
<span class="pill"><span class="pill-dot"></span>v1.20.0 docs · EN</span>
|
|
34
34
|
<nav class="language-switch" aria-label="Language">
|
|
35
35
|
<a class="language-option" href="/ecosystem" hreflang="vi" lang="vi">VI</a>
|
|
36
36
|
<a class="language-option current" href="/en/ecosystem" hreflang="en" lang="en" aria-current="true">EN</a>
|
package/docs-site/en/index.html
CHANGED
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
<span>Pi Agent Platform</span>
|
|
31
31
|
</a>
|
|
32
32
|
<div class="top-actions">
|
|
33
|
-
<span class="pill"><span class="pill-dot"></span>v1.
|
|
33
|
+
<span class="pill"><span class="pill-dot"></span>v1.20.0 docs · EN</span>
|
|
34
34
|
<nav class="language-switch" aria-label="Language">
|
|
35
35
|
<a class="language-option" href="/" hreflang="vi" lang="vi">VI</a>
|
|
36
36
|
<a class="language-option current" href="/en/" hreflang="en" lang="en" aria-current="true">EN</a>
|
|
@@ -94,7 +94,7 @@
|
|
|
94
94
|
<main>
|
|
95
95
|
<div class="content-shell" data-article>
|
|
96
96
|
<section class="hero">
|
|
97
|
-
<p class="eyebrow">Piagent 1.
|
|
97
|
+
<p class="eyebrow">Piagent 1.20.0</p>
|
|
98
98
|
<h1>A coding agent for the whole team, checked at every step.</h1>
|
|
99
99
|
<p>
|
|
100
100
|
One dashboard for Terminal and the browser. Use models with your own account, or the company's models through Agent Watch and Agent Studio. The guard checks every tool call; in company mode the team's Harness asks for checks, has a subagent review the change and reports the outcome right under the answer.
|
|
@@ -108,7 +108,7 @@
|
|
|
108
108
|
<div class="hero-actions">
|
|
109
109
|
<a class="button primary" href="/en/quickstart">Get started</a>
|
|
110
110
|
<a class="button" href="/en/ecosystem">Ecosystem</a>
|
|
111
|
-
<a class="button" href="/en/whats-new">What’s new in 1.
|
|
111
|
+
<a class="button" href="/en/whats-new">What’s new in 1.20.0</a>
|
|
112
112
|
<a class="button" href="/en/commands">View commands</a>
|
|
113
113
|
</div>
|
|
114
114
|
</section>
|
|
@@ -184,9 +184,9 @@ piagent-setup</code></pre>
|
|
|
184
184
|
<h2 id="where-to-start">Where to start</h2>
|
|
185
185
|
<div class="card-grid">
|
|
186
186
|
<a class="doc-card" href="/en/whats-new">
|
|
187
|
-
<span class="card-kicker">Release 1.
|
|
187
|
+
<span class="card-kicker">Release 1.20.0</span>
|
|
188
188
|
<h3>What’s new</h3>
|
|
189
|
-
<p>
|
|
189
|
+
<p>Package installs in the company sandbox no longer ask (npm, PyPI, Go, Maven, Gradle… through a registry-only proxy); in 1.19.0: company tasks with a checklist are carried to the end, every turn says whether it finished, stopped midway or failed, Docker in the company sandbox, folders with several repositories; in 1.18.0: switch the Git branch from the dashboard, retries for passing failures, Claude Haiku 5.5; in 1.17.0: the dashboard shows each project's Git branch; in 1.16.3: an updated dashboard keeps checking for releases; in 1.16.2: the Terminal says what the dashboard says: update question, /bypass, failures and Harness notes in Vietnamese; in 1.16.1: new releases are announced in a dialog and checked every hour, dashboard tabs stay signed in; in 1.16.0: Bypass for company conversations, Harness changes never interrupt you; in 1.15.2: long conversations shrink again; in 1.15.1: Studio sees what each model call is for, conversations in one folder keep their changes apart; in 1.15.0: a refused subagent says why; in 1.14: updates keep the models you chose; in 1.13: conversations keep their place, the agent's notes are formatted, Piagent on Windows through WSL2: a bubblewrap sandbox for company conversations and Agent Watch for Windows; in 1.12: @ picks files and folders on the Mac, skills and commands run from /, and forked company conversations take messages.</p>
|
|
190
190
|
</a>
|
|
191
191
|
<a class="doc-card" href="/en/ecosystem">
|
|
192
192
|
<span class="card-kicker">Get started</span>
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
<span>Pi Agent Platform</span>
|
|
31
31
|
</a>
|
|
32
32
|
<div class="top-actions">
|
|
33
|
-
<span class="pill"><span class="pill-dot"></span>v1.
|
|
33
|
+
<span class="pill"><span class="pill-dot"></span>v1.20.0 docs · EN</span>
|
|
34
34
|
<nav class="language-switch" aria-label="Language">
|
|
35
35
|
<a class="language-option" href="/mcp-approval" hreflang="vi" lang="vi">VI</a>
|
|
36
36
|
<a class="language-option current" href="/en/mcp-approval" hreflang="en" lang="en" aria-current="true">EN</a>
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
<span>Pi Agent Platform</span>
|
|
31
31
|
</a>
|
|
32
32
|
<div class="top-actions">
|
|
33
|
-
<span class="pill"><span class="pill-dot"></span>v1.
|
|
33
|
+
<span class="pill"><span class="pill-dot"></span>v1.20.0 docs · EN</span>
|
|
34
34
|
<nav class="language-switch" aria-label="Language">
|
|
35
35
|
<a class="language-option" href="/mcp-auth" hreflang="vi" lang="vi">VI</a>
|
|
36
36
|
<a class="language-option current" href="/en/mcp-auth" hreflang="en" lang="en" aria-current="true">EN</a>
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
<span>Pi Agent Platform</span>
|
|
31
31
|
</a>
|
|
32
32
|
<div class="top-actions">
|
|
33
|
-
<span class="pill"><span class="pill-dot"></span>v1.
|
|
33
|
+
<span class="pill"><span class="pill-dot"></span>v1.20.0 docs · EN</span>
|
|
34
34
|
<nav class="language-switch" aria-label="Language">
|
|
35
35
|
<a class="language-option" href="/mcp-servers" hreflang="vi" lang="vi">VI</a>
|
|
36
36
|
<a class="language-option current" href="/en/mcp-servers" hreflang="en" lang="en" aria-current="true">EN</a>
|
package/docs-site/en/mcp.html
CHANGED
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
<span>Pi Agent Platform</span>
|
|
31
31
|
</a>
|
|
32
32
|
<div class="top-actions">
|
|
33
|
-
<span class="pill"><span class="pill-dot"></span>v1.
|
|
33
|
+
<span class="pill"><span class="pill-dot"></span>v1.20.0 docs · EN</span>
|
|
34
34
|
<nav class="language-switch" aria-label="Language">
|
|
35
35
|
<a class="language-option" href="/mcp" hreflang="vi" lang="vi">VI</a>
|
|
36
36
|
<a class="language-option current" href="/en/mcp" hreflang="en" lang="en" aria-current="true">EN</a>
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
<span>Pi Agent Platform</span>
|
|
31
31
|
</a>
|
|
32
32
|
<div class="top-actions">
|
|
33
|
-
<span class="pill"><span class="pill-dot"></span>v1.
|
|
33
|
+
<span class="pill"><span class="pill-dot"></span>v1.20.0 docs · EN</span>
|
|
34
34
|
<nav class="language-switch" aria-label="Language">
|
|
35
35
|
<a class="language-option" href="/permissions" hreflang="vi" lang="vi">VI</a>
|
|
36
36
|
<a class="language-option current" href="/en/permissions" hreflang="en" lang="en" aria-current="true">EN</a>
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
<span>Pi Agent Platform</span>
|
|
31
31
|
</a>
|
|
32
32
|
<div class="top-actions">
|
|
33
|
-
<span class="pill"><span class="pill-dot"></span>v1.
|
|
33
|
+
<span class="pill"><span class="pill-dot"></span>v1.20.0 docs · EN</span>
|
|
34
34
|
<nav class="language-switch" aria-label="Language">
|
|
35
35
|
<a class="language-option" href="/profiles" hreflang="vi" lang="vi">VI</a>
|
|
36
36
|
<a class="language-option current" href="/en/profiles" hreflang="en" lang="en" aria-current="true">EN</a>
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
<span>Pi Agent Platform</span>
|
|
31
31
|
</a>
|
|
32
32
|
<div class="top-actions">
|
|
33
|
-
<span class="pill"><span class="pill-dot"></span>v1.
|
|
33
|
+
<span class="pill"><span class="pill-dot"></span>v1.20.0 docs · EN</span>
|
|
34
34
|
<nav class="language-switch" aria-label="Language">
|
|
35
35
|
<a class="language-option" href="/quickstart" hreflang="vi" lang="vi">VI</a>
|
|
36
36
|
<a class="language-option current" href="/en/quickstart" hreflang="en" lang="en" aria-current="true">EN</a>
|