@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,270 +1,236 @@
1
1
  <!doctype html>
2
- <html lang="vi" data-copy-success="Đã lấy" data-copy-fallback="Chọn lệnh">
2
+ <html lang="vi" data-copy-success="Đã lấy" data-copy-fallback="Chọn lệnh" data-copy-label="Sao chép">
3
3
  <head>
4
4
  <meta charset="utf-8" />
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1" />
6
- <title>Step by step cho thành viên mới · Pi Agent Platform Docs</title>
7
- <meta name="description" content="Hai lệnh để cài, mở repo, chọn profile và quyền, rồi giao việc bằng lời thường; guard kiểm tra từng tool call." />
8
- <meta name="theme-color" content="#050505" />
6
+ <title>Cài đặt và chạy lượt đầu tiên · Pi Agent Platform</title>
7
+ <meta name="description" content="Hai lệnh để cài. Mở repo, chọn profile và quyền, rồi nói việc bằng lời thường." />
8
+ <meta name="theme-color" content="#09090b" media="(prefers-color-scheme: dark)" />
9
+ <meta name="theme-color" content="#fbfbf9" media="(prefers-color-scheme: light)" />
9
10
  <link rel="canonical" href="https://piagent.io.vn/quickstart" />
10
11
  <link rel="alternate" hreflang="vi" href="https://piagent.io.vn/quickstart" />
11
12
  <link rel="alternate" hreflang="en" href="https://piagent.io.vn/en/quickstart" />
12
13
  <link rel="alternate" hreflang="x-default" href="https://piagent.io.vn/quickstart" />
13
14
  <link rel="icon" href="/favicon.svg" type="image/svg+xml" />
14
- <meta property="og:title" content="Step by step cho thành viên mới · Pi Agent Platform Docs" />
15
- <meta property="og:description" content="Hai lệnh để cài, mở repo, chọn profile và quyền, rồi giao việc bằng lời thường; guard kiểm tra từng tool call." />
15
+ <meta property="og:type" content="website" />
16
+ <meta property="og:title" content="Cài đặt và chạy lượt đầu tiên · Pi Agent Platform" />
17
+ <meta property="og:description" content="Hai lệnh để cài. Mở repo, chọn profile và quyền, rồi nói việc bằng lời thường." />
16
18
  <meta property="og:url" content="https://piagent.io.vn/quickstart" />
19
+ <meta property="og:image" content="https://piagent.io.vn/assets/og.png" />
20
+ <meta name="twitter:card" content="summary_large_image" />
21
+ <script>try{var t=localStorage.getItem("piagent-docs-theme");if(t==="light"||t==="dark")document.documentElement.dataset.theme=t}catch(e){}</script>
17
22
  <link rel="preconnect" href="https://fonts.googleapis.com" />
18
23
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
19
24
  <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"
25
+ href="https://fonts.googleapis.com/css2?family=Inter:wght@400;450;500;550;600;650;700;750&family=JetBrains+Mono:wght@400;500;600;700&display=swap"
21
26
  rel="stylesheet"
22
27
  />
23
28
  <link rel="stylesheet" href="/assets/docs.css" />
24
29
  <script src="/assets/docs.js" defer></script>
25
30
  </head>
26
31
  <body>
