@piagent/platform 1.44.2 → 1.44.4

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.
Files changed (90) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/README.md +1 -1
  3. package/README.vi.md +1 -1
  4. package/docs/command-reference-vietnamese.md +2 -2
  5. package/docs/distribution-standard.md +6 -6
  6. package/docs/en/windows.md +2 -0
  7. package/docs/herdr-workflow.md +13 -1
  8. package/docs/languages.json +4 -4
  9. package/docs/operator-manual-vietnamese.md +7 -7
  10. package/docs/publishing-for-teams.md +2 -0
  11. package/docs/quickstart-vietnamese.md +1 -1
  12. package/docs/release-install-policy.md +2 -2
  13. package/docs/team-onboarding.md +2 -2
  14. package/docs/vi/windows.md +2 -0
  15. package/docs-site/architecture.html +1 -1
  16. package/docs-site/assets/search-en.json +1 -1
  17. package/docs-site/assets/search-vi.json +1 -1
  18. package/docs-site/benchmark.html +1 -1
  19. package/docs-site/commands.html +1 -1
  20. package/docs-site/content/en/quickstart.html +1 -1
  21. package/docs-site/content/quickstart.html +1 -1
  22. package/docs-site/context-engine.html +1 -1
  23. package/docs-site/ecosystem.html +1 -1
  24. package/docs-site/en/architecture.html +1 -1
  25. package/docs-site/en/benchmark.html +1 -1
  26. package/docs-site/en/commands.html +1 -1
  27. package/docs-site/en/context-engine.html +1 -1
  28. package/docs-site/en/ecosystem.html +1 -1
  29. package/docs-site/en/index.html +15 -15
  30. package/docs-site/en/mcp-approval.html +1 -1
  31. package/docs-site/en/mcp-auth.html +1 -1
  32. package/docs-site/en/mcp-servers.html +1 -1
  33. package/docs-site/en/mcp.html +1 -1
  34. package/docs-site/en/permissions.html +1 -1
  35. package/docs-site/en/profiles.html +1 -1
  36. package/docs-site/en/quickstart.html +2 -2
  37. package/docs-site/en/runtime.html +1 -1
  38. package/docs-site/en/scope.html +1 -1
  39. package/docs-site/en/security.html +1 -1
  40. package/docs-site/en/team.html +1 -1
  41. package/docs-site/en/update.html +3 -3
  42. package/docs-site/en/whats-new.html +50 -28
  43. package/docs-site/en/windows.html +1 -1
  44. package/docs-site/en/workflows.html +1 -1
  45. package/docs-site/index.html +15 -15
  46. package/docs-site/mcp-approval.html +1 -1
  47. package/docs-site/mcp-auth.html +1 -1
  48. package/docs-site/mcp-servers.html +1 -1
  49. package/docs-site/mcp.html +1 -1
  50. package/docs-site/permissions.html +1 -1
  51. package/docs-site/profiles.html +1 -1
  52. package/docs-site/quickstart.html +2 -2
  53. package/docs-site/releases.json +62 -0
  54. package/docs-site/runtime.html +1 -1
  55. package/docs-site/scope.html +1 -1
  56. package/docs-site/security.html +1 -1
  57. package/docs-site/team.html +1 -1
  58. package/docs-site/update.html +3 -3
  59. package/docs-site/whats-new.html +50 -28
  60. package/docs-site/windows.html +1 -1
  61. package/docs-site/workflows.html +1 -1
  62. package/evals/private-holdout-v1/public-exposure.v2.json +2 -2
  63. package/package.json +1 -1
  64. package/packages/piagent-core/extensions/company-session-guard.ts +4 -2
  65. package/packages/piagent-core/managed/command-tools.mjs +7 -5
  66. package/packages/piagent-core/managed/fetch-guard.mjs +38 -0
  67. package/packages/piagent-core/managed/helper-run.mjs +4 -2
  68. package/packages/piagent-core/managed/herdr-reporter.mjs +85 -0
  69. package/packages/piagent-core/managed/host-command.mjs +9 -0
  70. package/packages/piagent-core/managed/memory-tools.mjs +4 -3
  71. package/packages/piagent-core/managed/session.mjs +4 -4
  72. package/packages/piagent-core/managed/store.d.mts +1 -0
  73. package/packages/piagent-core/managed/store.mjs +13 -0
  74. package/packages/piagent-core/managed/untrusted.mjs +17 -0
  75. package/packages/piagent-core/package.json +1 -1
  76. package/packages/piagent-webui/dist/client/assets/{App-DcaqK-_s.js → App-CiwY9VpU.js} +1 -1
  77. package/packages/piagent-webui/dist/client/assets/{GatewayApp-5DVdNIyr.js → GatewayApp-DrNJW3v_.js} +3 -3
  78. package/packages/piagent-webui/dist/client/assets/{InspectionApp-CBPHxuqj.js → InspectionApp-BBiwSaV0.js} +1 -1
  79. package/packages/piagent-webui/dist/client/assets/{SessionAgentWorkspace-DmD9Qt4f.js → SessionAgentWorkspace-DwyPebIX.js} +1 -1
  80. package/packages/piagent-webui/dist/client/assets/{SessionInspectorDrawer-CK5ujmH3.js → SessionInspectorDrawer-CpVzaf_G.js} +2 -2
  81. package/packages/piagent-webui/dist/client/assets/SettingsNavigation-C-tO5iXn.js +3 -0
  82. package/packages/piagent-webui/dist/client/assets/{SettingsPage-Dda8GW2a.js → SettingsPage-Ca-qRSZa.js} +1 -1
  83. package/packages/piagent-webui/dist/client/assets/{TerminalPanel-X2389XHl.js → TerminalPanel-B8j_r6-y.js} +1 -1
  84. package/packages/piagent-webui/dist/client/assets/{WorkspaceCodeEditor-Dt3dS_QG.js → WorkspaceCodeEditor-BDTPvq-0.js} +1 -1
  85. package/packages/piagent-webui/dist/client/assets/{WorkspaceExplorer-CBHwY4BN.js → WorkspaceExplorer-DVsNU0eu.js} +3 -3
  86. package/packages/piagent-webui/dist/client/assets/{index-BMQo9OEq.js → index-uhJMXxqD.js} +2 -2
  87. package/packages/piagent-webui/dist/client/index.html +1 -1
  88. package/packages/piagent-webui/shared/company-copy.ts +1 -0
  89. package/scripts/piagent-studio.mjs +16 -6
  90. package/packages/piagent-webui/dist/client/assets/SettingsNavigation-BnorH-l_.js +0 -3
