@piagent/platform 1.41.0 → 1.42.1

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 (125) hide show
  1. package/CHANGELOG.md +1020 -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 +2 -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 +1612 -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 +4485 -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 +1616 -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/managed/dist/workspace/manifest.json +1 -1
  73. package/packages/piagent-core/managed/dist/workspace/worker.mjs +1 -1
  74. package/packages/piagent-core/package.json +1 -1
  75. package/packages/piagent-core/security/workspace-file-reader.ts +3 -1
  76. package/packages/piagent-webui/dist/client/assets/ActivityPanel-DRAiHliI.js +1 -0
  77. package/packages/piagent-webui/dist/client/assets/App-JMuP_9-r.js +5 -0
  78. package/packages/piagent-webui/dist/client/assets/GatewayApp-awcOLVTi.js +93 -0
  79. package/packages/piagent-webui/dist/client/assets/InspectionApp-DtDc9NxN.js +1 -0
  80. package/packages/piagent-webui/dist/client/assets/LineReview-DZ9ez8kO.js +3 -0
  81. package/packages/piagent-webui/dist/client/assets/{MarkdownMessage-DeLo-xiz.js → MarkdownMessage-D7bbIWJe.js} +2 -2
  82. package/packages/piagent-webui/dist/client/assets/SessionAgentWorkspace-DLwK12hX.js +1 -0
  83. package/packages/piagent-webui/dist/client/assets/SessionInspectorDrawer-CsPNI6aU.js +2 -0
  84. package/packages/piagent-webui/dist/client/assets/SettingsNavigation-CM0s3QUC.js +3 -0
  85. package/packages/piagent-webui/dist/client/assets/SettingsPage-Cr6M2FVg.js +1 -0
  86. package/packages/piagent-webui/dist/client/assets/TerminalPanel-A78JVp4e.js +2 -0
  87. package/packages/piagent-webui/dist/client/assets/{TerminalView-r9rG24IO.js → TerminalView-CR4TO5f1.js} +3 -3
  88. package/packages/piagent-webui/dist/client/assets/WorkspaceCodeEditor-DPOp-ZoD.js +2 -0
  89. package/packages/piagent-webui/dist/client/assets/WorkspaceExplorer-H8Ogln3d.js +5 -0
  90. package/packages/piagent-webui/dist/client/assets/WorkspaceQuickOpen-vQ5DqfJl.js +1 -0
  91. package/packages/piagent-webui/dist/client/assets/api-BUjrtT1B.js +1 -0
  92. package/packages/piagent-webui/dist/client/assets/composer-drafts-BtMaVw8W.js +1 -0
  93. package/packages/piagent-webui/dist/client/assets/index-Dqb2hNan.css +1 -0
  94. package/packages/piagent-webui/dist/client/assets/index-qi6mjvTy.js +37 -0
  95. package/packages/piagent-webui/dist/client/assets/latest-request-DXcYQW86.js +1 -0
  96. package/packages/piagent-webui/dist/client/assets/tab-close-DHDqCxTL.js +1 -0
  97. package/packages/piagent-webui/dist/client/assets/terminal-transport-Dk5pYNX5.js +1 -0
  98. package/packages/piagent-webui/dist/client/assets/transcript-view-model-BNGQCkzY.js +3 -0
  99. package/packages/piagent-webui/dist/client/assets/ui-preferences-Dy4qeODT.js +1 -0
  100. package/packages/piagent-webui/dist/client/assets/vendor-CA5pzJiI.js +136 -0
  101. package/packages/piagent-webui/dist/client/assets/view-model-CWNiS4JN.js +1 -0
  102. package/packages/piagent-webui/dist/client/assets/workspace-navigation-C8GtShbg.js +1 -0
  103. package/packages/piagent-webui/dist/client/index.html +4 -9
  104. package/packages/piagent-webui/gateway/signed-session-journal.ts +16 -6
  105. package/packages/piagent-webui/server/loopback-server.ts +19 -5
  106. package/packages/piagent-webui/server/static-bundle.ts +10 -2
  107. package/scripts/build-docs-site.mjs +205 -348
  108. package/scripts/check-public-wording.mjs +2 -1
  109. package/scripts/docs-site-icons.mjs +84 -0
  110. package/scripts/docs-site-nav.mjs +302 -0
  111. package/scripts/docs-site-releases.mjs +227 -0
  112. package/scripts/verify-local.sh +17 -1
  113. package/packages/piagent-webui/dist/client/assets/Alert-DGWhP2MM.js +0 -1
  114. package/packages/piagent-webui/dist/client/assets/Button-QItfZUNj.js +0 -1
  115. package/packages/piagent-webui/dist/client/assets/DialogTitle-CyaFPaiW.js +0 -3
  116. package/packages/piagent-webui/dist/client/assets/TerminalPanel-BG-DP_qm.js +0 -2
  117. package/packages/piagent-webui/dist/client/assets/Typography-B9om7Evq.js +0 -1
  118. package/packages/piagent-webui/dist/client/assets/WorkspaceCodeEditor-BnqaR3pK.js +0 -2
  119. package/packages/piagent-webui/dist/client/assets/WorkspaceExplorer-BIxwiGtl.js +0 -5
  120. package/packages/piagent-webui/dist/client/assets/WorkspaceQuickOpen-CK3dILhQ.js +0 -1
  121. package/packages/piagent-webui/dist/client/assets/index-DBUTrEXi.css +0 -1
  122. package/packages/piagent-webui/dist/client/assets/index-rlyRccut.js +0 -102
  123. package/packages/piagent-webui/dist/client/assets/tab-close-BoJRyBO_.js +0 -1
  124. package/packages/piagent-webui/dist/client/assets/ui-preferences-BO3AV7QE.js +0 -10
  125. package/packages/piagent-webui/dist/client/assets/useId-DEefKUAT.js +0 -124