32
+ <svg width="0" height="0" style="position:absolute" aria-hidden="true"><symbol id="icon-apple" viewBox="0 0 24 24"><path d="M16 3.5c-1 .3-2.4 1.3-2.6 3 1.2.1 2.4-.8 2.6-3zM12 8c-1.5-1-5-1-6 2.5S6.5 19 9 20c1.2.5 2-.4 3-.4s1.8.9 3 .4c1.4-.6 2.5-2.7 3-4.5-2.5-1-2.8-4.6-.5-6-1.2-1.6-3.3-2-4.5-1.5z"/></symbol><symbol id="icon-branch" viewBox="0 0 24 24"><circle cx="6" cy="5.5" r="2"/><circle cx="6" cy="18.5" r="2"/><circle cx="18" cy="7.5" r="2"/><path d="M6 7.5v9M18 9.5c0 4.5-5 4-11 7.5"/></symbol><symbol id="icon-chart" viewBox="0 0 24 24"><path d="M4 4v16h16"/><path d="M8.5 16v-5M12.5 16V8M16.5 16v-3"/></symbol><symbol id="icon-cpu" viewBox="0 0 24 24"><rect x="6" y="6" width="12" height="12" rx="2"/><rect x="9.5" y="9.5" width="5" height="5" rx=".8"/><path d="M9 2.5V6M15 2.5V6M9 18v3.5M15 18v3.5M2.5 9H6M2.5 15H6M18 9h3.5M18 15h3.5"/></symbol><symbol id="icon-edit" viewBox="0 0 24 24"><path d="M4 20h4L19 9l-4-4L4 16z"/><path d="m13.5 6.5 4 4"/></symbol><symbol id="icon-github" viewBox="0 0 24 24"><path d="M9 19c-4.5 1.5-4.5-2.5-6.5-3m13 6v-3.5a3 3 0 0 0-.9-2.4c3-.3 6.4-1.5 6.4-6.7a5.2 5.2 0 0 0-1.4-3.6 4.8 4.8 0 0 0-.1-3.6s-1.1-.3-3.7 1.4a12.6 12.6 0 0 0-6.6 0C6.6 1.9 5.5 2.2 5.5 2.2a4.8 4.8 0 0 0-.1 3.6A5.2 5.2 0 0 0 4 9.4c0 5.2 3.4 6.4 6.4 6.7a3 3 0 0 0-.9 2.4V22"/></symbol><symbol id="icon-hash" viewBox="0 0 24 24"><path d="M5 9h15M4 15h15M10 3 8 21M16 3l-2 18"/></symbol><symbol id="icon-home" viewBox="0 0 24 24"><path d="M3 10.5 12 3l9 7.5V20a1 1 0 0 1-1 1h-5v-6H9v6H4a1 1 0 0 1-1-1z"/></symbol><symbol id="icon-key" viewBox="0 0 24 24"><circle cx="8" cy="15" r="4"/><path d="m10.9 12.1 8.6-8.6M16.5 6.5l2.5 2.5M14 9l2 2"/></symbol><symbol id="icon-layers" viewBox="0 0 24 24"><path d="m12 3 9 5-9 5-9-5z"/><path d="m3 13 9 5 9-5"/><path d="m3 17.5 9 5 9-5" opacity=".55"/></symbol><symbol id="icon-lock" viewBox="0 0 24 24"><rect x="4" y="11" width="16" height="10" rx="2"/><path d="M8 11V7a4 4 0 0 1 8 0v4"/></symbol><symbol id="icon-menu" viewBox="0 0 24 24"><path d="M4 7h16M4 12h16M4 17h16"/></symbol><symbol id="icon-moon" viewBox="0 0 24 24"><path d="M20 14.5A8 8 0 1 1 9.5 4a6.5 6.5 0 0 0 10.5 10.5z"/></symbol><symbol id="icon-network" viewBox="0 0 24 24"><circle cx="12" cy="5" r="2.5"/><circle cx="5" cy="19" r="2.5"/><circle cx="19" cy="19" r="2.5"/><path d="M12 7.5V12m0 0-5.2 5.2M12 12l5.2 5.2"/></symbol><symbol id="icon-plug" viewBox="0 0 24 24"><path d="M9 3v4M15 3v4M6 7h12v4a6 6 0 0 1-12 0zM12 17v4"/></symbol><symbol id="icon-refresh" viewBox="0 0 24 24"><path d="M20 11A8 8 0 0 0 5.3 6.7M4 3v4h4"/><path d="M4 13a8 8 0 0 0 14.7 4.3M20 21v-4h-4"/></symbol><symbol id="icon-rocket" viewBox="0 0 24 24"><path d="M5.5 15.5C4 17 3.5 19.5 3.5 20.5c1 0 3.5-.5 5-2"/><path d="M9 15 6.5 12.5C8 8.5 11.5 4.5 20 4c-.5 8.5-4.5 12-8.5 13.5z"/><circle cx="14.5" cy="9.5" r="1.5"/></symbol><symbol id="icon-search" viewBox="0 0 24 24"><circle cx="11" cy="11" r="7"/><path d="m20 20-3.5-3.5"/></symbol><symbol id="icon-server" viewBox="0 0 24 24"><rect x="3" y="4" width="18" height="7" rx="2"/><rect x="3" y="13" width="18" height="7" rx="2"/><path d="M7 7.5h.01M7 16.5h.01"/></symbol><symbol id="icon-shield" viewBox="0 0 24 24"><path d="M12 3 4.5 6v5.5c0 4.8 3.2 8.2 7.5 9.5 4.3-1.3 7.5-4.7 7.5-9.5V6z"/></symbol><symbol id="icon-shield-check" viewBox="0 0 24 24"><path d="M12 3 4.5 6v5.5c0 4.8 3.2 8.2 7.5 9.5 4.3-1.3 7.5-4.7 7.5-9.5V6z"/><path d="m9 12 2.2 2.2L15.5 10"/></symbol><symbol id="icon-sliders" viewBox="0 0 24 24"><path d="M4 7h9M17 7h3M4 17h3M11 17h9"/><circle cx="15" cy="7" r="2"/><circle cx="9" cy="17" r="2"/></symbol><symbol id="icon-sparkles" viewBox="0 0 24 24"><path d="M11 3c.6 4.6 2.4 6.4 7 7-4.6.6-6.4 2.4-7 7-.6-4.6-2.4-6.4-7-7 4.6-.6 6.4-2.4 7-7z"/><path d="M19 15v5M16.5 17.5h5"/></symbol><symbol id="icon-sun" viewBox="0 0 24 24"><circle cx="12" cy="12" r="4"/><path d="M12 2.5v2M12 19.5v2M4.6 4.6 6 6M18 18l1.4 1.4M2.5 12h2M19.5 12h2M4.6 19.4 6 18M18 6l1.4-1.4"/></symbol><symbol id="icon-target" viewBox="0 0 24 24"><circle cx="12" cy="12" r="9"/><circle cx="12" cy="12" r="5"/><circle cx="12" cy="12" r="1"/></symbol><symbol id="icon-terminal" viewBox="0 0 24 24"><rect x="3" y="4" width="18" height="16" rx="2.5"/><path d="m7.5 9.5 3 2.5-3 2.5M13 15h4"/></symbol><symbol id="icon-users" viewBox="0 0 24 24"><circle cx="9" cy="8" r="3.5"/><path d="M2.5 20a6.5 6.5 0 0 1 13 0"/><path d="M16 4.5a3.5 3.5 0 0 1 0 7M18 14a6 6 0 0 1 3.5 6"/></symbol><symbol id="icon-windows" viewBox="0 0 24 24"><path d="M3.5 5.5 10.5 4.5v7h-7zM13 4.2 20.5 3v8.5H13zM3.5 13h7v7l-7-1zM13 13h7.5v8.5L13 20.3z"/></symbol><symbol id="icon-wrench" viewBox="0 0 24 24"><path d="M15 6.5a4.5 4.5 0 0 1-6 6l-5 5L6.5 20l5-5a4.5 4.5 0 0 0 6-6L15 11.5l-2.5-2.5z"/></symbol></svg>
33
+ <a class="skip-link" href="#content">Tới nội dung</a>
27
34
  <header class="topbar">
