@piagent/platform 1.40.0 → 1.42.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (124) hide show
  1. package/CHANGELOG.md +1012 -2035
  2. package/CONTRIBUTING.md +2 -0
  3. package/README.md +128 -325
  4. package/README.vi.md +149 -143
  5. package/architecture/layers.json +10 -0
  6. package/docs/command-reference-vietnamese.md +2 -2
  7. package/docs/distribution-standard.md +6 -6
  8. package/docs/en/architecture.md +1 -0
  9. package/docs/languages.json +4 -4
  10. package/docs/operator-manual-vietnamese.md +7 -7
  11. package/docs/publishing-for-teams.md +2 -0
  12. package/docs/release-install-policy.md +3 -3
  13. package/docs/team-onboarding.md +2 -2
  14. package/docs/vi/architecture.md +1 -0
  15. package/docs-site/architecture.html +71 -63
  16. package/docs-site/assets/docs.css +2736 -1030
  17. package/docs-site/assets/docs.js +451 -43
  18. package/docs-site/assets/og.png +0 -0
  19. package/docs-site/assets/piagent-logo.svg +9 -31
  20. package/docs-site/assets/search-en.json +1 -0
  21. package/docs-site/assets/search-vi.json +1 -0
  22. package/docs-site/benchmark.html +71 -63
  23. package/docs-site/commands.html +72 -64
  24. package/docs-site/content/en/index.html +220 -131
  25. package/docs-site/content/en/quickstart.html +74 -90
  26. package/docs-site/content/en/update.html +80 -0
  27. package/docs-site/content/en/whats-new.html +1 -678
  28. package/docs-site/content/index.html +220 -131
  29. package/docs-site/content/quickstart.html +73 -108
  30. package/docs-site/content/update.html +80 -0
  31. package/docs-site/content/whats-new.html +1 -678
  32. package/docs-site/context-engine.html +73 -65
  33. package/docs-site/ecosystem.html +73 -65
  34. package/docs-site/en/architecture.html +67 -59
  35. package/docs-site/en/benchmark.html +67 -59
  36. package/docs-site/en/commands.html +68 -60
  37. package/docs-site/en/context-engine.html +68 -60
  38. package/docs-site/en/ecosystem.html +68 -60
  39. package/docs-site/en/index.html +281 -220
  40. package/docs-site/en/mcp-approval.html +67 -59
  41. package/docs-site/en/mcp-auth.html +67 -59
  42. package/docs-site/en/mcp-servers.html +68 -60
  43. package/docs-site/en/mcp.html +64 -56
  44. package/docs-site/en/permissions.html +68 -60
  45. package/docs-site/en/profiles.html +68 -60
  46. package/docs-site/en/quickstart.html +142 -150
  47. package/docs-site/en/runtime.html +67 -59
  48. package/docs-site/en/scope.html +68 -60
  49. package/docs-site/en/security.html +64 -56
  50. package/docs-site/en/team.html +67 -59
  51. package/docs-site/en/update.html +228 -0
  52. package/docs-site/en/whats-new.html +1601 -719
  53. package/docs-site/en/windows.html +71 -63
  54. package/docs-site/en/workflows.html +68 -60
  55. package/docs-site/favicon.svg +9 -14
  56. package/docs-site/index.html +281 -220
  57. package/docs-site/mcp-approval.html +70 -62
  58. package/docs-site/mcp-auth.html +70 -62
  59. package/docs-site/mcp-servers.html +71 -63
  60. package/docs-site/mcp.html +70 -62
  61. package/docs-site/permissions.html +72 -64
  62. package/docs-site/profiles.html +72 -64
  63. package/docs-site/quickstart.html +145 -172
  64. package/docs-site/releases.json +4449 -0
  65. package/docs-site/runtime.html +73 -65
  66. package/docs-site/scope.html +73 -65
  67. package/docs-site/security.html +73 -65
  68. package/docs-site/team.html +71 -63
  69. package/docs-site/update.html +228 -0
  70. package/docs-site/whats-new.html +1605 -723
  71. package/docs-site/windows.html +75 -67
  72. package/docs-site/workflows.html +73 -65
  73. package/evals/fixtures/piagent-webui/document-asset-v1.invalid.json +12 -0
  74. package/evals/fixtures/piagent-webui/document-asset-v1.valid.json +12 -0
  75. package/evals/private-holdout-v1/public-exposure.v2.json +2 -2
  76. package/package.json +1 -1
  77. package/packages/piagent-core/package.json +1 -1
  78. package/packages/piagent-core/runtime/inspection/document-workspace-projection.ts +78 -15
  79. package/packages/piagent-core/skills/fe-change-report/SKILL.md +175 -0
  80. package/packages/piagent-core/skills/fe-change-report/scripts/build-report.mjs +183 -0
  81. package/packages/piagent-core/skills/fe-change-report/scripts/capture.mjs +150 -0
  82. package/packages/piagent-core/skills/fe-change-report/scripts/diff-regions.mjs +110 -0
  83. package/packages/piagent-webui/dist/client/assets/App-DBx4BU3F.js +5 -0
  84. package/packages/piagent-webui/dist/client/assets/LineReview-DzonwD-g.js +3 -0
  85. package/packages/piagent-webui/dist/client/assets/{MarkdownMessage-BpoF2k2-.js → MarkdownMessage-DchODuO7.js} +2 -2
  86. package/packages/piagent-webui/dist/client/assets/SessionInspectorDrawer-BHHNlct3.js +1 -0
  87. package/packages/piagent-webui/dist/client/assets/SettingsPage-DX28MsZA.js +1 -0
  88. package/packages/piagent-webui/dist/client/assets/TerminalPanel-C--BiN0p.js +2 -0
  89. package/packages/piagent-webui/dist/client/assets/{TerminalView-Dw9xqakv.js → TerminalView-BML7uS6R.js} +3 -3
  90. package/packages/piagent-webui/dist/client/assets/WorkspaceCodeEditor-B7ieqDnt.js +2 -0
  91. package/packages/piagent-webui/dist/client/assets/WorkspaceExplorer-BOafuPU-.js +5 -0
  92. package/packages/piagent-webui/dist/client/assets/WorkspaceQuickOpen-CGoGfUPk.js +1 -0
  93. package/packages/piagent-webui/dist/client/assets/api-BUjrtT1B.js +1 -0
  94. package/packages/piagent-webui/dist/client/assets/index-C7Azrwpq.js +132 -0
  95. package/packages/piagent-webui/dist/client/assets/index-Dqb2hNan.css +1 -0
  96. package/packages/piagent-webui/dist/client/assets/tab-close-Crj8vsUq.js +1 -0
  97. package/packages/piagent-webui/dist/client/assets/ui-preferences-B3UfDp-5.js +1 -0
  98. package/packages/piagent-webui/dist/client/assets/vendor-Ch5hIe0W.js +136 -0
  99. package/packages/piagent-webui/dist/client/index.html +5 -8
  100. package/packages/piagent-webui/extension/piagent-webui.ts +1 -0
  101. package/packages/piagent-webui/server/core-inspection-provider.ts +5 -0
  102. package/packages/piagent-webui/server/ipc-read-model-client.ts +1 -0
  103. package/packages/piagent-webui/server/read-model-provider.ts +1 -0
  104. package/packages/piagent-webui/server/read-only-router.ts +6 -0
  105. package/schemas/piagent-webui/catalog-v1.json +9 -0
  106. package/schemas/piagent-webui/document-asset-v1.schema.json +57 -0
  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/packages/piagent-webui/dist/client/assets/Alert-DGWhP2MM.js +0 -1
  113. package/packages/piagent-webui/dist/client/assets/Button-QItfZUNj.js +0 -1
  114. package/packages/piagent-webui/dist/client/assets/DialogTitle-CyaFPaiW.js +0 -3
  115. package/packages/piagent-webui/dist/client/assets/TerminalPanel-Dg3eghy4.js +0 -2
  116. package/packages/piagent-webui/dist/client/assets/Typography-B9om7Evq.js +0 -1
  117. package/packages/piagent-webui/dist/client/assets/WorkspaceCodeEditor-DtwXZAgK.js +0 -2
  118. package/packages/piagent-webui/dist/client/assets/WorkspaceExplorer-WS-yLlnb.js +0 -5
  119. package/packages/piagent-webui/dist/client/assets/WorkspaceQuickOpen-CYCY-s44.js +0 -1
  120. package/packages/piagent-webui/dist/client/assets/index-BgJgso6j.js +0 -102
  121. package/packages/piagent-webui/dist/client/assets/index-Brs_HjIo.css +0 -1
  122. package/packages/piagent-webui/dist/client/assets/tab-close-CqPDs-w5.js +0 -1
  123. package/packages/piagent-webui/dist/client/assets/ui-preferences-BO3AV7QE.js +0 -10
  124. package/packages/piagent-webui/dist/client/assets/useId-DEefKUAT.js +0 -124
