@piagent/platform 1.7.1 → 1.9.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 (227) hide show
  1. package/AGENTS.md +7 -0
  2. package/CHANGELOG.md +113 -1
  3. package/README.md +45 -70
  4. package/README.vi.md +34 -61
  5. package/architecture/layers.json +16 -3
  6. package/catalog/capabilities.json +14 -7
  7. package/catalog/claude-model-additions.json +42 -0
  8. package/docs/auto-delegation-policy.md +2 -0
  9. package/docs/command-reference-vietnamese.md +69 -91
  10. package/docs/context-window-policy.md +5 -5
  11. package/docs/distribution-standard.md +16 -19
  12. package/docs/en/architecture.md +9 -1
  13. package/docs/herdr-workflow.md +2 -3
  14. package/docs/languages.json +4 -4
  15. package/docs/managed-local-acceptance.md +403 -0
  16. package/docs/mcp-and-tools.md +5 -7
  17. package/docs/memory-policy.md +3 -3
  18. package/docs/model-options.md +22 -17
  19. package/docs/oauth-providers.md +1 -1
  20. package/docs/operator-manual-vietnamese.md +85 -130
  21. package/docs/package-architecture-notes.md +4 -4
  22. package/docs/piagent-core-improvement-plan.md +3 -5
  23. package/docs/piagent-core-plan-checkpoint-2026-09-06.json +2 -13
  24. package/docs/piagent-runtime-benchmark-execution-plan.md +10 -8
  25. package/docs/project-adapters.md +3 -3
  26. package/docs/project-onboarding.md +15 -16
  27. package/docs/publishing-for-teams.md +3 -1
  28. package/docs/quality-benchmark.md +2 -0
  29. package/docs/quickstart-vietnamese.md +24 -25
  30. package/docs/release-install-policy.md +16 -11
  31. package/docs/research/harness-next-evidence-review.md +7 -7
  32. package/docs/runtime-harness-standard.md +2 -0
  33. package/docs/runtime-policy-design.md +2 -0
  34. package/docs/runtime-quality-baseline.md +2 -0
  35. package/docs/subagent-orchestration-capabilities.md +1 -1
  36. package/docs/subagents-and-multiagent.md +10 -8
  37. package/docs/task-implementation-contract.md +2 -0
  38. package/docs/task-lifecycle-vietnamese.md +2 -0
  39. package/docs/team-onboarding.md +33 -64
  40. package/docs/usage-observability.md +2 -2
  41. package/docs/vi/architecture.md +9 -1
  42. package/docs/workflow-recipes.md +6 -10
  43. package/docs-site/architecture.html +4 -3
  44. package/docs-site/assets/docs.css +80 -0
  45. package/docs-site/benchmark.html +7 -1
  46. package/docs-site/commands.html +37 -23
  47. package/docs-site/content/architecture.html +2 -2
  48. package/docs-site/content/benchmark.html +5 -0
  49. package/docs-site/content/commands.html +35 -22
  50. package/docs-site/content/ecosystem.html +144 -0
  51. package/docs-site/content/en/architecture.html +1 -1
  52. package/docs-site/content/en/benchmark.html +5 -0
  53. package/docs-site/content/en/commands.html +30 -13
  54. package/docs-site/content/en/ecosystem.html +144 -0
  55. package/docs-site/content/en/index.html +24 -9
  56. package/docs-site/content/en/quickstart.html +10 -12
  57. package/docs-site/content/en/runtime.html +1 -1
  58. package/docs-site/content/en/security.html +1 -1
  59. package/docs-site/content/en/team.html +2 -2
  60. package/docs-site/content/en/whats-new.html +89 -1
  61. package/docs-site/content/en/workflows.html +29 -31
  62. package/docs-site/content/index.html +24 -9
  63. package/docs-site/content/quickstart.html +10 -12
  64. package/docs-site/content/runtime.html +2 -2
  65. package/docs-site/content/security.html +2 -2
  66. package/docs-site/content/team.html +2 -2
  67. package/docs-site/content/whats-new.html +89 -1
  68. package/docs-site/content/workflows.html +36 -38
  69. package/docs-site/context-engine.html +2 -1
  70. package/docs-site/ecosystem.html +283 -0
  71. package/docs-site/en/architecture.html +3 -2
  72. package/docs-site/en/benchmark.html +7 -1
  73. package/docs-site/en/commands.html +32 -14
  74. package/docs-site/en/context-engine.html +2 -1
  75. package/docs-site/en/ecosystem.html +283 -0
  76. package/docs-site/en/index.html +30 -14
  77. package/docs-site/en/mcp-approval.html +2 -1
  78. package/docs-site/en/mcp-auth.html +2 -1
  79. package/docs-site/en/mcp-servers.html +2 -1
  80. package/docs-site/en/mcp.html +2 -1
  81. package/docs-site/en/permissions.html +2 -1
  82. package/docs-site/en/profiles.html +2 -1
  83. package/docs-site/en/quickstart.html +17 -18
  84. package/docs-site/en/runtime.html +3 -2
  85. package/docs-site/en/scope.html +2 -1
  86. package/docs-site/en/security.html +6 -5
  87. package/docs-site/en/team.html +4 -3
  88. package/docs-site/en/whats-new.html +97 -8
  89. package/docs-site/en/workflows.html +34 -35
  90. package/docs-site/index.html +30 -14
  91. package/docs-site/mcp-approval.html +2 -1
  92. package/docs-site/mcp-auth.html +2 -1
  93. package/docs-site/mcp-servers.html +2 -1
  94. package/docs-site/mcp.html +2 -1
  95. package/docs-site/permissions.html +2 -1
  96. package/docs-site/profiles.html +2 -1
  97. package/docs-site/quickstart.html +17 -18
  98. package/docs-site/runtime.html +4 -3
  99. package/docs-site/scope.html +2 -1
  100. package/docs-site/security.html +7 -6
  101. package/docs-site/team.html +4 -3
  102. package/docs-site/whats-new.html +97 -8
  103. package/docs-site/workflows.html +41 -42
  104. package/evals/fs5-causal-arm.v1.json +2 -2
  105. package/evals/private-holdout-v1/CURRENT_BOUNDARY.md +17 -0
  106. package/evals/private-holdout-v1/public-exposure.v2.json +2 -2
  107. package/package.json +10 -9
  108. package/packages/piagent-core/README.md +15 -23
  109. package/packages/piagent-core/docs/context-efficiency-improvement-plan.md +2 -0
  110. package/packages/piagent-core/extensions/experiment-loop-policy.ts +75 -0
  111. package/packages/piagent-core/extensions/local-state-path.js +15 -0
  112. package/packages/piagent-core/extensions/piagent-guard.ts +108 -960
  113. package/packages/piagent-core/extensions/policy-core.js +2 -2
  114. package/packages/piagent-core/extensions/source-checkout-paths.ts +54 -0
  115. package/packages/piagent-core/managed/broker-client.mjs +49 -0
  116. package/packages/piagent-core/managed/capabilities.mjs +28 -0
  117. package/packages/piagent-core/managed/compaction.mjs +63 -0
  118. package/packages/piagent-core/managed/doctor.mjs +107 -0
  119. package/packages/piagent-core/managed/native-catalog.mjs +42 -0
  120. package/packages/piagent-core/managed/patch-snapshot.mjs +48 -0
  121. package/packages/piagent-core/managed/repository-operation.mjs +84 -0
  122. package/packages/piagent-core/managed/request-stream.mjs +129 -0
  123. package/packages/piagent-core/managed/resource-loader.mjs +42 -0
  124. package/packages/piagent-core/managed/review-snapshot-worker.mjs +27 -0
  125. package/packages/piagent-core/managed/sandbox-diagnostic.mjs +12 -0
  126. package/packages/piagent-core/managed/search-fallback.mjs +93 -0
  127. package/packages/piagent-core/managed/session.mjs +472 -0
  128. package/packages/piagent-core/managed/store.d.mts +3 -0
  129. package/packages/piagent-core/managed/store.mjs +64 -0
  130. package/packages/piagent-core/managed/tool-boundary.mjs +243 -0
  131. package/packages/piagent-core/managed/tool-worker.mjs +36 -0
  132. package/packages/piagent-core/managed/toolchain.mjs +120 -0
  133. package/packages/piagent-core/managed/web-fetch.mjs +105 -0
  134. package/packages/piagent-core/managed/web-search.mjs +96 -0
  135. package/packages/piagent-core/managed/workflow.mjs +299 -0
  136. package/packages/piagent-core/package.json +3 -6
  137. package/packages/piagent-core/policies/base-policy.json +80 -26
  138. package/packages/piagent-core/runtime/hooks/agent-start-hook.ts +3 -3
  139. package/packages/piagent-core/runtime/hooks/input-hook.ts +35 -196
  140. package/packages/piagent-core/runtime/hooks/session-start-hook.ts +2 -0
  141. package/packages/piagent-core/runtime/inspection/approval-broker.ts +9 -1
  142. package/packages/piagent-core/runtime/inspection/same-process-bridge-proof.ts +1 -1
  143. package/packages/piagent-core/runtime/inspection/webui-snapshot.ts +1 -1
  144. package/packages/piagent-core/runtime/managed-failure.d.mts +10 -0
  145. package/packages/piagent-core/runtime/managed-failure.mjs +164 -0
  146. package/packages/piagent-core/runtime/model/model-route-policy.ts +33 -13
  147. package/packages/piagent-core/runtime/model/model-route-types.ts +10 -6
  148. package/packages/piagent-core/runtime/orchestration/minimal-delegation-policy.ts +8 -29
  149. package/packages/piagent-core/runtime/orchestration/owned-work-budget.ts +1 -1
  150. package/packages/piagent-core/runtime/policy/block-remedy.ts +5 -3
  151. package/packages/piagent-core/runtime/registration/context-commands.ts +1 -1
  152. package/packages/piagent-core/runtime/registration/knowledge-tools.ts +7 -7
  153. package/packages/piagent-core/runtime/registration/policy-tools.ts +2 -2
  154. package/packages/piagent-core/runtime/registration/session-commands.ts +11 -26
  155. package/packages/piagent-core/runtime/registration/task-evidence-tools.ts +1 -1
  156. package/packages/piagent-core/runtime/session/system-prompt.ts +6 -7
  157. package/packages/piagent-core/runtime/workflows/webui-runtime-command.ts +6 -6
  158. package/packages/piagent-core/runtime/workflows/webui-workflow.ts +6 -11
  159. package/packages/piagent-core/security/sensitive-text.js +9 -0
  160. package/packages/piagent-core/skills/piagent-ops/SKILL.md +8 -10
  161. package/packages/piagent-core/skills/test-audit/SKILL.md +101 -0
  162. package/packages/piagent-core/subagents/piagent-planner.md +1 -1
  163. package/packages/piagent-webui/dist/client/assets/{MarkdownMessage-DGk34zJT.js → MarkdownMessage-Dd9wPk-v.js} +1 -1
  164. package/packages/piagent-webui/dist/client/assets/index-7I-50Q2U.js +228 -0
  165. package/packages/piagent-webui/dist/client/assets/{index-DVahUVWy.css → index-DgSmcnP8.css} +1 -1
  166. package/packages/piagent-webui/dist/client/index.html +2 -2
  167. package/packages/piagent-webui/extension/piagent-webui.ts +11 -11
  168. package/packages/piagent-webui/extension/session-stream-adapter.ts +3 -1
  169. package/packages/piagent-webui/extension/terminal-session-adapter.ts +6 -1
  170. package/packages/piagent-webui/gateway/company-relay.ts +308 -0
  171. package/packages/piagent-webui/gateway/control-socket.ts +39 -12
  172. package/packages/piagent-webui/gateway/gateway-service.ts +109 -28
  173. package/packages/piagent-webui/gateway/gateway-session-stream.ts +58 -2
  174. package/packages/piagent-webui/gateway/managed-gateway.mjs +41 -0
  175. package/packages/piagent-webui/gateway/managed-launch.ts +145 -0
  176. package/packages/piagent-webui/gateway/managed-projection.ts +20 -0
  177. package/packages/piagent-webui/gateway/pi-host.ts +22 -4
  178. package/packages/piagent-webui/gateway/runtime-session-controls.ts +5 -2
  179. package/packages/piagent-webui/gateway/session-approval-authority.ts +28 -0
  180. package/packages/piagent-webui/gateway/session-catalog.ts +11 -3
  181. package/packages/piagent-webui/gateway/session-command-controller.ts +8 -2
  182. package/packages/piagent-webui/gateway/session-file-facts.ts +25 -0
  183. package/packages/piagent-webui/gateway/session-inspection-registry.ts +42 -12
  184. package/packages/piagent-webui/gateway/session-list-cache.ts +68 -0
  185. package/packages/piagent-webui/gateway/session-runtime-ownership.ts +8 -1
  186. package/packages/piagent-webui/gateway/session-runtime-supervisor.ts +20 -27
  187. package/packages/piagent-webui/ownership/managed-terminal-lease.ts +27 -0
  188. package/packages/piagent-webui/ownership/profile-state.ts +2 -0
  189. package/packages/piagent-webui/ownership/session-lease-store.ts +22 -1
  190. package/packages/piagent-webui/server/approval-projection.ts +9 -0
  191. package/packages/piagent-webui/server/core-inspection-provider.ts +4 -9
  192. package/packages/piagent-webui/server/loopback-server.ts +37 -1
  193. package/packages/piagent-webui/server/message-stop-reason.ts +11 -0
  194. package/packages/piagent-webui/server/tool-call-summary.ts +185 -0
  195. package/packages/piagent-webui/server/transcript-projection.ts +86 -3
  196. package/packs/engineering-base/pack.json +4 -0
  197. package/schemas/piagent-webui/runtime-command-v1.schema.json +1 -2
  198. package/schemas/piagent-webui/session-catalog-v1.schema.json +8 -0
  199. package/schemas/piagent-webui/transcript-v1.schema.json +94 -1
  200. package/scripts/build-docs-site.mjs +23 -12
  201. package/scripts/check-public-wording.mjs +5 -6
  202. package/scripts/check-runtime-advisories.mjs +23 -6
  203. package/scripts/claude-model-additions.mjs +33 -0
  204. package/scripts/configure-model-scope.sh +36 -8
  205. package/scripts/configure-subagents.sh +1 -1
  206. package/scripts/explain-command.mjs +5 -6
  207. package/scripts/install-global.sh +2 -2
  208. package/scripts/model-route-evaluation-core.ts +1 -0
  209. package/scripts/model-scope-prune.mjs +75 -0
  210. package/scripts/phase-tools-evaluation.mjs +9 -4
  211. package/scripts/pi-model-route.mjs +1 -1
  212. package/scripts/piagent-cli.mjs +51 -2
  213. package/scripts/piagent-dashboard.mjs +27 -4
  214. package/scripts/piagent-installations.mjs +26 -0
  215. package/scripts/piagent-studio.mjs +155 -0
  216. package/scripts/runtime-advisory-exceptions.json +29 -0
  217. package/scripts/setup.sh +2 -2
  218. package/scripts/team-doctor.sh +20 -1
  219. package/scripts/typescript-loader.mjs +6 -0
  220. package/scripts/verify-local.sh +5 -5
  221. package/scripts/verify-release-identity.mjs +1 -1
  222. package/templates/global/settings.json +8 -2
  223. package/templates/project/.pi/project-context.md +3 -3
  224. package/templates/project/AGENTS.md +4 -5
  225. package/docs/piagent-core-reasoning-research-2026-09-06.md +0 -225
  226. package/docs/piagent-core-research-sources-2026-09-06.json +0 -416
  227. package/packages/piagent-webui/dist/client/assets/index-DiKRmCEP.js +0 -176