35
+ <button class="icon-button mobile-menu" type="button" data-menu aria-label="Mở menu tài liệu"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-menu"/></svg></button>
28
36
  <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>
37
+ <span class="brand-mark"><img src="/assets/piagent-logo.svg" alt="" width="28" height="28" /></span>
38
+ <span class="brand-name"><b>Piagent</b> <span>Platform</span></span>
31
39
  </a>
40
+ <a class="version-badge" href="/whats-new" data-docs-version="v1.42.1" title="v1.42.1 docs · VI"><span class="dot"></span>v1.42.1</a>
41
+ <nav class="top-nav" aria-label="Tài liệu">
42
+ <a href="/quickstart" aria-current="page">Tài liệu</a>
43
+ <a href="/whats-new">Changelog</a>
44
+ <a href="/benchmark">Benchmark</a>
45
+ </nav>
46
+ <span class="top-spacer"></span>
47
+ <button class="search-trigger" type="button" data-search aria-label="Tìm trong tài liệu"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-search"/></svg><span>Tìm trong tài liệu…</span><kbd>⌘K</kbd></button>
32
48
  <div class="top-actions">
33
- <span class="pill"><span class="pill-dot"></span>v1.41.0 docs · VI</span>
34
- <nav class="language-switch" aria-label="Ngôn ngữ">
35
- <a class="language-option current" href="/quickstart" hreflang="vi" lang="vi" aria-current="true">VI</a>
36
- <a class="language-option" href="/en/quickstart" 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>
49
+ <nav class="language-switch" aria-label="Ngôn ngữ"><a class="language-option current" href="/quickstart" hreflang="vi" lang="vi" aria-current="true">VI</a><a class="language-option" href="/en/quickstart" hreflang="en" lang="en">EN</a></nav>
50
+ <button class="icon-button theme-toggle" type="button" data-theme-toggle aria-label="Đổi giao diện sáng/tối"><svg class="icon icon-moon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-moon"/></svg><svg class="icon icon-sun" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-sun"/></svg></button>
51
+ <a class="icon-button" href="https://github.com/Vt-mmm/piagent" target="_blank" rel="noopener noreferrer" aria-label="Mở GitHub repository"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-github"/></svg></a>
46
52
  </div>
47
53
  </header>
48
54
 
49
55
  <div class="layout with-toc">
50
56
  <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
57
  <nav aria-label="Tài liệu">
59
58
  <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" href="/ecosystem">Hệ sinh thái</a>
63
- <a class="nav-link current" href="/quickstart" aria-current="page">Quickstart</a>
64
- <a class="nav-link" href="/windows">Cài trên Windows</a>
65
- <a class="nav-link" href="/whats-new">Có gì mới</a>
66
- <a class="nav-link" href="/scope">Phạm vi platform</a>
59
+ <p class="nav-title">Bắt đầu</p>
60
+ <a class="nav-link" href="/"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-home"/></svg><span>Tổng quan</span></a>
61
+ <a class="nav-link" href="/ecosystem"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-network"/></svg><span>Hệ sinh thái</span></a>
62
+ <a class="nav-link current" href="/quickstart" aria-current="page"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-rocket"/></svg><span>Cài đặt</span></a>
63
+ <a class="nav-link" href="/windows"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-windows"/></svg><span>Cài trên Windows</span></a>
64
+ <a class="nav-link" href="/update"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-refresh"/></svg><span>Cập nhật và gỡ</span></a>
65
+ <a class="nav-link" href="/whats-new"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-sparkles"/></svg><span>Changelog</span></a>
66
+ <a class="nav-link" href="/scope"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-target"/></svg><span>Phạm vi platform</span></a>
67
67
  </div>
