@piagent/platform 1.41.0 → 1.42.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.
Files changed (107) hide show
  1. package/CHANGELOG.md +1006 -2038
  2. package/CONTRIBUTING.md +2 -0
  3. package/README.md +128 -325
  4. package/README.vi.md +149 -143
  5. package/docs/command-reference-vietnamese.md +2 -2
  6. package/docs/distribution-standard.md +6 -6
  7. package/docs/languages.json +2 -2
  8. package/docs/operator-manual-vietnamese.md +7 -7
  9. package/docs/publishing-for-teams.md +1 -0
  10. package/docs/release-install-policy.md +3 -3
  11. package/docs/team-onboarding.md +2 -2
  12. package/docs-site/architecture.html +71 -63
  13. package/docs-site/assets/docs.css +2736 -1030
  14. package/docs-site/assets/docs.js +451 -43
  15. package/docs-site/assets/og.png +0 -0
  16. package/docs-site/assets/piagent-logo.svg +9 -31
  17. package/docs-site/assets/search-en.json +1 -0
  18. package/docs-site/assets/search-vi.json +1 -0
  19. package/docs-site/benchmark.html +71 -63
  20. package/docs-site/commands.html +72 -64
  21. package/docs-site/content/en/index.html +220 -131
  22. package/docs-site/content/en/quickstart.html +74 -90
  23. package/docs-site/content/en/update.html +80 -0
  24. package/docs-site/content/en/whats-new.html +1 -684
  25. package/docs-site/content/index.html +220 -131
  26. package/docs-site/content/quickstart.html +73 -108
  27. package/docs-site/content/update.html +80 -0
  28. package/docs-site/content/whats-new.html +1 -684
  29. package/docs-site/context-engine.html +73 -65
  30. package/docs-site/ecosystem.html +73 -65
  31. package/docs-site/en/architecture.html +67 -59
  32. package/docs-site/en/benchmark.html +67 -59
  33. package/docs-site/en/commands.html +68 -60
  34. package/docs-site/en/context-engine.html +68 -60
  35. package/docs-site/en/ecosystem.html +68 -60
  36. package/docs-site/en/index.html +281 -220
  37. package/docs-site/en/mcp-approval.html +67 -59
  38. package/docs-site/en/mcp-auth.html +67 -59
  39. package/docs-site/en/mcp-servers.html +68 -60
  40. package/docs-site/en/mcp.html +64 -56
  41. package/docs-site/en/permissions.html +68 -60
  42. package/docs-site/en/profiles.html +68 -60
  43. package/docs-site/en/quickstart.html +142 -150
  44. package/docs-site/en/runtime.html +67 -59
  45. package/docs-site/en/scope.html +68 -60
  46. package/docs-site/en/security.html +64 -56
  47. package/docs-site/en/team.html +67 -59
  48. package/docs-site/en/update.html +228 -0
  49. package/docs-site/en/whats-new.html +1601 -725
  50. package/docs-site/en/windows.html +71 -63
  51. package/docs-site/en/workflows.html +68 -60
  52. package/docs-site/favicon.svg +9 -14
  53. package/docs-site/index.html +281 -220
  54. package/docs-site/mcp-approval.html +70 -62
  55. package/docs-site/mcp-auth.html +70 -62
  56. package/docs-site/mcp-servers.html +71 -63
  57. package/docs-site/mcp.html +70 -62
  58. package/docs-site/permissions.html +72 -64
  59. package/docs-site/profiles.html +72 -64
  60. package/docs-site/quickstart.html +145 -172
  61. package/docs-site/releases.json +4449 -0
  62. package/docs-site/runtime.html +73 -65
  63. package/docs-site/scope.html +73 -65
  64. package/docs-site/security.html +73 -65
  65. package/docs-site/team.html +71 -63
  66. package/docs-site/update.html +228 -0
  67. package/docs-site/whats-new.html +1605 -729
  68. package/docs-site/windows.html +75 -67
  69. package/docs-site/workflows.html +73 -65
  70. package/evals/private-holdout-v1/public-exposure.v2.json +1 -1
  71. package/package.json +1 -1
  72. package/packages/piagent-core/package.json +1 -1
  73. package/packages/piagent-webui/dist/client/assets/App-DBx4BU3F.js +5 -0
  74. package/packages/piagent-webui/dist/client/assets/LineReview-DzonwD-g.js +3 -0
  75. package/packages/piagent-webui/dist/client/assets/{MarkdownMessage-DeLo-xiz.js → MarkdownMessage-DchODuO7.js} +2 -2
  76. package/packages/piagent-webui/dist/client/assets/SessionInspectorDrawer-BHHNlct3.js +1 -0
  77. package/packages/piagent-webui/dist/client/assets/SettingsPage-DX28MsZA.js +1 -0
  78. package/packages/piagent-webui/dist/client/assets/TerminalPanel-C--BiN0p.js +2 -0
  79. package/packages/piagent-webui/dist/client/assets/{TerminalView-r9rG24IO.js → TerminalView-BML7uS6R.js} +3 -3
  80. package/packages/piagent-webui/dist/client/assets/WorkspaceCodeEditor-B7ieqDnt.js +2 -0
  81. package/packages/piagent-webui/dist/client/assets/WorkspaceExplorer-BOafuPU-.js +5 -0
  82. package/packages/piagent-webui/dist/client/assets/WorkspaceQuickOpen-CGoGfUPk.js +1 -0
  83. package/packages/piagent-webui/dist/client/assets/api-BUjrtT1B.js +1 -0
  84. package/packages/piagent-webui/dist/client/assets/index-C7Azrwpq.js +132 -0
  85. package/packages/piagent-webui/dist/client/assets/index-Dqb2hNan.css +1 -0
  86. package/packages/piagent-webui/dist/client/assets/tab-close-Crj8vsUq.js +1 -0
  87. package/packages/piagent-webui/dist/client/assets/ui-preferences-B3UfDp-5.js +1 -0
  88. package/packages/piagent-webui/dist/client/assets/vendor-Ch5hIe0W.js +136 -0
  89. package/packages/piagent-webui/dist/client/index.html +5 -8
  90. package/scripts/build-docs-site.mjs +205 -348
  91. package/scripts/check-public-wording.mjs +2 -1
  92. package/scripts/docs-site-icons.mjs +84 -0
  93. package/scripts/docs-site-nav.mjs +302 -0
  94. package/scripts/docs-site-releases.mjs +227 -0
  95. package/packages/piagent-webui/dist/client/assets/Alert-DGWhP2MM.js +0 -1
  96. package/packages/piagent-webui/dist/client/assets/Button-QItfZUNj.js +0 -1
  97. package/packages/piagent-webui/dist/client/assets/DialogTitle-CyaFPaiW.js +0 -3
  98. package/packages/piagent-webui/dist/client/assets/TerminalPanel-BG-DP_qm.js +0 -2
  99. package/packages/piagent-webui/dist/client/assets/Typography-B9om7Evq.js +0 -1
  100. package/packages/piagent-webui/dist/client/assets/WorkspaceCodeEditor-BnqaR3pK.js +0 -2
  101. package/packages/piagent-webui/dist/client/assets/WorkspaceExplorer-BIxwiGtl.js +0 -5
  102. package/packages/piagent-webui/dist/client/assets/WorkspaceQuickOpen-CK3dILhQ.js +0 -1
  103. package/packages/piagent-webui/dist/client/assets/index-DBUTrEXi.css +0 -1
  104. package/packages/piagent-webui/dist/client/assets/index-rlyRccut.js +0 -102
  105. package/packages/piagent-webui/dist/client/assets/tab-close-BoJRyBO_.js +0 -1
  106. package/packages/piagent-webui/dist/client/assets/ui-preferences-BO3AV7QE.js +0 -10
  107. package/packages/piagent-webui/dist/client/assets/useId-DEefKUAT.js +0 -124