@@ -1,3 +1,91 @@
1
+ <section class="section">
2
+ <p class="section-kicker">v1.9.0 · 2026-10-02</p>
3
+ <h2 id="v1-9-0">Nói việc bằng lời, Harness của team lo phần kiểm tra</h2>
4
+ <p class="section-lead">Bỏ task contract và các lệnh workflow: bạn giao việc như nói với đồng nghiệp, guard vẫn kiểm tra từng tool call. Chế độ công ty chạy qua Agent Studio và Agent Watch; Harness tự yêu cầu chạy check, cho subagent review và gửi lỗi chặn lại cho agent sửa. Xem <a href="/ecosystem">Hệ sinh thái</a>.</p>
5
+
6
+ <div class="benchmark-metrics" aria-label="Số liệu kiểm chứng bản 1.9.0">
7
+ <div class="benchmark-metric"><span>Kịch bản chạy thật</span><strong>13/13</strong><small>9 cá nhân, 4 chế độ công ty, trên bản cài cuối</small></div>
8
+ <div class="benchmark-metric"><span>Test tự động</span><strong>5.800+</strong><small>unit, integration và security; 0 lỗi</small></div>
9
+ <div class="benchmark-metric"><span>Test trình duyệt</span><strong>27/27</strong><small>dashboard và WebUI trên Chromium</small></div>
10
+ <div class="benchmark-metric"><span>Guard gọn hơn</span><strong>−854 dòng</strong><small>code chỉ phục vụ task contract (4993 → 4139)</small></div>
11
+ </div>
12
+
13
+ <figure class="shot">
14
+ <img src="/assets/shots/company-run-done.jpg" alt="Một lượt ở chế độ công ty: agent sửa code và chạy test, kết quả Check đã qua và Review không có lỗi chặn ghi dưới câu trả lời" loading="lazy" width="1600" height="1000">
15
+ <figcaption>Một lượt ở chế độ công ty: agent sửa code và chạy test, một subagent review bản sửa, kết quả ghi ngay dưới câu trả lời.</figcaption>
16
+ </figure>
17
+
18
+ <div class="grid cols-3">
19
+ <article class="card"><h3 id="freeform">Giao việc bằng lời thường</h3><p>Không còn <span class="inline-code">/workflow</span>, <span class="inline-code">/fresh</span>, <span class="inline-code">/onboard</span> hay task contract. Guard vẫn chặn file bảo vệ, kiểm profile quyền, file quá lớn, sửa trên bản đã cũ, và hỏi bạn trước push hay publish.</p></article>
20
+ <article class="card"><h3 id="harness">Harness của team</h3><p>Studio quyết định mỗi lượt cần kế hoạch, check và review ở mức gợi ý hay bắt buộc. Review do một subagent riêng làm; lỗi chặn được gửi lại cho agent trong số vòng sửa team đặt.</p></article>
21
+ <article class="card"><h3 id="network">Mạng theo lần duyệt</h3><p>Lệnh ở chế độ công ty chạy không mạng. Khi cần cài package, agent xin chạy đúng một lệnh có mạng; thẻ duyệt ghi rõ câu lệnh và bạn cho phép một lần.</p></article>
22
+ <article class="card"><h3 id="stop">Dừng và tiếp tục</h3><p>Nút Dừng có hiệu lực suốt lượt, kể cả lúc review đang chạy. Lượt bị dừng ghi rõ là đã dừng, không báo lỗi model; bấm Tiếp tục để làm tiếp từ các bước đã giữ.</p></article>
23
+ <article class="card"><h3 id="reconnect">Kết nối lại chế độ công ty</h3><p>Nếu phần chạy của công ty đang tắt (máy vừa khởi động, vừa cập nhật), cuộc trò chuyện báo rõ và có nút Kết nối lại ngay tại chỗ.</p></article>
24
+ <article class="card"><h3 id="local-state">Không lẫn vào git</h3><p>Thư mục <span class="inline-code">.pi/piagent-state</span> tự có <span class="inline-code">.gitignore</span>; trạng thái chạy không còn hiện trong <span class="inline-code">git status</span> của project.</p></article>
25
+ <article class="card"><h3 id="queue">Xếp hàng khi công ty bận</h3><p>Khi mọi tài khoản model của công ty đang bận, yêu cầu tự chờ tới lượt (tối đa 20 phút) thay vì báo lỗi. Lượt đang chạy hiện bước “Chờ tài khoản công ty rảnh”; nút Dừng vẫn dùng được.</p></article>
26
+ <article class="card"><h3 id="many-conversations">Nhiều cuộc trò chuyện cùng lúc</h3><p>Tạo hay gửi trong một cuộc trò chuyện không còn bị từ chối chỉ vì cuộc khác vừa đổi. Hai thư mục trùng tên (hai bản clone) hiện thêm vị trí để chọn đúng.</p></article>
27
+ <article class="card"><h3 id="model-scope">Dọn model không còn</h3><p><span class="inline-code">piagent-doctor</span> chỉ ra model đã cấu hình mà Pi không còn biết; <span class="inline-code">piagent-model-scope --prune</span> chỉ xoá đúng các dòng đó.</p></article>
28
+ </div>
29
+ </section>
30
+
31
+ <section class="section">
32
+ <p class="section-kicker">Ảnh từ dashboard</p>
33
+ <h2 id="v1-9-0-anh">Những gì thành viên thấy khi làm việc</h2>
34
+ <div class="shot-grid">
35
+ <figure class="shot">
36
+ <img src="/assets/shots/network-approval.jpg" alt="Thẻ duyệt một lệnh có mạng, ghi đúng câu lệnh npm install sẽ chạy" loading="lazy" width="1600" height="1000">
37
+ <figcaption>Duyệt một lệnh có mạng: thẻ ghi đúng câu lệnh và điều xảy ra khi cho phép hay từ chối.</figcaption>
38
+ </figure>
39
+ <figure class="shot">
40
+ <img src="/assets/shots/new-chat-models.jpg" alt="Chọn model khi mở cuộc trò chuyện mới: nhóm Công ty và nhóm Cá nhân" loading="lazy" width="1600" height="1000">
41
+ <figcaption>Cuộc trò chuyện mới: chọn model của công ty hoặc model cá nhân trong cùng một dashboard.</figcaption>
42
+ </figure>
43
+ <figure class="shot">
44
+ <img src="/assets/shots/company-review-running.jpg" alt="Đang review: thanh trên ghi Subagent 1/2 và nút Dừng vẫn còn" loading="lazy" width="1600" height="1000">
45
+ <figcaption>Review đang chạy: thanh trên ghi Subagent 1/2, nút Dừng vẫn hoạt động.</figcaption>
46
+ </figure>
47
+ <figure class="shot">
48
+ <img src="/assets/shots/personal-edit-test.jpg" alt="Một lượt cá nhân sửa code, diff hiện ngay trong thẻ Sửa" loading="lazy" width="1600" height="1000">
49
+ <figcaption>Chế độ cá nhân: mỗi bước đọc, sửa, chạy lệnh là một thẻ; diff mở ngay tại chỗ.</figcaption>
50
+ </figure>
51
+ </div>
52
+ </section>
53
+
54
+ <section class="section">
55
+ <p class="section-kicker">Kiểm chứng</p>
56
+ <h2 id="v1-9-0-kiem-chung">Chạy thật như một thành viên</h2>
57
+ <p class="section-lead">Mỗi kịch bản do script điều khiển trình duyệt thật trên bản đã cài, gửi tin nhắn như người dùng rồi kiểm tra kết quả trên đĩa. Lỗi trải nghiệm tìm thấy được sửa kèm test rồi chạy lại.</p>
58
+ <div class="table-wrap"><table>
59
+ <thead><tr><th>Kịch bản</th><th>Kết quả</th></tr></thead>
60
+ <tbody>
61
+ <tr><td>Công ty · bỏ dấu tiếng Việt cho slug, thêm test</td><td>2 file đổi, test qua, "Check đã qua trên code cuối · Review không có lỗi chặn"</td></tr>
62
+ <tr><td>Công ty · bấm Dừng lúc review đang chạy</td><td>"Lượt bị dừng trước khi kiểm chứng xong", không báo lỗi</td></tr>
63
+ <tr><td>Công ty · cài package cần mạng</td><td>Thẻ duyệt ghi đúng lệnh; sau khi cho phép, package có trong <span class="inline-code">package.json</span></td></tr>
64
+ <tr><td>Công ty · nhắn thêm lúc lượt đang chạy</td><td>Tin được giữ, gửi khi lượt xong và được trả lời</td></tr>
65
+ <tr><td>Cá nhân · sửa code, chạy test, commit và push</td><td>Push chờ duyệt trên trình duyệt; dừng lệnh dài không để lại tiến trình</td></tr>
66
+ <tr><td>Cá nhân · đọc <span class="inline-code">.env</span></td><td>Bị chặn, không lộ giá trị; agent chỉ cách tự mở</td></tr>
67
+ </tbody>
68
+ </table></div>
69
+ <p>Kết quả benchmark và journey của các bản trước được đo khi còn task contract; chúng là số liệu lịch sử, bản 1.9.0 chưa đo lại.</p>
70
+ </section>
71
+
72
+ <div class="callout">
73
+ <strong>Các bản trước</strong>
74
+ <p>Phần dưới là ghi chú của các bản cũ, đúng với thời điểm phát hành. Từ bản 1.9.0, task contract, trajectory, completion receipt và các lệnh workflow nhắc tới bên dưới đã bỏ.</p>
75
+ </div>
76
+
77
+ <section class="section">
78
+ <p class="section-kicker">v1.8.0</p>
79
+ <h2 id="v1-8-0">Astra, Sol và Luna trong Piagent</h2>
80
+ <p class="section-lead">Pi 0.87.1 đưa ba model GPT-6 vào danh sách đã đăng nhập. Phiên mới ưu tiên Sol High; tier routing vẫn là lựa chọn bật riêng.</p>
81
+ <div class="grid cols-3">
82
+ <article class="card"><h3>Luna</h3><p>Việc gọn, rõ phạm vi và có thể kiểm tra: tier low ở Medium effort.</p></article>
83
+ <article class="card"><h3>Sol</h3><p>Công việc lập trình hằng ngày: tier medium/high; mặc định phiên mới ở High effort khi có quyền dùng.</p></article>
84
+ <article class="card"><h3>Astra</h3><p>Việc rộng hoặc mơ hồ: tier ultra ở Extra High. Model đã pin và phiên cũ được giữ nguyên.</p></article>
85
+ </div>
86
+ <p>Router chỉ chọn model có trong catalog đã đăng nhập; fallback 5.6 được ghi rõ. Kết quả 108 phiên cũ không phải phép đo GPT-6 và bản này không claim tiết kiệm token.</p>
87
+ </section>
88
+
1
89
  <section class="section">