@@ -1,108 +1,109 @@
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>Kiến trúc repo · Pi Agent Platform Docs</title>
7
- <meta name="description" content="Repo này không nhét business logic vào core. Core chỉ giữ policy, prompts, guard, skills và scripts dùng lại được." />
8
- <meta name="theme-color" content="#050505" />
6
+ <title>Kiến trúc repo · Pi Agent Platform</title>
7
+ <meta name="description" content="Core chỉ giữ policy, prompt, guard, skill và script dùng lại được; business logic ở lại project của nó." />
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/architecture" />
10
11
  <link rel="alternate" hreflang="vi" href="https://piagent.io.vn/architecture" />
11
12
  <link rel="alternate" hreflang="en" href="https://piagent.io.vn/en/architecture" />
12
13
  <link rel="alternate" hreflang="x-default" href="https://piagent.io.vn/architecture" />
13
14
  <link rel="icon" href="/favicon.svg" type="image/svg+xml" />
14
- <meta property="og:title" content="Kiến trúc repo · Pi Agent Platform Docs" />
15
- <meta property="og:description" content="Repo này không nhét business logic vào core. Core chỉ giữ policy, prompts, guard, skills và scripts dùng lại được." />
15
+ <meta property="og:type" content="website" />
16
+ <meta property="og:title" content="Kiến trúc repo · Pi Agent Platform" />
17
+ <meta property="og:description" content="Core chỉ giữ policy, prompt, guard, skill và script dùng lại được; business logic ở lại project của nó." />
16
18
  <meta property="og:url" content="https://piagent.io.vn/architecture" />
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-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.0" title="v1.42.0 docs · VI"><span class="dot"></span>v1.42.0</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>
32
48
  <div class="top-actions">