@@ -1,143 +1,108 @@
1
1
  <section class="section">
2
-
3
2
  <div class="steps">
4
3
  <article class="step">
5
- <div>
6
- <h3 id="cai-hai-lenh">Cài — hai lệnh</h3>
7
- <p>Cần Node.js 22.19.0 trở lên. Không cần cài Pi Coding Agent trước: <span class="inline-code">piagent-setup</span> tự cài đúng bản host mà release hiện tại đang pin. Chạy nó ngay trong thư mục project — nó cài Pi package, khởi tạo <span class="inline-code">.pi/</span>, cài MCP baseline cùng subagents, rồi chạy doctor. Thêm <span class="inline-code">--no-mcp</span>, <span class="inline-code">--no-subagents</span>, <span class="inline-code">--no-herdr</span> hoặc <span class="inline-code">--global-only</span> để bỏ bớt.</p>
8
- <div class="table-wrap compact-table">
9
- <table>
10
- <thead>
11
- <tr>
12
- <th>Runtime</th>
13
- <th>Trạng thái rollout</th>
14
- </tr>
15
- </thead>
16
- <tbody>
17
- <tr>
18
- <td>macOS Apple Silicon + Bash</td>
19
- <td>Đã verify cho release này.</td>
20
- </tr>
21
- <tr>
22
- <td>Linux x64 + Bash</td>
23
- <td>Đã verify trong CI.</td>
24
- </tr>
25
- <tr>
26
- <td>macOS Intel / Linux ARM64 + Bash</td>
27
- <td>Supported target; chạy doctor + smoke test trước khi rollout rộng.</td>
28
- </tr>
29
- <tr>
30
- <td>Windows (WSL2)</td>
31
- <td>Một lệnh PowerShell cài tất cả: xem <a href="/windows">Cài trên Windows</a>. Chạy thẳng trên Windows mới là bản xem trước cho chế độ cá nhân.</td>
32
- </tr>
33
- </tbody>
34
- </table>
4
+ <h3 id="cai-dat">Cài đặt</h3>
5
+ <p>Cần Node.js 22.19.0 trở lên. Không cần cài Pi trước: <code>piagent-setup</code> tự cài đúng bản Pi mà release này pin, khởi tạo <code>.pi/</code>, cài MCP baseline và subagent, rồi chạy doctor.</p>
6
+ <div class="tabs" data-tabs="os">
7
+ <div class="tab-list" role="tablist" aria-label="Hệ điều hành">
8
+ <button type="button" role="tab" data-tab="macos" aria-selected="true">{{icon:apple}} macOS · Linux</button>
9
+ <button type="button" role="tab" data-tab="windows" aria-selected="false" tabindex="-1">{{icon:windows}} Windows</button>
35
10
  </div>