2
90
  <p class="section-kicker">v1.7.1</p>
3
91
  <h2 id="v1-7-0">Phiên dài giữ đúng việc, context và số liệu rõ ràng</h2>
@@ -56,7 +144,7 @@
56
144
  <p class="section-kicker">Daily flow</p>
57
145
  <h2 id="luong-su-dung">Luồng dùng hằng ngày không bị phá</h2>
58
146
  <div class="steps">
59
- <article class="step"><div><h3>Giao task như trước</h3><p>Dùng prompt tự nhiên hoặc <span class="inline-code">/workflow task &lt;request&gt;</span>. Không cần gọi preflight thủ công.</p></div></article>
147
+ <article class="step"><div><h3>Giao task như trước</h3><p>Dùng prompt tự nhiên (từ bản 1.9.0 <span class="inline-code">/workflow</span> đã bỏ). Không cần gọi preflight thủ công.</p></div></article>
60
148
  <article class="step"><div><h3>Runtime tự ghi nhận truth</h3><p>Task Contract, context, changed files, trajectory và checkpoint được cập nhật từ hook/tool result thay vì trí nhớ của model.</p></div></article>
61
149
  <article class="step"><div><h3>Verify đúng working tree</h3><p>Chỉ exact command đã quan sát, exit thành công và khớp current-tree digest mới được tính là passing evidence.</p></div></article>