@@ -1,155 +1,244 @@
1
1
  <section class="hero">
2
- <p class="eyebrow">Piagent 1.41.0</p>
3
- <h1>Coding agent cho cả team, kiểm tra từng bước.</h1>
4
- <p>
5
- Một dashboard cho Terminal và trình duyệt. Dùng model bằng tài khoản của bạn, hoặc model của công ty qua Agent Watch và Agent Studio. Guard kiểm tra từng tool call; ở chế độ công ty, Harness của team tự yêu cầu chạy check, cho subagent review và báo kết quả ngay dưới câu trả lời.
6
- </p>
7
- <div class="owner-strip" aria-label="Thông tin dự án">
8
- <span class="owner-label">Project links</span>
9
- <a href="https://piagent.io.vn" target="_blank" rel="noopener noreferrer">Docs · piagent.io.vn</a>
10
- <a href="https://github.com/Vt-mmm/piagent" target="_blank" rel="noopener noreferrer">GitHub · Vt-mmm/piagent</a>
11
- <a href="https://www.facebook.com/vinhtam0544/" target="_blank" rel="noopener noreferrer">Facebook · Vĩnh Tâm</a>
12
- </div>
13
- <div class="hero-actions">
14
- <a class="button primary" href="/quickstart">Bắt đầu</a>
15
- <a class="button" href="/ecosystem">Hệ sinh thái</a>
16
- <a class="button" href="/whats-new">Có gì mới trong 1.41.0</a>
17
- <a class="button" href="/commands">Xem command</a>
2
+ <div class="hero-bg" aria-hidden="true"></div>
3
+ <div class="hero-glow" aria-hidden="true"></div>
4
+ <div class="home-wrap">
5
+ <!-- hero-pill -->
6
+ <h1>Coding agent cho cả team, <span class="grad">kiểm tra từng bước.</span></h1>
7
+ <p class="hero-sub">Guard chặn tool call nguy hiểm trước khi chạy. Harness của team tự chạy check và cho subagent review. Một dashboard cho Terminal và trình duyệt, với model của bạn hoặc của công ty.</p>
8
+ <div class="hero-cta">
9
+ <div class="install-box"><span class="prompt" aria-hidden="true">$</span><code>npm i -g @piagent/platform</code><button class="clip-btn" type="button" data-clip="npm install -g @piagent/platform&#10;piagent-setup" aria-label="Sao chép lệnh cài">{{icon:copy}}</button></div>
10
+ <a class="button primary lg" href="/quickstart">Bắt đầu {{icon:arrow-right}}</a>
11
+ <a class="button lg" href="https://github.com/Vt-mmm/piagent" target="_blank" rel="noopener noreferrer">{{icon:github}} GitHub</a>
12
+ </div>
13
+ <p class="hero-note"><span>MIT</span><span>Node.js ≥ 22.19</span><span>macOS · Linux · Windows (WSL2)</span></p>
14
+
15
+ <div class="demo" data-reveal>
16
+ <div class="window" aria-label="Minh hoạ một lượt ở chế độ công ty" role="img">
17
+ <div class="window-bar" aria-hidden="true"><i></i><i></i><i></i><span class="title">piagent dashboard · shop-api</span></div>
18
+ <div class="window-body" aria-hidden="true">
19
+ <div class="window-side">
20
+ <p>Cuộc trò chuyện</p>
21
+ <div class="item active">{{icon:message}}<span>Sửa làm tròn tiền</span><i class="status run"></i></div>
22
+ <div class="item">{{icon:message}}<span>Phân trang /orders</span><i class="status ok"></i></div>
23
+ <div class="item">{{icon:message}}<span>Đọc project</span><i class="status ok"></i></div>
24
+ <p style="margin-top:18px">Harness</p>
25
+ <div class="item">{{icon:shield-check}}<span>check · review</span></div>
26
+ <div class="item">{{icon:branch}}<span>fix/invoice-rounding</span></div>
27
+ </div>
28
+ <div class="term" data-term>
29
+ <div class="term-line you"><span class="g">›</span><span data-type="Sửa lỗi làm tròn tiền trong hoá đơn, chạy test rồi push."></span><span class="caret"></span></div>
30
+ <div class="term-line dim" data-wait="700"><span class="g">·</span><span>Đọc src/billing/invoice.ts, tests/invoice.test.ts</span></div>
31
+ <div class="term-line warn"><span class="g">✕</span><span>Guard chặn: đọc <b>.env</b> · file được bảo vệ</span></div>
32
+ <div class="term-line mint"><span class="g">✎</span><span>Sửa src/billing/invoice.ts <span class="ok">+12</span> <span class="warn">−3</span></span></div>
33
+ <div class="term-line" data-wait="800"><span class="g ok">▶</span><span>npm test <span class="dim">— sandbox, không mạng</span> <span class="ok">48 passed</span></span></div>
34
+ <div class="term-line" data-wait="800"><span class="g lime">◆</span><span>Review · subagent đọc diff: <span class="ok">không có lỗi chặn</span></span></div>
35
+ <div class="term-result" data-wait="700"><span class="ok">✓</span> Check đã qua trên code cuối · Review không có lỗi chặn</div>
36
+ <div class="term-card" data-wait="900">Agent muốn chạy <b>git push origin fix/invoice-rounding</b>
37
+ <div class="row"><span class="chip yes">Cho phép một lần</span><span class="chip">Từ chối</span></div>
38
+ </div>
39
+ </div>
40
+ </div>
41
+ </div>
42
+ </div>
43
+
44
+ <div class="proof" data-reveal>
45
+ <div><strong><span data-count="54">54</span><em>/54</em></strong><span>task giải quyết trong benchmark production</span><small>codex-cli cùng model: 48/54</small></div>
46
+ <div><strong>−<span data-count="61">61</span><em>%</em></strong><span>fresh token trên cùng workload</span><small>khoảng tin cậy 95%: ít nhất −51,6%</small></div>
47
+ <div><strong><span data-count="52">52</span><em>/52</em></strong><span>mẫu secret bị che trong output</span><small>0/30 văn bản thường bị che nhầm</small></div>
48
+ <div><strong><span data-count="{{releaseCount}}">{{releaseCount}}</span></strong><span>bản phát hành từ 21/07/2026</span><small>4.400+ test tự động trên macOS và Linux</small></div>
49
+ </div>
18
50
  </div>
