@piagent/platform 1.51.2 → 1.52.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 +19 -0
- package/docs/command-reference-vietnamese.md +2 -2
- package/docs/distribution-standard.md +6 -6
- package/docs/harness-conformance.md +13 -13
- package/docs/operator-manual-vietnamese.md +7 -7
- package/docs/publishing-for-teams.md +1 -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/assets/search-en.json +1 -1
- package/docs-site/assets/search-vi.json +1 -1
- package/docs-site/benchmark.html +1 -1
- package/docs-site/commands.html +1 -1
- 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 +9 -9
- 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/update.html +3 -3
- package/docs-site/en/whats-new.html +29 -16
- package/docs-site/en/windows.html +1 -1
- package/docs-site/en/workflows.html +1 -1
- package/docs-site/index.html +9 -9
- 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/releases.json +39 -0
- 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/update.html +3 -3
- package/docs-site/whats-new.html +29 -16
- 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/copies.mjs +10 -10
- package/packages/piagent-core/managed/general-clone.mjs +111 -0
- package/packages/piagent-core/managed/helper-roles.mjs +33 -42
- package/packages/piagent-core/managed/helper-run.mjs +21 -15
- package/packages/piagent-core/managed/helper-settlement.mjs +6 -10
- package/packages/piagent-core/managed/language-environment.mjs +6 -2
- package/packages/piagent-core/managed/ledger.mjs +11 -10
- package/packages/piagent-core/managed/objections.mjs +8 -25
- package/packages/piagent-core/managed/role-names.mjs +6 -0
- package/packages/piagent-core/managed/session.mjs +13 -13
- package/packages/piagent-core/managed/tool-boundary.mjs +4 -4
- package/packages/piagent-core/managed/workflow.mjs +2 -39
- package/packages/piagent-core/package.json +1 -1
- package/packages/piagent-core/runtime/managed-failure.d.mts +1 -1
- package/packages/piagent-core/runtime/managed-failure.mjs +3 -3
- package/packages/piagent-webui/dist/client/assets/{App-C9tlGPMb.js → App-DQwj6l-F.js} +1 -1
- package/packages/piagent-webui/dist/client/assets/{GatewayApp-Dvo96qoX.js → GatewayApp-CP8GpZsK.js} +3 -3
- package/packages/piagent-webui/dist/client/assets/{InspectionApp-CGgHsOyC.js → InspectionApp-BZqu1pjw.js} +1 -1
- package/packages/piagent-webui/dist/client/assets/{SessionAgentWorkspace-n8UMMcrP.js → SessionAgentWorkspace-4nJSbzE9.js} +1 -1
- package/packages/piagent-webui/dist/client/assets/{SessionInspectorDrawer-B62kkr8J.js → SessionInspectorDrawer-DEb_TBE8.js} +2 -2
- package/packages/piagent-webui/dist/client/assets/SettingsNavigation-BF4X5xkR.js +3 -0
- package/packages/piagent-webui/dist/client/assets/{SettingsPage-DKg0SfZQ.js → SettingsPage-CS8LsdhS.js} +1 -1
- package/packages/piagent-webui/dist/client/assets/{TerminalPanel-BPTVsNjP.js → TerminalPanel-CiF2_woF.js} +1 -1
- package/packages/piagent-webui/dist/client/assets/{WorkspaceCodeEditor-BHGFFBc2.js → WorkspaceCodeEditor-OFxSEbBs.js} +1 -1
- package/packages/piagent-webui/dist/client/assets/{WorkspaceExplorer-nd4kghwK.js → WorkspaceExplorer-ZYIi-FWr.js} +3 -3
- package/packages/piagent-webui/dist/client/assets/{index-BiLVX8S-.js → index-CfJC4Unf.js} +2 -2
- package/packages/piagent-webui/dist/client/index.html +1 -1
- package/packages/piagent-webui/server/transcript-projection.ts +3 -3
- package/packages/piagent-webui/shared/company-copy.ts +3 -1
- package/packages/piagent-webui/shared/turn-end.ts +1 -1
- package/schemas/piagent-webui/transcript-v1.schema.json +3 -3
- package/scripts/runtime-advisory-exceptions.json +27 -27
- package/packages/piagent-webui/dist/client/assets/SettingsNavigation-BZijmuPt.js +0 -3
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,25 @@ Every release of Pi Agent Platform (`@piagent/platform`), newest first. Versions
|
|
|
4
4
|
|
|
5
5
|
This file is generated from `docs-site/releases.json` by `node scripts/build-docs-site.mjs`, which also renders the [Changelog page](https://piagent.io.vn/en/whats-new). Edit the JSON, not this file. When publishing a tag, copy the version's block into the GitHub Release.
|
|
6
6
|
|
|
7
|
+
## v1.52.0 - 2026-11-08
|
|
8
|
+
|
|
9
|
+
**Company helpers get an advisor and a general helper that works in its own clone.** The company Harness declares every helper, and the main agent now calls them by working names: explore, scout, advisor, general and review. General changes code only in its own clone and hands back a git ref to merge.
|
|
10
|
+
|
|
11
|
+
### Breaking changes
|
|
12
|
+
|
|
13
|
+
- Helpers are called explore, scout, advisor, general and review; the old names research and verify are gone, and the verify helper is removed.
|
|
14
|
+
|
|
15
|
+
### Added
|
|
16
|
+
|
|
17
|
+
- advisor gives a second opinion before a hard decision: a recommendation, the options it rejected and the risks.
|
|
18
|
+
- general takes large work on macOS: it edits, runs checks and commits in its own clone, never your files, and returns refs/general/<id>.
|
|
19
|
+
|
|
20
|
+
### Fixed
|
|
21
|
+
|
|
22
|
+
- The WebUI names an advisor or general failure correctly instead of calling it a review failure.
|
|
23
|
+
|
|
24
|
+
Requires: Agent Studio 0.51.0 and Agent Watch 0.15.20 (Windows 0.1.19) for the advisor and general helpers.
|
|
25
|
+
|
|
7
26
|
## v1.51.2 - 2026-11-03
|
|
8
27
|
|
|
9
28
|
**Running only the tests that cover a change works in every test tool.** When you chose to run only the related tests, the harness took many single-test commands for the whole suite and refused them. It now reads one file, filter or module the same way in each tool.
|
|
@@ -477,8 +477,8 @@ Các lệnh này chạy ngoài Pi.
|
|
|
477
477
|
| Command | Dùng khi nào |
|
|
478
478
|
|---|---|
|
|
479
479
|
| `npm install -g --ignore-scripts @earendil-works/pi-coding-agent@1.3.0` | Cài Pi CLI tương thích với release hiện tại. |
|
|
480
|
-
| `npm install -g --ignore-scripts @piagent/platform@1.
|
|
481
|
-
| `pi install git:github.com/Vt-mmm/piagent@v1.
|
|
480
|
+
| `npm install -g --ignore-scripts @piagent/platform@1.52.0` | Cài terminal helper `piagent-*` từ release tag hiện tại. |
|
|
481
|
+
| `pi install git:github.com/Vt-mmm/piagent@v1.52.0` | Cài pinned release khi cần reproducible team setup. |
|
|
482
482
|
| `pi install git:github.com/Vt-mmm/piagent` | Cài latest package platform cho máy cá nhân/sandbox. |
|
|
483
483
|
| `piagent pi-host status` | Xem Pi host Piagent đang chạy: bản pin, `pi` riêng của bạn, bản Pi riêng của Piagent. |
|
|
484
484
|
| `piagent pi` | Mở Pi đúng bản Piagent đã kiểm định (vd `1.3.0`) khi `pi` của bạn là bản mới hơn (vd `1.4.0`); `pi` của bạn giữ nguyên. |
|
|
@@ -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.52.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.52.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.52.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@1.3.0
|
|
69
|
-
npm install -g --ignore-scripts @piagent/platform@1.
|
|
69
|
+
npm install -g --ignore-scripts @piagent/platform@1.52.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.52.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.52.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.52.0 \
|
|
122
122
|
--mcp-preset core \
|
|
123
123
|
--subagents-preset safe
|
|
124
124
|
```
|
|
@@ -39,19 +39,21 @@ Unset follows the member's thinking level; a value fixes it (`off` turns thinkin
|
|
|
39
39
|
- Studio: `TestManagedNativeEffortHistory`
|
|
40
40
|
- Piagent: `managed-failures` › each role runs at the level Studio grants it, whatever the member picked
|
|
41
41
|
|
|
42
|
-
### `scout`, `research`, `
|
|
42
|
+
### `scout`, `research`, `advisor`, `general`, `review`
|
|
43
43
|
|
|
44
|
-
A helper exists only when the Harness enables its role. The prompt and the `delegate` tool describe only enabled helpers. Helpers read the project and cannot
|
|
44
|
+
A helper exists only when the Harness enables its role. The main agent calls them explore (the `scout` role), scout (the `research` role), advisor, general and review; main does small changes, integration and the repository checks itself. The prompt and the `delegate` tool describe only enabled helpers. Helpers read the project and cannot delegate. Only general changes files, and never the project's: it works in its own clone of the repository (own `.git`, no remote, objects borrowed read-only), one at a time, and its commits come back as a private ref `refs/general/<id>` that main merges itself (`general-clone.mjs`). Its isolation is proven under the macOS sandbox only; on Linux general refuses to start. Studio does not issue the `advisor` and `general` roles yet; until it does they are offered only to a Harness that lists them. In one conversation one helper of each role runs at a time, and each role runs at most 8 times per member message (Studio's `MaxHelperCalls`). Studio also bounds a member's active helpers across conversations (`MaxActiveHelpers`, 24).
|
|
45
45
|
|
|
46
46
|
- Studio: `TestScoutAndVerifyRunAsHelpers`
|
|
47
47
|
- Studio: `TestManagedHelpersAggregateAcrossDevicesAndRoots`
|
|
48
48
|
- Studio: `TestHelperRoleRunsAgainWithinItsRun`
|
|
49
49
|
- Piagent: `managed-failures` › a subagent that fails tells the main agent why
|
|
50
50
|
- Piagent: `managed-harness-conformance` › a helper role already running in the conversation is not started twice
|
|
51
|
-
- Piagent: `managed-helper-roles` › the helpers offered are the ones the Harness enables, in Harness order
|
|
52
|
-
- Piagent: `managed-helper-roles` › the prompt and the delegate tool describe only enabled helpers
|
|
53
|
-
- Piagent: `managed-helper-roles` ›
|
|
54
|
-
- Piagent: `managed-helpers` ›
|
|
51
|
+
- Piagent: `managed-helper-roles` › the helpers offered are the ones the Harness enables, in Harness order, under their working names
|
|
52
|
+
- Piagent: `managed-helper-roles` › the prompt and the delegate tool describe only enabled helpers, by working name; only general changes files
|
|
53
|
+
- Piagent: `managed-helper-roles` › an explore or general failure names its Harness role, and a helper the Harness lacks is a tool failure
|
|
54
|
+
- Piagent: `managed-helpers` › explore and advisor helpers run with their own tools and only when the Harness enables them
|
|
55
|
+
- Piagent: `managed-general-clone` › a writer in the clone commits there; the project is unreachable and its refs are untouched
|
|
56
|
+
- Piagent: `managed-six-role-journey` › a small change stays with main; a large one goes to general in its own clone and main integrates, checks and reviews it
|
|
55
57
|
- Piagent: `managed-failures` › a helper the harness adds while the member works is offered in the same conversation
|
|
56
58
|
|
|
57
59
|
### `helper.mode`
|
|
@@ -92,7 +94,7 @@ Absent: every step `suggest`, `max_fix_loops` 2. An unknown step value is read a
|
|
|
92
94
|
|
|
93
95
|
### `workflow.verify`
|
|
94
96
|
|
|
95
|
-
`suggest` names the repository's checks (AGENTS.md `## Checks`, else what its manifests imply) and never adds a turn. `require` sends a code-changing turn back until a check passes on the final code, at most `max_fix_loops` times
|
|
97
|
+
`suggest` names the repository's checks (AGENTS.md `## Checks`, else what its manifests imply) and never adds a turn. `require` sends a code-changing turn back until a check passes on the final code, at most `max_fix_loops` times.
|
|
96
98
|
|
|
97
99
|
Only the member waives the checks. When the member asks to skip them, the agent calls `waive_checks` with the member's words and the member confirms on an approval card, one time, never for the rest of the conversation. The waiver holds for the code as it is at that moment: the turn is not sent back for checks, and its status reads "no check passed on the final code: the member waived the checks" (outcome `unverified`, `checksWaived` in the status details). Code changed after the waiver needs its checks again. A push still asks the member as in every mode.
|
|
98
100
|
|
|
@@ -102,8 +104,6 @@ Only the member waives the checks. When the member asks to skip them, the agent
|
|
|
102
104
|
- Piagent: `managed-workflow` › a check that passed before the turn was cut off is still reported as passed
|
|
103
105
|
- Piagent: `managed-check-waiver` › waive_checks asks the member every time and binds the waiver to the current code
|
|
104
106
|
- Piagent: `managed-check-waiver` › the gate stops asking for checks on waived code and reports the waiver; changed code is asked again
|
|
105
|
-
- Piagent: `managed-objections` › under a required verify a failed claim goes back to the agent, is checked again with its answer, and a lasting failure goes to the member
|
|
106
|
-
- Piagent: `managed-objections` › under a suggested verify a failed claim stays the agent's to weigh: no extra turn
|
|
107
107
|
|
|
108
108
|
### `workflow.review`
|
|
109
109
|
|
|
@@ -135,7 +135,7 @@ On unless set to `false` (Agent Studio does not offer this setting yet). The con
|
|
|
135
135
|
|
|
136
136
|
### `workflow.main_web_lookups`
|
|
137
137
|
|
|
138
|
-
0 to 5; anything else is read as 0 (Agent Studio does not offer this setting yet). With a research
|
|
138
|
+
0 to 5; anything else is read as 0 (Agent Studio does not offer this setting yet). With a scout helper (the `research` role), the main agent keeps that many web_search or web_fetch calls per member message for a quick fact; the rest of the web work goes to the scout helper.
|
|
139
139
|
|
|
140
140
|
- Piagent: `managed-helper-roles` › with a research helper the main agent may keep a few quick web lookups per message
|
|
141
141
|
|
|
@@ -152,11 +152,11 @@ Off unless the Harness allows it. Calls of the main agent and of subagents on a
|
|
|
152
152
|
|
|
153
153
|
### `objections`
|
|
154
154
|
|
|
155
|
-
A helper may object to its brief with evidence; it never decides. Objections
|
|
155
|
+
A helper may object to its brief with evidence; it never decides. Objections and review findings are items of one ledger: the main agent records a decision on each with `resolve_objection` (accepted with what it changed, or rejected with what it checked and why). An objection that the brief rests on a wrong premise or conflicts with the request, with evidence pointing at a place that exists, refuses file changes and a new brief to that helper until it is decided; a rejected one goes back to the helper, which withdraws it or keeps it for the member. An item never decided is put to the agent once. The same helper objecting a second time goes to the member. The run's ledger is kept as one session entry.
|
|
156
156
|
|
|
157
157
|
- Piagent: `managed-objections` › evidence names a place the harness can find; a premise objection with evidence is required
|
|
158
158
|
- Piagent: `managed-objections` › the main agent records each decision; a premise objection refuses edits and briefs until it is decided
|
|
159
|
-
- Piagent: `managed-objections` › review findings
|
|
159
|
+
- Piagent: `managed-objections` › review findings are ledger items: a repeated finding keeps its item, minor ones are only counted
|
|
160
160
|
- Piagent: `managed-objections` › an objection the agent does not decide is put to it once; a decision or its absence is on the record
|
|
161
161
|
- Piagent: `managed-objections` › a premise objection refuses file changes and a new brief until it is decided; then the corrected brief goes through
|
|
162
162
|
- Piagent: `managed-objections` › a rejected premise objection goes back to the helper, which withdraws it or keeps it for the member
|
|
@@ -167,7 +167,7 @@ A helper may object to its brief with evidence; it never decides. Objections, re
|
|
|
167
167
|
One helper per role works on a brief. Only when the member asks for several helpers of one role does one delegate call run 2 or 3 of them side by side: the same brief for independent answers, or a share of the work each. The call quotes the member's own words, which must name the number; the harness never adds helpers. With a Studio and an Agent Watch that hold helper slots (broker feature `helper-slots`), each copy holds a grant of its own (slot 2 or 3 beside the role's first) and runs in parallel; otherwise the copies share the role's grant and Studio takes their requests in turn. Each copy counts against the role's calls for the message; their answers merge, and any finding, failed claim or objection one of them reports stands. Reviewers the member asked for run under a required review too, and a fresh review from them is the final one.
|
|
168
168
|
|
|
169
169
|
- Piagent: `managed-objections` › several helpers of a role run only when the member asks for that many, up to 3
|
|
170
|
-
- Piagent: `managed-objections` › the answers of several helpers merge: every finding
|
|
170
|
+
- Piagent: `managed-objections` › the answers of several helpers merge: every finding and objection any of them reports stands
|
|
171
171
|
- Piagent: `managed-objections` › helpers the member asks for run side by side on one brief; without the member asking only one runs
|
|
172
172
|
- Piagent: `managed-objections` › reviewers the member asks for run even under a required review; their fresh review is the final one
|
|
173
173
|
- Piagent: `managed-objections` › with helper slots in Studio and Agent Watch, each helper the member asked for holds a grant of its own and the terminal shows what each does
|
|
@@ -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@1.3.0
|
|
22
|
-
npm install -g --ignore-scripts @piagent/platform@1.
|
|
22
|
+
npm install -g --ignore-scripts @piagent/platform@1.52.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.52.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@1.3.0
|
|
103
|
-
npm install -g --ignore-scripts @piagent/platform@1.
|
|
103
|
+
npm install -g --ignore-scripts @piagent/platform@1.52.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.52.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.52.0` | Cài terminal helper `piagent-*` từ release tag hiện tại. |
|
|
1003
|
+
| `pi install git:github.com/Vt-mmm/piagent@v1.52.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.52.0
|
|
1100
1100
|
command -v piagent-install
|
|
1101
1101
|
```
|
|
1102
1102
|
|
|
@@ -41,6 +41,7 @@ pi install /path/to/piagent
|
|
|
41
41
|
|
|
42
42
|
## Versioning
|
|
43
43
|
|
|
44
|
+
- `1.52.0`: Harness công ty khai báo mọi helper; agent chính gọi bằng tên công việc explore, scout, advisor, general, review. Thêm advisor (ý kiến thứ hai) và general (làm trong clone riêng, trả về `refs/general/<id>`, chỉ macOS); bỏ helper verify. Cần Agent Studio schema 91 và Agent Watch mới.
|
|
44
45
|
- `1.51.2`: Khi member chọn chỉ chạy phần test liên quan, lệnh chạy một file, một bộ lọc hay một module được đọc đúng ở mọi công cụ test (Maven `-Dtest`/`-Dit.test` trước goal, Gradle, `node --import tsx --test`, Flutter, cargo…); lệnh chỉ biên dịch hay liệt kê test không còn bị tính là chạy test.
|
|
45
46
|
- `1.51.1`: Câu hỏi của harness công ty về test hay push không ai trả lời trong mười phút sẽ tự rút: chỉ chạy test liên quan, không push, task để qua đêm không còn đứng chờ tới sáng.
|
|
46
47
|
- `1.48.2`: Terminal nạp bản mới không cần đóng: `piagent reload`, và `piagent-update` tự yêu cầu, để mọi Terminal đang mở (`piagent`, `piagent studio`) nạp bản đã cài khi rảnh, giữ nguyên cuộc trò chuyện, task đang chạy xong trước; chỉ member được bỏ qua kiểm tra bắt buộc của team, trên thẻ duyệt, cho đúng code lúc đó.
|
|
@@ -155,7 +155,7 @@ Use this flow when the team needs both terminal commands and the Pi package:
|
|
|
155
155
|
```bash
|
|
156
156
|
node --version # >= 22.19.0
|
|
157
157
|
npm install -g --ignore-scripts @earendil-works/pi-coding-agent@1.3.0
|
|
158
|
-
npm install -g --ignore-scripts @piagent/platform@1.
|
|
158
|
+
npm install -g --ignore-scripts @piagent/platform@1.52.0
|
|
159
159
|
piagent-install --stable --dry-run
|
|
160
160
|
piagent-install --stable
|
|
161
161
|
```
|
|
@@ -181,7 +181,7 @@ bash scripts/install-global.sh --stable
|
|
|
181
181
|
Use this only when terminal commands are not needed:
|
|
182
182
|
|
|
183
183
|
```bash
|
|
184
|
-
pi install git:github.com/Vt-mmm/piagent@v1.
|
|
184
|
+
pi install git:github.com/Vt-mmm/piagent@v1.52.0
|
|
185
185
|
```
|
|
186
186
|
|
|
187
187
|
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@1.3.0
|
|
13
|
-
npm install -g --ignore-scripts @piagent/platform@1.
|
|
13
|
+
npm install -g --ignore-scripts @piagent/platform@1.52.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@1.3.0
|
|
48
|
-
npm install -g --ignore-scripts @piagent/platform@1.
|
|
48
|
+
npm install -g --ignore-scripts @piagent/platform@1.52.0
|
|
49
49
|
piagent-install --stable --dry-run
|
|
50
50
|
piagent-install --stable
|
|
51
51
|
```
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
<span class="brand-mark"><img src="/assets/piagent-logo.svg" alt="" width="28" height="28" /></span>
|
|
38
38
|
<span class="brand-name"><b>Piagent</b> <span>Platform</span></span>
|
|
39
39
|
</a>
|
|
40
|
-
<a class="version-badge" href="/whats-new" data-docs-version="v1.
|
|
40
|
+
<a class="version-badge" href="/whats-new" data-docs-version="v1.52.0" title="v1.52.0 docs · VI"><span class="dot"></span>v1.52.0</a>
|
|
41
41
|
<nav class="top-nav" aria-label="Tài liệu">
|
|
42
42
|
<a href="/quickstart">Tài liệu</a>
|
|
43
43
|
<a href="/whats-new">Changelog</a>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"href":"/en/","icon":"home","group":"Get started","nav":"Overview","title":"Pi Agent Platform","lead":"A coding agent for the whole team: a guard checks every tool call, the team's Harness runs checks and review, one dashboard for Terminal and the browser.","headings":[{"id":"different","text":"The agent works fast. The platform keeps it right."},{"id":"one-turn","text":"You say what you need. The rest is verified."},{"id":"screens","text":"Captured from a running dashboard"},{"id":"two-modes","text":"One dashboard, two ways to use models"},{"id":"install","text":"Running in two minutes"},{"id":"latest-updates","text":"Steady releases, every change written down"}]},{"href":"/en/ecosystem","icon":"network","group":"Get started","nav":"Ecosystem","title":"Piagent, Agent Watch and Agent Studio","lead":"What runs on your machine, what runs on the company server, and when to use your own model or the company's.","headings":[{"id":"overview","text":"One dashboard, two ways to use models"},{"id":"parts","text":"Each part does one job"},{"id":"piagent","text":"Piagent"},{"id":"guard","text":"Guard"},{"id":"agent-watch","text":"Agent Watch"},{"id":"agent-studio","text":"Agent Studio"},{"id":"one-turn","text":"From a message to \"A check passed · Review found no blocking issue\""},{"id":"choose","text":"When to use personal, when to use company"}]},{"href":"/en/quickstart","icon":"rocket","group":"Get started","nav":"Install","title":"Install and run your first turn","lead":"Two commands to install. Open a repository, pick its profile and permissions, then ask in plain language.","headings":[{"id":"install","text":"Install"},{"id":"open-project","text":"Open a project"},{"id":"read-project","text":"Let the agent read the project"},{"id":"profile-and-permission","text":"Pick a profile and permission"},{"id":"ask","text":"Ask in plain language"},{"id":"check","text":"Check the installation"},{"id":"supported","text":"Supported systems"},{"id":"next","text":"Next"}]},{"href":"/en/windows","icon":"windows","group":"Get started","nav":"Windows","title":"Install on Windows with one command","lead":"One PowerShell command installs WSL2, Ubuntu, Piagent and Agent Watch, binds the company key and adds Piagent to the Start menu. Run it again to update.","headings":[{"id":"one-command","text":"Install with one command"},{"id":"every-day","text":"Every day"},{"id":"when-setup-fails","text":"When setup fails"},{"id":"why-wsl2","text":"Why WSL2"}]},{"href":"/en/update","icon":"refresh","group":"Get started","nav":"Update & uninstall","title":"Update, roll back and uninstall","lead":"One command moves to a new release, and the dashboard and Terminal tell you when one is out. Rollback and uninstall both preview first.","headings":[{"id":"update","text":"Update"},{"id":"open-terminals","text":"Open Terminals"},{"id":"what-it-does","text":"What it does, in order"},{"id":"options","text":"Common options"},{"id":"pin-for-a-team","text":"Pin one release for a team"},{"id":"rollback","text":"Roll back"},{"id":"uninstall","text":"Uninstall"},{"id":"windows","text":"On Windows"}]},{"href":"/en/whats-new","icon":"sparkles","group":"Get started","nav":"Changelog","title":"Changelog","lead":"Every release: what changed and which Studio or Agent Watch it needs. Newest first.","headings":[{"id":"latest","text":"Latest"},{"id":"v1-51-2-title","text":"Running only the tests that cover a change works in every test tool"},{"id":"v1-51-1-title","text":"A task left running overnight no longer waits for an answer until morning"},{"id":"v1-51-0-title","text":"Follow every session from outside it, and a new Always bypass access"},{"id":"v1-50-0-title","text":"A push is judged repository by repository and reviewed first"},{"id":"v1-49-1-title","text":"A running turn says what it waits for"},{"id":"v1-49-0-title","text":"You choose how much to test"},{"id":"v1-48-5-title","text":"A running task keeps its tools when Piagent is updated"},{"id":"v1-48-4-title","text":"/reload keeps a company Terminal working; a new release never interrupts your next message"},{"id":"v1-48-3-title","text":"The agent sends pictures and files into the chat; reviews run across several repositories"},{"id":"v1-48-2-title","text":"Terminals load a new release without closing; only the member waives checks"},{"id":"v1-48-1-title","text":"Faster first replies on the dashboard and an instant Enter in the Terminal"},{"id":"v1-48-0-title","text":"Bypass stops at the handoff: every mode asks before work leaves the machine"},{"id":"v1-47-0-title","text":"Company sessions use your MCP servers and drive iOS and Android simulators"},{"id":"v1-46-4-title","text":"One subagent instead of a refused request; update reads a commented models.json"},{"id":"v1-46-3-title","text":"One subagent instead of a refused request; update reads a commented models.json not published"},{"id":"v1-46-2-title","text":"A message sent after an answer shows at once; the WebUI streams word by word"},{"id":"v1-46-1-title","text":"Objections on the record, one review per turn, parallel subagents on request"},{"id":"v1-46-0-title","text":"Piagent runs from its own Pi home and your own pi stays stock"},{"id":"v1-45-0-title","text":"Files and images in a prompt follow the read policy, and the terminal stays responsive"},{"id":"v1-44-4-title","text":"Company conversations come back in Herdr panes"},{"id":"v1-44-3-title","text":"Prompt injection cannot quietly read the system"},{"id":"v1-44-2-title","text":"The company harness follows the size of a change"},{"id":"v1-44-1-title","text":"Your own Pi stays, pick a Terminal style, add skill repositories"},{"id":"v1-44-0-title","text":"Your own Pi stays, pick a Terminal style, add skill repositories not published"},{"id":"archive","text":"Earlier releases"}]},{"href":"/en/scope","icon":"target","group":"Get started","nav":"Platform scope","title":"What the platform owns","lead":"Every agent has governance primitives. This platform packages one repeatable operating model on Pi for every repository.","headings":[{"id":"not-a-new-agent","text":"This is not a new agent"},{"id":"complementary-layers","text":"The two layers are complementary"},{"id":"lower-layer","text":"The lower layer sees processes"},{"id":"upper-layer","text":"The upper layer sees intent"},{"id":"when-not-needed","text":"When you may not need it"}]},{"href":"/en/profiles","icon":"sliders","group":"Build","nav":"Project profiles","title":"Choose the right profile","lead":"A profile sets protected paths, verification commands and the capabilities a repository is granted.","headings":[]},{"href":"/en/permissions","icon":"key","group":"Build","nav":"Permission modes","title":"Change permissions per task","lead":"Permission modes apply to the current session only. Changing one does not modify the project profile.","headings":[]},{"href":"/en/commands","icon":"terminal","group":"Build","nav":"Command catalog","title":"Short commands, predictable behaviour","lead":"Slash commands package policy and flow, with one inspector for diffs, commands, safety and context.","headings":[{"id":"session-basics","text":"Session basics"},{"id":"project-profile","text":"Project profile"},{"id":"implementation-workflow","text":"Assigning work"},{"id":"git-handoff","text":"Git handoff"},{"id":"fresh-sessions","text":"New sessions"},{"id":"mcp","text":"MCP"},{"id":"subagents","text":"Subagents"},{"id":"product-status-commands","text":"Inspect runtime decisions"},{"id":"skills-and-packages","text":"Audit test quality, run experiment loops"}]},{"href":"/en/workflows","icon":"branch","group":"Build","nav":"Workflows","title":"Day-to-day work","lead":"No workflow launchers: say what you need in plain language. Inspection commands only observe and never start a model turn.","headings":[{"id":"conclusion","text":"No new command is mandatory in the daily flow"},{"id":"command-effects","text":"How far the inspection commands affect a workflow"},{"id":"example-flow","text":"A complete flow can look like this"},{"id":"sessions","text":"See every session without opening each space"}]},{"href":"/en/mcp","icon":"plug","group":"MCP","nav":"MCP overview","title":"MCP in Pi Agent Platform","lead":"The platform installs pi-mcp-adapter for token-efficient MCP access and manages servers across four configuration layers.","headings":[{"id":"start","text":"Where to start"},{"id":"three-similar-names","text":"Three similar names that are not connected"},{"id":"four-config-layers","text":"Four configuration layers"},{"id":"presets","text":"Pinned presets"},{"id":"company-sessions","text":"In company sessions"},{"id":"token-efficiency","text":"Token efficiency"}]},{"href":"/en/mcp-servers","icon":"server","group":"MCP","nav":"Server management","title":"Add, inspect and remove MCP servers","lead":"piagent-mcp provides add, remove, get, list, enable and disable across all four scopes.","headings":[{"id":"two-surfaces","text":"Two surfaces for two contexts"},{"id":"commands","text":"Commands"},{"id":"in-session","text":"In a session"},{"id":"add-server","text":"Add a server"},{"id":"inspect","text":"Inspect"},{"id":"disable-remove","text":"Disable and remove"},{"id":"preset-command","text":"Preset"},{"id":"output","text":"Output names the modified file"},{"id":"updates","text":"Custom servers and updates"},{"id":"preserved","text":"Preserved"},{"id":"overwritten","text":"Replaced"}]},{"href":"/en/mcp-auth","icon":"lock","group":"MCP","nav":"Authentication","title":"Authentication and readiness","lead":"The platform stores no tokens and runs no OAuth. It rejects secrets in configuration and reports which servers are actually ready.","headings":[{"id":"no-token-storage","text":"The platform does not store tokens"},{"id":"reject-secrets","text":"Secrets are rejected before configuration is written"},{"id":"field-name","text":"Field-name detection"},{"id":"value-shape","text":"Value-shape detection"},{"id":"readiness","text":"Readiness states"}]},{"href":"/en/mcp-approval","icon":"shield-check","group":"MCP","nav":"Approval gate","title":"Repository servers require approval","lead":"Cloning an untrusted repository must not give its author a process on your machine. Decisions live outside the repository, pinned by digest.","headings":[{"id":"problem","text":"The problem"},{"id":"three-properties","text":"Three properties"},{"id":"outside-repository","text":"The decision lives outside the repository"},{"id":"digest-pinning","text":"Pinned by digest"},{"id":"tool-call-enforcement","text":"Enforced at tool call"},{"id":"limit","text":"Limit"},{"id":"imports","text":"Servers supplied through imports"},{"id":"design-decisions","text":"Design decisions"},{"id":"migration","text":"Migration"}]},{"href":"/en/security","icon":"shield","group":"Operate","nav":"Security model","title":"Policy enforcement, not an OS sandbox","lead":"Controlled tool surfaces fail closed when profiles, integrity locks or permissions are invalid.","headings":[{"id":"protected-paths","text":"Protected paths"},{"id":"shell-hardening","text":"Shell hardening"},{"id":"secret-redaction","text":"Secret redaction"},{"id":"capability-lock","text":"Capability lock"},{"id":"human-action-gate","text":"Human-action gate"},{"id":"verify-evidence","text":"Real checks"}]},{"href":"/en/architecture","icon":"layers","group":"Operate","nav":"Architecture","title":"Repository architecture","lead":"Core holds reusable policy and runtime infrastructure; business logic stays in the project that owns it.","headings":[{"id":"composition","text":"Composition"},{"id":"runtime-adapters","text":"Runtime adapters"},{"id":"core-services","text":"Core services"},{"id":"integrations","text":"Integrations"},{"id":"entrypoints","text":"Entrypoints"},{"id":"product-assets","text":"Product assets"},{"id":"adaptive-runtime","text":"Piagent now separates runtime decisions from Pi wiring"},{"id":"state-ownership","text":"Each state has one source of truth"}]},{"href":"/en/context-engine","icon":"cpu","group":"Operate","nav":"Context Engine","title":"Less context, same model quality","lead":"Local indexing, ranked retrieval, task-driven tool loading, semantic compaction and transparent telemetry.","headings":[{"id":"dynamic-tools","text":"Task-driven tools"},{"id":"local-index","text":"Local index"},{"id":"ranked-context","text":"Ranked context"},{"id":"semantic-compact","text":"Semantic compaction"},{"id":"test-impact","text":"Test impact"},{"id":"agent-watch","text":"Agent Watch"}]},{"href":"/en/benchmark","icon":"chart","group":"Operate","nav":"Benchmark","title":"Quality and efficiency evidence","lead":"Piagent against codex-cli on the same model and thinking level: 18 task families, 108 automatically graded sessions.","headings":[{"id":"benchmark-verdict","text":"Historical fresh-token score: 9.97/10"},{"id":"configuration","text":"Same model, same tasks, automatic grading"},{"id":"scores","text":"Token reduction does not trade away quality"},{"id":"tokens","text":"Measure the fixed workload, not only successful tasks"},{"id":"coverage","text":"Six domains with three families each"},{"id":"benchmark-bands","text":"Use the right suite for the decision"},{"id":"transparency","text":"Interpret results within their measured scope"},{"id":"historical-v1-2-12","text":"v1.2.12 remains historical evidence"}]},{"href":"/en/runtime","icon":"wrench","group":"Operate","nav":"Runtime tools","title":"Terminal commands for operators","lead":"Commands that run outside Pi: setup, updates, doctor, benchmarks, capabilities and MCP.","headings":[]},{"href":"/en/team","icon":"users","group":"Operate","nav":"Team usage","title":"One operating standard for the team","lead":"Each repository links the package, selects a fitting profile and keeps project documentation in its own repository.","headings":[{"id":"do","text":"Do"},{"id":"avoid","text":"Avoid"}]}]
|
|
1
|
+
[{"href":"/en/","icon":"home","group":"Get started","nav":"Overview","title":"Pi Agent Platform","lead":"A coding agent for the whole team: a guard checks every tool call, the team's Harness runs checks and review, one dashboard for Terminal and the browser.","headings":[{"id":"different","text":"The agent works fast. The platform keeps it right."},{"id":"one-turn","text":"You say what you need. The rest is verified."},{"id":"screens","text":"Captured from a running dashboard"},{"id":"two-modes","text":"One dashboard, two ways to use models"},{"id":"install","text":"Running in two minutes"},{"id":"latest-updates","text":"Steady releases, every change written down"}]},{"href":"/en/ecosystem","icon":"network","group":"Get started","nav":"Ecosystem","title":"Piagent, Agent Watch and Agent Studio","lead":"What runs on your machine, what runs on the company server, and when to use your own model or the company's.","headings":[{"id":"overview","text":"One dashboard, two ways to use models"},{"id":"parts","text":"Each part does one job"},{"id":"piagent","text":"Piagent"},{"id":"guard","text":"Guard"},{"id":"agent-watch","text":"Agent Watch"},{"id":"agent-studio","text":"Agent Studio"},{"id":"one-turn","text":"From a message to \"A check passed · Review found no blocking issue\""},{"id":"choose","text":"When to use personal, when to use company"}]},{"href":"/en/quickstart","icon":"rocket","group":"Get started","nav":"Install","title":"Install and run your first turn","lead":"Two commands to install. Open a repository, pick its profile and permissions, then ask in plain language.","headings":[{"id":"install","text":"Install"},{"id":"open-project","text":"Open a project"},{"id":"read-project","text":"Let the agent read the project"},{"id":"profile-and-permission","text":"Pick a profile and permission"},{"id":"ask","text":"Ask in plain language"},{"id":"check","text":"Check the installation"},{"id":"supported","text":"Supported systems"},{"id":"next","text":"Next"}]},{"href":"/en/windows","icon":"windows","group":"Get started","nav":"Windows","title":"Install on Windows with one command","lead":"One PowerShell command installs WSL2, Ubuntu, Piagent and Agent Watch, binds the company key and adds Piagent to the Start menu. Run it again to update.","headings":[{"id":"one-command","text":"Install with one command"},{"id":"every-day","text":"Every day"},{"id":"when-setup-fails","text":"When setup fails"},{"id":"why-wsl2","text":"Why WSL2"}]},{"href":"/en/update","icon":"refresh","group":"Get started","nav":"Update & uninstall","title":"Update, roll back and uninstall","lead":"One command moves to a new release, and the dashboard and Terminal tell you when one is out. Rollback and uninstall both preview first.","headings":[{"id":"update","text":"Update"},{"id":"open-terminals","text":"Open Terminals"},{"id":"what-it-does","text":"What it does, in order"},{"id":"options","text":"Common options"},{"id":"pin-for-a-team","text":"Pin one release for a team"},{"id":"rollback","text":"Roll back"},{"id":"uninstall","text":"Uninstall"},{"id":"windows","text":"On Windows"}]},{"href":"/en/whats-new","icon":"sparkles","group":"Get started","nav":"Changelog","title":"Changelog","lead":"Every release: what changed and which Studio or Agent Watch it needs. Newest first.","headings":[{"id":"latest","text":"Latest"},{"id":"v1-52-0-title","text":"Company helpers get an advisor and a general helper that works in its own clone"},{"id":"v1-51-2-title","text":"Running only the tests that cover a change works in every test tool"},{"id":"v1-51-1-title","text":"A task left running overnight no longer waits for an answer until morning"},{"id":"v1-51-0-title","text":"Follow every session from outside it, and a new Always bypass access"},{"id":"v1-50-0-title","text":"A push is judged repository by repository and reviewed first"},{"id":"v1-49-1-title","text":"A running turn says what it waits for"},{"id":"v1-49-0-title","text":"You choose how much to test"},{"id":"v1-48-5-title","text":"A running task keeps its tools when Piagent is updated"},{"id":"v1-48-4-title","text":"/reload keeps a company Terminal working; a new release never interrupts your next message"},{"id":"v1-48-3-title","text":"The agent sends pictures and files into the chat; reviews run across several repositories"},{"id":"v1-48-2-title","text":"Terminals load a new release without closing; only the member waives checks"},{"id":"v1-48-1-title","text":"Faster first replies on the dashboard and an instant Enter in the Terminal"},{"id":"v1-48-0-title","text":"Bypass stops at the handoff: every mode asks before work leaves the machine"},{"id":"v1-47-0-title","text":"Company sessions use your MCP servers and drive iOS and Android simulators"},{"id":"v1-46-4-title","text":"One subagent instead of a refused request; update reads a commented models.json"},{"id":"v1-46-3-title","text":"One subagent instead of a refused request; update reads a commented models.json not published"},{"id":"v1-46-2-title","text":"A message sent after an answer shows at once; the WebUI streams word by word"},{"id":"v1-46-1-title","text":"Objections on the record, one review per turn, parallel subagents on request"},{"id":"v1-46-0-title","text":"Piagent runs from its own Pi home and your own pi stays stock"},{"id":"v1-45-0-title","text":"Files and images in a prompt follow the read policy, and the terminal stays responsive"},{"id":"v1-44-4-title","text":"Company conversations come back in Herdr panes"},{"id":"v1-44-3-title","text":"Prompt injection cannot quietly read the system"},{"id":"v1-44-2-title","text":"The company harness follows the size of a change"},{"id":"v1-44-1-title","text":"Your own Pi stays, pick a Terminal style, add skill repositories"},{"id":"archive","text":"Earlier releases"}]},{"href":"/en/scope","icon":"target","group":"Get started","nav":"Platform scope","title":"What the platform owns","lead":"Every agent has governance primitives. This platform packages one repeatable operating model on Pi for every repository.","headings":[{"id":"not-a-new-agent","text":"This is not a new agent"},{"id":"complementary-layers","text":"The two layers are complementary"},{"id":"lower-layer","text":"The lower layer sees processes"},{"id":"upper-layer","text":"The upper layer sees intent"},{"id":"when-not-needed","text":"When you may not need it"}]},{"href":"/en/profiles","icon":"sliders","group":"Build","nav":"Project profiles","title":"Choose the right profile","lead":"A profile sets protected paths, verification commands and the capabilities a repository is granted.","headings":[]},{"href":"/en/permissions","icon":"key","group":"Build","nav":"Permission modes","title":"Change permissions per task","lead":"Permission modes apply to the current session only. Changing one does not modify the project profile.","headings":[]},{"href":"/en/commands","icon":"terminal","group":"Build","nav":"Command catalog","title":"Short commands, predictable behaviour","lead":"Slash commands package policy and flow, with one inspector for diffs, commands, safety and context.","headings":[{"id":"session-basics","text":"Session basics"},{"id":"project-profile","text":"Project profile"},{"id":"implementation-workflow","text":"Assigning work"},{"id":"git-handoff","text":"Git handoff"},{"id":"fresh-sessions","text":"New sessions"},{"id":"mcp","text":"MCP"},{"id":"subagents","text":"Subagents"},{"id":"product-status-commands","text":"Inspect runtime decisions"},{"id":"skills-and-packages","text":"Audit test quality, run experiment loops"}]},{"href":"/en/workflows","icon":"branch","group":"Build","nav":"Workflows","title":"Day-to-day work","lead":"No workflow launchers: say what you need in plain language. Inspection commands only observe and never start a model turn.","headings":[{"id":"conclusion","text":"No new command is mandatory in the daily flow"},{"id":"command-effects","text":"How far the inspection commands affect a workflow"},{"id":"example-flow","text":"A complete flow can look like this"},{"id":"sessions","text":"See every session without opening each space"}]},{"href":"/en/mcp","icon":"plug","group":"MCP","nav":"MCP overview","title":"MCP in Pi Agent Platform","lead":"The platform installs pi-mcp-adapter for token-efficient MCP access and manages servers across four configuration layers.","headings":[{"id":"start","text":"Where to start"},{"id":"three-similar-names","text":"Three similar names that are not connected"},{"id":"four-config-layers","text":"Four configuration layers"},{"id":"presets","text":"Pinned presets"},{"id":"company-sessions","text":"In company sessions"},{"id":"token-efficiency","text":"Token efficiency"}]},{"href":"/en/mcp-servers","icon":"server","group":"MCP","nav":"Server management","title":"Add, inspect and remove MCP servers","lead":"piagent-mcp provides add, remove, get, list, enable and disable across all four scopes.","headings":[{"id":"two-surfaces","text":"Two surfaces for two contexts"},{"id":"commands","text":"Commands"},{"id":"in-session","text":"In a session"},{"id":"add-server","text":"Add a server"},{"id":"inspect","text":"Inspect"},{"id":"disable-remove","text":"Disable and remove"},{"id":"preset-command","text":"Preset"},{"id":"output","text":"Output names the modified file"},{"id":"updates","text":"Custom servers and updates"},{"id":"preserved","text":"Preserved"},{"id":"overwritten","text":"Replaced"}]},{"href":"/en/mcp-auth","icon":"lock","group":"MCP","nav":"Authentication","title":"Authentication and readiness","lead":"The platform stores no tokens and runs no OAuth. It rejects secrets in configuration and reports which servers are actually ready.","headings":[{"id":"no-token-storage","text":"The platform does not store tokens"},{"id":"reject-secrets","text":"Secrets are rejected before configuration is written"},{"id":"field-name","text":"Field-name detection"},{"id":"value-shape","text":"Value-shape detection"},{"id":"readiness","text":"Readiness states"}]},{"href":"/en/mcp-approval","icon":"shield-check","group":"MCP","nav":"Approval gate","title":"Repository servers require approval","lead":"Cloning an untrusted repository must not give its author a process on your machine. Decisions live outside the repository, pinned by digest.","headings":[{"id":"problem","text":"The problem"},{"id":"three-properties","text":"Three properties"},{"id":"outside-repository","text":"The decision lives outside the repository"},{"id":"digest-pinning","text":"Pinned by digest"},{"id":"tool-call-enforcement","text":"Enforced at tool call"},{"id":"limit","text":"Limit"},{"id":"imports","text":"Servers supplied through imports"},{"id":"design-decisions","text":"Design decisions"},{"id":"migration","text":"Migration"}]},{"href":"/en/security","icon":"shield","group":"Operate","nav":"Security model","title":"Policy enforcement, not an OS sandbox","lead":"Controlled tool surfaces fail closed when profiles, integrity locks or permissions are invalid.","headings":[{"id":"protected-paths","text":"Protected paths"},{"id":"shell-hardening","text":"Shell hardening"},{"id":"secret-redaction","text":"Secret redaction"},{"id":"capability-lock","text":"Capability lock"},{"id":"human-action-gate","text":"Human-action gate"},{"id":"verify-evidence","text":"Real checks"}]},{"href":"/en/architecture","icon":"layers","group":"Operate","nav":"Architecture","title":"Repository architecture","lead":"Core holds reusable policy and runtime infrastructure; business logic stays in the project that owns it.","headings":[{"id":"composition","text":"Composition"},{"id":"runtime-adapters","text":"Runtime adapters"},{"id":"core-services","text":"Core services"},{"id":"integrations","text":"Integrations"},{"id":"entrypoints","text":"Entrypoints"},{"id":"product-assets","text":"Product assets"},{"id":"adaptive-runtime","text":"Piagent now separates runtime decisions from Pi wiring"},{"id":"state-ownership","text":"Each state has one source of truth"}]},{"href":"/en/context-engine","icon":"cpu","group":"Operate","nav":"Context Engine","title":"Less context, same model quality","lead":"Local indexing, ranked retrieval, task-driven tool loading, semantic compaction and transparent telemetry.","headings":[{"id":"dynamic-tools","text":"Task-driven tools"},{"id":"local-index","text":"Local index"},{"id":"ranked-context","text":"Ranked context"},{"id":"semantic-compact","text":"Semantic compaction"},{"id":"test-impact","text":"Test impact"},{"id":"agent-watch","text":"Agent Watch"}]},{"href":"/en/benchmark","icon":"chart","group":"Operate","nav":"Benchmark","title":"Quality and efficiency evidence","lead":"Piagent against codex-cli on the same model and thinking level: 18 task families, 108 automatically graded sessions.","headings":[{"id":"benchmark-verdict","text":"Historical fresh-token score: 9.97/10"},{"id":"configuration","text":"Same model, same tasks, automatic grading"},{"id":"scores","text":"Token reduction does not trade away quality"},{"id":"tokens","text":"Measure the fixed workload, not only successful tasks"},{"id":"coverage","text":"Six domains with three families each"},{"id":"benchmark-bands","text":"Use the right suite for the decision"},{"id":"transparency","text":"Interpret results within their measured scope"},{"id":"historical-v1-2-12","text":"v1.2.12 remains historical evidence"}]},{"href":"/en/runtime","icon":"wrench","group":"Operate","nav":"Runtime tools","title":"Terminal commands for operators","lead":"Commands that run outside Pi: setup, updates, doctor, benchmarks, capabilities and MCP.","headings":[]},{"href":"/en/team","icon":"users","group":"Operate","nav":"Team usage","title":"One operating standard for the team","lead":"Each repository links the package, selects a fitting profile and keeps project documentation in its own repository.","headings":[{"id":"do","text":"Do"},{"id":"avoid","text":"Avoid"}]}]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"href":"/","icon":"home","group":"Bắt đầu","nav":"Tổng quan","title":"Pi Agent Platform","lead":"Coding agent cho cả team: guard kiểm tra mọi tool call, Harness của team tự chạy check và review, một dashboard cho Terminal và trình duyệt.","headings":[{"id":"khac-biet","text":"Agent làm nhanh. Platform giữ cho nó làm đúng."},{"id":"mot-luot","text":"Bạn nói việc. Phần còn lại có kiểm chứng."},{"id":"man-hinh","text":"Chụp từ dashboard đang chạy"},{"id":"hai-che-do","text":"Cùng một dashboard, hai cách dùng model"},{"id":"cai-dat","text":"Chạy trong hai phút"},{"id":"moi-cap-nhat","text":"Phát hành đều, ghi rõ từng thay đổi"}]},{"href":"/ecosystem","icon":"network","group":"Bắt đầu","nav":"Hệ sinh thái","title":"Piagent, Agent Watch và Agent Studio","lead":"Phần nào chạy trên máy bạn, phần nào ở máy chủ công ty, và khi nào dùng model cá nhân hay model của công ty.","headings":[{"id":"toan-canh","text":"Một dashboard, hai cách dùng model"},{"id":"thanh-phan","text":"Mỗi phần làm một việc"},{"id":"piagent","text":"Piagent"},{"id":"guard","text":"Guard"},{"id":"agent-watch","text":"Agent Watch"},{"id":"agent-studio","text":"Agent Studio"},{"id":"mot-luot","text":"Từ tin nhắn tới \"Check đã qua · Review không có lỗi chặn\""},{"id":"chon-che-do","text":"Khi nào dùng cá nhân, khi nào dùng công ty"}]},{"href":"/quickstart","icon":"rocket","group":"Bắt đầu","nav":"Cài đặt","title":"Cài đặt và chạy lượt đầu tiên","lead":"Hai lệnh để cài. Mở repo, chọn profile và quyền, rồi nói việc bằng lời thường.","headings":[{"id":"cai-dat","text":"Cài đặt"},{"id":"mo-project","text":"Mở project"},{"id":"doc-project","text":"Cho agent đọc project"},{"id":"profile-va-quyen","text":"Chọn profile và quyền"},{"id":"giao-viec","text":"Giao việc bằng lời thường"},{"id":"kiem-tra","text":"Kiểm tra cài đặt"},{"id":"ho-tro","text":"Hệ điều hành được hỗ trợ"},{"id":"tiep-theo","text":"Tiếp theo"}]},{"href":"/windows","icon":"windows","group":"Bắt đầu","nav":"Cài trên Windows","title":"Cài trên Windows bằng một lệnh","lead":"Một lệnh PowerShell cài WSL2, Ubuntu, Piagent và Agent Watch, nối key công ty và thêm Piagent vào Start menu. Chạy lại để cập nhật.","headings":[{"id":"cai-mot-lenh","text":"Cài bằng một lệnh"},{"id":"dung-hang-ngay","text":"Dùng hằng ngày"},{"id":"khi-cai-bi-loi","text":"Khi cài bị lỗi"},{"id":"vi-sao-wsl2","text":"Vì sao là WSL2"}]},{"href":"/update","icon":"refresh","group":"Bắt đầu","nav":"Cập nhật và gỡ","title":"Cập nhật, rollback và gỡ cài đặt","lead":"Một lệnh để lên bản mới, dashboard và Terminal tự báo khi có bản mới. Rollback và gỡ cài đặt đều có bước xem trước.","headings":[{"id":"cap-nhat","text":"Cập nhật"},{"id":"terminal-dang-mo","text":"Terminal đang mở"},{"id":"cap-nhat-lam-gi","text":"Lệnh này làm gì, theo thứ tự"},{"id":"tuy-chon","text":"Tuỳ chọn thường dùng"},{"id":"pin-cho-team","text":"Pin một bản cho cả team"},{"id":"rollback","text":"Rollback"},{"id":"go-cai-dat","text":"Gỡ cài đặt"},{"id":"windows","text":"Trên Windows"}]},{"href":"/whats-new","icon":"sparkles","group":"Bắt đầu","nav":"Changelog","title":"Changelog","lead":"Mỗi bản phát hành: thay đổi gì, cần bản nào của Studio hay Agent Watch. Bản mới nhất ở trên cùng.","headings":[{"id":"latest","text":"Mới nhất"},{"id":"v1-51-2-title","text":"Chạy riêng phần test liên quan dùng được với mọi công cụ test"},{"id":"v1-51-1-title","text":"Task để chạy qua đêm không còn đứng chờ câu trả lời tới sáng"},{"id":"v1-51-0-title","text":"Theo dõi mọi session từ bên ngoài, thêm quyền Always bypass"},{"id":"v1-50-0-title","text":"Push được xét theo từng repo và review trước"},{"id":"v1-49-1-title","text":"Lượt chạy nói rõ đang chờ gì"},{"id":"v1-49-0-title","text":"Bạn chọn chạy bao nhiêu test"},{"id":"v1-48-5-title","text":"Task đang chạy vẫn dùng được tool khi Piagent được cập nhật"},{"id":"v1-48-4-title","text":"/reload không còn làm hỏng Terminal công ty; nạp bản mới không làm mất tin nhắn"},{"id":"v1-48-3-title","text":"Agent gửi thẳng hình và file vào chat; review chạy được trong thư mục nhiều repo"},{"id":"v1-48-2-title","text":"Terminal nạp bản mới không cần đóng; chỉ member được bỏ qua kiểm tra"},{"id":"v1-48-1-title","text":"Dashboard trả lời nhanh hơn, Enter trong Terminal hiện tin nhắn ngay"},{"id":"v1-48-0-title","text":"Bypass dừng ở bước bàn giao: mọi chế độ hỏi trước khi việc rời khỏi máy"},{"id":"v1-47-0-title","text":"Phiên công ty dùng MCP server của bạn và điều khiển simulator iOS, Android"},{"id":"v1-46-4-title","text":"Một subagent thay vì bị chặn; bản cập nhật đọc được models.json có comment"},{"id":"v1-46-3-title","text":"Một subagent thay vì bị chặn; bản cập nhật đọc được models.json có comment không phát hành"},{"id":"v1-46-2-title","text":"Tin gửi sau câu trả lời hiện ngay; WebUI hiện chữ dần"},{"id":"v1-46-1-title","text":"Phản biện có sổ ghi, review một nhịp, subagent song song khi được yêu cầu"},{"id":"v1-46-0-title","text":"Piagent chạy trong Pi home riêng, pi của bạn giữ nguyên bản gốc"},{"id":"v1-45-0-title","text":"File và ảnh trong prompt theo đúng quyền đọc, terminal không còn đứng hình"},{"id":"v1-44-4-title","text":"Conversation công ty trở lại trong pane Herdr"},{"id":"v1-44-3-title","text":"Prompt injection không lặng lẽ đọc được hệ thống"},{"id":"v1-44-2-title","text":"Harness công ty theo cỡ thay đổi"},{"id":"v1-44-1-title","text":"Giữ Pi của bạn, chọn giao diện Terminal, thêm repo skill"},{"id":"v1-44-0-title","text":"Giữ Pi của bạn, chọn giao diện Terminal, thêm repo skill không phát hành"},{"id":"archive","text":"Các bản trước"}]},{"href":"/scope","icon":"target","group":"Bắt đầu","nav":"Phạm vi platform","title":"Platform nhận phần nào về mình","lead":"Agent nào cũng có cơ chế governance riêng. Platform này đóng gói một cách vận hành cụ thể trên Pi để mọi repo dùng lại.","headings":[{"id":"khong-phai-agent-moi","text":"Đây không phải một agent mới"},{"id":"hai-lop-khong-thay-the-nhau","text":"Hai lớp không thay thế nhau"},{"id":"lop-duoi","text":"Lớp dưới thấy process"},{"id":"lop-tren","text":"Lớp trên thấy ý định"},{"id":"khi-nao-khong-can","text":"Khi nào không cần"}]},{"href":"/profiles","icon":"sliders","group":"Sử dụng","nav":"Project profile","title":"Chọn đúng profile cho repo","lead":"Profile quyết định protected path, verify command và capability mà repo được cấp; ghi vào .pi/piagent-profile.json và lock tương ứng.","headings":[]},{"href":"/permissions","icon":"key","group":"Sử dụng","nav":"Permission modes","title":"Đổi quyền theo task bằng một lệnh","lead":"Permission mode chỉ áp dụng cho session hiện tại. Đổi mode không sửa project profile.","headings":[]},{"href":"/commands","icon":"terminal","group":"Sử dụng","nav":"Command catalog","title":"Command ngắn, hành vi rõ","lead":"Slash command gói sẵn policy và flow; một inspector cho diff, command, safety và context.","headings":[{"id":"session-basics","text":"Session basics"},{"id":"project-profile","text":"Project profile"},{"id":"implementation-workflow","text":"Giao việc"},{"id":"git-handoff","text":"Git handoff"},{"id":"fresh-sessions","text":"Session mới"},{"id":"mcp","text":"MCP"},{"id":"subagents","text":"Subagents"},{"id":"product-status-command","text":"Xem runtime đang quyết định gì"},{"id":"skill-va-package","text":"Kiểm tra chất lượng test, chạy vòng thử nghiệm"}]},{"href":"/workflows","icon":"branch","group":"Sử dụng","nav":"Workflows","title":"Làm việc hằng ngày","lead":"Không có launcher workflow: nói việc bằng lời thường. Command xem thêm chỉ quan sát, không mở lượt model.","headings":[{"id":"ket-luan","text":"Không có command bắt buộc mới trong daily flow"},{"id":"command-anh-huong-gi","text":"Command xem thêm ảnh hưởng workflow đến đâu"},{"id":"luong-mau","text":"Một luồng đầy đủ có thể dùng như sau"},{"id":"sessions","text":"Xem mọi session mà không cần vào từng space"}]},{"href":"/mcp","icon":"plug","group":"MCP","nav":"Tổng quan MCP","title":"MCP trong Pi Agent Platform","lead":"Platform cài pi-mcp-adapter để dùng MCP tiết kiệm token, và quản lý server trên bốn lớp cấu hình.","headings":[{"id":"bat-dau","text":"Bắt đầu ở đâu"},{"id":"ba-thu-trung-ten","text":"Ba thứ trùng tên, không nối với nhau"},{"id":"bon-layer-config","text":"Bốn layer config"},{"id":"preset","text":"Preset seed sẵn"},{"id":"phien-cong-ty","text":"Trong phiên công ty"},{"id":"token","text":"Token efficiency"}]},{"href":"/mcp-servers","icon":"server","group":"MCP","nav":"Quản lý server","title":"Thêm, xem và gỡ MCP server","lead":"piagent-mcp có đủ add, remove, get, list, enable, disable trên cả bốn scope.","headings":[{"id":"hai-be-mat","text":"Hai bề mặt, chọn theo chỗ đang đứng"},{"id":"lenh","text":"Lệnh"},{"id":"trong-session","text":"Trong session"},{"id":"them-server","text":"Thêm server"},{"id":"xem","text":"Xem"},{"id":"tat-xoa","text":"Tắt và xoá"},{"id":"preset-lenh","text":"Preset"},{"id":"output","text":"Output nói rõ đã sửa file nào"},{"id":"update","text":"Server tự thêm và luồng update"},{"id":"giu-nguyen","text":"Giữ nguyên"},{"id":"bi-ghi-de","text":"Bị ghi đè"}]},{"href":"/mcp-auth","icon":"lock","group":"MCP","nav":"Auth và readiness","title":"Đăng nhập và trạng thái sẵn sàng","lead":"Platform không giữ token và không tự chạy OAuth. Nó từ chối ghi secret vào config và cho biết server nào thật sự gọi được.","headings":[{"id":"khong-giu-token","text":"Platform không giữ token"},{"id":"tu-choi-secret","text":"Secret bị từ chối ngay khi ghi config"},{"id":"theo-ten","text":"Theo tên field"},{"id":"theo-gia-tri","text":"Theo giá trị"},{"id":"trang-thai","text":"Trạng thái sẵn sàng"}]},{"href":"/mcp-approval","icon":"shield-check","group":"MCP","nav":"Approval gate","title":"Server đến từ repo phải được duyệt","lead":"Clone một repo lạ không cho tác giả repo đó chạy process trên máy bạn. Quyết định lưu ngoài repo và pin theo digest.","headings":[{"id":"van-de","text":"Vấn đề"},{"id":"ba-tinh-chat","text":"Ba tính chất"},{"id":"ngoai-repo","text":"Quyết định nằm ngoài repo"},{"id":"pin-digest","text":"Pin theo digest"},{"id":"enforce-tool-call","text":"Enforce ở tool call"},{"id":"gioi-han","text":"Giới hạn"},{"id":"imports","text":"Server đến qua imports"},{"id":"thiet-ke","text":"Bốn quyết định thiết kế"},{"id":"migration","text":"Migration"}]},{"href":"/security","icon":"shield","group":"Vận hành","nav":"Security model","title":"Lớp policy, không phải OS sandbox","lead":"Fail-closed trong bề mặt tool được kiểm soát: lock sai, profile sai hay thiếu quyền thì chặn, không đoán.","headings":[{"id":"protected-paths","text":"Protected paths"},{"id":"shell-hardening","text":"Shell hardening"},{"id":"secret-redaction","text":"Secret redaction"},{"id":"capability-lock","text":"Capability lock"},{"id":"human-action-gate","text":"Human-action gate"},{"id":"verify-evidence","text":"Check thật"}]},{"href":"/architecture","icon":"layers","group":"Vận hành","nav":"Kiến trúc","title":"Kiến trúc repo","lead":"Core chỉ giữ policy, prompt, guard, skill và script dùng lại được; business logic ở lại project của nó.","headings":[{"id":"composition","text":"Composition"},{"id":"runtime-adapters","text":"Runtime adapters"},{"id":"core-services","text":"Core services"},{"id":"integrations","text":"Integrations"},{"id":"entrypoints","text":"Entrypoints"},{"id":"product-assets","text":"Product assets"},{"id":"adaptive-runtime","text":"Piagent tách runtime decision khỏi Pi wiring"},{"id":"state-ownership","text":"Một state chỉ có một source of truth"}]},{"href":"/context-engine","icon":"cpu","group":"Vận hành","nav":"Context Engine","title":"Ít context hơn, giữ nguyên chất lượng","lead":"Index local, retrieval có xếp hạng, tool nạp theo task, compaction theo ngữ nghĩa và telemetry minh bạch.","headings":[{"id":"dynamic-tools","text":"Tool theo task"},{"id":"local-index","text":"Index local"},{"id":"ranked-context","text":"Context có xếp hạng"},{"id":"semantic-compact","text":"Semantic compact"},{"id":"test-impact","text":"Test impact"},{"id":"agent-watch","text":"Agent Watch"}]},{"href":"/benchmark","icon":"chart","group":"Vận hành","nav":"Benchmark","title":"Bằng chứng chất lượng và hiệu suất","lead":"So Piagent với codex-cli trên cùng model, cùng thinking: 18 nhóm bài, 108 session chấm tự động.","headings":[{"id":"benchmark-verdict","text":"Điểm fresh-token lịch sử: 9,97/10"},{"id":"cau-hinh","text":"Cùng model, cùng bài, chấm tự động"},{"id":"diem-so","text":"Không đổi chất lượng lấy token"},{"id":"token","text":"Đo toàn bộ workload cố định, không chỉ task thành công"},{"id":"pham-vi","text":"Sáu domain, mỗi domain ba family"},{"id":"benchmark-bands","text":"Chọn đúng suite theo quyết định cần đưa ra"},{"id":"minh-bach","text":"Đọc kết quả đúng phạm vi"},{"id":"lich-su-v1-2-12","text":"v1.2.12 vẫn được giữ như bằng chứng lịch sử"}]},{"href":"/runtime","icon":"wrench","group":"Vận hành","nav":"Runtime tools","title":"Terminal command cho người vận hành","lead":"Command chạy ngoài slash command: setup, doctor, benchmark, capability và MCP.","headings":[]},{"href":"/team","icon":"users","group":"Vận hành","nav":"Dùng cho team","title":"Một chuẩn vận hành cho cả team","lead":"Mỗi repo link package, chọn profile phù hợp và giữ tài liệu riêng ở repo của dự án đó.","headings":[{"id":"viec-nen-lam","text":"Việc nên làm"},{"id":"viec-nen-tranh","text":"Việc nên tránh"}]}]
|
|
1
|
+
[{"href":"/","icon":"home","group":"Bắt đầu","nav":"Tổng quan","title":"Pi Agent Platform","lead":"Coding agent cho cả team: guard kiểm tra mọi tool call, Harness của team tự chạy check và review, một dashboard cho Terminal và trình duyệt.","headings":[{"id":"khac-biet","text":"Agent làm nhanh. Platform giữ cho nó làm đúng."},{"id":"mot-luot","text":"Bạn nói việc. Phần còn lại có kiểm chứng."},{"id":"man-hinh","text":"Chụp từ dashboard đang chạy"},{"id":"hai-che-do","text":"Cùng một dashboard, hai cách dùng model"},{"id":"cai-dat","text":"Chạy trong hai phút"},{"id":"moi-cap-nhat","text":"Phát hành đều, ghi rõ từng thay đổi"}]},{"href":"/ecosystem","icon":"network","group":"Bắt đầu","nav":"Hệ sinh thái","title":"Piagent, Agent Watch và Agent Studio","lead":"Phần nào chạy trên máy bạn, phần nào ở máy chủ công ty, và khi nào dùng model cá nhân hay model của công ty.","headings":[{"id":"toan-canh","text":"Một dashboard, hai cách dùng model"},{"id":"thanh-phan","text":"Mỗi phần làm một việc"},{"id":"piagent","text":"Piagent"},{"id":"guard","text":"Guard"},{"id":"agent-watch","text":"Agent Watch"},{"id":"agent-studio","text":"Agent Studio"},{"id":"mot-luot","text":"Từ tin nhắn tới \"Check đã qua · Review không có lỗi chặn\""},{"id":"chon-che-do","text":"Khi nào dùng cá nhân, khi nào dùng công ty"}]},{"href":"/quickstart","icon":"rocket","group":"Bắt đầu","nav":"Cài đặt","title":"Cài đặt và chạy lượt đầu tiên","lead":"Hai lệnh để cài. Mở repo, chọn profile và quyền, rồi nói việc bằng lời thường.","headings":[{"id":"cai-dat","text":"Cài đặt"},{"id":"mo-project","text":"Mở project"},{"id":"doc-project","text":"Cho agent đọc project"},{"id":"profile-va-quyen","text":"Chọn profile và quyền"},{"id":"giao-viec","text":"Giao việc bằng lời thường"},{"id":"kiem-tra","text":"Kiểm tra cài đặt"},{"id":"ho-tro","text":"Hệ điều hành được hỗ trợ"},{"id":"tiep-theo","text":"Tiếp theo"}]},{"href":"/windows","icon":"windows","group":"Bắt đầu","nav":"Cài trên Windows","title":"Cài trên Windows bằng một lệnh","lead":"Một lệnh PowerShell cài WSL2, Ubuntu, Piagent và Agent Watch, nối key công ty và thêm Piagent vào Start menu. Chạy lại để cập nhật.","headings":[{"id":"cai-mot-lenh","text":"Cài bằng một lệnh"},{"id":"dung-hang-ngay","text":"Dùng hằng ngày"},{"id":"khi-cai-bi-loi","text":"Khi cài bị lỗi"},{"id":"vi-sao-wsl2","text":"Vì sao là WSL2"}]},{"href":"/update","icon":"refresh","group":"Bắt đầu","nav":"Cập nhật và gỡ","title":"Cập nhật, rollback và gỡ cài đặt","lead":"Một lệnh để lên bản mới, dashboard và Terminal tự báo khi có bản mới. Rollback và gỡ cài đặt đều có bước xem trước.","headings":[{"id":"cap-nhat","text":"Cập nhật"},{"id":"terminal-dang-mo","text":"Terminal đang mở"},{"id":"cap-nhat-lam-gi","text":"Lệnh này làm gì, theo thứ tự"},{"id":"tuy-chon","text":"Tuỳ chọn thường dùng"},{"id":"pin-cho-team","text":"Pin một bản cho cả team"},{"id":"rollback","text":"Rollback"},{"id":"go-cai-dat","text":"Gỡ cài đặt"},{"id":"windows","text":"Trên Windows"}]},{"href":"/whats-new","icon":"sparkles","group":"Bắt đầu","nav":"Changelog","title":"Changelog","lead":"Mỗi bản phát hành: thay đổi gì, cần bản nào của Studio hay Agent Watch. Bản mới nhất ở trên cùng.","headings":[{"id":"latest","text":"Mới nhất"},{"id":"v1-52-0-title","text":"Helper công ty có thêm advisor và general làm việc trong bản clone riêng"},{"id":"v1-51-2-title","text":"Chạy riêng phần test liên quan dùng được với mọi công cụ test"},{"id":"v1-51-1-title","text":"Task để chạy qua đêm không còn đứng chờ câu trả lời tới sáng"},{"id":"v1-51-0-title","text":"Theo dõi mọi session từ bên ngoài, thêm quyền Always bypass"},{"id":"v1-50-0-title","text":"Push được xét theo từng repo và review trước"},{"id":"v1-49-1-title","text":"Lượt chạy nói rõ đang chờ gì"},{"id":"v1-49-0-title","text":"Bạn chọn chạy bao nhiêu test"},{"id":"v1-48-5-title","text":"Task đang chạy vẫn dùng được tool khi Piagent được cập nhật"},{"id":"v1-48-4-title","text":"/reload không còn làm hỏng Terminal công ty; nạp bản mới không làm mất tin nhắn"},{"id":"v1-48-3-title","text":"Agent gửi thẳng hình và file vào chat; review chạy được trong thư mục nhiều repo"},{"id":"v1-48-2-title","text":"Terminal nạp bản mới không cần đóng; chỉ member được bỏ qua kiểm tra"},{"id":"v1-48-1-title","text":"Dashboard trả lời nhanh hơn, Enter trong Terminal hiện tin nhắn ngay"},{"id":"v1-48-0-title","text":"Bypass dừng ở bước bàn giao: mọi chế độ hỏi trước khi việc rời khỏi máy"},{"id":"v1-47-0-title","text":"Phiên công ty dùng MCP server của bạn và điều khiển simulator iOS, Android"},{"id":"v1-46-4-title","text":"Một subagent thay vì bị chặn; bản cập nhật đọc được models.json có comment"},{"id":"v1-46-3-title","text":"Một subagent thay vì bị chặn; bản cập nhật đọc được models.json có comment không phát hành"},{"id":"v1-46-2-title","text":"Tin gửi sau câu trả lời hiện ngay; WebUI hiện chữ dần"},{"id":"v1-46-1-title","text":"Phản biện có sổ ghi, review một nhịp, subagent song song khi được yêu cầu"},{"id":"v1-46-0-title","text":"Piagent chạy trong Pi home riêng, pi của bạn giữ nguyên bản gốc"},{"id":"v1-45-0-title","text":"File và ảnh trong prompt theo đúng quyền đọc, terminal không còn đứng hình"},{"id":"v1-44-4-title","text":"Conversation công ty trở lại trong pane Herdr"},{"id":"v1-44-3-title","text":"Prompt injection không lặng lẽ đọc được hệ thống"},{"id":"v1-44-2-title","text":"Harness công ty theo cỡ thay đổi"},{"id":"v1-44-1-title","text":"Giữ Pi của bạn, chọn giao diện Terminal, thêm repo skill"},{"id":"archive","text":"Các bản trước"}]},{"href":"/scope","icon":"target","group":"Bắt đầu","nav":"Phạm vi platform","title":"Platform nhận phần nào về mình","lead":"Agent nào cũng có cơ chế governance riêng. Platform này đóng gói một cách vận hành cụ thể trên Pi để mọi repo dùng lại.","headings":[{"id":"khong-phai-agent-moi","text":"Đây không phải một agent mới"},{"id":"hai-lop-khong-thay-the-nhau","text":"Hai lớp không thay thế nhau"},{"id":"lop-duoi","text":"Lớp dưới thấy process"},{"id":"lop-tren","text":"Lớp trên thấy ý định"},{"id":"khi-nao-khong-can","text":"Khi nào không cần"}]},{"href":"/profiles","icon":"sliders","group":"Sử dụng","nav":"Project profile","title":"Chọn đúng profile cho repo","lead":"Profile quyết định protected path, verify command và capability mà repo được cấp; ghi vào .pi/piagent-profile.json và lock tương ứng.","headings":[]},{"href":"/permissions","icon":"key","group":"Sử dụng","nav":"Permission modes","title":"Đổi quyền theo task bằng một lệnh","lead":"Permission mode chỉ áp dụng cho session hiện tại. Đổi mode không sửa project profile.","headings":[]},{"href":"/commands","icon":"terminal","group":"Sử dụng","nav":"Command catalog","title":"Command ngắn, hành vi rõ","lead":"Slash command gói sẵn policy và flow; một inspector cho diff, command, safety và context.","headings":[{"id":"session-basics","text":"Session basics"},{"id":"project-profile","text":"Project profile"},{"id":"implementation-workflow","text":"Giao việc"},{"id":"git-handoff","text":"Git handoff"},{"id":"fresh-sessions","text":"Session mới"},{"id":"mcp","text":"MCP"},{"id":"subagents","text":"Subagents"},{"id":"product-status-command","text":"Xem runtime đang quyết định gì"},{"id":"skill-va-package","text":"Kiểm tra chất lượng test, chạy vòng thử nghiệm"}]},{"href":"/workflows","icon":"branch","group":"Sử dụng","nav":"Workflows","title":"Làm việc hằng ngày","lead":"Không có launcher workflow: nói việc bằng lời thường. Command xem thêm chỉ quan sát, không mở lượt model.","headings":[{"id":"ket-luan","text":"Không có command bắt buộc mới trong daily flow"},{"id":"command-anh-huong-gi","text":"Command xem thêm ảnh hưởng workflow đến đâu"},{"id":"luong-mau","text":"Một luồng đầy đủ có thể dùng như sau"},{"id":"sessions","text":"Xem mọi session mà không cần vào từng space"}]},{"href":"/mcp","icon":"plug","group":"MCP","nav":"Tổng quan MCP","title":"MCP trong Pi Agent Platform","lead":"Platform cài pi-mcp-adapter để dùng MCP tiết kiệm token, và quản lý server trên bốn lớp cấu hình.","headings":[{"id":"bat-dau","text":"Bắt đầu ở đâu"},{"id":"ba-thu-trung-ten","text":"Ba thứ trùng tên, không nối với nhau"},{"id":"bon-layer-config","text":"Bốn layer config"},{"id":"preset","text":"Preset seed sẵn"},{"id":"phien-cong-ty","text":"Trong phiên công ty"},{"id":"token","text":"Token efficiency"}]},{"href":"/mcp-servers","icon":"server","group":"MCP","nav":"Quản lý server","title":"Thêm, xem và gỡ MCP server","lead":"piagent-mcp có đủ add, remove, get, list, enable, disable trên cả bốn scope.","headings":[{"id":"hai-be-mat","text":"Hai bề mặt, chọn theo chỗ đang đứng"},{"id":"lenh","text":"Lệnh"},{"id":"trong-session","text":"Trong session"},{"id":"them-server","text":"Thêm server"},{"id":"xem","text":"Xem"},{"id":"tat-xoa","text":"Tắt và xoá"},{"id":"preset-lenh","text":"Preset"},{"id":"output","text":"Output nói rõ đã sửa file nào"},{"id":"update","text":"Server tự thêm và luồng update"},{"id":"giu-nguyen","text":"Giữ nguyên"},{"id":"bi-ghi-de","text":"Bị ghi đè"}]},{"href":"/mcp-auth","icon":"lock","group":"MCP","nav":"Auth và readiness","title":"Đăng nhập và trạng thái sẵn sàng","lead":"Platform không giữ token và không tự chạy OAuth. Nó từ chối ghi secret vào config và cho biết server nào thật sự gọi được.","headings":[{"id":"khong-giu-token","text":"Platform không giữ token"},{"id":"tu-choi-secret","text":"Secret bị từ chối ngay khi ghi config"},{"id":"theo-ten","text":"Theo tên field"},{"id":"theo-gia-tri","text":"Theo giá trị"},{"id":"trang-thai","text":"Trạng thái sẵn sàng"}]},{"href":"/mcp-approval","icon":"shield-check","group":"MCP","nav":"Approval gate","title":"Server đến từ repo phải được duyệt","lead":"Clone một repo lạ không cho tác giả repo đó chạy process trên máy bạn. Quyết định lưu ngoài repo và pin theo digest.","headings":[{"id":"van-de","text":"Vấn đề"},{"id":"ba-tinh-chat","text":"Ba tính chất"},{"id":"ngoai-repo","text":"Quyết định nằm ngoài repo"},{"id":"pin-digest","text":"Pin theo digest"},{"id":"enforce-tool-call","text":"Enforce ở tool call"},{"id":"gioi-han","text":"Giới hạn"},{"id":"imports","text":"Server đến qua imports"},{"id":"thiet-ke","text":"Bốn quyết định thiết kế"},{"id":"migration","text":"Migration"}]},{"href":"/security","icon":"shield","group":"Vận hành","nav":"Security model","title":"Lớp policy, không phải OS sandbox","lead":"Fail-closed trong bề mặt tool được kiểm soát: lock sai, profile sai hay thiếu quyền thì chặn, không đoán.","headings":[{"id":"protected-paths","text":"Protected paths"},{"id":"shell-hardening","text":"Shell hardening"},{"id":"secret-redaction","text":"Secret redaction"},{"id":"capability-lock","text":"Capability lock"},{"id":"human-action-gate","text":"Human-action gate"},{"id":"verify-evidence","text":"Check thật"}]},{"href":"/architecture","icon":"layers","group":"Vận hành","nav":"Kiến trúc","title":"Kiến trúc repo","lead":"Core chỉ giữ policy, prompt, guard, skill và script dùng lại được; business logic ở lại project của nó.","headings":[{"id":"composition","text":"Composition"},{"id":"runtime-adapters","text":"Runtime adapters"},{"id":"core-services","text":"Core services"},{"id":"integrations","text":"Integrations"},{"id":"entrypoints","text":"Entrypoints"},{"id":"product-assets","text":"Product assets"},{"id":"adaptive-runtime","text":"Piagent tách runtime decision khỏi Pi wiring"},{"id":"state-ownership","text":"Một state chỉ có một source of truth"}]},{"href":"/context-engine","icon":"cpu","group":"Vận hành","nav":"Context Engine","title":"Ít context hơn, giữ nguyên chất lượng","lead":"Index local, retrieval có xếp hạng, tool nạp theo task, compaction theo ngữ nghĩa và telemetry minh bạch.","headings":[{"id":"dynamic-tools","text":"Tool theo task"},{"id":"local-index","text":"Index local"},{"id":"ranked-context","text":"Context có xếp hạng"},{"id":"semantic-compact","text":"Semantic compact"},{"id":"test-impact","text":"Test impact"},{"id":"agent-watch","text":"Agent Watch"}]},{"href":"/benchmark","icon":"chart","group":"Vận hành","nav":"Benchmark","title":"Bằng chứng chất lượng và hiệu suất","lead":"So Piagent với codex-cli trên cùng model, cùng thinking: 18 nhóm bài, 108 session chấm tự động.","headings":[{"id":"benchmark-verdict","text":"Điểm fresh-token lịch sử: 9,97/10"},{"id":"cau-hinh","text":"Cùng model, cùng bài, chấm tự động"},{"id":"diem-so","text":"Không đổi chất lượng lấy token"},{"id":"token","text":"Đo toàn bộ workload cố định, không chỉ task thành công"},{"id":"pham-vi","text":"Sáu domain, mỗi domain ba family"},{"id":"benchmark-bands","text":"Chọn đúng suite theo quyết định cần đưa ra"},{"id":"minh-bach","text":"Đọc kết quả đúng phạm vi"},{"id":"lich-su-v1-2-12","text":"v1.2.12 vẫn được giữ như bằng chứng lịch sử"}]},{"href":"/runtime","icon":"wrench","group":"Vận hành","nav":"Runtime tools","title":"Terminal command cho người vận hành","lead":"Command chạy ngoài slash command: setup, doctor, benchmark, capability và MCP.","headings":[]},{"href":"/team","icon":"users","group":"Vận hành","nav":"Dùng cho team","title":"Một chuẩn vận hành cho cả team","lead":"Mỗi repo link package, chọn profile phù hợp và giữ tài liệu riêng ở repo của dự án đó.","headings":[{"id":"viec-nen-lam","text":"Việc nên làm"},{"id":"viec-nen-tranh","text":"Việc nên tránh"}]}]
|
package/docs-site/benchmark.html
CHANGED
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
<span class="brand-mark"><img src="/assets/piagent-logo.svg" alt="" width="28" height="28" /></span>
|
|
38
38
|
<span class="brand-name"><b>Piagent</b> <span>Platform</span></span>
|
|
39
39
|
</a>
|
|
40
|
-
<a class="version-badge" href="/whats-new" data-docs-version="v1.
|
|
40
|
+
<a class="version-badge" href="/whats-new" data-docs-version="v1.52.0" title="v1.52.0 docs · VI"><span class="dot"></span>v1.52.0</a>
|
|
41
41
|
<nav class="top-nav" aria-label="Tài liệu">
|
|
42
42
|
<a href="/quickstart">Tài liệu</a>
|
|
43
43
|
<a href="/whats-new">Changelog</a>
|
package/docs-site/commands.html
CHANGED
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
<span class="brand-mark"><img src="/assets/piagent-logo.svg" alt="" width="28" height="28" /></span>
|
|
38
38
|
<span class="brand-name"><b>Piagent</b> <span>Platform</span></span>
|
|
39
39
|
</a>
|
|
40
|
-
<a class="version-badge" href="/whats-new" data-docs-version="v1.
|
|
40
|
+
<a class="version-badge" href="/whats-new" data-docs-version="v1.52.0" title="v1.52.0 docs · VI"><span class="dot"></span>v1.52.0</a>
|
|
41
41
|
<nav class="top-nav" aria-label="Tài liệu">
|
|
42
42
|
<a href="/quickstart">Tài liệu</a>
|
|
43
43
|
<a href="/whats-new">Changelog</a>
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
<span class="brand-mark"><img src="/assets/piagent-logo.svg" alt="" width="28" height="28" /></span>
|
|
38
38
|
<span class="brand-name"><b>Piagent</b> <span>Platform</span></span>
|
|
39
39
|
</a>
|
|
40
|
-
<a class="version-badge" href="/whats-new" data-docs-version="v1.
|
|
40
|
+
<a class="version-badge" href="/whats-new" data-docs-version="v1.52.0" title="v1.52.0 docs · VI"><span class="dot"></span>v1.52.0</a>
|
|
41
41
|
<nav class="top-nav" aria-label="Tài liệu">
|
|
42
42
|
<a href="/quickstart">Tài liệu</a>
|
|
43
43
|
<a href="/whats-new">Changelog</a>
|
package/docs-site/ecosystem.html
CHANGED
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
<span class="brand-mark"><img src="/assets/piagent-logo.svg" alt="" width="28" height="28" /></span>
|
|
38
38
|
<span class="brand-name"><b>Piagent</b> <span>Platform</span></span>
|
|
39
39
|
</a>
|
|
40
|
-
<a class="version-badge" href="/whats-new" data-docs-version="v1.
|
|
40
|
+
<a class="version-badge" href="/whats-new" data-docs-version="v1.52.0" title="v1.52.0 docs · VI"><span class="dot"></span>v1.52.0</a>
|
|
41
41
|
<nav class="top-nav" aria-label="Tài liệu">
|
|
42
42
|
<a href="/quickstart">Tài liệu</a>
|
|
43
43
|
<a href="/whats-new">Changelog</a>
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
<span class="brand-mark"><img src="/assets/piagent-logo.svg" alt="" width="28" height="28" /></span>
|
|
38
38
|
<span class="brand-name"><b>Piagent</b> <span>Platform</span></span>
|
|
39
39
|
</a>
|
|
40
|
-
<a class="version-badge" href="/en/whats-new" data-docs-version="v1.
|
|
40
|
+
<a class="version-badge" href="/en/whats-new" data-docs-version="v1.52.0" title="v1.52.0 docs · EN"><span class="dot"></span>v1.52.0</a>
|
|
41
41
|
<nav class="top-nav" aria-label="Documentation">
|
|
42
42
|
<a href="/en/quickstart">Docs</a>
|
|
43
43
|
<a href="/en/whats-new">Changelog</a>
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
<span class="brand-mark"><img src="/assets/piagent-logo.svg" alt="" width="28" height="28" /></span>
|
|
38
38
|
<span class="brand-name"><b>Piagent</b> <span>Platform</span></span>
|
|
39
39
|
</a>
|
|
40
|
-
<a class="version-badge" href="/en/whats-new" data-docs-version="v1.
|
|
40
|
+
<a class="version-badge" href="/en/whats-new" data-docs-version="v1.52.0" title="v1.52.0 docs · EN"><span class="dot"></span>v1.52.0</a>
|
|
41
41
|
<nav class="top-nav" aria-label="Documentation">
|
|
42
42
|
<a href="/en/quickstart">Docs</a>
|
|
43
43
|
<a href="/en/whats-new">Changelog</a>
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
<span class="brand-mark"><img src="/assets/piagent-logo.svg" alt="" width="28" height="28" /></span>
|
|
38
38
|
<span class="brand-name"><b>Piagent</b> <span>Platform</span></span>
|
|
39
39
|
</a>
|
|
40
|
-
<a class="version-badge" href="/en/whats-new" data-docs-version="v1.
|
|
40
|
+
<a class="version-badge" href="/en/whats-new" data-docs-version="v1.52.0" title="v1.52.0 docs · EN"><span class="dot"></span>v1.52.0</a>
|
|
41
41
|
<nav class="top-nav" aria-label="Documentation">
|
|
42
42
|
<a href="/en/quickstart">Docs</a>
|
|
43
43
|
<a href="/en/whats-new">Changelog</a>
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
<span class="brand-mark"><img src="/assets/piagent-logo.svg" alt="" width="28" height="28" /></span>
|
|
38
38
|
<span class="brand-name"><b>Piagent</b> <span>Platform</span></span>
|
|
39
39
|
</a>
|
|
40
|
-
<a class="version-badge" href="/en/whats-new" data-docs-version="v1.
|
|
40
|
+
<a class="version-badge" href="/en/whats-new" data-docs-version="v1.52.0" title="v1.52.0 docs · EN"><span class="dot"></span>v1.52.0</a>
|
|
41
41
|
<nav class="top-nav" aria-label="Documentation">
|
|
42
42
|
<a href="/en/quickstart">Docs</a>
|
|
43
43
|
<a href="/en/whats-new">Changelog</a>
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
<span class="brand-mark"><img src="/assets/piagent-logo.svg" alt="" width="28" height="28" /></span>
|
|
38
38
|
<span class="brand-name"><b>Piagent</b> <span>Platform</span></span>
|
|
39
39
|
</a>
|
|
40
|
-
<a class="version-badge" href="/en/whats-new" data-docs-version="v1.
|
|
40
|
+
<a class="version-badge" href="/en/whats-new" data-docs-version="v1.52.0" title="v1.52.0 docs · EN"><span class="dot"></span>v1.52.0</a>
|
|
41
41
|
<nav class="top-nav" aria-label="Documentation">
|
|
42
42
|
<a href="/en/quickstart">Docs</a>
|
|
43
43
|
<a href="/en/whats-new">Changelog</a>
|