package/CHANGELOG.md CHANGED
@@ -4,6 +4,29 @@ 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.44.4 - 2026-10-28
8
+
9
+ **Company conversations come back in Herdr panes.** In Herdr (on Windows: inside WSL), a company pane reports its state and reopens the same conversation after Herdr restarts, with piagent studio --session.
10
+
11
+ ### Added
12
+
13
+ - piagent studio --session <file> reopens a company conversation; only a file of the member’s own store is accepted (managed-session-outside-store otherwise).
14
+ - A company conversation in a Herdr pane reports working, waiting or idle to Herdr, which resumes it with piagent studio, not personal pi. Needs Herdr 0.9.2+.
15
+
16
+ ### Fixed
17
+
18
+ - WSL/Linux: personal Pi no longer opens a company conversation that has no turn yet, and piagent studio --web opens the browser (wslview/explorer.exe).
19
+
20
+ ## v1.44.3 - 2026-10-28
21
+
22
+ **Prompt injection cannot quietly read the system.** Text in a page, file, memory or helper answer can no longer send data to an unknown site, read credentials in Bypass or steer the agent without the member seeing it.
23
+
24
+ ### Security
25
+
26
+ - web_fetch reads documentation and registry sites freely; another site is asked about once per conversation, and an address there with a query or fragment every time.
27
+ - Helper answers and team memory results reach the agent inside a data fence it cannot close; the agent never shows its configuration or credentials or asks for a secret on their word.
28
+ - In Bypass, run_on_host still asks when a command reaches credentials: ~/.ssh, ~/.pi, .env, auth.json, keys, the Keychain or the environment.
29
+
7
30
  ## v1.44.2 - 2026-10-28
8
31
 
9
32
  **The company harness follows the size of a change.** A small change ends after its checks without a review; a risky one has its checks and review required. The main agent may keep a few quick web lookups beside the research helper.
package/README.md CHANGED
@@ -44,7 +44,7 @@ npm install -g @piagent/platform
44
44
  piagent-setup