68
68
  <div class="nav-group">
69
- <p class="nav-title">Build</p>
70
- <a class="nav-link" href="/profiles">Project profile</a>
71
- <a class="nav-link" href="/permissions">Permission modes</a>
72
- <a class="nav-link" href="/commands">Command catalog</a>
73
- <a class="nav-link" href="/workflows">Workflows</a>
69
+ <p class="nav-title">Sử dụng</p>
70
+ <a class="nav-link" href="/profiles"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-sliders"/></svg><span>Project profile</span></a>
71
+ <a class="nav-link" href="/permissions"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-key"/></svg><span>Permission modes</span></a>
72
+ <a class="nav-link" href="/commands"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-terminal"/></svg><span>Command catalog</span></a>
73
+ <a class="nav-link" href="/workflows"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-branch"/></svg><span>Workflows</span></a>
74
74
  </div>
75
75
  <div class="nav-group">
76
76
  <p class="nav-title">MCP</p>
77
- <a class="nav-link" href="/mcp">MCP overview</a>
78
- <a class="nav-link" href="/mcp-servers">Quản lý server</a>
79
- <a class="nav-link" href="/mcp-auth">Auth và readiness</a>
80
- <a class="nav-link" href="/mcp-approval">Approval gate</a>
77
+ <a class="nav-link" href="/mcp"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-plug"/></svg><span>Tổng quan MCP</span></a>
78
+ <a class="nav-link" href="/mcp-servers"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-server"/></svg><span>Quản lý server</span></a>
79
+ <a class="nav-link" href="/mcp-auth"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-lock"/></svg><span>Auth và readiness</span></a>
80
+ <a class="nav-link" href="/mcp-approval"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-shield-check"/></svg><span>Approval gate</span></a>
81
81
  </div>
82
82
  <div class="nav-group">
83
- <p class="nav-title">Operate</p>
84
- <a class="nav-link" href="/security">Security model</a>
85
- <a class="nav-link" href="/architecture">Architecture</a>
86
- <a class="nav-link" href="/context-engine">Context Engine</a>
87
- <a class="nav-link" href="/benchmark">Benchmark</a>
88
- <a class="nav-link" href="/runtime">Runtime tools</a>
89
- <a class="nav-link" href="/team">Team usage</a>
83
+ <p class="nav-title">Vận hành</p>
84
+ <a class="nav-link" href="/security"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-shield"/></svg><span>Security model</span></a>
85
+ <a class="nav-link" href="/architecture"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-layers"/></svg><span>Kiến trúc</span></a>
86
+ <a class="nav-link" href="/context-engine"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-cpu"/></svg><span>Context Engine</span></a>
87
+ <a class="nav-link" href="/benchmark"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-chart"/></svg><span>Benchmark</span></a>
88
+ <a class="nav-link" href="/runtime"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-wrench"/></svg><span>Runtime tools</span></a>
89
+ <a class="nav-link" href="/team"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-users"/></svg><span>Dùng cho team</span></a>
90
90
  </div>
91
91
  </nav>
92
92
  </aside>
93
93
 
94
- <main>
94
+ <main id="content">
95
95
  <div class="content-shell" data-article>
96
96
  <nav class="breadcrumb" aria-label="Breadcrumb">
97
97
  <a href="/">Docs</a>
98
98
  <span aria-hidden="true">/</span>
99
- <span>Get started</span>
100
- <span aria-hidden="true">/</span>
101
- <span>Quickstart</span>
99
+ <span>Bắt đầu</span>
102
100
  </nav>
103
101
  <div class="page-head">
104
- <h1>Step by step cho thành viên mới</h1>
105
- <p>Hai lệnh để cài, mở repo, chọn profile và quyền, rồi giao việc bằng lời thường; guard kiểm tra từng tool call.</p>
102
+ <h1>Cài đặt và chạy lượt đầu tiên</h1>
103
+ <p>Hai lệnh để cài. Mở repo, chọn profile và quyền, rồi nói việc bằng lời thường.</p>
104
+ <div class="page-meta">
105
+ <a href="https://github.com/Vt-mmm/piagent/blob/main/docs-site/content/quickstart.html" target="_blank" rel="noopener noreferrer"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-edit"/></svg>Sửa trang này</a>
106
+ </div>
106
107
  </div>
107
108
  <section class="section">
108
-
109
109
  <div class="steps">
110
110
  <article class="step">