62
150
  <article class="step"><div><h3>Recovery hoặc handoff có giới hạn</h3><p>Source repair và transient retry có ceiling. Trường hợp không an toàn chuyển sang handoff/operator thay vì tiếp tục đoán.</p></div></article>
@@ -1,20 +1,19 @@
1
1
  <section class="section">
2
2
  <p class="section-kicker">Workflow impact</p>
3
3
  <h2 id="ket-luan">Không có command bắt buộc mới trong daily flow</h2>
4
- <p class="section-lead">Người dùng vẫn giao việc bằng prompt tự nhiên hoặc <span class="inline-code">/workflow task</span>. Thay đổi chính nằm trong runtime: task state, trajectory, verifier evidence, recovery và completion gate được ghi nhận chặt hơn. Các command mới chỉ mở cửa sổ đọc những dữ liệu đó khi cần.</p>
4
+ <p class="section-lead">Từ bản 1.9.0, giao việc chỉ cần một yêu cầu bằng lời thường. <span class="inline-code">/workflow</span>, <span class="inline-code">/task</span>, <span class="inline-code">/fresh</span> và <span class="inline-code">/onboard</span> đã bỏ cùng task contract: session không còn ghi contract, work plan, completion gate hay receipt. Guard vẫn kiểm tra từng tool call.</p>
5
5
  <div class="callout ok-callout">
6
6
  <strong>Kết luận ngắn</strong>
7
- <p>Luồng thao tác không dài thêm. Luồng kiểm soát phía sau an toàn hơn và fail closed khi thiếu bằng chứng. Không cần chạy đủ bốn command mới để một task hợp lệ.</p>
7
+ <p>Nói điều mình cần, kể cả agent có được sửa hay không ("chỉ đọc, không sửa", "lập plan trước", "implement rồi chạy test"). Các command xem thêm bên dưới là tùy chọn và không bao giờ mở lượt model.</p>
8
8
  </div>
9
9
  <div class="table-wrap">
10
10
  <table>
11
- <thead><tr><th>Thời điểm</th><th>Người dùng làm như trước</th><th>Runtime mới tự xử lý</th><th>Command xem thêm, không bắt buộc</th></tr></thead>
11
+ <thead><tr><th>Thời điểm</th><th>Người dùng làm</th><th>Runtime làm</th><th>Command xem thêm, không bắt buộc</th></tr></thead>
12
12
  <tbody>
13
- <tr><td>Trước task</td><td>Gửi prompt hoặc <span class="inline-code">/workflow task &lt;request&gt;</span>.</td><td>Đọc profile/context, phân loại intent và risk, chụp runtime truth và solver recommendation.</td><td><span class="inline-code">/task-preflight [--json] &lt;intent&gt;</span></td></tr>
14
- <tr><td>Đang làm</td><td>Tiếp tục trao đổi trong cùng task.</td><td>Ghi work plan, phase, changed files, tool/command result, checkpoint, helper và recovery event. Inspector tự cập nhật dưới footer.</td><td><span class="inline-code">/piagent-inspector</span> hoặc <span class="inline-code">/piagent-status</span></td></tr>
15
- <tr><td>Verify và review</td><td>Dùng verify của project; gọi <span class="inline-code">/workflow review</span> khi cần review riêng.</td><td>Chỉ nhận exact verifier thành công và khớp working-tree identity hiện tại.</td><td><span class="inline-code">/piagent-status</span></td></tr>
16
- <tr><td>Hoàn tất hoặc handoff</td><td>Nhận kết quả và remaining risk như trước.</td><td>Receipt chỉ approved khi trace, work plan, acceptance, changed-file integrity và hard gate cùng pass.</td><td><span class="inline-code">/piagent-status</span></td></tr>
17
- <tr><td>Sau task</td><td>Không có bước bắt buộc mới.</td><td>Giữ telemetry có nguồn, không tự suy diễn chất lượng.</td><td><span class="inline-code">/usage efficiency</span></td></tr>
13
+ <tr><td>Trước khi làm</td><td>Gửi yêu cầu bằng lời thường.</td><td>Đọc profile và project context.</td><td><span class="inline-code">/task-preflight [--json] &lt;intent&gt;</span></td></tr>
14
+ <tr><td>Đang làm</td><td>Theo dõi hoặc trả lời câu hỏi xác nhận.</td><td>Kiểm tra từng tool call: protected path và read-only path, permission profile, context budget cho file lớn, edit trên bản đọc cũ, và xác nhận hành động destructive/external. Inspector tự cập nhật dưới footer.</td><td><span class="inline-code">/piagent-inspector</span> hoặc <span class="inline-code">/piagent-status</span></td></tr>
15
+ <tr><td>Verify và review</td><td>Nhờ chạy check của project, hoặc review diff hiện tại.</td><td>Chạy lệnh như mọi tool call khác.</td><td><span class="inline-code">/piagent-inspector commands</span></td></tr>
16
+ <tr><td>Sau khi làm</td><td>Không có bước bắt buộc.</td><td>Giữ telemetry có nguồn, không tự suy diễn chất lượng.</td><td><span class="inline-code">/usage efficiency</span></td></tr>
18
17
  </tbody>
19
18
  </table>
20
19
  </div>
@@ -22,22 +21,22 @@
22
21
 
23
22
  <section class="section">
24
23
  <p class="section-kicker">Command semantics</p>
25
- <h2 id="command-anh-huong-gi">Command mới ảnh hưởng workflow đến đâu</h2>
24
+ <h2 id="command-anh-huong-gi">Command xem thêm ảnh hưởng workflow đến đâu</h2>
26
25
  <div class="table-wrap">
27
26
  <table>
28
27
  <thead><tr><th>Command</th><th>Đọc hoặc hiển thị</th><th>Không thực hiện</th></tr></thead>
29
28
  <tbody>