19
51
  </section>
20
52
 
21
- <section class="section">
22
- <p class="section-kicker">Bản 1.9.0</p>
23
- <h2 id="ban-1-9-0">Một lượt làm việc ở chế độ công ty</h2>
24
- <p class="section-lead">Bạn nhắn việc cần làm. Agent đọc, sửa và chạy test trong sandbox; một subagent review bản sửa; dòng cuối ghi kết quả. Đã chạy thật 13/13 kịch bản trên bản cài cuối, 27/27 test trình duyệt.</p>
25
- <figure class="shot">
26
- <img src="/assets/shots/company-run-done.jpg" alt="Dashboard Piagent: một lượt ở chế độ công ty với các bước đọc, sửa, chạy test và dòng Check đã qua trên code cuối, Review không có lỗi chặn" width="1600" height="1000">
27
- <figcaption>Dashboard Piagent ở chế độ công ty. Xem toàn cảnh ở <a href="/ecosystem">Hệ sinh thái</a> và mọi thay đổi ở <a href="/whats-new">Có gì mới</a>.</figcaption>
28
- </figure>
53
+ <section class="home-section">
54
+ <div class="home-wrap">
55
+ <div class="home-head" data-reveal>
56
+ <p class="section-kicker">Khác biệt</p>
57
+ <h2 id="khac-biet">Agent làm nhanh. Platform giữ cho nó làm đúng.</h2>
58
+ <p>Mọi tool call đi qua guard, mọi việc rủi ro chờ bạn duyệt, và ở chế độ công ty, kết quả chỉ được báo là xong khi check đã chạy trên code cuối.</p>
59
+ </div>
60
+ <div class="bento" data-spotlight>
61
+ <article class="tile wide" data-reveal>
62
+ <span class="tile-icon">{{icon:shield-check}}</span>
63
+ <h3>Guard trên mọi tool call</h3>
64
+ <p>Fail-closed: file bảo vệ, profile quyền, file quá lớn, sửa trên bản đọc đã cũ. Sai thì chặn, không đoán.</p>
65
+ <div class="mini"><span class="x">✕</span> read .env <span class="d">— protected path</span><br><span class="x">✕</span> edit src/app.ts <span class="d">— đọc lại trước khi sửa</span><br><span class="w">!</span> git push <span class="d">— chờ duyệt một lần</span><br><span class="ok">✓</span> npm test <span class="d">— được phép</span></div>
66
+ </article>
67
+ <article class="tile wide" data-reveal>
68
+ <span class="tile-icon">{{icon:check-circle}}</span>
69
+ <h3>Harness của team tự check và review</h3>
70
+ <p>Studio đặt kế hoạch, check và số vòng review cho cả team. Subagent đọc diff độc lập; kết quả nằm ngay dưới câu trả lời.</p>
71
+ <div class="chips"><span>plan</span><span>check</span><span>review</span><span>main · research · review</span></div>
72
+ </article>
73
+ <article class="tile" data-reveal>
74
+ <span class="tile-icon">{{icon:key}}</span>
75
+ <h3>Duyệt từng lần</h3>
76
+ <p>Push, publish, lệnh có mạng chỉ chạy sau khi bạn bấm <strong>Cho phép một lần</strong>. Không có "luôn cho phép".</p>
77
+ </article>
78
+ <article class="tile" data-reveal>
79
+ <span class="tile-icon">{{icon:box}}</span>
80
+ <h3>Sandbox ở chế độ công ty</h3>
81
+ <p>Seatbelt trên macOS, bubblewrap trên Linux và WSL2: không mạng, không đọc Keychain, <code>.env</code> hay SSH key.</p>
82
+ </article>
83
+ <article class="tile" data-reveal>
84
+ <span class="tile-icon">{{icon:code}}</span>
85
+ <h3>Dashboard là editor</h3>
86
+ <p>Cây thư mục, editor, terminal, review từng hunk, Timeline khôi phục lượt và <code>/undo</code>. 13 theme màu.</p>
87
+ </article>
88
+ <article class="tile" data-reveal>
89
+ <span class="tile-icon">{{icon:clock}}</span>
90
+ <h3>Task dài không bỏ dở</h3>
91
+ <p>Model lỗi tạm thời thì tự hỏi lại; Studio cập nhật thì chờ rồi làm tiếp. Một lượt chạy được tới 24 giờ.</p>
92
+ </article>
93
+ <article class="tile" data-reveal>
94
+ <span class="tile-icon">{{icon:brain}}</span>
95
+ <h3>Team memory</h3>
96
+ <p>Agent nhớ quyết định và quy tắc của team theo repo và branch; <code>memory_ask</code> trả lời kèm nguồn.</p>
97
+ </article>
98
+ <article class="tile" data-reveal>
99
+ <span class="tile-icon">{{icon:camera}}</span>
100
+ <h3>Báo cáo thay đổi giao diện</h3>
101
+ <p>Ảnh trước/sau, mỗi thay đổi một khung đỏ đánh số, kèm check và E2E. Xem ngay trong Tài liệu.</p>
102
+ </article>
103
+ </div>
104
+ </div>
29
105
  </section>