36
- <div class="command-card">
37
- <header><span>Hai lệnh</span><button class="clip-btn" data-clip="npm install -g @piagent/platform&#10;piagent-setup">Lấy lệnh</button></header>
38
- <pre><code>npm install -g @piagent/platform
11
+ <div class="tab-panel" data-panel="macos">
12
+ <div class="command-card">
13
+ <header><span>Chạy trong thư mục project</span><button class="clip-btn" data-clip="npm install -g @piagent/platform&#10;piagent-setup">Lấy lệnh</button></header>
14
+ <pre><code>npm install -g @piagent/platform
39
15
  piagent-setup</code></pre>
16
+ </div>
40
17
  </div>
41
- <p>Vì chạy từ package đã cài, source ghi vào <span class="inline-code">.pi/settings.json</span> là <span class="inline-code">npm:@piagent/platform@&lt;version&gt;</span> — giá trị này có nghĩa như nhau trên máy đồng đội, nên commit được cho cả team.</p>
42
- <p>Dùng <a href="https://herdr.dev/docs/install/">Herdr</a> thì cài Herdr <strong>trước</strong>: <span class="inline-code">piagent-setup</span> tự cài luôn Herdr Pi integration khi thấy <span class="inline-code">herdr</span> trên <span class="inline-code">PATH</span>, còn không thì bỏ qua kèm cảnh báo — cài Herdr sau phải chạy lại <span class="inline-code">piagent-setup --global-only</span>.</p>
43
- <div class="command-card">
44
- <header><span>Herdr (tuỳ chọn, cài trước)</span><button class="clip-btn" data-clip="brew install herdr">Lấy lệnh</button></header>
45
- <pre><code>brew install herdr # macOS
46
- curl -fsSL https://herdr.dev/install.sh | sh # macOS hoặc Linux</code></pre>
47
- </div>
48
- <p>Bản <span class="inline-code">curl</span> chạy script tải về lúc cài; muốn kiểm tra được thì dùng <span class="inline-code">brew</span> hoặc tải từ <a href="https://github.com/ogulcancelik/herdr/releases">GitHub releases</a>. Herdr stable hỗ trợ macOS và Linux, Windows mới ở mức preview.</p>
49
- <p>Rollout pin từng bước, update, rollback, và channel latest cho máy cá nhân nằm trong <a href="https://github.com/Vt-mmm/piagent/blob/main/docs/release-install-policy.md">release &amp; install policy</a>.</p>
50
- </div>
51
- </article>
52
-
53
- <article class="step">
54
- <div>
55
- <h3 id="mo-repo-du-an">Mở repo dự án</h3>
56
- <p>Chạy Pi từ thư mục repo. Với repo đã tin cậy, dùng wrapper trusted-run khi cần tự động hoá có kiểm soát.</p>
57
- <div class="command-card">
58
- <header><span>Start</span><button class="clip-btn" data-clip="cd /path/to/project && pi">Lấy lệnh</button></header>
59
- <pre><code>cd /path/to/project
60
- pi</code></pre>
18
+ <div class="tab-panel" data-panel="windows" hidden>
19
+ <div class="command-card">
20
+ <header><span>PowerShell</span><button class="clip-btn" data-clip="irm https://raw.githubusercontent.com/Vt-mmm/agentwatch/main/windows/setup.ps1 | iex">Lấy lệnh</button></header>
21
+ <pre><code>irm https://raw.githubusercontent.com/Vt-mmm/agentwatch/main/windows/setup.ps1 | iex</code></pre>
22
+ </div>
23
+ <p>Cài WSL2, Ubuntu, Piagent và Agent Watch. Chi tiết ở <a href="/windows">Cài trên Windows</a>.</p>
61
24
  </div>