111
- <div>
112
- <h3 id="cai-hai-lenh">Cài — hai lệnh</h3>
113
- <p>Cần Node.js 22.19.0 trở lên. Không cần cài Pi Coding Agent trước: <span class="inline-code">piagent-setup</span> tự cài đúng bản host mà release hiện tại đang pin. Chạy nó ngay trong thư mục project — nó cài Pi package, khởi tạo <span class="inline-code">.pi/</span>, cài MCP baseline cùng subagents, rồi chạy doctor. Thêm <span class="inline-code">--no-mcp</span>, <span class="inline-code">--no-subagents</span>, <span class="inline-code">--no-herdr</span> hoặc <span class="inline-code">--global-only</span> để bỏ bớt.</p>
114
- <div class="table-wrap compact-table">
115
- <table>
116
- <thead>
117
- <tr>
118
- <th>Runtime</th>
119
- <th>Trạng thái rollout</th>
120
- </tr>
121
- </thead>
122
- <tbody>
123
- <tr>
124
- <td>macOS Apple Silicon + Bash</td>
125
- <td>Đã verify cho release này.</td>
126
- </tr>
127
- <tr>
128
- <td>Linux x64 + Bash</td>
129
- <td>Đã verify trong CI.</td>
130
- </tr>
131
- <tr>
132
- <td>macOS Intel / Linux ARM64 + Bash</td>
133
- <td>Supported target; chạy doctor + smoke test trước khi rollout rộng.</td>
134
- </tr>
135
- <tr>
136
- <td>Windows (WSL2)</td>
137
- <td>Một lệnh PowerShell cài tất cả: xem <a href="/windows">Cài trên Windows</a>. Chạy thẳng trên Windows mới là bản xem trước cho chế độ cá nhân.</td>
138
- </tr>
139
- </tbody>
140
- </table>
111
+ <h3 id="cai-dat">Cài đặt</h3>
112
+ <p>Cần Node.js 22.19.0 trở lên. Không cần cài Pi trước: <code>piagent-setup</code> tự cài đúng bản Pi mà release này pin, khởi tạo <code>.pi/</code>, cài MCP baseline và subagent, rồi chạy doctor.</p>
113
+ <div class="tabs" data-tabs="os">
114
+ <div class="tab-list" role="tablist" aria-label="Hệ điều hành">
115
+ <button type="button" role="tab" data-tab="macos" aria-selected="true"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-apple"/></svg> macOS · Linux</button>
116
+ <button type="button" role="tab" data-tab="windows" aria-selected="false" tabindex="-1"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-windows"/></svg> Windows</button>
141
117
  </div>
142
- <div class="command-card">
143
- <header><span>Hai lệnh</span><button class="clip-btn" data-clip="npm install -g @piagent/platform&#10;piagent-setup">Lấy lệnh</button></header>
144
- <pre><code>npm install -g @piagent/platform
118
+ <div class="tab-panel" data-panel="macos">
119
+ <div class="command-card">
120
+ <header><span>Chạy trong thư mục project</span><button class="clip-btn" data-clip="npm install -g @piagent/platform&#10;piagent-setup">Lấy lệnh</button></header>
121
+ <pre><code>npm install -g @piagent/platform
145
122
  piagent-setup</code></pre>
123
+ </div>
146
124
  </div>
147
- <p>Vì chạy từ package đã cài, source ghi vào <span class="inline-code">.pi/settings.json</span> là <span class="inline-code">npm:@piagent/platform@&lt;version&gt;</span> — giá trị này có nghĩa như nhau trên máy đồng đội, nên commit được cho cả team.</p>
148
- <p>Dùng <a href="https://herdr.dev/docs/install/">Herdr</a> thì cài Herdr <strong>trước</strong>: <span class="inline-code">piagent-setup</span> tự cài luôn Herdr Pi integration khi thấy <span class="inline-code">herdr</span> trên <span class="inline-code">PATH</span>, còn không thì bỏ qua kèm cảnh báo — cài Herdr sau phải chạy lại <span class="inline-code">piagent-setup --global-only</span>.</p>
149
- <div class="command-card">
150
- <header><span>Herdr (tuỳ chọn, cài trước)</span><button class="clip-btn" data-clip="brew install herdr">Lấy lệnh</button></header>
151
- <pre><code>brew install herdr # macOS
152
- curl -fsSL https://herdr.dev/install.sh | sh # macOS hoặc Linux</code></pre>
153
- </div>
154
- <p>Bản <span class="inline-code">curl</span> chạy script tải về lúc cài; muốn kiểm tra được thì dùng <span class="inline-code">brew</span> hoặc tải từ <a href="https://github.com/ogulcancelik/herdr/releases">GitHub releases</a>. Herdr stable hỗ trợ macOS và Linux, Windows mới ở mức preview.</p>
155
- <p>Rollout pin từng bước, update, rollback, và channel latest cho máy cá nhân nằm trong <a href="https://github.com/Vt-mmm/piagent/blob/main/docs/release-install-policy.md">release &amp; install policy</a>.</p>
156
- </div>
157
- </article>
158
-
159
- <article class="step">
160
- <div>
161
- <h3 id="mo-repo-du-an">Mở repo dự án</h3>
162
- <p>Chạy Pi từ thư mục repo. Với repo đã tin cậy, dùng wrapper trusted-run khi cần tự động hoá có kiểm soát.</p>
163
- <div class="command-card">
164
- <header><span>Start</span><button class="clip-btn" data-clip="cd /path/to/project && pi">Lấy lệnh</button></header>
165
- <pre><code>cd /path/to/project
166
- pi</code></pre>
125
+ <div class="tab-panel" data-panel="windows" hidden>
126
+ <div class="command-card">
127
+ <header><span>PowerShell</span><button class="clip-btn" data-clip="irm https://raw.githubusercontent.com/Vt-mmm/agentwatch/main/windows/setup.ps1 | iex">Lấy lệnh</button></header>
128
+ <pre><code>irm https://raw.githubusercontent.com/Vt-mmm/agentwatch/main/windows/setup.ps1 | iex</code></pre>
129
+ </div>
130
+ <p>Cài WSL2, Ubuntu, Piagent và Agent Watch. Chi tiết ở <a href="/windows">Cài trên Windows</a>.</p>
167
131
  </div>