30
- <tr><td><span class="inline-code">/task-preflight</span></td><td>Intent, risk, scope, runtime, route, phase/tool/helper policy, backend, approval và blocker.</td><td>Không tạo task, không advance phase, không gọi model và không cấp quyền implementation.</td></tr>
31
- <tr><td><span class="inline-code">/piagent-status</span></td><td>Task Contract, trajectory, checkpoint, verifier, recovery, helper, resume và terminal receipt từ persisted evidence.</td><td>Không sửa file, không chạy lại verify, không retry và không biến state thiếu evidence thành success.</td></tr>
32
- <tr><td><span class="inline-code">/piagent-inspector</span></td><td>Observed task files trên panel bốn dòng sát footer, exact baseline delta trong view <span class="inline-code">files</span>, tool hiện tại, command fail/block, safety warning và context budget. Không tham số sẽ mở menu.</td><td>Không sửa file, không chạy command, không đổi completion state và không ước lượng token theo từng built-in tool.</td></tr>
33
- <tr><td><span class="inline-code">/usage efficiency</span></td><td>Context telemetry và task metrics có nguồn; fact không đo được giữ <span class="inline-code">null</span> hoặc unavailable.</td><td>Không chấm chất lượng con người/model và không quyết định completion gate.</td></tr>
34
- <tr><td><span class="inline-code">/piagent-orchestration</span></td><td>Mode, helper mode, giới hạn subagent, review lenses, Field Guide và writer policy hiện hành.</td><td>Không đổi mode, không spawn helper và không bật parallel writer.</td></tr>
29
+ <tr><td><span class="inline-code">/task-preflight</span></td><td>Context và shadow route deterministic cho một intent.</td><td>Không tạo gì, không gọi model và không cấp quyền implementation.</td></tr>
30
+ <tr><td><span class="inline-code">/piagent-status</span></td><td>Profile, guard, runtime và trạng thái model đã xác thực.</td><td>Không sửa file, không chạy lại verify và không retry.</td></tr>
31
+ <tr><td><span class="inline-code">/piagent-inspector</span></td><td>File đã đổi trên panel bốn dòng sát footer, tool hiện tại, command fail/block, safety warning và context budget. Không tham số sẽ mở menu.</td><td>Không sửa file, không chạy command và không ước lượng token theo từng built-in tool.</td></tr>
32
+ <tr><td><span class="inline-code">/usage efficiency</span></td><td>Context telemetry có nguồn; fact không đo được giữ <span class="inline-code">null</span> hoặc unavailable.</td><td>Không chấm chất lượng con người/model.</td></tr>
33
+ <tr><td><span class="inline-code">/piagent-orchestration</span></td><td>Mode, helper mode, giới hạn helper, review lenses, Field Guide và writer policy hiện hành.</td><td>Không đổi mode, không spawn helper và không bật parallel writer.</td></tr>
35
34
  </tbody>
36
35
  </table>
37
36
  </div>
38
37
  <div class="callout">
39
38
  <strong>Chỉ opt-in mới đổi hành vi.</strong>
40
- <p>Năm command trên là read-only. Hành vi chỉ đổi khi operator chủ động bật setting rollout như phase tools hoặc helper mode; parent routing, automatic worker và multi-writer vẫn không tự bật.</p>
39
+ <p>Năm command trên là read-only. Hành vi chỉ đổi khi operator chủ động bật setting như helper mode; parent routing, automatic worker và multi-writer vẫn không tự bật.</p>
41
40
  </div>
42
41
  </section>
43
42
 
@@ -46,14 +45,13 @@
46
45
  <h2 id="luong-mau">Một luồng đầy đủ có thể dùng như sau</h2>
47
46
  <div class="command-grid">
48
47
  <article class="command-card">
49
- <header><span>Inspect → implement → review → receipt</span><button class="clip-btn" data-clip="/task-preflight --json Fix the failing checkout test&#10;/workflow task Fix the failing checkout test and verify.&#10;/piagent-inspector&#10;/workflow review current diff&#10;/piagent-status&#10;/usage efficiency">Lấy lệnh</button></header>
48
+ <header><span>Inspect → implement → review</span><button class="clip-btn" data-clip="/task-preflight --json Fix the failing checkout test&#10;Sửa test checkout đang fail rồi chạy test của project.&#10;/piagent-inspector&#10;Review diff hiện tại: correctness, test còn thiếu, scope drift. Chỉ đọc.&#10;/usage efficiency">Lấy lệnh</button></header>
50
49
  <pre><code>/task-preflight --json Fix the failing checkout test
51
- /workflow task Fix the failing checkout test and verify.
50
+ Sửa test checkout đang fail rồi chạy test của project.
52
51
  /piagent-inspector
53
- /workflow review current diff
54
- /piagent-status
52
+ Review diff hiện tại: correctness, test còn thiếu, scope drift. Chỉ đọc.
55
53
  /usage efficiency</code></pre>
56
- <p>Chỉ dòng <span class="inline-code">/workflow task</span> khởi chạy implementation. Inspector mở menu để xem file/command/safety/context; preflight, inspector, status và efficiency đều tùy chọn. Review riêng dùng khi scope hoặc quy trình handoff yêu cầu.</p>
54
+ <p>Chỉ các dòng lời thường mới mở việc cho model. Preflight, inspector và efficiency là màn hình xem tùy chọn.</p>
57
55
  </article>
58
56
  </div>
59
57
  </section>
@@ -61,47 +59,47 @@
61
59
  <section class="section">
62
60
  <div class="callout ok-callout">
63
61
  <strong>Git trong Pi Agent</strong>
64
- <p>Không có namespace <span class="inline-code">/git</span> riêng. Dùng <span class="inline-code">/workflow commit</span> để commit local đã review, dùng <span class="inline-code">/workflow pr</span> để chuẩn bị PR. Các hành động như <span class="inline-code">git push</span> hoặc stage rộng <span class="inline-code">git add -A</span> vẫn cần operator xác nhận.</p>
62
+ <p>Không có namespace <span class="inline-code">/git</span> và không có command workflow. Nhờ commit hoặc tạo PR bằng lời thường. <span class="inline-code">git push</span>, thao tác ghi lên GitHub và stage rộng như <span class="inline-code">git add -A</span> vẫn cần operator xác nhận.</p>
65
63
  </div>
66
64
 
67
65
  <div class="callout">
68
66
  <strong>Parent-direct orchestration</strong>
69
- <p>Dùng <span class="inline-code">/piagent-orchestration</span> để xem trần một helper, lý do dispatch/skip, projected token saving, review lenses, Field Guide và writer policy. Helper mặc định off. Opt-in vẫn chỉ cho một helper read-only context fresh khi chứng minh hai lane độc lập và tiết kiệm từ 30%; worker và retry bị tắt.</p>
67
+ <p>Dùng <span class="inline-code">/piagent-orchestration</span> để xem trần helper, lý do dispatch/skip, review lenses, Field Guide và writer policy. Helper mặc định off. Khi opt-in, parent được dùng tối đa hai helper read-only context fresh; ước tính tiết kiệm token chỉ là telemetry, không phải điều kiện. Worker và retry bị tắt.</p>
70
68
  </div>
71
69
 
72
70
  <div class="command-grid">
73
71
  <article class="command-card">
74
- <header><span>Implementation bounded</span><button class="clip-btn" data-clip="/workflow task Fix the failing checkout test and verify.">Lấy lệnh</button></header>
75
- <pre><code>/workflow task Fix the failing checkout test and verify.</code></pre>
72
+ <header><span>Implementation</span><button class="clip-btn" data-clip="Sửa test checkout đang fail rồi chạy test của project.">Lấy lệnh</button></header>
73
+ <pre><code>Sửa test checkout đang fail rồi chạy test của project.</code></pre>
76
74
  </article>
77
75
  <article class="command-card">
78
- <header><span>Read-only scout</span><button class="clip-btn" data-clip="/workflow scout Map the auth flow and risk areas.">Lấy lệnh</button></header>
79
- <pre><code>/workflow scout Map the auth flow and risk areas.</code></pre>
76
+ <header><span>Read-only scout</span><button class="clip-btn" data-clip="Map luồng auth và các vùng rủi ro. Chỉ đọc, không sửa.">Lấy lệnh</button></header>
77
+ <pre><code>Map luồng auth và các vùng rủi ro. Chỉ đọc, không sửa.</code></pre>
80
78
  </article>
81
79
  <article class="command-card">
82
- <header><span>Plan trước khi code</span><button class="clip-btn" data-clip="/workflow plan Add multi-tenant billing support.">Lấy lệnh</button></header>
83
- <pre><code>/workflow plan Add multi-tenant billing support.</code></pre>
80
+ <header><span>Plan trước khi code</span><button class="clip-btn" data-clip="Lập plan hỗ trợ multi-tenant billing. Chưa sửa code.">Lấy lệnh</button></header>
81
+ <pre><code>Lập plan hỗ trợ multi-tenant billing. Chưa sửa code.</code></pre>
84
82
  </article>
85
83
  <article class="command-card">
86
- <header><span>Review diff</span><button class="clip-btn" data-clip="/workflow review current diff">Lấy lệnh</button></header>
87
- <pre><code>/workflow review current diff</code></pre>
84
+ <header><span>Review diff</span><button class="clip-btn" data-clip="Review diff hiện tại: correctness, test còn thiếu, scope drift. Chỉ đọc.">Lấy lệnh</button></header>
85
+ <pre><code>Review diff hiện tại: correctness, test còn thiếu, scope drift. Chỉ đọc.</code></pre>
88
86
  </article>