62
- <p>Cần nhiều agent chạy song song thì gõ <span class="inline-code">herdr</span> thay cho <span class="inline-code">pi</span>, mỗi pane một vai: implement, review read-only, verify, notes. Herdr chỉ điều phối terminal và session — nó không phải security boundary, gate vẫn nằm ở Pi extension và OAuth vẫn login trong Pi. Cách dựng pane: <a href="https://github.com/Vt-mmm/piagent/blob/main/docs/herdr-workflow.md">Herdr workflow</a>.</p>
63
25
  </div>
26
+ <p>Bỏ bớt phần cài thêm bằng <code>--no-mcp</code>, <code>--no-subagents</code>, <code>--no-herdr</code> hoặc <code>--global-only</code>.</p>
64
27
  </article>
65
28
 
66
29
  <article class="step">
67
- <div>
68
- <h3 id="onboard-context">Cho agent đọc project</h3>
69
- <p>Ở repo mới, nhờ agent đọc project (chỉ đọc) và ghi lại project context vào <span class="inline-code">.pi/</span>. Không cần lệnh riêng: nói bằng lời thường.</p>
70
- <div class="command-card">
71
- <header><span>Đọc project</span><button class="clip-btn" data-clip="Đọc project này (chỉ đọc) và ghi lại project context.">Lấy lệnh</button></header>
72
- <pre><code>Đọc project này (chỉ đọc) và ghi lại project context.</code></pre>
73
- </div>
30
+ <h3 id="mo-project">Mở project</h3>
31
+ <p>Terminal và dashboard dùng chung một lịch sử. Chế độ công ty mở bằng <code>piagent studio</code> sau khi đã nhập key qua Agent Watch.</p>
32
+ <div class="command-card">
33
+ <header><span>Chọn một</span><button class="clip-btn" data-clip="piagent dashboard">Lấy lệnh</button></header>
34
+ <pre><code>piagent dashboard # trình duyệt, chế độ cá nhân
35
+ pi # Terminal, chế độ cá nhân
36
+ piagent studio --web # chế độ công ty</code></pre>
74
37
  </div>
