@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
@@ -0,0 +1,228 @@
1
+ <!doctype html>
2
+ <html lang="vi" data-copy-success="Đã lấy" data-copy-fallback="Chọn lệnh" data-copy-label="Sao chép">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
6
+ <title>Cập nhật, rollback và gỡ cài đặt · Pi Agent Platform</title>
7
+ <meta name="description" content="Một lệnh để lên bản mới, dashboard và Terminal tự báo khi có bản mới. Rollback và gỡ cài đặt đều có bước xem trước." />
8
+ <meta name="theme-color" content="#09090b" media="(prefers-color-scheme: dark)" />
9
+ <meta name="theme-color" content="#fbfbf9" media="(prefers-color-scheme: light)" />
10
+ <link rel="canonical" href="https://piagent.io.vn/update" />
11
+ <link rel="alternate" hreflang="vi" href="https://piagent.io.vn/update" />
12
+ <link rel="alternate" hreflang="en" href="https://piagent.io.vn/en/update" />
13
+ <link rel="alternate" hreflang="x-default" href="https://piagent.io.vn/update" />
14
+ <link rel="icon" href="/favicon.svg" type="image/svg+xml" />
15
+ <meta property="og:type" content="website" />
16
+ <meta property="og:title" content="Cập nhật, rollback và gỡ cài đặt · Pi Agent Platform" />
17
+ <meta property="og:description" content="Một lệnh để lên bản mới, dashboard và Terminal tự báo khi có bản mới. Rollback và gỡ cài đặt đều có bước xem trước." />
18
+ <meta property="og:url" content="https://piagent.io.vn/update" />
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>
22
+ <link rel="preconnect" href="https://fonts.googleapis.com" />
23
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
24
+ <link
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"
26
+ rel="stylesheet"
27
+ />
28
+ <link rel="stylesheet" href="/assets/docs.css" />
29
+ <script src="/assets/docs.js" defer></script>
30
+ </head>
31
+ <body>
32
+ <svg width="0" height="0" style="position:absolute" aria-hidden="true"><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>
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>
36
+ <a class="brand" href="/" aria-label="Pi Agent Platform">
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>
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">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>
48
+ <div class="top-actions">
49
+ <nav class="language-switch" aria-label="Ngôn ngữ"><a class="language-option current" href="/update" hreflang="vi" lang="vi" aria-current="true">VI</a><a class="language-option" href="/en/update" 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>
52
+ </div>
53
+ </header>
54
+
55
+ <div class="layout with-toc">
56
+ <aside class="sidebar" data-sidebar>
57
+ <nav aria-label="Tài liệu">
58
+ <div class="nav-group">
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" href="/quickstart"><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 current" href="/update" aria-current="page"><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
+ </div>
68
+ <div class="nav-group">
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
+ </div>
75
+ <div class="nav-group">
76
+ <p class="nav-title">MCP</p>
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
+ </div>
82
+ <div class="nav-group">
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
+ </div>
91
+ </nav>
92
+ </aside>
93
+
94
+ <main id="content">
95
+ <div class="content-shell" data-article>
96
+ <nav class="breadcrumb" aria-label="Breadcrumb">
97
+ <a href="/">Docs</a>
98
+ <span aria-hidden="true">/</span>
99
+ <span>Bắt đầu</span>
100
+ </nav>
101
+ <div class="page-head">
102
+ <h1>Cập nhật, rollback và gỡ cài đặt</h1>
103
+ <p>Một lệnh để lên bản mới, dashboard và Terminal tự báo khi có bản mới. Rollback và gỡ cài đặt đều có bước xem trước.</p>
104
+ <div class="page-meta">
105
+ <a href="https://github.com/Vt-mmm/piagent/blob/main/docs-site/content/update.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>
107
+ </div>
108
+ <section class="section">
109
+ <h2 id="cap-nhat">Cập nhật</h2>
110
+ <p>Dashboard và Terminal kiểm tra bản mới mỗi giờ. Khi có bản mới, dashboard mở hộp thoại ghi thay đổi gì, với <strong>Cập nhật ngay</strong> và <strong>Để sau</strong> (hỏi lại sau một giờ). Muốn tự chạy thì dùng một lệnh:</p>
111
+ <div class="command-card">
112
+ <header><span>Lên bản mới nhất</span><button class="clip-btn" data-clip="piagent-update">Lấy lệnh</button></header>
113
+ <pre><code>piagent-update</code></pre>
114
+ </div>
115
+ <p>Khởi động lại dashboard sau khi cập nhật để giao diện mới có hiệu lực.</p>
116
+
117
+ <h3 id="cap-nhat-lam-gi">Lệnh này làm gì, theo thứ tự</h3>
118
+ <ol>
119
+ <li>Xác định bản đích và bản Pi mà bản đó pin.</li>
120
+ <li>Cài đúng Pi host đó, rồi thay helper <code>piagent-update</code>.</li>
121
+ <li>Kiểm tra version thật trên đĩa trước khi chạy installer.</li>
122
+ <li>Với <code>--project</code>: migrate state của project và chạy <code>piagent-doctor --strict-share</code>.</li>
123
+ </ol>
124
+ <div class="callout">
125
+ <strong>Không chạy từ git checkout</strong>
126
+ <p><code>piagent-update</code> từ chối chạy khi package toàn cục là một bản link tới source repo, để không ghi đè code bạn đang sửa.</p>
127
+ </div>
128
+
129
+ <h3 id="tuy-chon">Tuỳ chọn thường dùng</h3>
130
+ <div class="table-wrap">
131
+ <table>
132
+ <thead><tr><th>Lệnh</th><th>Dùng khi</th></tr></thead>
133
+ <tbody>
134
+ <tr><td><code>piagent-update --check</code></td><td>Chỉ xem có bản mới không.</td></tr>
135
+ <tr><td><code>piagent-update --dry-run</code></td><td>Xem sẽ cài gì, không đổi gì.</td></tr>
136
+ <tr><td><code>piagent-update --version X.Y.Z</code></td><td>Lên hoặc về đúng một bản.</td></tr>
137
+ <tr><td><code>piagent-update --project .</code></td><td>Cập nhật và migrate project hiện tại.</td></tr>
138
+ <tr><td><code>--no-host</code> · <code>--no-package</code> · <code>--no-migrate</code></td><td>Bỏ qua từng bước.</td></tr>
139
+ </tbody>
140
+ </table>
141
+ </div>
142
+ </section>
143
+
144
+ <section class="section">
145
+ <h2 id="pin-cho-team">Pin một bản cho cả team</h2>
146
+ <p>Khi rollout cho team, cài đúng bản Pi host và đúng bản platform, rồi chạy installer ở chế độ stable. Bước <code>--dry-run</code> in ra những gì sẽ đổi.</p>
147
+ <div class="command-card">
148
+ <header><span>Cài pin theo bản</span><button class="clip-btn" data-clip="npm install -g --ignore-scripts @earendil-works/pi-coding-agent@1.3.0&#10;npm install -g --ignore-scripts @piagent/platform@1.42.1&#10;piagent-install --stable --dry-run&#10;piagent-install --stable">Lấy lệnh</button></header>
149
+ <pre><code>npm install -g --ignore-scripts @earendil-works/pi-coding-agent@1.3.0
150
+ npm install -g --ignore-scripts @piagent/platform@1.42.1
151
+ piagent-install --stable --dry-run
152
+ piagent-install --stable</code></pre>
153
+ </div>
154
+ <p>Vì cài từ package, <code>.pi/settings.json</code> ghi <code>npm:@piagent/platform@&lt;version&gt;</code>: giá trị giống nhau trên mọi máy, commit được cho cả team. Quy trình đầy đủ ở <a href="https://github.com/Vt-mmm/piagent/blob/main/docs/release-install-policy.md">release &amp; install policy</a>.</p>
155
+ </section>
156
+
157
+ <section class="section">
158
+ <h2 id="rollback">Rollback</h2>
159
+ <p>Rollback là thao tác có chủ đích, không tự động. Về một bản cụ thể bằng cùng lệnh cập nhật:</p>
160
+ <div class="command-card">
161
+ <header><span>Về bản trước</span><button class="clip-btn" data-clip="piagent-update --version X.Y.Z --dry-run&#10;piagent-update --version X.Y.Z">Lấy lệnh</button></header>
162
+ <pre><code>piagent-update --version X.Y.Z --dry-run
163
+ piagent-update --version X.Y.Z</code></pre>
164
+ </div>
165
+ <p>Chỉ muốn đổi Pi package mà giữ host: <code>piagent-install --version vX.Y.Z --resolve-tag</code>. Sau khi về bản cũ, chạy <code>piagent-doctor</code> trên project.</p>
166
+ </section>
167
+
168
+ <section class="section">
169
+ <h2 id="go-cai-dat">Gỡ cài đặt</h2>
170
+ <p><code>piagent-uninstall</code> mặc định chỉ in ra sẽ gỡ gì rồi thoát. Thêm <code>--apply</code> mới thực hiện, vì nó sửa Pi settings mà công cụ khác cũng ghi vào.</p>
171
+ <div class="command-card">
172
+ <header><span>Xem trước, rồi gỡ</span><button class="clip-btn" data-clip="piagent-uninstall&#10;piagent-uninstall --apply">Lấy lệnh</button></header>
173
+ <pre><code>piagent-uninstall
174
+ piagent-uninstall --apply
175
+ npm uninstall -g @piagent/platform</code></pre>
176
+ </div>
177
+ <p>Add-on, Pi host và state trong project là opt-in: <code>--with-addons</code>, <code>--with-host</code>, <code>--project &lt;path&gt;</code>.</p>
178
+ <div class="callout ok-callout">
179
+ <strong>Không bao giờ bị xoá</strong>
180
+ <p>Credential, trust, session, todo và <code>.pi/memory/</code> được giữ ở mọi tổ hợp cờ. File sinh từ template rồi đã sửa (<code>AGENTS.md</code>, <code>.pi/settings.json</code>) chỉ được liệt kê để bạn tự quyết.</p>
181
+ </div>
182
+ </section>
183
+
184
+ <section class="section">
185
+ <h2 id="windows">Trên Windows</h2>
186
+ <p>Chạy lại đúng lệnh PowerShell đã dùng để cài: nó cập nhật WSL, Piagent và Agent Watch. Xem <a href="/windows">Cài trên Windows</a>.</p>
187
+ </section>
188
+ <nav class="pager" aria-label="Trang kế tiếp">
189
+ <a class="pager-prev" href="/windows">
190
+ <span class="pager-label">← Trước</span>
191
+ <span class="pager-title">Cài trên Windows</span>
192
+ </a>
193
+ <a class="pager-next" href="/whats-new">
194
+ <span class="pager-label">Tiếp →</span>
195
+ <span class="pager-title">Changelog</span>
196
+ </a>
197
+ </nav>
198
+
199
+ <footer class="footer">
200
+ <p>Pi Agent Platform · MIT · tài liệu tĩnh, không cookie</p>
201
+ <div class="footer-links" aria-label="Liên kết ngoài">
202
+ <a href="https://github.com/Vt-mmm/piagent" target="_blank" rel="noopener noreferrer">GitHub</a>
203
+ <a href="https://www.npmjs.com/package/@piagent/platform" target="_blank" rel="noopener noreferrer">npm</a>
204
+ <a href="/en/update" hreflang="en">English</a>
205
+ <a href="https://www.facebook.com/vinhtam0544/" target="_blank" rel="noopener noreferrer">Facebook</a>
206
+ </div>
207
+ </footer>
208
+ </div>
209
+ </main>
210
+
211
+ <aside class="toc" aria-label="Mục lục trang">
212
+ <p class="toc-title">Trên trang này</p>
213
+ <nav data-toc></nav>
214
+ </aside>
215
+ </div>
216
+ <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">
217
+ <div class="palette-box">
218
+ <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>
219
+ <div class="palette-results" data-results role="listbox"></div>
220
+ <div class="palette-foot"><span>↑↓ chọn</span><span>↵ mở</span><span>esc đóng</span></div>
221
+ </div>
222
+ </div>
223
+ <script>
224
+ window.va = window.va || function () { (window.vaq = window.vaq || []).push(arguments); };
225
+ </script>
226
+ <script defer src="/_vercel/insights/script.js"></script>
227
+ </body>
228
+ </html>