89
87
  <article class="command-card">
90
- <header><span>Commit local có guard</span><button class="clip-btn" data-clip="/workflow commit &quot;feat: add guarded git workflow&quot;">Lấy lệnh</button></header>
91
- <pre><code>/workflow commit "feat: add guarded git workflow"</code></pre>
88
+ <header><span>Commit local</span><button class="clip-btn" data-clip="Commit hai file docs với message &quot;docs: update onboarding notes&quot;. Không push.">Lấy lệnh</button></header>
89
+ <pre><code>Commit hai file docs với message "docs: update onboarding notes". Không push.</code></pre>
92
90
  </article>
93
91
  <article class="command-card">
94
- <header><span>Chuẩn bị pull request</span><button class="clip-btn" data-clip="/workflow pr &quot;Prepare PR for guarded git workflow&quot;">Lấy lệnh</button></header>
95
- <pre><code>/workflow pr "Prepare PR for guarded git workflow"</code></pre>
92
+ <header><span>Pull request</span><button class="clip-btn" data-clip="Tạo draft PR cho branch này, title &quot;Harden command docs&quot;.">Lấy lệnh</button></header>
93
+ <pre><code>Tạo draft PR cho branch này, title "Harden command docs".</code></pre>
96
94
  </article>
97
95
  <article class="command-card">
98
- <header><span>Backend spec sang frontend</span><button class="clip-btn" data-clip="/profile be-readonly-fe&#10;/workflow be-to-fe Implement frontend support for the new user status endpoint.">Lấy lệnh</button></header>
96
+ <header><span>Backend spec sang frontend</span><button class="clip-btn" data-clip="/profile be-readonly-fe&#10;Implement frontend support cho endpoint user status mới. Backend chỉ đọc.">Lấy lệnh</button></header>
99
97
  <pre><code>/profile be-readonly-fe
100
- /workflow be-to-fe Implement frontend support for the new user status endpoint.</code></pre>
98
+ Implement frontend support cho endpoint user status mới. Backend chỉ đọc.</code></pre>
101
99
  </article>
102
100
  <article class="command-card">
103
- <header><span>Cải thiện platform</span><button class="clip-btn" data-clip="/workflow platform-improve Harden command docs and run verification.">Lấy lệnh</button></header>
104
- <pre><code>/workflow platform-improve Harden command docs and run verification.</code></pre>
101
+ <header><span>Onboard 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>
102
+ <pre><code>Đọc project này (chỉ đọc) và ghi lại project context.</code></pre>
105
103
  </article>
106
104
  </div>
107
105
  </section>
@@ -30,7 +30,7 @@
30
30
  <span>Pi Agent Platform</span>
31
31
  </a>
32
32
  <div class="top-actions">
33
- <span class="pill"><span class="pill-dot"></span>v1.7.1 docs · VI</span>
33
+ <span class="pill"><span class="pill-dot"></span>v1.9.0 docs · VI</span>
34
34
  <nav class="language-switch" aria-label="Ngôn ngữ">
35
35
  <a class="language-option current" href="/context-engine" hreflang="vi" lang="vi" aria-current="true">VI</a>
36
36
  <a class="language-option" href="/en/context-engine" hreflang="en" lang="en">EN</a>
@@ -59,6 +59,7 @@
59
59
  <div class="nav-group">
60
60
  <p class="nav-title">Get started</p>
61
61
  <a class="nav-link" href="/">Overview</a>
62
+ <a class="nav-link" href="/ecosystem">Hệ sinh thái</a>
62
63
  <a class="nav-link" href="/quickstart">Quickstart</a>
63
64
  <a class="nav-link" href="/whats-new">Có gì mới</a>
64
65
  <a class="nav-link" href="/scope">Phạm vi platform</a>