75
38
  </article>
76
39
 
77
40
  <article class="step">
78
- <div>
79
- <h3 id="chon-profile-tech">Chọn profile + tech</h3>
80
- <p>Dùng <span class="inline-code">/profile setup</span> để mở select option: chọn profile trước, rồi chọn tech theo role. Fullstack sẽ chọn frontend, backend và database.</p>
81
- <div class="command-card">
82
- <header><span>Profile tech setup</span><button class="clip-btn" data-clip="/profile setup&#10;/profile tech setup fullstack">Lấy lệnh</button></header>
83
- <pre><code>/profile setup
84
- /profile tech setup fullstack</code></pre>
85
- </div>
41
+ <h3 id="doc-project">Cho agent đọc project</h3>
42
+ <p>Ở repo mới, nhờ agent đọc (chỉ đọc) và ghi project context vào <code>.pi/</code>. Không cần lệnh riêng.</p>
43
+ <div class="command-card">
44
+ <header><span>Tin nhắn đầu tiên</span><button class="clip-btn" data-clip="Đọc project này (chỉ đọc) và ghi lại project context.">Lấy lệnh</button></header>
45
+ <pre><code>Đọc project này (chỉ đọc) và ghi lại project context.</code></pre>
86
46
  </div>
87
47
  </article>
88
48
 
89
49
  <article class="step">
90
- <div>
91
- <h3 id="chon-permission">Chọn permission</h3>
92
- <p>Scout thì read-only, code bình thường thì workspace-write, automation tin cậy thì full-access có guard.</p>
93
- <div class="command-card">
94
- <header><span>Permission</span><button class="clip-btn" data-clip="/permission status&#10;/permission workspace-write">Lấy lệnh</button></header>
95
- <pre><code>/permission status
50
+ <h3 id="profile-va-quyen">Chọn profile và quyền</h3>
51
+ <p>Profile quyết định file nào được bảo vệ và check nào chạy. Quyền: <code>read-only</code> để khảo sát, <code>workspace-write</code> để code bình thường.</p>
52
+ <div class="command-card">
53
+ <header><span>Slash command</span><button class="clip-btn" data-clip="/profile setup&#10;/permission workspace-write">Lấy lệnh</button></header>
54
+ <pre><code>/profile setup
96
55
  /permission workspace-write</code></pre>
97
- </div>
98
56
  </div>
99
57
  </article>
100
58
 
101
59
  <article class="step">
102
- <div>
103
- <h3 id="chay-workflow">Chạy workflow</h3>
104
- <p>Nói rõ việc và ý định (sửa, chỉ đọc, lập plan) bằng lời thường. Việc nào nặng context thì mở session mới bằng <span class="inline-code">/new</span>.</p>
105
- <div class="command-card">
106
- <header><span>Giao việc</span><button class="clip-btn" data-clip="Implement thay đổi được yêu cầu rồi chạy test của project.&#10;Review diff hiện tại. Chỉ đọc.">Lấy lệnh</button></header>
107
- <pre><code>Implement thay đổi được yêu cầu rồi chạy test của project.
60
+ <h3 id="giao-viec">Giao việc bằng lời thường</h3>
61
+ <p>Nói rõ việc và ý định: sửa, chỉ đọc hay lập plan. Việc nặng context thì mở session mới bằng <code>/new</code>.</p>
62
+ <div class="command-card">
63
+ <header><span>Ví dụ</span><button class="clip-btn" data-clip="Sửa lỗi phân trang ở /orders rồi chạy test của project.">Lấy lệnh</button></header>
64
+ <pre><code>Sửa lỗi phân trang ở /orders rồi chạy test của project.
108
65
  Review diff hiện tại. Chỉ đọc.</code></pre>
109
- </div>
110
66
  </div>
111
67
  </article>
112
68
 
113
69
  <article class="step">