168
- <p>Cần nhiều agent chạy song song thì gõ <span class="inline-code">herdr</span> thay cho <span class="inline-code">pi</span>, mỗi pane một vai: implement, review read-only, verify, notes. Herdr chỉ điều phối terminal và session — nó không phải security boundary, gate vẫn nằm ở Pi extension và OAuth vẫn login trong Pi. Cách dựng pane: <a href="https://github.com/Vt-mmm/piagent/blob/main/docs/herdr-workflow.md">Herdr workflow</a>.</p>
169
132
  </div>
133
+ <p>Bỏ bớt phần cài thêm bằng <code>--no-mcp</code>, <code>--no-subagents</code>, <code>--no-herdr</code> hoặc <code>--global-only</code>.</p>
170
134
  </article>
171
135
 
172
136
  <article class="step">
173
- <div>
174
- <h3 id="onboard-context">Cho agent đọc project</h3>
175
- <p>Ở repo mới, nhờ agent đọc project (chỉ đọc) và ghi lại project context vào <span class="inline-code">.pi/</span>. Không cần lệnh riêng: nói bằng lời thường.</p>
176
- <div class="command-card">
177
- <header><span>Đọc project</span><button class="clip-btn" data-clip="Đọc project này (chỉ đọc) và ghi lại project context.">Lấy lệnh</button></header>
178
- <pre><code>Đọc project này (chỉ đọc) và ghi lại project context.</code></pre>
179
- </div>
137
+ <h3 id="mo-project">Mở project</h3>
138
+ <p>Terminal và dashboard dùng chung một lịch sử. Chế độ công ty mở bằng <code>piagent studio</code> sau khi đã nhập key qua Agent Watch.</p>
139
+ <div class="command-card">
140
+ <header><span>Chọn một</span><button class="clip-btn" data-clip="piagent dashboard">Lấy lệnh</button></header>
141
+ <pre><code>piagent dashboard # trình duyệt, chế độ cá nhân
142
+ pi # Terminal, chế độ cá nhân
143
+ piagent studio --web # chế độ công ty</code></pre>
180
144
  </div>
181
145
  </article>
182
146
 
183
147
  <article class="step">
184
- <div>
185
- <h3 id="chon-profile-tech">Chọn profile + tech</h3>
186
- <p>Dùng <span class="inline-code">/profile setup</span> để mở select option: chọn profile trước, rồi chọn tech theo role. Fullstack sẽ chọn frontend, backend và database.</p>
187
- <div class="command-card">
188
- <header><span>Profile tech setup</span><button class="clip-btn" data-clip="/profile setup&#10;/profile tech setup fullstack">Lấy lệnh</button></header>
189
- <pre><code>/profile setup
190
- /profile tech setup fullstack</code></pre>
191
- </div>
148
+ <h3 id="doc-project">Cho agent đọc project</h3>
149
+ <p>Ở repo mới, nhờ agent đọc (chỉ đọc) và ghi project context vào <code>.pi/</code>. Không cần lệnh riêng.</p>
150
+ <div class="command-card">
151
+ <header><span>Tin nhắn đầu tiên</span><button class="clip-btn" data-clip="Đọc project này (chỉ đọc) và ghi lại project context.">Lấy lệnh</button></header>
152
+ <pre><code>Đọc project này (chỉ đọc) và ghi lại project context.</code></pre>
192
153
  </div>
193
154
  </article>
194
155
 
195
156
  <article class="step">
196
- <div>
197
- <h3 id="chon-permission">Chọn permission</h3>
198
- <p>Scout thì read-only, code bình thường thì workspace-write, automation tin cậy thì full-access có guard.</p>
199
- <div class="command-card">
200
- <header><span>Permission</span><button class="clip-btn" data-clip="/permission status&#10;/permission workspace-write">Lấy lệnh</button></header>
201
- <pre><code>/permission status
157
+ <h3 id="profile-va-quyen">Chọn profile và quyền</h3>
158
+ <p>Profile quyết định file nào được bảo vệ và check nào chạy. Quyền: <code>read-only</code> để khảo sát, <code>workspace-write</code> để code bình thường.</p>
159
+ <div class="command-card">
160
+ <header><span>Slash command</span><button class="clip-btn" data-clip="/profile setup&#10;/permission workspace-write">Lấy lệnh</button></header>
161
+ <pre><code>/profile setup
202
162
  /permission workspace-write</code></pre>
203
- </div>
204
163
  </div>
205
164
  </article>
206
165
 
207
166
  <article class="step">