30
106
 
31
- <section class="section">
32
- <p class="section-kicker">Production V1 · bằng chứng lịch sử của v1.6.0</p>
33
- <h2 id="bang-chung">Đo được, không phải nói suông</h2>
34
- <p class="section-lead">Run gắn với release <code>production-v1-20260824T040017Z-05b7cf</code> đã đo 108 session bằng GPT-5.6 Luna Medium tại tag <code>v1.6.0</code>, đúng commit <code>3bba8f0b3ff521bc2a355e1f6bef6d1bbdc09511</code>, với Piagent so với <code>codex-cli</code>.</p>
35
-
36
- <div class="benchmark-metrics" aria-label="Số liệu benchmark nổi bật">
37
- <div class="benchmark-metric">
38
- <span>Bằng chứng release</span>
39
- <strong>v1.6.0</strong>
40
- <small>đúng commit 3bba8f0</small>
41
- </div>
42
- <div class="benchmark-metric">
43
- <span>Task resolved</span>
44
- <strong>54/54</strong>
45
- <small>Piagent; codex-cli đạt 48/54</small>
46
- </div>
47
- <div class="benchmark-metric">
48
- <span>Fresh token</span>
49
- <strong>-61,43%</strong>
50
- <small>tỷ lệ family fixed-workload chính 0,3857</small>
51
- </div>
52
- <div class="benchmark-metric">
53
- <span>Bằng chứng usage</span>
54
- <strong>108/108 exact</strong>
55
- <small>không có retry</small>
107
+ <section class="home-section">
108
+ <div class="home-wrap">
109
+ <div class="home-head center" data-reveal>
110
+ <p class="section-kicker">Một lượt làm việc</p>
111
+ <h2 id="mot-luot">Bạn nói việc. Phần còn lại có kiểm chứng.</h2>
112
+ </div>
113
+ <div class="flow" data-flow>
114
+ <div class="flow-step"><span class="flow-dot">{{icon:message}}</span><div><h3>Nhắn việc</h3><p>Lời thường, không cần task contract hay lệnh workflow.</p></div></div>
115
+ <div class="flow-step"><span class="flow-dot">{{icon:code}}</span><div><h3>Đọc và sửa</h3><p>Agent đọc đúng file cần, sửa có diff rõ ràng.</p></div></div>
116
+ <div class="flow-step"><span class="flow-dot">{{icon:shield-check}}</span><div><h3>Guard kiểm tra</h3><p>Mỗi tool call qua policy; việc rủi ro chờ bạn duyệt.</p></div></div>
117
+ <div class="flow-step"><span class="flow-dot">{{icon:check-circle}}</span><div><h3>Check và review</h3><p>Test chạy trên code cuối, subagent review độc lập.</p></div></div>
118
+ <div class="flow-step"><span class="flow-dot">{{icon:list}}</span><div><h3>Báo kết quả</h3><p>Một dòng cuối: xong, dừng giữa chừng, hay lỗi.</p></div></div>
56
119
  </div>
57
120
  </div>
121
+ </section>
58
122
 