33
- <span class="pill"><span class="pill-dot"></span>v1.40.0 docs · VI</span>
34
- <nav class="language-switch" aria-label="Ngôn ngữ">
35
- <a class="language-option current" href="/architecture" hreflang="vi" lang="vi" aria-current="true">VI</a>
36
- <a class="language-option" href="/en/architecture" 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="/architecture" hreflang="vi" lang="vi" aria-current="true">VI</a><a class="language-option" href="/en/architecture" 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" href="/quickstart">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" 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" 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 current" href="/architecture" aria-current="page">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 current" href="/architecture" aria-current="page"><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>Operate</span>
100
- <span aria-hidden="true">/</span>
101
- <span>Architecture</span>
99
+ <span>Vận hành</span>
102
100
  </nav>
103
101
  <div class="page-head">
104
102
  <h1>Kiến trúc repo</h1>
105
- <p>Repo này không nhét business logic vào core. Core chỉ giữ policy, prompts, guard, skills và scripts dùng lại được.</p>
103
+ <p>Core chỉ giữ policy, prompt, guard, skill và script dùng lại được; business logic ở lại project của nó.</p>
104
+ <div class="page-meta">
105
+ <a href="https://github.com/Vt-mmm/piagent/blob/main/docs-site/content/architecture.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
  <div class="callout">
@@ -193,22 +194,22 @@
193
194
  </section>
194
195
  <nav class="pager" aria-label="Trang kế tiếp">
195
196
  <a class="pager-prev" href="/security">
196
- <span class="pager-label">Trước</span>
197
+ <span class="pager-label">← Trước</span>
197
198
  <span class="pager-title">Security model</span>
198
199
  </a>
199
200
  <a class="pager-next" href="/context-engine">
200
- <span class="pager-label">Tiếp</span>
201
+ <span class="pager-label">Tiếp →</span>
201
202
  <span class="pager-title">Context Engine</span>
202
203
  </a>
203
204
  </nav>
204
205
 
205
206
  <footer class="footer">
206
- <p>Pi Agent Platform docs · static HTML · governed agent workflow</p>
207
+ <p>Pi Agent Platform · MIT · tài liệu tĩnh, không cookie</p>
207
208
  <div class="footer-links" aria-label="Liên kết ngoài">
208
- <a href="https://piagent.io.vn" target="_blank" rel="noopener noreferrer">piagent.io.vn</a>
209
- <a href="https://github.com/Vt-mmm/piagent" target="_blank" rel="noopener noreferrer">GitHub repository</a>
209
+ <a href="https://github.com/Vt-mmm/piagent" target="_blank" rel="noopener noreferrer">GitHub</a>
210
+ <a href="https://www.npmjs.com/package/@piagent/platform" target="_blank" rel="noopener noreferrer">npm</a>
210
211
  <a href="/en/architecture" hreflang="en">English</a>
211
- <a href="https://www.facebook.com/vinhtam0544/" target="_blank" rel="noopener noreferrer">Facebook profile</a>
212
+ <a href="https://www.facebook.com/vinhtam0544/" target="_blank" rel="noopener noreferrer">Facebook</a>
212
213
  </div>
213
214
  </footer>
214
215
  </div>
@@ -219,6 +220,13 @@
219
220
  <nav data-toc></nav>
220
221
  </aside>
221
222
  </div>
223
+ <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">
224
+ <div class="palette-box">
225
+ <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>
226
+ <div class="palette-results" data-results role="listbox"></div>
227
+ <div class="palette-foot"><span>↑↓ chọn</span><span>↵ mở</span><span>esc đóng</span></div>
228
+ </div>
229
+ </div>
222
230
  <script>
223
231
  window.va = window.va || function () { (window.vaq = window.vaq || []).push(arguments); };
224
232
  </script>