208
- <div>
209
- <h3 id="chay-workflow">Chạy workflow</h3>
210
- <p>Nói rõ việc và ý định (sửa, chỉ đọc, lập plan) bằng lời thường. Việc nào nặng context thì mở session mới bằng <span class="inline-code">/new</span>.</p>
211
- <div class="command-card">
212
- <header><span>Giao việc</span><button class="clip-btn" data-clip="Implement thay đổi được yêu cầu rồi chạy test của project.&#10;Review diff hiện tại. Chỉ đọc.">Lấy lệnh</button></header>
213
- <pre><code>Implement thay đổi được yêu cầu rồi chạy test của project.
167
+ <h3 id="giao-viec">Giao việc bằng lời thường</h3>
168
+ <p>Nói rõ việc và ý định: sửa, chỉ đọc hay lập plan. Việc nặng context thì mở session mới bằng <code>/new</code>.</p>
169
+ <div class="command-card">
170
+ <header><span>Ví dụ</span><button class="clip-btn" data-clip="Sửa lỗi phân trang ở /orders rồi chạy test của project.">Lấy lệnh</button></header>
171
+ <pre><code>Sửa lỗi phân trang ở /orders rồi chạy test của project.
214
172
  Review diff hiện tại. Chỉ đọc.</code></pre>
215
- </div>
216
173
  </div>
217
174
  </article>
218
175
 
219
176
  <article class="step">
220
- <div>
221
- <h3 id="verify-truoc-khi-handoff">Kiểm tra trước khi giao</h3>
222
- <p>Nhờ agent chạy check của project (test, type check, build) và đọc kết quả thật; ở chế độ công ty, Harness tự yêu cầu việc này. Sau khi pin hoặc nâng version, chạy doctor trên project:</p>
223
- <div class="command-card">
224
- <header><span>Doctor</span><button class="clip-btn" data-clip="piagent-doctor">Lấy lệnh</button></header>
225
- <pre><code>piagent-doctor</code></pre>
226
- </div>
227
- <p>Người phát triển chính platform còn có <span class="inline-code">npm run verify</span> trong source repo; chi tiết ở <a href="https://github.com/Vt-mmm/piagent/blob/main/CONTRIBUTING.md">CONTRIBUTING</a>.</p>
177
+ <h3 id="kiem-tra">Kiểm tra cài đặt</h3>
178
+ <p>Sau khi cài hoặc đổi bản, chạy doctor trên project. Lỗi nào cũng kèm cách sửa.</p>
179
+ <div class="command-card">
180
+ <header><span>Doctor</span><button class="clip-btn" data-clip="piagent-doctor">Lấy lệnh</button></header>
181
+ <pre><code>piagent-doctor</code></pre>
228
182
  </div>
229
183
  </article>
184
+ </div>
185
+ </section>
230
186
 
231
- <article class="step">
232
- <div>
233
- <h3 id="go-cai-dat-khi-khong-dung-nua">Gỡ cài đặt khi không dùng nữa</h3>
234
- <p><span class="inline-code">piagent-uninstall</span> mặc định chỉ in ra sẽ gỡ những gì rồi thoát; phải thêm <span class="inline-code">--apply</span> nó mới thực hiện, vì nó sửa Pi settings mà công cụ khác cũng ghi vào. Mặc định chỉ gỡ Pi package của platform; add-on, Pi host và state trong project đều là opt-in.</p>
235
- <div class="command-card">
236
- <header><span>Gỡ — hai lệnh</span><button class="clip-btn" data-clip="piagent-uninstall&#10;piagent-uninstall --apply">Lấy lệnh</button></header>
237
- <pre><code>piagent-uninstall
238
- piagent-uninstall --apply</code></pre>
239
- </div>
240
- <p>Add-on, Pi host, state trong project và helper npm-global đều tách riêng và là opt-in — <span class="inline-code">piagent-uninstall --help</span> liệt kê đủ. Nó gỡ theo những gì đang đăng ký trong Pi settings chứ không theo những gì bản hiện tại cài, nên package do release cũ đăng ký vẫn ra được.</p>
241
- <div class="callout ok-callout">
242
- <strong>Không bao giờ bị xoá</strong>
243
- <p>Credential, trust, session, todo và <span class="inline-code">.pi/memory/</span> được giữ nguyên ở mọi tổ hợp cờ — đó là dữ liệu của người dùng, không phải state của platform. Các file sinh từ template rồi sửa tiếp như <span class="inline-code">AGENTS.md</span>, <span class="inline-code">.pi/settings.json</span>, <span class="inline-code">project-context.md</span> chỉ được liệt kê để tự quyết. Với <span class="inline-code">.pi/settings.json</span>, chỉ đúng entry trỏ tới platform bị bỏ khỏi <span class="inline-code">packages</span>.</p>
244
- </div>
245
- </div>
246
- </article>
187
+ <section class="section">
188
+ <h2 id="ho-tro">Hệ điều hành được hỗ trợ</h2>
189
+ <div class="table-wrap">
190
+ <table>
191
+ <thead><tr><th>Môi trường</th><th>Trạng thái</th></tr></thead>
192
+ <tbody>
193
+ <tr><td>macOS Apple Silicon</td><td>Đã kiểm chứng cho release này.</td></tr>
194
+ <tr><td>Linux x64</td><td>Đã kiểm chứng trong CI.</td></tr>
195
+ <tr><td>macOS Intel, Linux ARM64</td><td>Hỗ trợ; chạy doctor và smoke test trước khi rollout rộng.</td></tr>
196
+ <tr><td>Windows (WSL2)</td><td>Cách chạy Piagent trên Windows, cả chế độ cá nhân và công ty.</td></tr>
197
+ <tr><td>Windows native</td><td>Bản xem trước cho chế độ cá nhân; chưa có <code>piagent-update</code>.</td></tr>
198
+ </tbody>
199
+ </table>
200
+ </div>
201
+ <div class="callout">
202
+ <strong>Dùng Herdr?</strong>
203
+ <p>Cài Herdr <em>trước</em> <code>piagent-setup</code> để được cài luôn tích hợp Pi; cài sau thì chạy lại <code>piagent-setup --global-only</code>. Herdr chỉ điều phối terminal, không phải lớp bảo vệ. Xem <a href="https://github.com/Vt-mmm/piagent/blob/main/docs/herdr-workflow.md">Herdr workflow</a>.</p>
204
+ </div>
205
+ </section>
247
206
 