114
- <div>
115
- <h3 id="verify-truoc-khi-handoff">Kiểm tra trước khi giao</h3>
116
- <p>Nhờ agent chạy check của project (test, type check, build) và đọc kết quả thật; ở chế độ công ty, Harness tự yêu cầu việc này. Sau khi pin hoặc nâng version, chạy doctor trên project:</p>
117
- <div class="command-card">
118
- <header><span>Doctor</span><button class="clip-btn" data-clip="piagent-doctor">Lấy lệnh</button></header>
119
- <pre><code>piagent-doctor</code></pre>
120
- </div>
121
- <p>Người phát triển chính platform còn có <span class="inline-code">npm run verify</span> trong source repo; chi tiết ở <a href="https://github.com/Vt-mmm/piagent/blob/main/CONTRIBUTING.md">CONTRIBUTING</a>.</p>
70
+ <h3 id="kiem-tra">Kiểm tra cài đặt</h3>
71
+ <p>Sau khi cài hoặc đổi bản, chạy doctor trên project. Lỗi nào cũng kèm cách sửa.</p>
72
+ <div class="command-card">
73
+ <header><span>Doctor</span><button class="clip-btn" data-clip="piagent-doctor">Lấy lệnh</button></header>
74
+ <pre><code>piagent-doctor</code></pre>
122
75
  </div>
123
76
  </article>
77
+ </div>
78
+ </section>
124
79
 
125
- <article class="step">
126
- <div>
127
- <h3 id="go-cai-dat-khi-khong-dung-nua">Gỡ cài đặt khi không dùng nữa</h3>
128
- <p><span class="inline-code">piagent-uninstall</span> mặc định chỉ in ra sẽ gỡ những gì rồi thoát; phải thêm <span class="inline-code">--apply</span> nó mới thực hiện, vì nó sửa Pi settings mà công cụ khác cũng ghi vào. Mặc định chỉ gỡ Pi package của platform; add-on, Pi host và state trong project đều là opt-in.</p>
129
- <div class="command-card">
130
- <header><span>Gỡ — hai lệnh</span><button class="clip-btn" data-clip="piagent-uninstall&#10;piagent-uninstall --apply">Lấy lệnh</button></header>
131
- <pre><code>piagent-uninstall
132
- piagent-uninstall --apply</code></pre>
133
- </div>
134
- <p>Add-on, Pi host, state trong project và helper npm-global đều tách riêng và là opt-in — <span class="inline-code">piagent-uninstall --help</span> liệt kê đủ. Nó gỡ theo những gì đang đăng ký trong Pi settings chứ không theo những gì bản hiện tại cài, nên package do release cũ đăng ký vẫn ra được.</p>
135
- <div class="callout ok-callout">
136
- <strong>Không bao giờ bị xoá</strong>
137
- <p>Credential, trust, session, todo và <span class="inline-code">.pi/memory/</span> được giữ nguyên ở mọi tổ hợp cờ — đó là dữ liệu của người dùng, không phải state của platform. Các file sinh từ template rồi sửa tiếp như <span class="inline-code">AGENTS.md</span>, <span class="inline-code">.pi/settings.json</span>, <span class="inline-code">project-context.md</span> chỉ được liệt kê để tự quyết. Với <span class="inline-code">.pi/settings.json</span>, chỉ đúng entry trỏ tới platform bị bỏ khỏi <span class="inline-code">packages</span>.</p>
138
- </div>
139
- </div>
140
- </article>
80
+ <section class="section">
81
+ <h2 id="ho-tro">Hệ điều hành được hỗ trợ</h2>
82
+ <div class="table-wrap">
83
+ <table>
84
+ <thead><tr><th>Môi trường</th><th>Trạng thái</th></tr></thead>
85
+ <tbody>
86
+ <tr><td>macOS Apple Silicon</td><td>Đã kiểm chứng cho release này.</td></tr>
87
+ <tr><td>Linux x64</td><td>Đã kiểm chứng trong CI.</td></tr>
88
+ <tr><td>macOS Intel, Linux ARM64</td><td>Hỗ trợ; chạy doctor và smoke test trước khi rollout rộng.</td></tr>
89
+ <tr><td>Windows (WSL2)</td><td>Cách chạy Piagent trên Windows, cả chế độ cá nhân và công ty.</td></tr>
90
+ <tr><td>Windows native</td><td>Bản xem trước cho chế độ cá nhân; chưa có <code>piagent-update</code>.</td></tr>
91
+ </tbody>
92
+ </table>
93
+ </div>
94
+ <div class="callout">
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>
97
+ </div>
98
+ </section>
141
99
 