59
- <div class="benchmark-legend" aria-label="Chú thích biểu đồ">
60
- <span><i class="piagent-swatch"></i>Piagent</span>
61
- <span><i class="codex-swatch"></i>codex-cli</span>
123
+ <section class="home-section">
124
+ <div class="home-wrap">
125
+ <div class="home-head center" data-reveal>
126
+ <p class="section-kicker">Màn hình thật</p>
127
+ <h2 id="man-hinh">Chụp từ dashboard đang chạy</h2>
128
+ </div>
129
+ <div data-gallery data-reveal>
130
+ <div class="gallery-tabs">
131
+ <div class="tab-list" role="tablist" aria-label="Chọn ảnh">
132
+ <button type="button" role="tab" aria-selected="true" data-shot="/assets/shots/company-run-done.jpg" data-alt="Một lượt ở chế độ công ty: đọc, sửa, chạy test, dòng cuối báo check đã qua và review không có lỗi chặn" data-caption="Một lượt ở chế độ công ty: đọc, sửa, chạy test; dòng cuối ghi check và review.">Lượt công ty</button>
133
+ <button type="button" role="tab" aria-selected="false" data-shot="/assets/shots/company-review-running.jpg" data-alt="Subagent đang review bản sửa trong lượt công ty" data-caption="Subagent review bản sửa trong khi lượt vẫn chạy.">Review</button>
134
+ <button type="button" role="tab" aria-selected="false" data-shot="/assets/shots/network-approval.jpg" data-alt="Thẻ duyệt lệnh có mạng, hiện đúng lệnh sẽ chạy" data-caption="Lệnh có mạng chờ duyệt, thẻ hiện đúng lệnh sẽ chạy.">Duyệt mạng</button>
135
+ <button type="button" role="tab" aria-selected="false" data-shot="/assets/shots/personal-edit-test.jpg" data-alt="Chế độ cá nhân: sửa code và chạy test" data-caption="Chế độ cá nhân: model của bạn, cùng guard.">Cá nhân</button>
136
+ <button type="button" role="tab" aria-selected="false" data-shot="/assets/shots/hub-source-review.jpg" data-alt="Agent Inspector: thay đổi trong working tree, diff inline và nút mở trong editor" data-caption="Source Changes: diff theo file, inline hoặc hai cột, review và stage từng hunk.">Source Changes</button>
137
+ <button type="button" role="tab" aria-selected="false" data-shot="/assets/shots/hub-palette.jpg" data-alt="Bảng lệnh mở bằng phím tắt, liệt kê lệnh và chủ đề màu" data-caption="Bảng lệnh ⌘K: mọi lệnh, cài đặt và 13 chủ đề màu trong một ô tìm.">Bảng lệnh</button>
138
+ <button type="button" role="tab" aria-selected="false" data-shot="/assets/shots/hub-new-chat.jpg" data-alt="Trang tạo cuộc trò chuyện mới với chọn project, model và việc mẫu" data-caption="Tạo cuộc trò chuyện: chọn project và model, hoặc bấm một việc mẫu.">Tạo mới</button>
139
+ </div>
140
+ </div>
141
+ <figure class="gallery-frame">
142
+ <img src="/assets/shots/company-run-done.jpg" alt="Một lượt ở chế độ công ty: đọc, sửa, chạy test, dòng cuối báo check đã qua và review không có lỗi chặn" width="1600" height="1000" loading="lazy" decoding="async" style="transition:opacity .2s">
143
+ <figcaption>Một lượt ở chế độ công ty: đọc, sửa, chạy test; dòng cuối ghi check và review.</figcaption>
144
+ </figure>
145
+ </div>
62
146
  </div>
147
+ </section>
63
148
 
64
- <div class="benchmark-usage-chart" aria-label="Tỷ lệ fresh token theo family fixed-workload: Piagent 38,57 phần trăm, baseline codex-cli 100 phần trăm; task hoàn thành: Piagent 54 trên 54, codex-cli 48 trên 54">
65
- <div class="benchmark-usage-group">
66
- <h3>Tỷ lệ fresh token theo family fixed-workload</h3>
67
- <div class="benchmark-usage-row"><span>Piagent</span><div class="benchmark-track"><i class="piagent-bar" style="--bar-size: 38.57%"></i></div><strong>0,3857</strong></div>
68
- <div class="benchmark-usage-row"><span>codex-cli</span><div class="benchmark-track"><i class="codex-bar" style="--bar-size: 100%"></i></div><strong>1,0000</strong></div>
149
+ <section class="home-section">
150
+ <div class="home-wrap">
151
+ <div class="home-head" data-reveal>
152
+ <p class="section-kicker">Hai chế độ</p>
153
+ <h2 id="hai-che-do">Cùng một dashboard, hai cách dùng model</h2>
154
+ <p>Đổi chế độ không đổi cách làm việc: cùng guard, cùng lịch sử giữa Terminal và trình duyệt.</p>
69
155
  </div>
70
- <div class="benchmark-usage-group">
71
- <h3>Task resolved</h3>
72
- <div class="benchmark-usage-row"><span>Piagent</span><div class="benchmark-track"><i class="piagent-bar" style="--bar-size: 100%"></i></div><strong>54/54</strong></div>
73
- <div class="benchmark-usage-row"><span>codex-cli</span><div class="benchmark-track"><i class="codex-bar" style="--bar-size: 88.89%"></i></div><strong>48/54</strong></div>
156
+ <div class="modes">
157
+ <article class="mode" data-reveal>
158
+ <div class="mode-head"><span class="tile-icon">{{icon:users}}</span><h3>Cá nhân</h3><code>pi</code></div>
159
+ <p>Đăng nhập bằng tài khoản model của bạn. Key nằm trên máy bạn.</p>
160
+ <ul class="checks">
161
+ <li>{{icon:check}}<span>Chọn model và thinking tuỳ ý</span></li>
162
+ <li>{{icon:check}}<span>Guard và protected path như chế độ công ty</span></li>
163
+ <li>{{icon:check}}<span>Push và publish vẫn chờ duyệt</span></li>
164
+ <li>{{icon:check}}<span><code>piagent dashboard</code> mở giao diện web</span></li>
165
+ </ul>
166
+ </article>
167
+ <article class="mode featured" data-reveal>
168
+ <div class="mode-head"><span class="tile-icon">{{icon:building}}</span><h3>Công ty</h3><code>piagent studio --web</code></div>
169
+ <p>Agent Watch giữ key công ty trong Keychain; Agent Studio chọn model và Harness cho cả team.</p>
170
+ <ul class="checks">
171
+ <li>{{icon:check}}<span>Model không bao giờ thấy key</span></li>
172
+ <li>{{icon:check}}<span>Sandbox không mạng, mạng mở theo từng lần duyệt</span></li>
173
+ <li>{{icon:check}}<span>Check và review tự động theo Harness</span></li>
174
+ <li>{{icon:check}}<span>Usage, ngân sách, cảnh báo sai project trên Studio</span></li>
175
+ </ul>
176
+ </article>
74
177
  </div>