207
+ <section class="section">
208
+ <h2 id="tiep-theo">Tiếp theo</h2>
209
+ <div class="card-grid">
210
+ <a class="doc-card" href="/update"><span class="card-kicker"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-refresh"/></svg> Vận hành</span><h3>Cập nhật và gỡ</h3><p>Lên bản mới, pin cho team, rollback, gỡ có xem trước.</p></a>
211
+ <a class="doc-card" href="/ecosystem"><span class="card-kicker"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-network"/></svg> Bắt đầu</span><h3>Hệ sinh thái</h3><p>Khi nào dùng model cá nhân, khi nào dùng Agent Studio.</p></a>
212
+ <a class="doc-card" href="/permissions"><span class="card-kicker"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-key"/></svg> Sử dụng</span><h3>Permission modes</h3><p>Bốn mức quyền và khi nào dùng mức nào.</p></a>
213
+ <a class="doc-card" href="/mcp"><span class="card-kicker"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-plug"/></svg> MCP</span><h3>MCP</h3><p>Preset đã pin, quản lý server và approval gate.</p></a>
248
214
  </div>
249
215
  </section>
250
216
  <nav class="pager" aria-label="Trang kế tiếp">
251
217
  <a class="pager-prev" href="/ecosystem">
252
- <span class="pager-label">Trước</span>
218
+ <span class="pager-label">← Trước</span>
253
219
  <span class="pager-title">Hệ sinh thái</span>
254
220
  </a>
255
221
  <a class="pager-next" href="/windows">
256
- <span class="pager-label">Tiếp</span>
222
+ <span class="pager-label">Tiếp →</span>
257
223
  <span class="pager-title">Cài trên Windows</span>
258
224
  </a>
259
225
  </nav>
260
226
 
261
227
  <footer class="footer">
262
- <p>Pi Agent Platform docs · static HTML · governed agent workflow</p>
228
+ <p>Pi Agent Platform · MIT · tài liệu tĩnh, không cookie</p>
263
229
  <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>
230
+ <a href="https://github.com/Vt-mmm/piagent" target="_blank" rel="noopener noreferrer">GitHub</a>
231
+ <a href="https://www.npmjs.com/package/@piagent/platform" target="_blank" rel="noopener noreferrer">npm</a>
266
232
  <a href="/en/quickstart" hreflang="en">English</a>
267
- <a href="https://www.facebook.com/vinhtam0544/" target="_blank" rel="noopener noreferrer">Facebook profile</a>
233
+ <a href="https://www.facebook.com/vinhtam0544/" target="_blank" rel="noopener noreferrer">Facebook</a>
268
234
  </div>
269
235
  </footer>
270
236
  </div>
@@ -275,6 +241,13 @@ piagent-uninstall --apply</code></pre>
275
241
  <nav data-toc></nav>
276
242
  </aside>
277
243
  </div>
244
+ <div class="palette" data-palette data-index="/assets/search-vi.json" data-empty="Không có trang nào khớp." role="dialog" aria-modal="true" aria-label="Tìm trong tài liệu">
245
+ <div class="palette-box">
246
+ <label class="palette-input"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><use href="#icon-search"/></svg><input type="search" placeholder="Tìm trong tài liệu…" aria-label="Tìm trong tài liệu" autocomplete="off" spellcheck="false" /></label>
247
+ <div class="palette-results" data-results role="listbox"></div>
248
+ <div class="palette-foot"><span>↑↓ chọn</span><span>↵ mở</span><span>esc đóng</span></div>
249
+ </div>
250
+ </div>
278
251
  <script>
279
252
  window.va = window.va || function () { (window.vaq = window.vaq || []).push(arguments); };
280
253
  </script>