@@ -0,0 +1,283 @@
1
+ <!doctype html>
2
+ <html lang="vi" data-copy-success="Đã lấy" data-copy-fallback="Chọn lệnh">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
6
+ <title>Piagent, Agent Watch và Agent Studio · Pi Agent Platform Docs</title>
7
+ <meta name="description" content="Một dashboard, hai cách dùng model: tài khoản của bạn, hoặc model của công ty qua Agent Watch và Agent Studio, với Harness tự kiểm tra từng lượt." />
8
+ <meta name="theme-color" content="#050505" />
9
+ <link rel="canonical" href="https://piagent.io.vn/ecosystem" />
10
+ <link rel="alternate" hreflang="vi" href="https://piagent.io.vn/ecosystem" />
11
+ <link rel="alternate" hreflang="en" href="https://piagent.io.vn/en/ecosystem" />
12
+ <link rel="alternate" hreflang="x-default" href="https://piagent.io.vn/ecosystem" />
13
+ <link rel="icon" href="/favicon.svg" type="image/svg+xml" />
14
+ <meta property="og:title" content="Piagent, Agent Watch và Agent Studio · Pi Agent Platform Docs" />
15
+ <meta property="og:description" content="Một dashboard, hai cách dùng model: tài khoản của bạn, hoặc model của công ty qua Agent Watch và Agent Studio, với Harness tự kiểm tra từng lượt." />
16
+ <meta property="og:url" content="https://piagent.io.vn/ecosystem" />
17
+ <link rel="preconnect" href="https://fonts.googleapis.com" />
18
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
19
+ <link
20
+ href="https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap"
21
+ rel="stylesheet"
22
+ />
23
+ <link rel="stylesheet" href="/assets/docs.css" />
24
+ <script src="/assets/docs.js" defer></script>
25
+ </head>
26
+ <body>
27
+ <header class="topbar">
28
+ <a class="brand" href="/" aria-label="Pi Agent Platform">
29
+ <span class="brand-mark"><img src="/assets/piagent-logo.svg" alt="" /></span>
30
+ <span>Pi Agent Platform</span>
31
+ </a>
32
+ <div class="top-actions">
33
+ <span class="pill"><span class="pill-dot"></span>v1.9.0 docs · VI</span>
34
+ <nav class="language-switch" aria-label="Ngôn ngữ">
35
+ <a class="language-option current" href="/ecosystem" hreflang="vi" lang="vi" aria-current="true">VI</a>
36
+ <a class="language-option" href="/en/ecosystem" hreflang="en" lang="en">EN</a>
37
+ </nav>
38
+ <a class="button social" href="https://github.com/Vt-mmm/piagent" target="_blank" rel="noopener noreferrer" aria-label="Mở GitHub repository">
39
+ <svg viewBox="0 0 24 24" fill="none" aria-hidden="true">
40
+ <path d="M7 17 17 7M9 7h8v8" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" />
41
+ </svg>
42
+ GitHub
43
+ </a>
44
+ <button class="button mobile-menu" type="button" data-menu>Lộ trình</button>
45
+ <a class="button top-command-link" href="/commands">Commands</a>
46
+ </div>
47
+ </header>
48
+
49
+ <div class="layout with-toc">
50
+ <aside class="sidebar" data-sidebar>
51
+ <div class="sidebar-search" aria-label="Tìm trong tài liệu">
52
+ <svg viewBox="0 0 24 24" fill="none" aria-hidden="true">
53
+ <path d="M10.8 18.1a7.3 7.3 0 1 1 0-14.6 7.3 7.3 0 0 1 0 14.6Zm5.3-1.7 4.4 4.4" stroke="currentColor" stroke-width="2" stroke-linecap="round" />
54
+ </svg>
55
+ <input type="search" placeholder="Tìm trang" data-filter />
56
+ </div>
57
+
58
+ <nav aria-label="Tài liệu">
59
+ <div class="nav-group">
60
+ <p class="nav-title">Get started</p>
61
+ <a class="nav-link" href="/">Overview</a>
62
+ <a class="nav-link current" href="/ecosystem" aria-current="page">Hệ sinh thái</a>
63
+ <a class="nav-link" href="/quickstart">Quickstart</a>
64
+ <a class="nav-link" href="/whats-new">Có gì mới</a>
65
+ <a class="nav-link" href="/scope">Phạm vi platform</a>
66
+ </div>
67
+ <div class="nav-group">
68
+ <p class="nav-title">Build</p>
69
+ <a class="nav-link" href="/profiles">Project profile</a>
70
+ <a class="nav-link" href="/permissions">Permission modes</a>
71
+ <a class="nav-link" href="/commands">Command catalog</a>
72
+ <a class="nav-link" href="/workflows">Workflows</a>
73
+ </div>
74
+ <div class="nav-group">
75
+ <p class="nav-title">MCP</p>
76
+ <a class="nav-link" href="/mcp">MCP overview</a>
77
+ <a class="nav-link" href="/mcp-servers">Quản lý server</a>
78
+ <a class="nav-link" href="/mcp-auth">Auth và readiness</a>
79
+ <a class="nav-link" href="/mcp-approval">Approval gate</a>
80
+ </div>
81
+ <div class="nav-group">
82
+ <p class="nav-title">Operate</p>
83
+ <a class="nav-link" href="/security">Security model</a>
84
+ <a class="nav-link" href="/architecture">Architecture</a>
85
+ <a class="nav-link" href="/context-engine">Context Engine</a>
86
+ <a class="nav-link" href="/benchmark">Benchmark</a>
87
+ <a class="nav-link" href="/runtime">Runtime tools</a>
88
+ <a class="nav-link" href="/team">Team usage</a>
89
+ </div>
90
+ </nav>
91
+ </aside>
92
+
93
+ <main>
94
+ <div class="content-shell" data-article>
95
+ <nav class="breadcrumb" aria-label="Breadcrumb">
96
+ <a href="/">Docs</a>
97
+ <span aria-hidden="true">/</span>
98
+ <span>Get started</span>
99
+ <span aria-hidden="true">/</span>
100
+ <span>Hệ sinh thái</span>
101
+ </nav>
102
+ <div class="page-head">
103
+ <h1>Piagent, Agent Watch và Agent Studio</h1>
104
+ <p>Một dashboard, hai cách dùng model: tài khoản của bạn, hoặc model của công ty qua Agent Watch và Agent Studio, với Harness tự kiểm tra từng lượt.</p>
105
+ </div>
106
+ <section class="section">
107
+ <p class="section-kicker">Toàn cảnh</p>
108
+ <h2 id="toan-canh">Một dashboard, hai cách dùng model</h2>
109
+ <p class="section-lead">Piagent chạy trên máy từng thành viên. Ở chế độ cá nhân, nó dùng tài khoản model của chính bạn. Ở chế độ công ty, nó đi qua Agent Watch trên máy bạn và Agent Studio của công ty: công ty giữ key, chọn model và đặt quy trình kiểm tra cho cả team.</p>
110
+ <figure class="diagram">
111
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1120 560" role="img" aria-labelledby="eco-title eco-desc" class="eco-diagram">
112
+ <title id="eco-title">Hệ sinh thái Piagent</title>
113
+ <desc id="eco-desc">Máy của thành viên chạy Piagent (Terminal và Dashboard) với guard kiểm tra mọi tool call. Chế độ cá nhân gọi thẳng model bằng tài khoản riêng. Chế độ công ty đi qua Agent Watch giữ key trong Keychain và Agent Studio của công ty, nơi chọn model và Harness cho từng lượt.</desc>
114
+ <defs>
115
+ <marker id="eco-arrow" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><path d="M0 0 L10 5 L0 10 z" fill="#8be9c8"/></marker>
116
+ <marker id="eco-arrow-lime" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><path d="M0 0 L10 5 L0 10 z" fill="#d8ff7a"/></marker>
117
+ </defs>
118
+ <style>
119
+ .eco-box { fill: #101114; stroke: #2c2f37; stroke-width: 1.5; }
120
+ .eco-zone { fill: rgba(255,255,255,0.015); stroke: #24262d; stroke-width: 1.2; stroke-dasharray: 6 6; }
121
+ .eco-h { fill: #f4f4ef; font: 600 17px "Be Vietnam Pro", system-ui, sans-serif; }
122
+ .eco-t { fill: #a4a6ad; font: 400 13.5px "Be Vietnam Pro", system-ui, sans-serif; }
123
+ .eco-k { fill: #71747d; font: 600 12px "Be Vietnam Pro", system-ui, sans-serif; letter-spacing: .12em; text-transform: uppercase; }
124
+ .eco-chip { fill: rgba(216,255,122,0.08); stroke: rgba(216,255,122,0.35); }
125
+ .eco-chip-t { fill: #d8ff7a; font: 600 12.5px "JetBrains Mono", ui-monospace, monospace; }
126
+ .eco-line { stroke: #8be9c8; stroke-width: 1.8; fill: none; }
127
+ .eco-line-lime { stroke: #d8ff7a; stroke-width: 1.8; fill: none; stroke-dasharray: 7 6; }
128
+ .eco-label { fill: #8be9c8; font: 500 12.5px "Be Vietnam Pro", system-ui, sans-serif; }
129
+ .eco-label-lime { fill: #d8ff7a; font: 500 12.5px "Be Vietnam Pro", system-ui, sans-serif; }
130
+ </style>
131
+ <rect class="eco-zone" x="16" y="16" width="420" height="528" rx="22"/>
132
+ <text class="eco-k" x="40" y="48">Máy của thành viên</text>
133
+ <rect class="eco-box" x="40" y="68" width="372" height="96" rx="16"/>
134
+ <text class="eco-h" x="62" y="102">Piagent · Terminal và Dashboard</text>
135
+ <text class="eco-t" x="62" y="128">Nói việc bằng lời thường; cùng một lịch sử</text>
136
+ <text class="eco-t" x="62" y="148">trong Terminal (pi) và trình duyệt.</text>
137
+ <rect class="eco-box" x="40" y="184" width="372" height="116" rx="16"/>
138
+ <text class="eco-h" x="62" y="218">Guard</text>
139
+ <text class="eco-t" x="62" y="244">Kiểm tra mọi tool call: file bảo vệ, profile</text>
140
+ <text class="eco-t" x="62" y="264">quyền, file quá lớn, sửa trên bản đã cũ;</text>
141
+ <text class="eco-t" x="62" y="284">push, publish, lệnh có mạng chờ bạn duyệt.</text>
142
+ <rect class="eco-box" x="40" y="320" width="372" height="96" rx="16"/>
143
+ <text class="eco-h" x="62" y="354">Sandbox của chế độ công ty</text>
144
+ <text class="eco-t" x="62" y="380">Lệnh chạy không mạng, không đọc Keychain,</text>
145
+ <text class="eco-t" x="62" y="400">.env hay SSH key; mạng chỉ mở theo lần duyệt.</text>
146
+ <rect class="eco-chip" x="40" y="440" width="176" height="34" rx="17"/>
147
+ <text class="eco-chip-t" x="58" y="462">piagent dashboard</text>
148
+ <rect class="eco-chip" x="226" y="440" width="186" height="34" rx="17"/>
149
+ <text class="eco-chip-t" x="244" y="462">piagent studio --web</text>
150
+ <rect class="eco-chip" x="40" y="486" width="76" height="34" rx="17"/>
151
+ <text class="eco-chip-t" x="64" y="508">pi</text>
152
+ <rect class="eco-chip" x="126" y="486" width="186" height="34" rx="17"/>
153
+ <text class="eco-chip-t" x="144" y="508">piagent-doctor</text>
154
+ <rect class="eco-box" x="500" y="68" width="250" height="96" rx="18"/>
155
+ <text class="eco-h" x="522" y="102">Model cá nhân</text>
156
+ <text class="eco-t" x="522" y="128">Đăng nhập bằng tài khoản</text>
157
+ <text class="eco-t" x="522" y="148">riêng: Codex, Claude, Copilot…</text>
158
+ <rect class="eco-box" x="500" y="184" width="250" height="232" rx="18"/>
159
+ <text class="eco-k" x="522" y="216">Ứng dụng macOS</text>
160
+ <text class="eco-h" x="522" y="244">Agent Watch</text>
161
+ <text class="eco-t" x="522" y="272">Giữ key công ty trong</text>
162
+ <text class="eco-t" x="522" y="292">Keychain; nhập cấu hình</text>
163
+ <text class="eco-t" x="522" y="312">cho Piagent; cấp quyền</text>
164
+ <text class="eco-t" x="522" y="332">ngắn hạn cho từng lượt.</text>
165
+ <text class="eco-t" x="522" y="364">Model không bao giờ thấy</text>
166
+ <text class="eco-t" x="522" y="384">key.</text>
167
+ <rect class="eco-zone" x="800" y="16" width="304" height="528" rx="22"/>
168
+ <text class="eco-k" x="824" y="48">Máy chủ công ty</text>
169
+ <rect class="eco-box" x="824" y="68" width="256" height="300" rx="18"/>
170
+ <text class="eco-h" x="846" y="102">Agent Studio</text>
171
+ <text class="eco-t" x="846" y="132">Thành viên, key, ngân sách</text>
172
+ <text class="eco-t" x="846" y="152">và usage theo ngày.</text>
173
+ <text class="eco-t" x="846" y="186">Harness của team:</text>
174
+ <text class="eco-label-lime" x="846" y="210">kế hoạch · check · review</text>
175
+ <text class="eco-t" x="846" y="244">Chọn model cho từng vai:</text>
176
+ <text class="eco-label-lime" x="846" y="268">main · research · review</text>
177
+ <text class="eco-t" x="846" y="302">Mỗi vai một model riêng,</text>
178
+ <text class="eco-t" x="846" y="322">thinking theo Harness.</text>
179
+ <rect class="eco-box" x="824" y="392" width="256" height="128" rx="18"/>
180
+ <text class="eco-h" x="846" y="426">Model của công ty</text>
181
+ <text class="eco-t" x="846" y="454">Claude, GPT, DeepSeek, Kimi,</text>
182
+ <text class="eco-t" x="846" y="474">GLM, Qwen… qua key công ty;</text>
183
+ <text class="eco-t" x="846" y="494">key chỉ nằm trên máy chủ.</text>
184
+ <path class="eco-line" d="M412 300 L 500 300" marker-end="url(#eco-arrow)"/>
185
+ <text class="eco-label" x="424" y="290">công ty</text>
186
+ <path class="eco-line" d="M750 300 C 790 300, 790 220, 824 220" marker-end="url(#eco-arrow)"/>
187
+ <text class="eco-label" x="748" y="348">lượt có hạn</text>
188
+ <path class="eco-line" d="M952 368 L952 392" marker-end="url(#eco-arrow)"/>
189
+ <path class="eco-line-lime" d="M412 116 L 500 116" marker-end="url(#eco-arrow-lime)"/>
190
+ <text class="eco-label-lime" x="420" y="106">cá nhân</text>
191
+ </svg>
192
+ <figcaption class="diagram-hint">Vuốt ngang để xem hết sơ đồ.</figcaption>
193
+ </figure>
194
+ </section>
195
+
196
+ <section class="section">
197
+ <p class="section-kicker">Thành phần</p>
198
+ <h2 id="thanh-phan">Mỗi phần làm một việc</h2>
199
+ <div class="grid cols-2">
200
+ <article class="card">
201
+ <h3 id="piagent">Piagent</h3>
202
+ <p>Coding agent trong Terminal (<span class="inline-code">pi</span>) và trên trình duyệt (<span class="inline-code">piagent dashboard</span>). Hai nơi dùng chung lịch sử: bắt đầu ở Terminal, xem tiếp trên trình duyệt.</p>
203
+ </article>
204
+ <article class="card">
205
+ <h3 id="guard">Guard</h3>
206
+ <p>Kiểm tra từng tool call trước khi chạy: file bảo vệ như <span class="inline-code">.env</span>, profile quyền, file quá lớn, sửa trên bản đã cũ. Push, publish và lệnh có mạng chờ bạn duyệt đúng một lần.</p>
207
+ </article>
208
+ <article class="card">
209
+ <h3 id="agent-watch">Agent Watch</h3>
210
+ <p>Ứng dụng macOS giữ key công ty trong Keychain và nhập cấu hình cho Piagent. Mỗi lượt nhận quyền ngắn hạn; model và các lệnh không bao giờ đọc được key.</p>
211
+ </article>
212
+ <article class="card">
213
+ <h3 id="agent-studio">Agent Studio</h3>
214
+ <p>Máy chủ của công ty: thành viên, key, ngân sách, usage theo ngày và Harness của team. Studio chọn model cho từng vai (main, research, review) và mức suy luận.</p>
215
+ </article>
216
+ </div>
217
+ </section>
218
+
219
+ <section class="section">
220
+ <p class="section-kicker">Một lượt ở chế độ công ty</p>
221
+ <h2 id="mot-luot">Từ tin nhắn tới "Check đã qua · Review không có lỗi chặn"</h2>
222
+ <div class="steps">
223
+ <article class="step"><div><h3>Bạn nhắn việc cần làm</h3><p>Viết như nói với đồng nghiệp, chọn model <span class="inline-code">agent-watch-auto</span> trong nhóm Công ty.</p></div></article>
224
+ <article class="step"><div><h3>Studio cấp một lượt</h3><p>Agent Watch xin quyền ngắn hạn; Studio chọn model cho agent chính theo Harness của team.</p></div></article>
225
+ <article class="step"><div><h3>Agent làm trong sandbox</h3><p>Đọc, sửa và chạy lệnh trong project, không có mạng. Cần mạng thì xin bạn duyệt đúng một lệnh.</p></div></article>
226
+ <article class="step"><div><h3>Harness kiểm tra</h3><p>Chưa có check nào qua trên code cuối thì yêu cầu chạy; rồi một subagent review bản sửa. Lỗi chặn được gửi lại cho agent, tối đa số vòng team đặt.</p></div></article>
227
+ <article class="step"><div><h3>Kết quả ghi dưới câu trả lời</h3><p>Ví dụ "Check đã qua trên code cuối · Review không có lỗi chặn". Bạn có thể Dừng bất cứ lúc nào và Tiếp tục sau.</p></div></article>
228
+ </div>
229
+ <figure class="shot">
230
+ <img src="/assets/shots/company-review-running.jpg" alt="Đang review: thanh trên ghi Subagent 1/2, nút Dừng vẫn còn" loading="lazy" width="1600" height="1000">
231
+ <figcaption>Lúc review đang chạy: thanh trên ghi Subagent 1/2, cột Workspace ghi 1/2 đang chạy, nút Dừng vẫn hoạt động.</figcaption>
232
+ </figure>
233
+ </section>
234
+
235
+ <section class="section">
236
+ <p class="section-kicker">Chọn chế độ</p>
237
+ <h2 id="chon-che-do">Khi nào dùng cá nhân, khi nào dùng công ty</h2>
238
+ <div class="table-wrap"><table>
239
+ <thead><tr><th></th><th>Cá nhân</th><th>Công ty</th></tr></thead>
240
+ <tbody>
241
+ <tr><td>Model</td><td>Tài khoản bạn đăng nhập (Codex, Claude, Copilot…)</td><td>Model công ty chọn trong Studio, theo vai</td></tr>
242
+ <tr><td>Key</td><td>Do Pi quản lý trên máy bạn</td><td>Nằm trên máy chủ và trong Keychain, không vào project</td></tr>
243
+ <tr><td>Kiểm tra</td><td>Guard; bạn quyết định khi nào chạy test</td><td>Guard, sandbox, và Harness tự yêu cầu check, review</td></tr>
244
+ <tr><td>Mạng khi chạy lệnh</td><td>Như trên máy bạn; push và publish chờ duyệt</td><td>Tắt; mở cho đúng một lệnh khi bạn duyệt</td></tr>
245
+ <tr><td>Chi phí</td><td>Theo gói của bạn</td><td>Theo ngân sách công ty, xem usage trong Studio</td></tr>
246
+ </tbody>
247
+ </table></div>
248
+ <div class="callout ok-callout"><strong>Bắt đầu</strong><p>Cá nhân: cài theo <a href="/quickstart">Quickstart</a> rồi chạy <span class="inline-code">piagent dashboard</span>. Công ty: mở Agent Watch, tab Studio, kết nối key và nhập cấu hình cho Piagent; model <span class="inline-code">agent-watch-auto</span> sẽ có trong nhóm Công ty.</p></div>
249
+ </section>
250
+ <nav class="pager" aria-label="Trang kế tiếp">
251
+ <a class="pager-prev" href="/">
252
+ <span class="pager-label">Trước</span>
253
+ <span class="pager-title">Overview</span>
254
+ </a>
255
+ <a class="pager-next" href="/quickstart">
256
+ <span class="pager-label">Tiếp</span>
257
+ <span class="pager-title">Quickstart</span>
258
+ </a>
259
+ </nav>
260
+
261
+ <footer class="footer">
262
+ <p>Pi Agent Platform docs · static HTML · governed agent workflow</p>
263
+ <div class="footer-links" aria-label="Liên kết ngoài">
264
+ <a href="https://piagent.io.vn" target="_blank" rel="noopener noreferrer">piagent.io.vn</a>
265
+ <a href="https://github.com/Vt-mmm/piagent" target="_blank" rel="noopener noreferrer">GitHub repository</a>
266
+ <a href="/en/ecosystem" hreflang="en">English</a>
267
+ <a href="https://www.facebook.com/vinhtam0544/" target="_blank" rel="noopener noreferrer">Facebook profile</a>
268
+ </div>
269
+ </footer>
270
+ </div>
271
+ </main>
272
+
273
+ <aside class="toc" aria-label="Mục lục trang">
274
+ <p class="toc-title">Trên trang này</p>
275
+ <nav data-toc></nav>
276
+ </aside>
277
+ </div>
278
+ <script>
279
+ window.va = window.va || function () { (window.vaq = window.vaq || []).push(arguments); };
280
+ </script>
281
+ <script defer src="/_vercel/insights/script.js"></script>
282
+ </body>
283
+ </html>