75
178
  </div>
76
-
77
- <p>Tỷ lệ family fixed-workload chính là <strong>0,3857</strong>, với khoảng tin cậy 95% <strong>0,3073–0,4840</strong>. Ước lượng điểm thấp hơn 61,43%; theo cận trên của khoảng tin cậy, có thể phát biểu thận trọng rằng Piagent dùng ít hơn ít nhất 51,60% fresh token trên đúng workload production-v1 đã khai báo trước và đúng release này. Usage của cả 108 session đều exact và không có retry. <a href="/benchmark">Xem phương pháp benchmark và ranh giới bằng chứng</a>.</p>
78
179
  </section>
79
180
 
80
- <section class="section">
81
- <h2 id="cai-dat">Cài trong hai lệnh</h2>
82
- <p>Node.js <span class="inline-code">&gt;=22.19.0</span>. Chạy từ đúng project muốn set up.</p>
83
- <pre><code>npm install -g @piagent/platform
84
- piagent-setup</code></pre>
85
- <p><span class="inline-code">piagent-setup</span> cài đúng Pi Coding Agent host mà release này pin, cài Pi package, khởi tạo thư mục hiện tại, rồi chạy doctor. Nó cũng cài MCP baseline và subagents — bỏ qua bằng <span class="inline-code">--no-mcp</span>, <span class="inline-code">--no-subagents</span> hoặc <span class="inline-code">--global-only</span>. Chi tiết ở <a href="/quickstart">Quickstart</a>.</p>
181
+ <section class="home-section">
182
+ <div class="home-wrap">
183
+ <div class="home-head" data-reveal>
184
+ <p class="section-kicker">Cài đặt</p>
185
+ <h2 id="cai-dat">Chạy trong hai phút</h2>
186
+ <p><code>piagent-setup</code> tự cài đúng bản Pi mà release này pin, khởi tạo project rồi chạy doctor.</p>
187
+ </div>
188
+ <div class="tabs" data-tabs="os" data-reveal>
189
+ <div class="tab-list" role="tablist" aria-label="Hệ điều hành">
190
+ <button type="button" role="tab" data-tab="macos" aria-selected="true">{{icon:apple}} macOS · Linux</button>
191
+ <button type="button" role="tab" data-tab="windows" aria-selected="false" tabindex="-1">{{icon:windows}} Windows</button>
192
+ </div>
193
+ <div class="tab-panel" data-panel="macos">
194
+ <div class="install-grid">
195
+ <div class="install-step"><span class="num">01</span><h3>Cài</h3><p>Chạy trong thư mục project.</p>
196
+ <div class="command-card"><header><span>bash</span><button class="clip-btn" type="button" data-clip="npm install -g @piagent/platform&#10;piagent-setup">Lấy lệnh</button></header>
197
+ <pre><code>npm install -g @piagent/platform
198
+ piagent-setup</code></pre></div></div>
199
+ <div class="install-step"><span class="num">02</span><h3>Mở</h3><p>Terminal, hoặc dashboard trên trình duyệt.</p>
200
+ <div class="command-card"><header><span>bash</span><button class="clip-btn" type="button" data-clip="piagent dashboard">Lấy lệnh</button></header>
201
+ <pre><code>piagent dashboard
202
+ pi # Terminal</code></pre></div></div>
203
+ <div class="install-step"><span class="num">03</span><h3>Cập nhật</h3><p>Dashboard tự báo khi có bản mới, mỗi giờ.</p>
204
+ <div class="command-card"><header><span>bash</span><button class="clip-btn" type="button" data-clip="piagent-update">Lấy lệnh</button></header>
205
+ <pre><code>piagent-update</code></pre></div></div>
206
+ </div>
207
+ </div>
208
+ <div class="tab-panel" data-panel="windows" hidden>
209
+ <div class="install-grid">
210
+ <div class="install-step span-2"><span class="num">01</span><h3>Một lệnh PowerShell</h3><p>Cài WSL2, Ubuntu, Piagent và Agent Watch, thêm Piagent vào Start menu. Chạy lại để cập nhật.</p>
211
+ <div class="command-card"><header><span>PowerShell</span><button class="clip-btn" type="button" data-clip="irm https://raw.githubusercontent.com/Vt-mmm/agentwatch/main/windows/setup.ps1 | iex">Lấy lệnh</button></header>
212
+ <pre><code>irm https://raw.githubusercontent.com/Vt-mmm/agentwatch/main/windows/setup.ps1 | iex</code></pre></div></div>
213
+ <div class="install-step"><span class="num">02</span><h3>Chi tiết</h3><p>Lần đầu cần khởi động lại để bật WSL2. Mã kết nối công ty là tuỳ chọn.</p>
214
+ <a class="button" href="/windows">Hướng dẫn Windows {{icon:arrow-right}}</a></div>
215
+ </div>
216
+ </div>
217
+ </div>
218
+ </div>
86
219
  </section>
87
220
 