100
+ <section class="section">
101
+ <h2 id="tiep-theo">Tiếp theo</h2>
102
+ <div class="card-grid">
103
+ <a class="doc-card" href="/update"><span class="card-kicker">{{icon:refresh}} Vận hành</span><h3>Cập nhật và gỡ</h3><p>Lên bản mới, pin cho team, rollback, gỡ có xem trước.</p></a>
104
+ <a class="doc-card" href="/ecosystem"><span class="card-kicker">{{icon:network}} Bắt đầu</span><h3>Hệ sinh thái</h3><p>Khi nào dùng model cá nhân, khi nào dùng Agent Studio.</p></a>
105
+ <a class="doc-card" href="/permissions"><span class="card-kicker">{{icon:key}} Sử dụng</span><h3>Permission modes</h3><p>Bốn mức quyền và khi nào dùng mức nào.</p></a>
106
+ <a class="doc-card" href="/mcp"><span class="card-kicker">{{icon:plug}} MCP</span><h3>MCP</h3><p>Preset đã pin, quản lý server và approval gate.</p></a>
142
107
  </div>
143
108
  </section>
@@ -0,0 +1,80 @@
1
+ <section class="section">
2
+ <h2 id="cap-nhat">Cập nhật</h2>
3
+ <p>Dashboard và Terminal kiểm tra bản mới mỗi giờ. Khi có bản mới, dashboard mở hộp thoại ghi thay đổi gì, với <strong>Cập nhật ngay</strong> và <strong>Để sau</strong> (hỏi lại sau một giờ). Muốn tự chạy thì dùng một lệnh:</p>
4
+ <div class="command-card">
5
+ <header><span>Lên bản mới nhất</span><button class="clip-btn" data-clip="piagent-update">Lấy lệnh</button></header>
6
+ <pre><code>piagent-update</code></pre>
7
+ </div>
8
+ <p>Khởi động lại dashboard sau khi cập nhật để giao diện mới có hiệu lực.</p>
9
+
10
+ <h3 id="cap-nhat-lam-gi">Lệnh này làm gì, theo thứ tự</h3>
11
+ <ol>
12
+ <li>Xác định bản đích và bản Pi mà bản đó pin.</li>
13
+ <li>Cài đúng Pi host đó, rồi thay helper <code>piagent-update</code>.</li>
14
+ <li>Kiểm tra version thật trên đĩa trước khi chạy installer.</li>
15
+ <li>Với <code>--project</code>: migrate state của project và chạy <code>piagent-doctor --strict-share</code>.</li>
16
+ </ol>
17
+ <div class="callout">
18
+ <strong>Không chạy từ git checkout</strong>
19
+ <p><code>piagent-update</code> từ chối chạy khi package toàn cục là một bản link tới source repo, để không ghi đè code bạn đang sửa.</p>
20
+ </div>
21
+
22
+ <h3 id="tuy-chon">Tuỳ chọn thường dùng</h3>
23
+ <div class="table-wrap">
24
+ <table>
25
+ <thead><tr><th>Lệnh</th><th>Dùng khi</th></tr></thead>
26
+ <tbody>
27
+ <tr><td><code>piagent-update --check</code></td><td>Chỉ xem có bản mới không.</td></tr>
28
+ <tr><td><code>piagent-update --dry-run</code></td><td>Xem sẽ cài gì, không đổi gì.</td></tr>
29
+ <tr><td><code>piagent-update --version X.Y.Z</code></td><td>Lên hoặc về đúng một bản.</td></tr>
30
+ <tr><td><code>piagent-update --project .</code></td><td>Cập nhật và migrate project hiện tại.</td></tr>
31
+ <tr><td><code>--no-host</code> · <code>--no-package</code> · <code>--no-migrate</code></td><td>Bỏ qua từng bước.</td></tr>
32
+ </tbody>
33
+ </table>
34
+ </div>
35
+ </section>
36
+
37
+ <section class="section">
38
+ <h2 id="pin-cho-team">Pin một bản cho cả team</h2>
39
+ <p>Khi rollout cho team, cài đúng bản Pi host và đúng bản platform, rồi chạy installer ở chế độ stable. Bước <code>--dry-run</code> in ra những gì sẽ đổi.</p>
40
+ <div class="command-card">
41
+ <header><span>Cài pin theo bản</span><button class="clip-btn" data-clip="npm install -g --ignore-scripts @earendil-works/pi-coding-agent@{{piHost}}&#10;npm install -g --ignore-scripts @piagent/platform@{{version}}&#10;piagent-install --stable --dry-run&#10;piagent-install --stable">Lấy lệnh</button></header>
42
+ <pre><code>npm install -g --ignore-scripts @earendil-works/pi-coding-agent@{{piHost}}
43
+ npm install -g --ignore-scripts @piagent/platform@{{version}}
44
+ piagent-install --stable --dry-run
45
+ piagent-install --stable</code></pre>
46
+ </div>
47
+ <p>Vì cài từ package, <code>.pi/settings.json</code> ghi <code>npm:@piagent/platform@&lt;version&gt;</code>: giá trị giống nhau trên mọi máy, commit được cho cả team. Quy trình đầy đủ ở <a href="https://github.com/Vt-mmm/piagent/blob/main/docs/release-install-policy.md">release &amp; install policy</a>.</p>
48
+ </section>
49
+
50
+ <section class="section">
51
+ <h2 id="rollback">Rollback</h2>
52
+ <p>Rollback là thao tác có chủ đích, không tự động. Về một bản cụ thể bằng cùng lệnh cập nhật:</p>
53
+ <div class="command-card">
54
+ <header><span>Về bản trước</span><button class="clip-btn" data-clip="piagent-update --version X.Y.Z --dry-run&#10;piagent-update --version X.Y.Z">Lấy lệnh</button></header>
55
+ <pre><code>piagent-update --version X.Y.Z --dry-run
56
+ piagent-update --version X.Y.Z</code></pre>
57
+ </div>
58
+ <p>Chỉ muốn đổi Pi package mà giữ host: <code>piagent-install --version vX.Y.Z --resolve-tag</code>. Sau khi về bản cũ, chạy <code>piagent-doctor</code> trên project.</p>
59
+ </section>
60
+
61
+ <section class="section">
62
+ <h2 id="go-cai-dat">Gỡ cài đặt</h2>
63
+ <p><code>piagent-uninstall</code> mặc định chỉ in ra sẽ gỡ gì rồi thoát. Thêm <code>--apply</code> mới thực hiện, vì nó sửa Pi settings mà công cụ khác cũng ghi vào.</p>
64
+ <div class="command-card">
65
+ <header><span>Xem trước, rồi gỡ</span><button class="clip-btn" data-clip="piagent-uninstall&#10;piagent-uninstall --apply">Lấy lệnh</button></header>
66
+ <pre><code>piagent-uninstall
67
+ piagent-uninstall --apply
68
+ npm uninstall -g @piagent/platform</code></pre>
69
+ </div>
70
+ <p>Add-on, Pi host và state trong project là opt-in: <code>--with-addons</code>, <code>--with-host</code>, <code>--project &lt;path&gt;</code>.</p>
71
+ <div class="callout ok-callout">
72
+ <strong>Không bao giờ bị xoá</strong>
73
+ <p>Credential, trust, session, todo và <code>.pi/memory/</code> được giữ ở mọi tổ hợp cờ. File sinh từ template rồi đã sửa (<code>AGENTS.md</code>, <code>.pi/settings.json</code>) chỉ được liệt kê để bạn tự quyết.</p>
74
+ </div>
75
+ </section>
76
+
77
+ <section class="section">
78
+ <h2 id="windows">Trên Windows</h2>
79
+ <p>Chạy lại đúng lệnh PowerShell đã dùng để cài: nó cập nhật WSL, Piagent và Agent Watch. Xem <a href="/windows">Cài trên Windows</a>.</p>
80
+ </section>