45
45
  ```
46
46
 
47
- `piagent-setup` installs the exact Pi host this release pins, installs the package, initializes `.pi/`, adds the MCP baseline and subagents, then runs the doctor. Skip extras with `--no-mcp`, `--no-subagents`, `--no-herdr` or `--global-only`. Install [Herdr](https://herdr.dev/docs/install/) first if you want its Pi integration.
47
+ `piagent-setup` installs the exact Pi host this release pins, installs the package, initializes `.pi/`, adds the MCP baseline and subagents, then runs the doctor. Skip extras with `--no-mcp`, `--no-subagents`, `--no-herdr` or `--global-only`. Install [Herdr](https://herdr.dev/docs/install/) first if you want its Pi integration; on Windows, install it inside Ubuntu (WSL2), next to Piagent.
48
48
 
49
49
  **Windows** — one PowerShell command installs WSL2, Ubuntu, Piagent and Agent Watch; run it again to update:
50
50
 
package/README.vi.md CHANGED
@@ -44,7 +44,7 @@ npm install -g @piagent/platform
44
44
  piagent-setup
45
45
  ```
46
46
 
47
- `piagent-setup` cài đúng bản Pi host mà release này pin, cài package, khởi tạo `.pi/`, thêm MCP baseline và subagent, rồi chạy doctor. Bỏ bớt bằng `--no-mcp`, `--no-subagents`, `--no-herdr` hoặc `--global-only`. Muốn dùng [Herdr](https://herdr.dev/docs/install/) thì cài Herdr trước.
47
+ `piagent-setup` cài đúng bản Pi host mà release này pin, cài package, khởi tạo `.pi/`, thêm MCP baseline và subagent, rồi chạy doctor. Bỏ bớt bằng `--no-mcp`, `--no-subagents`, `--no-herdr` hoặc `--global-only`. Muốn dùng [Herdr](https://herdr.dev/docs/install/) thì cài Herdr trước; trên Windows thì cài trong Ubuntu (WSL2), cùng chỗ với Piagent.
48
48
 
49
49
  **Windows** — một lệnh PowerShell cài WSL2, Ubuntu, Piagent và Agent Watch; chạy lại để cập nhật:
50
50
 
@@ -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.44.2` | Cài terminal helper `piagent-*` từ release tag hiện tại. |
481
- | `pi install git:github.com/Vt-mmm/piagent@v1.44.2` | Cài pinned release khi cần reproducible team setup. |
480
+ | `npm install -g --ignore-scripts @piagent/platform@1.44.4` | Cài terminal helper `piagent-*` từ release tag hiện tại. |
481
+ | `pi install git:github.com/Vt-mmm/piagent@v1.44.4` | 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.44.2` |
18
+ | Team pinned release | `git:github.com/Vt-mmm/piagent@v1.44.4` |
19
19
  | Personal/sandbox dev | `git:github.com/Vt-mmm/piagent` |
20
- | Registry distribution | `npm:@piagent/platform@1.44.2` |
20
+ | Registry distribution | `npm:@piagent/platform@1.44.4` |
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.44.2
57
+ pi install git:github.com/Vt-mmm/piagent@v1.44.4
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.44.2
69
+ npm install -g --ignore-scripts @piagent/platform@1.44.4
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.44.2` 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.44.2`.
74
+ `pi install git:github.com/Vt-mmm/piagent@v1.44.4` 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.44.4`.
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.44.2 \
121
+ --package-source git:github.com/Vt-mmm/piagent@v1.44.4 \
122
122
  --mcp-preset core \
123
123
  --subagents-preset safe
124
124
  ```
@@ -56,6 +56,8 @@ What the one-line command does, when you need to do it by hand:
56
56
 
57
57
  Check the machine with `piagent studio --doctor`.
58
58
 
59
+ Using [Herdr](../herdr-workflow.md)? Install it inside Ubuntu, not on Windows itself. In a Herdr pane, `piagent studio` reports its state to Herdr, and Herdr reopens the same company conversation after a restart.
60
+
59
61
  ### The sandbox on Linux and WSL2
60
62
 
61
63
  It keeps the macOS sandbox's promises, built from bubblewrap mounts:
@@ -14,7 +14,7 @@ curl -fsSL https://herdr.dev/install.sh | sh # macOS hoặc Linux
14
14
 
15
15
  Bản `curl` là cách herdr.dev đặt làm mặc định, nhưng nó chạy script tải về ngay lúc cài. Muốn xem được thứ mình chạy thì dùng `brew`, hoặc tải binary từ [GitHub releases](https://github.com/ogulcancelik/herdr/releases) rồi `chmod +x` và đưa vào `PATH`.
16
16
 
17
- Stable chỉ hỗ trợ macOS và Linux. Windows mới có bản preview, và cũng nằm ngoài runtime matrix của platform này.
17
+ **Windows:** cài Herdr **trong Ubuntu (WSL2)**, cùng chỗ với Piagent, không cài `herdr.exe` ngoài Windows. Chế độ công ty (`piagent studio`) chỉ chạy trong WSL2 ([Windows](vi/windows.md)), và Herdr phải dùng chung `$HOME` với Pi thì tích hợp mới cài vào đúng `~/.pi/agent`. Mở Windows Terminal với profile Ubuntu rồi chạy `herdr` trong đó. Herdr ngoài Windows chỉ thấy `wsl.exe`, không biết trạng thái agent và không mở lại được session.
18
18
 
19
19
  ## Setup integration
20
20
 
@@ -66,6 +66,18 @@ project
66
66
  └─ pi-notes decisions, handoff, and follow-up
67
67
  ```
68
68
 
69
+ ## Chế độ công ty trong Herdr
70
+
71
+ Mỗi pane chạy `piagent studio --project <project>`. Cuộc trò chuyện công ty không nạp extension cá nhân (gồm cả extension `herdr integration install pi` cài), nên Terminal công ty có reporter riêng: nó báo Herdr đang chạy / chờ bạn / rảnh, và gửi lệnh mở lại chính cuộc trò chuyện đó:
72
+
73
+ ```bash
74
+ piagent studio --project <project> --session <file cuộc trò chuyện công ty>
75
+ ```
76
+
77
+ Khi server Herdr khởi động lại (hay WSL bị tắt rồi mở lại), Herdr gõ lệnh này vào pane, nên cuộc trò chuyện công ty quay lại đúng chỗ thay vì mở bằng Pi cá nhân. `--session` chỉ nhận file trong kho cuộc trò chuyện công ty của bạn trên máy này. Cần Herdr 0.9.2 trở lên; Herdr cũ hơn vẫn hiện trạng thái nhưng không tự mở lại, khi đó chạy `piagent studio --project <project>` rồi `/resume`.
78
+
79
+ Cuộc trò chuyện cá nhân (`pi`) thì Herdr tự mở lại bằng tích hợp của nó.
80
+
69
81
  ## Rule
70
82
 
71
83
  - Herdr là orchestrator terminal/session, không phải security boundary.
@@ -21,8 +21,8 @@
21
21
  "en": "README.md",
22
22
  "vi": "README.vi.md",
23
23
  "consistentAt": {
24
- "en": "ad3f53b99174fa8a622daf5fd12b913fbf7c39d5",
25
- "vi": "8226fcd96616a25cad27922a358b2b2adf1de735"
24
+ "en": "ab90e7af87f0b065133ab21d56abb8f139173da7",
25
+ "vi": "223793d454f30bdbd7e510fbf851bbe1fcb7951a"
26
26
  }
27
27
  },
28
28
  {
@@ -57,8 +57,8 @@
57
57
  "en": "docs/en/windows.md",
58
58
  "vi": "docs/vi/windows.md",
59
59
  "consistentAt": {
60
- "en": "8bf18c59e1a99a57747a1d68775f43379d24e7af",
61
- "vi": "b6681a5be29c2891568d0cdbc26890b3b8f9570f"
60
+ "en": "0a31b3ecf41c585e461e2faaa2d44116a8009c36",
61
+ "vi": "62fb6eed3f605cd8f9a0a5de30006a196c9d4d94"
62
62
  }
63
63
  },
64
64
  {
@@ -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.44.2
22
+ npm install -g --ignore-scripts @piagent/platform@1.44.4
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.44.2`. Máy cá nhân có thể dùng `git:github.com/Vt-mmm/piagent` để theo latest.
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.44.4`. 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.44.2
103
+ npm install -g --ignore-scripts @piagent/platform@1.44.4
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.44.2 \
288
+ --package-source git:github.com/Vt-mmm/piagent@v1.44.4 \
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.44.2` | Cài terminal helper `piagent-*` từ release tag hiện tại. |
1003
- | `pi install git:github.com/Vt-mmm/piagent@v1.44.2` | Install pinned release cho reproducible team setup. |
1002
+ | `npm install -g --ignore-scripts @piagent/platform@1.44.4` | Cài terminal helper `piagent-*` từ release tag hiện tại. |
1003
+ | `pi install git:github.com/Vt-mmm/piagent@v1.44.4` | 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.44.2
1099
+ npm install -g --ignore-scripts @piagent/platform@1.44.4
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.44.4`: Herdr resume chế độ công ty: pane `piagent studio` báo trạng thái cho Herdr (cần 0.9.2+) và mở lại đúng conversation bằng `piagent studio --session`; guard WSL nhận đúng kho `agentwatch`; `--web` mở trình duyệt trong WSL.
45
+ - `1.44.3`: chống prompt injection hỏi hệ thống: `web_fetch` hỏi member trước trang lạ hoặc địa chỉ có `?`/`#`; câu trả lời helper và kết quả memory nằm trong rào "data, not instructions"; `run_on_host` ở Bypass vẫn hỏi khi đụng credential.
44
46
  - `1.44.2`: harness công ty theo cỡ thay đổi (risk lanes, bật mặc định, tắt bằng `workflow.lanes: false`): sửa nhỏ (≤2 file, ≤40 dòng, không chạm file nhạy cảm) chỉ cần check, bỏ review; thay đổi rủi ro (migration, auth, CI, dependency, >12 file hoặc >400 dòng) bắt buộc check và review dù Harness chỉ đặt `suggest`. `workflow.main_web_lookups` (0–5) cho main agent tra web nhanh khi có research helper.
45
47
  - `1.44.1`: cùng nội dung 1.44.0; chấp nhận tạm năm advisory undici mới (2026-10-27) tới 2026-11-07 vì Pi host ghim undici 8.10.2.
46
48
  - `1.44.0`: (tag, chưa publish do advisory undici mới trong Pi host) `/style` chọn giao diện Terminal (bốn theme Piagent); `piagent skills add mattpocock/skills` thêm repo skill GitHub ghim theo commit; member dùng Pi mới hơn (vd 1.4.0) giữ nguyên `pi` của mình, Piagent chạy Pi 1.3.0 riêng trong `~/.piagent/pi-host` (`piagent pi`).
@@ -43,7 +43,7 @@ brew install herdr # macOS
43
43
  curl -fsSL https://herdr.dev/install.sh | sh # macOS hoặc Linux
44
44
  ```
45
45
 
46
- Không có `herdr` trên `PATH` thì bước integration bị bỏ qua kèm cảnh báo, cài Herdr sau phải chạy lại `piagent-setup --global-only`. Bản `curl` chạy script tải về lúc cài; muốn kiểm tra được thì dùng `brew` hoặc tải từ [GitHub releases](https://github.com/ogulcancelik/herdr/releases). Herdr bản stable hỗ trợ macOS và Linux; Windows mới ở mức preview, mà cũng nằm ngoài runtime matrix của platform này.
46
+ Không có `herdr` trên `PATH` thì bước integration bị bỏ qua kèm cảnh báo, cài Herdr sau phải chạy lại `piagent-setup --global-only`. Bản `curl` chạy script tải về lúc cài; muốn kiểm tra được thì dùng `brew` hoặc tải từ [GitHub releases](https://github.com/ogulcancelik/herdr/releases). Trên Windows, cài Herdr trong Ubuntu (WSL2) cùng chỗ với Piagent, không cài ngoài Windows; xem [herdr-workflow.md](herdr-workflow.md).
47
47
 
48
48
  Vì chạy từ package đã cài, source ghi vào `.pi/settings.json` là `npm:@piagent/platform@<version>` — portable, commit được.
49
49
 
@@ -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.44.2
158
+ npm install -g --ignore-scripts @piagent/platform@1.44.4
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.44.2
184
+ pi install git:github.com/Vt-mmm/piagent@v1.44.4
185
185
  ```
186
186
 
187
187
  Direct `pi install` does not create `piagent-*` commands on `PATH`.
@@ -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.44.2
13
+ npm install -g --ignore-scripts @piagent/platform@1.44.4
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.44.2
48
+ npm install -g --ignore-scripts @piagent/platform@1.44.4
49
49
  piagent-install --stable --dry-run
50
50
  piagent-install --stable
51
51
  ```
@@ -56,6 +56,8 @@ Những bước lệnh một dòng ở trên tự làm, khi cần làm tay:
56
56
 
57
57
  Kiểm tra máy: `piagent studio --doctor`.
58
58
 
59
+ Dùng [Herdr](../herdr-workflow.md) thì cài Herdr trong Ubuntu, không cài ngoài Windows. Trong pane Herdr, `piagent studio` báo trạng thái cho Herdr, và Herdr mở lại đúng cuộc trò chuyện công ty sau khi khởi động lại.
60
+
59
61
  ### Sandbox trên Linux và WSL2
60
62
 
61
63
  Cùng những gì sandbox macOS bảo đảm, dựng bằng mount của bubblewrap:
@@ -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.44.2" title="v1.44.2 docs · VI"><span class="dot"></span>v1.44.2</a>
40
+ <a class="version-badge" href="/whats-new" data-docs-version="v1.44.4" title="v1.44.4 docs · VI"><span class="dot"></span>v1.44.4</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":"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-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":"v1-43-9-title","text":"Every installed skill, and files the agent hands back"},{"id":"v1-43-8-title","text":"Every installed skill, and files the agent hands back not published"},{"id":"v1-43-7-title","text":"Every installed skill, and files the agent hands back not published"},{"id":"v1-43-6-title","text":"Watch the agent's edits while it runs"},{"id":"v1-43-5-title","text":"Image previews and office attachments"},{"id":"v1-43-4-title","text":"Your workflow, with adaptive backend and frontend support"},{"id":"v1-43-3-title","text":"Your workflow, with adaptive backend and frontend support not published"},{"id":"v1-43-2-title","text":"Your workflow, with adaptive backend and frontend support not published"},{"id":"v1-43-1-title","text":"Your workflow, with adaptive backend and frontend support not published"},{"id":"v1-43-0-title","text":"Your workflow, with adaptive backend and frontend support not published"},{"id":"v1-42-1-title","text":"Faster dashboard loading and less workspace hashing memory"},{"id":"v1-42-0-title","text":"A redesigned dashboard and older messages that load without jumping"},{"id":"v1-41-0-title","text":"Front-end change reports with before/after screenshots"},{"id":"v1-40-0-title","text":"Local projects are reported to Studio too"},{"id":"v1-39-0-title","text":"Warnings when a team key is used outside its team"},{"id":"v1-38-2-title","text":"Folder tree, colour themes and an editor that stays in view"},{"id":"v1-38-1-title","text":"Published release of v1.38.0"},{"id":"v1-38-0-title","text":"Piagent becomes an editor, and Bypass asks nothing not published"},{"id":"v1-37-1-title","text":"Run closes and helper reports Studio can trust"},{"id":"v1-37-0-title","text":"A cut answer no longer stops a long task"},{"id":"v1-36-1-title","text":"A brief Agent Watch failure no longer stops a task"},{"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"}]},{"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":"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":"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-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":"v1-43-9-title","text":"Every installed skill, and files the agent hands back"},{"id":"v1-43-8-title","text":"Every installed skill, and files the agent hands back not published"},{"id":"v1-43-7-title","text":"Every installed skill, and files the agent hands back not published"},{"id":"v1-43-6-title","text":"Watch the agent's edits while it runs"},{"id":"v1-43-5-title","text":"Image previews and office attachments"},{"id":"v1-43-4-title","text":"Your workflow, with adaptive backend and frontend support"},{"id":"v1-43-3-title","text":"Your workflow, with adaptive backend and frontend support not published"},{"id":"v1-43-2-title","text":"Your workflow, with adaptive backend and frontend support not published"},{"id":"v1-43-1-title","text":"Your workflow, with adaptive backend and frontend support not published"},{"id":"v1-43-0-title","text":"Your workflow, with adaptive backend and frontend support not published"},{"id":"v1-42-1-title","text":"Faster dashboard loading and less workspace hashing memory"},{"id":"v1-42-0-title","text":"A redesigned dashboard and older messages that load without jumping"},{"id":"v1-41-0-title","text":"Front-end change reports with before/after screenshots"},{"id":"v1-40-0-title","text":"Local projects are reported to Studio too"},{"id":"v1-39-0-title","text":"Warnings when a team key is used outside its team"},{"id":"v1-38-2-title","text":"Folder tree, colour themes and an editor that stays in view"},{"id":"v1-38-1-title","text":"Published release of v1.38.0"},{"id":"v1-38-0-title","text":"Piagent becomes an editor, and Bypass asks nothing not published"},{"id":"v1-37-1-title","text":"Run closes and helper reports Studio can trust"},{"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"}]},{"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":"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":"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-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":"v1-43-9-title","text":"Đủ skill đã cài, và mở file agent gửi lại"},{"id":"v1-43-8-title","text":"Đủ skill đã cài, và mở file agent gửi lại không phát hành"},{"id":"v1-43-7-title","text":"Đủ skill đã cài, và mở file agent gửi lại không phát hành"},{"id":"v1-43-6-title","text":"Xem thay đổi của agent ngay khi đang chạy"},{"id":"v1-43-5-title","text":"Xem trước ảnh và đính kèm file văn phòng"},{"id":"v1-43-4-title","text":"Dev chọn workflow, harness hỗ trợ BE/FE theo project"},{"id":"v1-43-3-title","text":"Dev chọn workflow, harness hỗ trợ BE/FE theo project không phát hành"},{"id":"v1-43-2-title","text":"Dev chọn workflow, harness hỗ trợ BE/FE theo project không phát hành"},{"id":"v1-43-1-title","text":"Dev chọn workflow, harness hỗ trợ BE/FE theo project không phát hành"},{"id":"v1-43-0-title","text":"Dev chọn workflow, harness hỗ trợ BE/FE theo project không phát hành"},{"id":"v1-42-1-title","text":"Dashboard tải nhanh hơn, hash workspace dùng ít bộ nhớ hơn"},{"id":"v1-42-0-title","text":"Dashboard thiết kế lại, tin cũ tải mà không nhảy trang"},{"id":"v1-41-0-title","text":"Báo cáo thay đổi giao diện với ảnh trước/sau"},{"id":"v1-40-0-title","text":"Project local cũng được báo cho Studio"},{"id":"v1-39-0-title","text":"Cảnh báo khi key của team được dùng ngoài team"},{"id":"v1-38-2-title","text":"Cây thư mục, theme màu và editor luôn trong tầm nhìn"},{"id":"v1-38-1-title","text":"Bản phát hành chính thức của v1.38.0"},{"id":"v1-38-0-title","text":"Piagent thành editor, Bypass không hỏi gì không phát hành"},{"id":"v1-37-1-title","text":"Đóng run và báo cáo helper mà Studio tin được"},{"id":"v1-37-0-title","text":"Câu trả lời bị cắt không còn làm dừng task dài"},{"id":"v1-36-1-title","text":"Agent Watch lỗi thoáng qua không còn làm dừng task"},{"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"}]},{"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":"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":"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-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":"v1-43-9-title","text":"Đủ skill đã cài, và mở file agent gửi lại"},{"id":"v1-43-8-title","text":"Đủ skill đã cài, và mở file agent gửi lại không phát hành"},{"id":"v1-43-7-title","text":"Đủ skill đã cài, và mở file agent gửi lại không phát hành"},{"id":"v1-43-6-title","text":"Xem thay đổi của agent ngay khi đang chạy"},{"id":"v1-43-5-title","text":"Xem trước ảnh và đính kèm file văn phòng"},{"id":"v1-43-4-title","text":"Dev chọn workflow, harness hỗ trợ BE/FE theo project"},{"id":"v1-43-3-title","text":"Dev chọn workflow, harness hỗ trợ BE/FE theo project không phát hành"},{"id":"v1-43-2-title","text":"Dev chọn workflow, harness hỗ trợ BE/FE theo project không phát hành"},{"id":"v1-43-1-title","text":"Dev chọn workflow, harness hỗ trợ BE/FE theo project không phát hành"},{"id":"v1-43-0-title","text":"Dev chọn workflow, harness hỗ trợ BE/FE theo project không phát hành"},{"id":"v1-42-1-title","text":"Dashboard tải nhanh hơn, hash workspace dùng ít bộ nhớ hơn"},{"id":"v1-42-0-title","text":"Dashboard thiết kế lại, tin cũ tải mà không nhảy trang"},{"id":"v1-41-0-title","text":"Báo cáo thay đổi giao diện với ảnh trước/sau"},{"id":"v1-40-0-title","text":"Project local cũng được báo cho Studio"},{"id":"v1-39-0-title","text":"Cảnh báo khi key của team được dùng ngoài team"},{"id":"v1-38-2-title","text":"Cây thư mục, theme màu và editor luôn trong tầm nhìn"},{"id":"v1-38-1-title","text":"Bản phát hành chính thức của v1.38.0"},{"id":"v1-38-0-title","text":"Piagent thành editor, Bypass không hỏi gì không phát hành"},{"id":"v1-37-1-title","text":"Đóng run và báo cáo helper mà Studio tin được"},{"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"}]},{"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":"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"}]}]
@@ -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.44.2" title="v1.44.2 docs · VI"><span class="dot"></span>v1.44.2</a>
40
+ <a class="version-badge" href="/whats-new" data-docs-version="v1.44.4" title="v1.44.4 docs · VI"><span class="dot"></span>v1.44.4</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.44.2" title="v1.44.2 docs · VI"><span class="dot"></span>v1.44.2</a>
40
+ <a class="version-badge" href="/whats-new" data-docs-version="v1.44.4" title="v1.44.4 docs · VI"><span class="dot"></span>v1.44.4</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>
@@ -93,7 +93,7 @@ Review the current diff. Read-only.</code></pre>
93
93
  </div>
94
94
  <div class="callout">
95
95
  <strong>Using Herdr?</strong>
96
- <p>Install Herdr <em>before</em> <code>piagent-setup</code> to get its Pi integration; if you install it later, run <code>piagent-setup --global-only</code> again. Herdr arranges terminals; it is not a protection layer. See the <a href="https://github.com/Vt-mmm/piagent/blob/main/docs/herdr-workflow.md">Herdr workflow</a>.</p>
96
+ <p>Install Herdr <em>before</em> <code>piagent-setup</code> to get its Pi integration; if you install it later, run <code>piagent-setup --global-only</code> again. On Windows, install Herdr inside Ubuntu (WSL2), next to Piagent; in a Herdr pane, <code>piagent studio</code> comes back to the same company conversation after Herdr restarts. Herdr arranges terminals; it is not a protection layer. See the <a href="https://github.com/Vt-mmm/piagent/blob/main/docs/herdr-workflow.md">Herdr workflow</a>.</p>
97
97
  </div>
98
98
  </section>
99
99
 
@@ -93,7 +93,7 @@ Review diff hiện tại. Chỉ đọc.</code></pre>
93
93
  </div>
94
94
  <div class="callout">
95
95
  <strong>Dùng Herdr?</strong>
96
- <p>Cài Herdr <em>trước</em> <code>piagent-setup</code> để được cài luôn tích hợp Pi; cài sau thì chạy lại <code>piagent-setup --global-only</code>. Herdr chỉ điều phối terminal, không phải lớp bảo vệ. Xem <a href="https://github.com/Vt-mmm/piagent/blob/main/docs/herdr-workflow.md">Herdr workflow</a>.</p>
96
+ <p>Cài Herdr <em>trước</em> <code>piagent-setup</code> để được cài luôn tích hợp Pi; cài sau thì chạy lại <code>piagent-setup --global-only</code>. Trên Windows, cài Herdr trong Ubuntu (WSL2), cùng chỗ với Piagent; trong pane Herdr, <code>piagent studio</code> được mở lại đúng cuộc trò chuyện công ty sau khi Herdr khởi động lại. Herdr chỉ điều phối terminal, không phải lớp bảo vệ. Xem <a href="https://github.com/Vt-mmm/piagent/blob/main/docs/herdr-workflow.md">Herdr workflow</a>.</p>
97
97
  </div>
98
98
  </section>
99
99
 
@@ -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.44.2" title="v1.44.2 docs · VI"><span class="dot"></span>v1.44.2</a>
40
+ <a class="version-badge" href="/whats-new" data-docs-version="v1.44.4" title="v1.44.4 docs · VI"><span class="dot"></span>v1.44.4</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.44.2" title="v1.44.2 docs · VI"><span class="dot"></span>v1.44.2</a>
40
+ <a class="version-badge" href="/whats-new" data-docs-version="v1.44.4" title="v1.44.4 docs · VI"><span class="dot"></span>v1.44.4</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.44.2" title="v1.44.2 docs · EN"><span class="dot"></span>v1.44.2</a>
40
+ <a class="version-badge" href="/en/whats-new" data-docs-version="v1.44.4" title="v1.44.4 docs · EN"><span class="dot"></span>v1.44.4</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>