88
- <section class="section">
89
- <h2 id="bat-dau-tu-dau">Bắt đầu từ đâu</h2>
90
- <div class="card-grid">
91
- <a class="doc-card" href="/whats-new">
92
- <span class="card-kicker">Bản 1.41.0</span>
93
- <h3>Có gì mới</h3>
94
- <p>Báo cáo thay đổi giao diện: ảnh cũ/mới khoanh đỏ, business, logic và kết quả check, xem ngay trong Tài liệu; ở 1.40.0: project local không có remote cũng được báo cho Studio, member thấy mọi loại cảnh báo sai project (Studio 0.40.0); ở 1.39.0: cảnh báo key dùng sai project (Studio 0.39.0), dashboard giữ ngôn ngữ và theme sau khi khởi động lại; ở 1.38.2: cây thư mục như VS Code, theme màu (Dracula, Nord…), editor và terminal đứng yên khi cuộn; ở 1.38.1: dashboard thành editor: sửa file, terminal, review hunk, khôi phục lượt; Bypass không hỏi gì, cả cuộc trò chuyện công ty khi Harness bật; ở 1.37.1: run Studio chưa xác nhận đóng không còn bị ghi là đã đóng, helper đóng lỗi vẫn giữ câu trả lời, bài học team memory ghi đúng lệnh; ở 1.37.0: câu trả lời bị cắt giữa chừng không còn làm dừng task dài, có <code>piagent studio --rpc</code>; ở 1.36.1: Agent Watch mất kết nối tới Studio trong chốc lát không còn làm dừng task; ở 1.36.0: team memory học từ chỗ làm sai: Studio chấm những gì memory đã đưa, lệnh lỗi lặp lại thành bài học; ở 1.35: task dài không dừng khi Studio cập nhật hay model báo lỗi tạm thời; ở 1.34: helper báo kết quả, Agent Watch báo khi cần bạn; ở 1.33.0: chạy trên Pi 1.3.0; ở 1.32.1: Bypass được giữ sau khi tải lại, tab đang dùng không còn bị đăng xuất sau 8 giờ; ở 1.32.0: lượt lỗi hoặc bấm Stop được dừng cả ở Studio; ở 1.31.1: <code>memory_ask</code> có ngay sau khi cập nhật; ở 1.31.0: Memory của team đi theo branch và luật của team, có <code>memory_ask</code>; ở 1.30.1: Terminal công ty không còn hiện tên model, mở <code>piagent studio</code> ở thư mục home báo rõ cần vào thư mục dự án; ở 1.30.0: context lớn đi qua mạng chậm, Terminal công ty gọn như dashboard; ở 1.29.0: Terminal công ty có giao diện riêng, dừng lượt không còn làm hỏng cuộc trò chuyện; ở 1.28.3: Agent Watch tự cập nhật không còn làm gián đoạn Terminal công ty; ở 1.28.2: không còn lỗi “binding changed” ngay sau khi cập nhật; ở 1.28.1: Terminal công ty và Pi cá nhân không còn giẫm chân nhau (không nạp Piagent hai lần, dọn cấu hình công ty cũ, cuộc trò chuyện công ty chỉ mở bằng piagent studio); ở 1.28.0: team memory v2; ở 1.27.1: team memory chạy ổn cả khi agent đang gọi model; ở 1.27.0: team memory, agent công ty nhớ quyết định và quy tắc của team trong từng repo; ở 1.26.1: đổi tên cuộc trò chuyện được cả khi lượt đang chạy; ở 1.26.0: lệnh / và phím tắt của Terminal ngay trên dashboard, /undo hoàn tác lượt trước của agent, dev server chạy qua nhiều lượt; ở 1.25.0: thiếu môi trường thì agent xin quyền và chạy được sau khi bạn duyệt (run_on_host ngoài sandbox, start_docker mở Docker ngay trong cuộc trò chuyện); ở 1.24.0: chọn Fast ngay trên trang tạo cuộc trò chuyện công ty, nút Fast đổi màu vàng khi đang bật; ở 1.23.1: câu hỏi của agent luôn nằm cuối cuộc trò chuyện, ngay trên ô nhập, và dễ đọc hơn; ở 1.23.0: nút Fast cho cuộc trò chuyện công ty khi Harness cho phép, tool lỗi được báo về Studio (Logs → Tool lỗi), cuộc trò chuyện mới gửi được tin nhắn đầu sau khi Harness đổi; ở 1.22.1: dashboard không còn quay mãi khi project nằm trên ổ Windows nhìn từ WSL (/mnt/d…) hoặc phiên công ty không trả lời; ở 1.22.0: đính kèm được mọi file code và văn bản (.html, .css, .ts, .py, Dockerfile…); ở 1.21.1: bật Bypass được cả khi lượt đang chạy và được giữ sau khi tải lại; ở 1.21.0: câu hỏi và yêu cầu duyệt hiện từng cái một (main agent trước), thông báo góc phải khi cuộc trò chuyện khác xong hay đang chờ bạn, Studio ghi lại mỗi lần compact; ở 1.20.0: cài package trong sandbox công ty không phải duyệt (npm, PyPI, Go, Maven, Gradle… qua proxy chỉ cho registry); ở 1.19.0: task công ty có checklist được làm đến hết, cuối mỗi lượt báo rõ xong, dừng giữa chừng hay lỗi, Docker trong sandbox công ty, folder chứa nhiều repo; ở 1.18.0: đổi nhánh Git trên dashboard, tự thử lại khi lỗi tạm thời, Claude Haiku 5.5; ở 1.17.0: dashboard hiện nhánh Git của project; ở 1.16.3: dashboard cập nhật xong vẫn tự kiểm tra bản mới; ở 1.16.2: Terminal nói giống dashboard: hỏi cập nhật, /bypass, lỗi và ghi chú Harness bằng tiếng Việt; ở 1.16.1: bản mới được báo bằng dialog và kiểm tra mỗi giờ, tab dashboard không còn mất đăng nhập; ở 1.16.0: Bypass cho cuộc trò chuyện công ty, đổi Harness không làm gián đoạn; ở 1.15.2: cuộc trò chuyện dài tự thu gọn trở lại; ở 1.15.1: Studio thấy mỗi call của model dùng để làm gì, nhiều cuộc trò chuyện trong một folder không nhận nhầm thay đổi của nhau; ở 1.15.0: subagent bị từ chối nói đúng lý do; ở 1.14: cập nhật giữ model bạn đã chọn; ở 1.13: cuộc trò chuyện giữ chỗ đang đọc, chữ của agent có định dạng, Piagent trên Windows qua WSL2: sandbox công ty bằng bubblewrap và Agent Watch cho Windows; ở 1.12: @ chọn file và folder trên máy, skill và command dùng bằng /, nhánh cuộc trò chuyện công ty gửi được tin nhắn.</p>
95
- </a>
96
- <a class="doc-card" href="/ecosystem">
97
- <span class="card-kicker">Get started</span>
98
- <h3>Hệ sinh thái</h3>
99
- <p>Piagent, Agent Watch và Agent Studio: phần nào chạy ở đâu, khi nào dùng chế độ cá nhân hay công ty.</p>
100
- </a>
101
- <a class="doc-card" href="/quickstart">
102
- <span class="card-kicker">Get started</span>
103
- <h3>Quickstart</h3>
104
- <p>Cài, mở repo, chọn profile và quyền, rồi giao việc đầu tiên bằng lời thường.</p>
105
- </a>
106
- <a class="doc-card" href="/scope">
107
- <span class="card-kicker">Get started</span>
108
- <h3>Phạm vi platform</h3>
109
- <p>Vì sao repo này tồn tại khi đã có agent coding tổng quát, và ranh giới nó nhận về mình.</p>
110
- </a>
111
- <a class="doc-card" href="/profiles">
112
- <span class="card-kicker">Build</span>
113
- <h3>Project profile</h3>
114
- <p>Chọn đường ray cho repo: protected path, verify command, capability được cấp.</p>
115
- </a>
116
- <a class="doc-card" href="/mcp">
117
- <span class="card-kicker">MCP</span>
118
- <h3>MCP</h3>
119
- <p>Bốn layer config, preset đã pin, quản lý server, trạng thái auth, và approval gate cho server đến từ repo.</p>
120
- </a>
121
- <a class="doc-card" href="/security">
122
- <span class="card-kicker">Operate</span>
123
- <h3>Security model</h3>
124
- <p>Policy enforcement layer chứ không phải OS sandbox — nói rõ chặn được gì và không chặn được gì.</p>
125
- </a>
126
- <a class="doc-card" href="/benchmark">
127
- <span class="card-kicker">Operate</span>
128
- <h3>Production benchmark</h3>
129
- <p>Điểm chất lượng, safety, workflow và biểu đồ token từ phép đo 108 session so với surface <code>codex-cli</code>.</p>
130
- </a>
131
- <a class="doc-card" href="/commands">
132
- <span class="card-kicker">Build</span>
133
- <h3>Command catalog</h3>
134
- <p>Slash command và terminal command, nhóm theo việc cần làm.</p>
135
- </a>
221
+ <section class="home-section">
222
+ <div class="home-wrap">
223
+ <div class="home-head" data-reveal>
224
+ <p class="section-kicker">Changelog</p>
225
+ <h2 id="moi-cap-nhat">Phát hành đều, ghi rõ từng thay đổi</h2>
226
+ <p>Mỗi bản ghi thay đổi gì và cần bản nào của Studio hay Agent Watch. <a href="/whats-new">Xem toàn bộ changelog</a>.</p>
227
+ </div>
228
+ <div class="updates">
229
+ <!-- latest-releases -->
230
+ </div>
136
231
  </div>
137
232
  </section>
138
233
 
139
- <section class="section">
140
- <h2 id="ba-nhom">Tài liệu chia làm ba nhóm</h2>
141
- <div class="split">
142
- <div class="card">
143
- <h3 id="get-started-nhom">Get started</h3>
144
- <p>Dành cho người chưa chạy lần nào: cài, quickstart, và vị trí của platform so với các agent CLI khác.</p>
145
- </div>
146
- <div class="card">
147
- <h3 id="build-nhom">Build</h3>
148
- <p>Dùng hằng ngày: profile, permission, command, workflow — và MCP tách riêng vì có bề mặt lệnh của nó.</p>
149
- </div>
150
- <div class="card">
151
- <h3 id="operate-nhom">Operate</h3>
152
- <p>Người vận hành và review: security model, kiến trúc repo, terminal tool, cách team dùng như một chuẩn.</p>
234
+ <section class="home-wrap">
235
+ <div class="final-cta" data-reveal>
236
+ <h2>Giao việc cho agent, giữ quyền quyết định.</h2>
237
+ <p>Hai lệnh để cài. Đọc tài liệu theo đúng thứ tự bạn cần.</p>
238
+ <div class="hero-cta" style="margin-top:0">
239
+ <a class="button primary lg" href="/quickstart">Cài đặt {{icon:arrow-right}}</a>
240
+ <a class="button lg" href="/ecosystem">Hệ sinh thái</a>
241
+ <a class="button lg ghost" href="/benchmark">{{icon:chart}} Benchmark</a>
153
242
  </div>
154
243
  </div>
155
244
  </section>