@agentunion/kite 1.5.0 → 1.6.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 (574) hide show
  1. package/.claude/skills/kite/checklists/feature-checklist.md +496 -0
  2. package/.claude/skills/kite/references/event-patterns.md +180 -0
  3. package/.claude/skills/kite/references/health-check.md +202 -0
  4. package/.claude/skills/kite/references/http-service.md +199 -0
  5. package/.claude/skills/kite/references/module-md-spec.md +172 -0
  6. package/.claude/skills/kite/references/multi-connection.md +147 -0
  7. package/.claude/skills/kite/references/rpc-patterns.md +199 -0
  8. package/.claude/skills/kite/references/shutdown-sequence.md +146 -0
  9. package/.claude/skills/kite/references/stdin-protocol.md +147 -0
  10. package/.claude/skills/kite/references/test-center-integration.md +178 -0
  11. package/.claude/skills/kite/references/ws-lifecycle.md +301 -0
  12. package/.claude/skills/kite/skill.md +272 -0
  13. package/.claude/skills/kite/templates/go/README.md +20 -0
  14. package/.claude/skills/kite/templates/node/entry.js +134 -0
  15. package/.claude/skills/kite/templates/node/module.md +16 -0
  16. package/.claude/skills/kite/templates/node/server.js +351 -0
  17. package/.claude/skills/kite/templates/node/server_http.js +90 -0
  18. package/.claude/skills/kite/templates/python/entry.py +425 -0
  19. package/.claude/skills/kite/templates/python/module.md +26 -0
  20. package/.claude/skills/kite/templates/python/server.py +447 -0
  21. package/.claude/skills/kite/templates/python/server_http.py +433 -0
  22. package/cli.js +38 -4
  23. package/core/env_checker.py +96 -0
  24. package/docs/05-/347/237/255/344/277/241/350/256/244/350/257/201/344/270/216/347/224/250/346/210/267/344/277/241/346/201/257/346/216/245/345/217/243/346/226/207/346/241/243.md +507 -0
  25. package/docs/ACP/345/215/217/350/256/256/345/205/274/345/256/271/346/226/271/346/241/210.md +138 -0
  26. package/docs/CI/344/270/216AI/350/207/252/345/212/250/345/214/226/346/265/213/350/257/225/346/226/271/346/241/210.md +75 -0
  27. package/docs/CLI/345/274/200/345/217/221/350/256/241/345/210/222.md +595 -0
  28. package/docs/ClaudeCode/350/277/234/347/250/213/345/215/217/344/275/234/347/263/273/347/273/237-/346/212/200/346/234/257/350/257/204/344/274/260.md +535 -0
  29. package/docs/ClaudeCode/350/277/234/347/250/213/345/215/217/344/275/234/347/263/273/347/273/237/350/256/276/350/256/241.md +631 -0
  30. package/docs/Evol-App/344/275/277/347/224/250KernelClient/346/224/271/351/200/240/345/256/214/346/210/220.md +342 -0
  31. package/docs/Evol/346/216/247/345/210/266/345/217/260/346/217/222/344/273/266/345/214/226/346/236/266/346/236/204/346/246/202/350/246/201.md +604 -0
  32. package/docs/Evol/346/216/247/345/210/266/345/217/260/346/217/222/344/273/266/345/214/226/346/236/266/346/236/204/350/256/276/350/256/241.md +1708 -0
  33. package/docs/Evol/346/250/241/345/235/227/350/256/276/350/256/241/346/226/271/346/241/210.md +1154 -0
  34. package/docs/Evol/351/241/265/351/235/242/346/217/222/344/273/266/345/214/226-Evol/346/250/241/345/235/227/345/256/236/346/226/275/346/214/207/345/215/227.md +403 -0
  35. package/docs/Evol/351/241/265/351/235/242/346/217/222/344/273/266/345/214/226-/345/244/226/351/203/250/346/250/241/345/235/227/346/216/245/345/205/245/346/214/207/345/215/227.md +468 -0
  36. package/docs/HTTP-RPC/350/277/201/347/247/273/345/210/260WebSocket/350/256/241/345/210/222.md +318 -0
  37. package/docs/INDEX.md +388 -0
  38. package/docs/KITE_DOCS_GUIDE.md +33 -0
  39. package/docs/Kernel-Client-Kite-Token/346/224/257/346/214/201/345/256/236/346/226/275/345/256/214/346/210/220.md +330 -0
  40. package/docs/Kernel/344/270/273/345/212/250Ping/346/234/272/345/210/266-/346/255/243/347/241/256/345/256/236/347/216/260.md +235 -0
  41. package/docs/Kernel/344/270/273/345/212/250Ping/346/234/272/345/210/266/345/256/236/346/226/275/346/200/273/347/273/223.md +204 -0
  42. package/docs/Kite/345/256/211/350/243/205/351/227/256/351/242/230/350/247/243/345/206/263/346/226/271/346/241/210.md +362 -0
  43. package/docs/Kite/346/216/247/345/210/266/345/217/260/346/217/222/344/273/266/345/214/226/346/236/266/346/236/204/350/256/276/350/256/241-/347/273/210/346/236/201/347/233/256/346/240/207.md +721 -0
  44. package/docs/Kite/346/216/247/345/210/266/345/217/260/347/273/237/344/270/200WebSocket/346/224/271/351/200/240/346/226/271/346/241/210.md +821 -0
  45. package/docs/Kite/346/241/206/346/236/266/350/256/276/350/256/241/01-/346/241/206/346/236/266/345/256/232/344/275/215.md +12 -0
  46. package/docs/Kite/346/241/206/346/236/266/350/256/276/350/256/241/02-/346/240/270/345/277/203/346/246/202/345/277/265.md +341 -0
  47. package/docs/Kite/346/241/206/346/236/266/350/256/276/350/256/241/03-/347/263/273/347/273/237/346/236/266/346/236/204.md +257 -0
  48. package/docs/Kite/346/241/206/346/236/266/350/256/276/350/256/241/04-/346/250/241/345/235/227/350/247/204/350/214/203.md +263 -0
  49. package/docs/Kite/346/241/206/346/236/266/350/256/276/350/256/241/05-/346/240/270/345/277/203/346/265/201/347/250/213-/346/226/260/347/211/210.md +267 -0
  50. package/docs/Kite/346/241/206/346/236/266/350/256/276/350/256/241/05-/346/240/270/345/277/203/346/265/201/347/250/213.md +149 -0
  51. package/docs/Kite/346/241/206/346/236/266/350/256/276/350/256/241/06-/347/233/256/345/275/225/347/273/223/346/236/204.md +231 -0
  52. package/docs/Kite/346/241/206/346/236/266/350/256/276/350/256/241/07-/346/225/260/346/215/256/346/250/241/345/236/213.md +68 -0
  53. package/docs/Kite/346/241/206/346/236/266/350/256/276/350/256/241/08-/346/211/251/345/261/225/346/200/247.md +34 -0
  54. package/docs/Kite/346/241/206/346/236/266/350/256/276/350/256/241/09-/344/270/216/345/205/267/344/275/223/345/272/224/347/224/250/347/232/204/345/205/263/347/263/273.md +22 -0
  55. package/docs/Kite/346/241/206/346/236/266/350/256/276/350/256/241/README.md +46 -0
  56. package/docs/Kite/347/263/273/347/273/237/345/220/257/345/212/250/346/265/201/347/250/213.md +567 -0
  57. package/docs/Launcher/345/220/257/345/212/250/345/231/250/346/226/207/346/241/243.md +745 -0
  58. package/docs/Polyglot/350/277/220/350/241/214/346/227/266/344/270/216Clawdbot/345/205/274/345/256/271/346/200/247/350/256/276/350/256/241.md +321 -0
  59. package/docs/Redis/344/270/216/346/250/241/345/235/227/345/244/232/345/256/236/344/276/213/346/226/271/346/241/210.md +438 -0
  60. package/docs/Relay-Kite-Token/350/256/244/350/257/201/345/256/236/346/226/275/345/256/214/346/210/220.md +178 -0
  61. package/docs/Relay-Token/346/235/203/351/231/220/351/205/215/347/275/256/351/252/214/350/257/201.md +113 -0
  62. package/docs/Watchdog/345/201/245/345/272/267/346/243/200/346/237/245/344/270/216WebSocket-Ping/346/234/272/345/210/266/345/210/206/346/236/220.md +367 -0
  63. package/docs/Watchdog/350/265/204/346/272/220/347/233/221/346/216/247/347/255/226/347/225/245.md +92 -0
  64. package/docs/WebSocket/346/216/245/346/224/266/345/276/252/347/216/257/346/255/273/351/224/201/351/230/262/350/214/203/350/247/204/350/214/203.md +357 -0
  65. package/docs/WebSocket/350/277/236/346/216/245/351/237/247/346/200/247/344/270/216/351/207/215/350/277/236/346/234/272/345/210/266/345/256/214/346/225/264/346/226/271/346/241/210.md +531 -0
  66. package/docs/WebSocket/350/277/236/346/216/245/351/237/247/346/200/247/346/226/271/346/241/210.md +169 -0
  67. package/docs/WebSocket/351/207/215/350/277/236/346/234/272/345/210/266/346/265/213/350/257/225/346/212/245/345/221/212.md +169 -0
  68. package/docs/WebSocket/351/207/215/350/277/236/351/200/200/351/201/277/346/234/272/345/210/266/346/226/271/346/241/210.md +394 -0
  69. package/docs/Web/346/250/241/345/235/227/344/270/216Evol/346/250/241/345/235/227/351/207/215/346/236/204/345/210/206/346/236/220.md +521 -0
  70. package/docs/audit-api-guide.md +68 -0
  71. package/docs/audit-module-design.md +315 -0
  72. package/docs/audit-module-implementation-summary.md +149 -0
  73. package/docs/llm-context-design.md +52 -0
  74. package/docs/llm-test-enhancement-plan.md +970 -0
  75. package/docs/logs-api-guide.md +42 -0
  76. package/docs/npm/345/214/205Python/347/216/257/345/242/203/347/256/241/347/220/206/346/226/271/346/241/210.md +302 -0
  77. package/docs/npm/345/217/221/345/270/203/344/270/216CLI/344/275/277/347/224/250/346/214/207/345/215/227.md +245 -0
  78. package/docs/stdio/344/270/216/347/253/257/345/217/243/345/217/221/347/216/260/351/207/215/346/236/204.md +480 -0
  79. package/docs/web/346/250/241/345/235/227/344/270/255/350/275/254/346/234/215/345/212/241/350/256/276/350/256/241/346/226/271/346/241/210.md +449 -0
  80. package/docs//344/272/213/344/273/266/345/244/204/347/220/206/346/234/272/345/210/266.md +388 -0
  81. package/docs//344/272/213/344/273/266/345/244/204/347/220/206/350/247/204/350/214/203.md +113 -0
  82. package/docs//344/272/213/344/273/266/350/256/242/351/230/205/351/200/232/351/205/215/347/254/246/350/247/204/350/214/203.md +256 -0
  83. package/docs//344/272/213/344/273/266/351/230/237/345/210/227/345/274/271/346/200/247/347/256/241/347/220/206.md +449 -0
  84. package/docs//344/272/244/344/272/222/345/274/217/347/273/210/347/253/257/346/216/247/345/210/266/346/226/271/346/241/210.md +301 -0
  85. package/docs//344/273/243/347/220/206/345/220/257/345/212/250/345/231/250/344/270/216/345/256/271/345/231/250/345/214/226.md +140 -0
  86. package/docs//344/273/243/347/240/201/347/273/237/350/256/241/345/267/245/345/205/267/344/275/277/347/224/250/350/257/264/346/230/216.md +217 -0
  87. package/docs//344/274/230/351/233/205/351/200/200/345/207/272/350/247/204/350/214/203.md +362 -0
  88. package/docs//344/276/235/350/265/226/347/256/241/347/220/206/350/257/264/346/230/216.md +141 -0
  89. package/docs//344/277/256/345/244/215/346/235/203/351/231/220/351/227/256/351/242/230-evol-RPC/346/235/203/351/231/220.md +268 -0
  90. package/docs//345/210/240/351/231/244kernel-client-example/345/256/214/346/210/220.md +309 -0
  91. package/docs//345/210/240/351/231/244ws-management/345/256/214/346/210/220.md +418 -0
  92. package/docs//345/220/257/345/212/250/344/274/230/345/214/226/346/226/271/346/241/210.md +522 -0
  93. package/docs//345/220/257/345/212/250/344/276/235/350/265/226/344/270/216/346/216/222/345/272/217.md +105 -0
  94. package/docs//345/256/211/350/243/205/350/204/232/346/234/254/345/274/200/345/217/221/346/226/207/346/241/243.md +643 -0
  95. package/docs//345/256/214/346/225/264/345/220/257/345/212/250/346/265/201/347/250/213/350/256/276/350/256/241.md +452 -0
  96. package/docs//345/256/236/347/216/260/350/247/204/345/210/222.md +195 -0
  97. package/docs//345/277/203/350/267/263/346/234/272/345/210/266/351/207/215/346/236/204/346/200/273/347/273/223.md +166 -0
  98. package/docs//346/217/241/346/211/213/350/256/244/350/257/201/346/226/271/346/241/210-/345/256/211/345/205/250/345/256/241/346/237/245.md +176 -0
  99. package/docs//346/217/241/346/211/213/350/256/244/350/257/201/346/226/271/346/241/210.md +908 -0
  100. package/docs//346/226/207/346/241/243/346/233/264/346/226/260/346/270/205/345/215/225.md +83 -0
  101. package/docs//346/227/245/345/277/227/344/270/216/345/274/202/345/270/270/345/244/204/347/220/206/350/247/204/350/214/203.md +829 -0
  102. package/docs//346/227/245/345/277/227/350/260/203/350/257/225/345/256/236/346/210/230/346/214/207/345/215/227.md +25 -0
  103. package/docs//346/236/266/346/236/204/345/200/237/351/211/264/346/214/207/345/215/227.md +977 -0
  104. package/docs//346/236/266/346/236/204/346/224/271/351/200/240-/345/256/214/346/210/220/346/200/273/347/273/223.md +440 -0
  105. package/docs//346/236/266/346/236/204/347/216/260/347/212/266/344/270/216/347/273/210/346/236/201/347/233/256/346/240/207/345/257/271/346/257/224/345/210/206/346/236/220.md +508 -0
  106. package/docs//346/250/241/345/235/227/345/244/232/350/277/236/346/216/245/346/216/247/345/210/266/347/255/226/347/225/245.md +220 -0
  107. package/docs//346/250/241/345/235/227/345/256/211/350/243/205/346/234/272/345/210/266/350/256/276/350/256/241.md +500 -0
  108. package/docs//346/250/241/345/235/227/345/274/200/345/217/221/346/214/207/345/215/227.md +1824 -0
  109. package/docs//346/250/241/345/235/227/347/203/255/346/233/264/346/226/260.md +89 -0
  110. package/docs//346/250/241/345/235/227/350/277/234/347/250/213/351/203/250/347/275/262/345/274/200/345/217/221/350/247/204/350/214/203.md +460 -0
  111. package/docs//346/250/241/345/235/227/351/200/200/345/207/272/346/234/272/345/210/266/345/256/214/346/225/264/346/226/271/346/241/210.md +303 -0
  112. package/docs//346/250/241/345/235/227/351/205/215/347/275/256/345/212/240/350/275/275/344/270/216/347/203/255/351/207/215/350/275/275/350/247/204/350/214/203.md +369 -0
  113. package/docs//346/265/213/350/257/225/344/270/255/345/277/203/346/267/273/345/212/240/346/250/241/345/235/227/346/265/213/350/257/225/346/214/207/345/215/227.md +147 -0
  114. package/docs//347/211/210/346/234/254/351/224/201/345/256/232/347/216/257/345/242/203/347/256/241/347/220/206/346/226/271/346/241/210.md +331 -0
  115. package/docs//347/216/257/345/242/203/345/217/230/351/207/217/344/270/216/350/277/220/350/241/214/346/227/266/347/233/256/345/275/225/350/256/276/350/256/241.md +499 -0
  116. package/docs//347/216/257/345/242/203/347/256/241/347/220/206/345/256/214/346/225/264/346/226/271/346/241/210.md +334 -0
  117. package/docs//350/231/232/346/213/237/346/250/241/345/235/227/344/270/255/350/275/254/346/234/215/345/212/241/345/256/214/346/225/264/350/256/276/350/256/241.md +1496 -0
  118. package/docs//350/231/232/346/213/237/347/216/257/345/242/203/345/267/245/344/275/234/345/216/237/347/220/206.md +163 -0
  119. package/docs//350/256/241/345/210/222/347/256/241/347/220/206/345/231/250/344/275/277/347/224/250/346/214/207/345/215/227.md +196 -0
  120. package/docs//350/256/244/350/257/201/346/250/241/345/235/227/344/270/216Gateway/350/256/276/350/256/241/346/226/271/346/241/210.md +765 -0
  121. package/docs//350/277/234/347/250/213/346/250/241/345/235/227/350/256/276/350/256/241-/346/227/247/347/211/210.md +1117 -0
  122. package/docs//350/277/234/347/250/213/346/250/241/345/235/227/350/256/276/350/256/241.md +451 -0
  123. package/docs//351/207/215/346/236/204/346/234/272/345/210/266/346/270/205/345/215/225.md +192 -0
  124. package/docs//351/223/276/350/267/257/350/277/275/350/270/252/346/226/271/346/241/210.md +242 -0
  125. package/docs//351/231/215/347/272/247/347/255/226/347/225/245/350/256/276/350/256/241/346/226/271/346/241/210.md +618 -0
  126. package/extensions/agents/assistant/entry.py +113 -14
  127. package/extensions/agents/assistant/module.md +27 -22
  128. package/extensions/agents/assistant/server.py +291 -105
  129. package/extensions/channels/acp_channel/entry.py +114 -16
  130. package/extensions/channels/acp_channel/module.md +4 -0
  131. package/extensions/channels/acp_channel/server.py +396 -105
  132. package/extensions/channels/phone_channel/__init__.py +1 -0
  133. package/extensions/channels/phone_channel/entry.py +503 -0
  134. package/extensions/channels/phone_channel/module.md +31 -0
  135. package/extensions/channels/phone_channel/server.py +686 -0
  136. package/extensions/event_hub_bench/entry.py +55 -12
  137. package/extensions/event_hub_bench/module.md +27 -27
  138. package/extensions/services/audit/README.md +134 -0
  139. package/extensions/services/audit/collector.py +73 -0
  140. package/extensions/services/audit/entry.py +444 -0
  141. package/extensions/services/audit/module.md +66 -0
  142. package/extensions/services/audit/query_audit.py +111 -0
  143. package/extensions/services/audit/routes/__init__.py +1 -0
  144. package/extensions/services/audit/routes/routes_audit.py +113 -0
  145. package/extensions/services/audit/schemas/__init__.py +5 -0
  146. package/extensions/services/audit/schemas/audit_event.py +92 -0
  147. package/extensions/services/audit/server.py +542 -0
  148. package/extensions/services/audit/storage.py +95 -0
  149. package/extensions/services/auth/entry.py +1054 -0
  150. package/extensions/services/auth/module.md +31 -0
  151. package/extensions/services/auth/token_store.py +185 -0
  152. package/extensions/services/auth/verifiers/evol_account.py +101 -0
  153. package/extensions/services/auth/verifiers/kite_token.py +38 -0
  154. package/extensions/services/auth/verifiers/pairing_code.py +71 -0
  155. package/extensions/services/backup/entry.py +494 -197
  156. package/extensions/services/backup/module.md +4 -2
  157. package/extensions/services/dataclaw/api/__init__.py +0 -0
  158. package/extensions/services/dataclaw/api/admin.py +367 -0
  159. package/extensions/services/dataclaw/api/copyright.py +175 -0
  160. package/extensions/services/dataclaw/api/credits.py +177 -0
  161. package/extensions/services/dataclaw/api/data.py +179 -0
  162. package/extensions/services/dataclaw/api/demands.py +269 -0
  163. package/extensions/services/dataclaw/api/feeds.py +262 -0
  164. package/extensions/services/dataclaw/api/identity.py +505 -0
  165. package/extensions/services/dataclaw/api/notifications.py +104 -0
  166. package/extensions/services/dataclaw/api/reviews.py +138 -0
  167. package/extensions/services/dataclaw/api/search.py +153 -0
  168. package/extensions/services/dataclaw/api/subscriptions.py +157 -0
  169. package/extensions/services/dataclaw/config.json5 +96 -0
  170. package/extensions/services/dataclaw/core/__init__.py +0 -0
  171. package/extensions/services/dataclaw/core/auth.py +95 -0
  172. package/extensions/services/dataclaw/core/config.py +50 -0
  173. package/extensions/services/dataclaw/core/database.py +70 -0
  174. package/extensions/services/dataclaw/entry.py +416 -0
  175. package/extensions/services/dataclaw/gofeed/351/241/271/347/233/256/346/211/200/346/234/211/346/235/203/350/275/254/347/247/273/346/265/201/347/250/213/350/257/264/346/230/216.md +309 -0
  176. package/extensions/services/dataclaw/migrate.py +283 -0
  177. package/extensions/services/dataclaw/models/__init__.py +0 -0
  178. package/extensions/services/dataclaw/module.md +49 -0
  179. package/extensions/services/dataclaw/requirements.txt +18 -0
  180. package/extensions/services/dataclaw/server.py +759 -0
  181. package/extensions/services/dataclaw/services/__init__.py +0 -0
  182. package/extensions/services/dataclaw/services/agent_service.py +132 -0
  183. package/extensions/services/dataclaw/services/credit_service.py +235 -0
  184. package/extensions/services/dataclaw/services/email_service.py +140 -0
  185. package/extensions/services/dataclaw/services/feed_service.py +259 -0
  186. package/extensions/services/dataclaw/services/notification_service.py +209 -0
  187. package/extensions/services/dataclaw/services/oauth_service.py +275 -0
  188. package/extensions/services/dataclaw/services/pricing.py +102 -0
  189. package/extensions/services/dataclaw/services/quality.py +79 -0
  190. package/extensions/services/dataclaw/services/reputation.py +142 -0
  191. package/extensions/services/dataclaw/services/sms_service.py +174 -0
  192. package/extensions/services/dataclaw/static/css/common.css +853 -0
  193. package/extensions/services/dataclaw/static/css/themes/blue.css +42 -0
  194. package/extensions/services/dataclaw/static/css/themes/dark.css +42 -0
  195. package/extensions/services/dataclaw/static/css/themes/light.css +35 -0
  196. package/extensions/services/dataclaw/static/js/api.js +103 -0
  197. package/extensions/services/dataclaw/static/js/common.js +321 -0
  198. package/extensions/services/dataclaw/static/js/i18n.js +95 -0
  199. package/extensions/services/dataclaw/static/js/pages/admin.js +152 -0
  200. package/extensions/services/dataclaw/static/js/pages/dashboard.js +82 -0
  201. package/extensions/services/dataclaw/static/js/pages/feed-detail.js +180 -0
  202. package/extensions/services/dataclaw/static/js/pages/feed-manage.js +158 -0
  203. package/extensions/services/dataclaw/static/js/theme.js +46 -0
  204. package/extensions/services/dataclaw/static/locales/en-US.json +464 -0
  205. package/extensions/services/dataclaw/static/locales/ja-JP.json +464 -0
  206. package/extensions/services/dataclaw/static/locales/zh-CN.json +464 -0
  207. package/extensions/services/dataclaw/templates/admin/index.html +90 -0
  208. package/extensions/services/dataclaw/templates/base.html +136 -0
  209. package/extensions/services/dataclaw/templates/credits/balance.html +106 -0
  210. package/extensions/services/dataclaw/templates/credits/deposit.html +164 -0
  211. package/extensions/services/dataclaw/templates/credits/history.html +90 -0
  212. package/extensions/services/dataclaw/templates/dashboard.html +52 -0
  213. package/extensions/services/dataclaw/templates/demands/create.html +78 -0
  214. package/extensions/services/dataclaw/templates/demands/detail.html +136 -0
  215. package/extensions/services/dataclaw/templates/demands/list.html +94 -0
  216. package/extensions/services/dataclaw/templates/feeds/create.html +95 -0
  217. package/extensions/services/dataclaw/templates/feeds/detail.html +110 -0
  218. package/extensions/services/dataclaw/templates/feeds/list.html +110 -0
  219. package/extensions/services/dataclaw/templates/feeds/manage.html +88 -0
  220. package/extensions/services/dataclaw/templates/index.html +185 -0
  221. package/extensions/services/dataclaw/templates/login.html +246 -0
  222. package/extensions/services/dataclaw/templates/register.html +164 -0
  223. package/extensions/services/dataclaw/templates/settings/notifications.html +96 -0
  224. package/extensions/services/dataclaw/templates/settings/profile.html +167 -0
  225. package/extensions/services/dataclaw/templates/subscriptions/list.html +64 -0
  226. package/extensions/services/dataclaw/tests/__init__.py +0 -0
  227. package/extensions/services/dataclaw/tests/conftest.py +68 -0
  228. package/extensions/services/dataclaw/tests/integration/__init__.py +0 -0
  229. package/extensions/services/dataclaw/tests/integration/test_workflows.py +239 -0
  230. package/extensions/services/dataclaw/tests/unit/__init__.py +0 -0
  231. package/extensions/services/dataclaw/tests/unit/test_admin.py +70 -0
  232. package/extensions/services/dataclaw/tests/unit/test_copyright.py +63 -0
  233. package/extensions/services/dataclaw/tests/unit/test_credits.py +80 -0
  234. package/extensions/services/dataclaw/tests/unit/test_data.py +98 -0
  235. package/extensions/services/dataclaw/tests/unit/test_demands.py +106 -0
  236. package/extensions/services/dataclaw/tests/unit/test_feeds.py +98 -0
  237. package/extensions/services/dataclaw/tests/unit/test_identity.py +88 -0
  238. package/extensions/services/dataclaw/tests/unit/test_notifications.py +36 -0
  239. package/extensions/services/dataclaw/tests/unit/test_reviews.py +68 -0
  240. package/extensions/services/dataclaw/tests/unit/test_search.py +64 -0
  241. package/extensions/services/dataclaw/tests/unit/test_subscriptions.py +65 -0
  242. package/extensions/services/dataclaw/tests/unit/test_system.py +106 -0
  243. package/extensions/services/dataclaw/utils/__init__.py +0 -0
  244. package/extensions/services/dataclaw/utils/crypto.py +38 -0
  245. package/extensions/services/dataclaw/utils/id_generator.py +52 -0
  246. package/extensions/services/dataclaw/ws/__init__.py +0 -0
  247. package/extensions/services/dataclaw/ws/handler.py +163 -0
  248. package/extensions/services/dataclaw//345/215/217/350/256/2561-/351/241/271/347/233/256/346/235/241/344/273/266/346/216/210/346/235/203/344/270/216/350/202/241/346/235/203/345/257/271/344/273/267/345/215/217/350/256/256.md +243 -0
  249. package/extensions/services/dataclaw//345/215/217/350/256/2562-/351/241/271/347/233/256/350/264/255/344/271/260/346/235/203/344/270/216/345/244/226/345/214/205/345/247/224/346/211/230/345/274/200/345/217/221/345/215/217/350/256/256.md +434 -0
  250. package/extensions/services/evol/__init__.py +1 -0
  251. package/extensions/services/evol/async_http.py +551 -0
  252. package/extensions/services/evol/auth_manager.py +602 -443
  253. package/extensions/services/evol/config.json5 +16 -0
  254. package/extensions/services/evol/entry.py +568 -406
  255. package/extensions/services/evol/evol_api.py +969 -173
  256. package/extensions/services/evol/mfa_totp.py +77 -0
  257. package/extensions/services/evol/module.md +150 -32
  258. package/extensions/services/evol/nonce_pool.py +113 -0
  259. package/extensions/services/evol/oauth_manager.py +223 -0
  260. package/extensions/services/evol/pairing.py +3 -2
  261. package/extensions/services/evol/pairing_codes.jsonl +1 -0
  262. package/extensions/services/evol/relay.py +1031 -682
  263. package/extensions/services/evol/relay_config.json5 +85 -67
  264. package/extensions/services/evol/routes/routes_llm.py +231 -0
  265. package/extensions/services/evol/routes/routes_rpc.py +90 -89
  266. package/extensions/services/evol/routes/routes_test.py +11 -4
  267. package/extensions/services/evol/server.py +2426 -875
  268. package/extensions/services/evol/static/assets/CommissionView-Cs_ys6Gm.js +1 -0
  269. package/extensions/services/evol/static/assets/CommissionView-DACet_Oo.css +1 -0
  270. package/extensions/services/evol/static/assets/IframePage-DbO11U9G.js +1 -0
  271. package/extensions/services/evol/static/assets/IframePage-c572lT8i.css +1 -0
  272. package/extensions/services/evol/static/assets/TeamDetailView-DULrGD7k.css +1 -0
  273. package/extensions/services/evol/static/assets/TeamDetailView-gy_MBEqG.js +139 -0
  274. package/extensions/services/evol/static/assets/element-plus-Bd7pZkkM.js +63 -0
  275. package/extensions/services/evol/static/assets/index-CmMONKzG.css +1 -0
  276. package/extensions/services/evol/static/assets/index-D44bBe__.js +2 -0
  277. package/extensions/services/evol/static/assets/vue-vendor-DtF-__I4.js +29 -0
  278. package/extensions/services/evol/static/index.html +16 -781
  279. package/extensions/services/evol/static/logo.png +0 -0
  280. package/extensions/services/evol/stats_manager.py +243 -240
  281. package/extensions/services/evol/web/README.md +89 -0
  282. package/extensions/services/evol/web/build.bat +44 -0
  283. package/extensions/services/evol/web/index.html +13 -0
  284. package/extensions/services/evol/web/package-lock.json +1718 -0
  285. package/extensions/services/evol/web/package.json +26 -0
  286. package/extensions/services/evol/web/public/logo.png +0 -0
  287. package/extensions/services/evol/web/src/App.vue +7 -0
  288. package/extensions/services/evol/web/src/components/layout/AppHeader.vue +202 -0
  289. package/extensions/services/evol/web/src/components/layout/AppLayout.vue +61 -0
  290. package/extensions/services/evol/web/src/components/layout/AppSidebar.vue +115 -0
  291. package/extensions/services/evol/web/src/components/login/LoginPage.vue +271 -0
  292. package/extensions/services/evol/web/src/components/team/AddMemberModal.vue +181 -0
  293. package/extensions/services/evol/web/src/components/team/GroupTreeNode.vue +156 -0
  294. package/extensions/services/evol/web/src/components/team/TeamAlertConfig.vue +221 -0
  295. package/extensions/services/evol/web/src/components/team/TeamBillModal.vue +165 -0
  296. package/extensions/services/evol/web/src/components/team/TeamMembersAndGroups.vue +499 -0
  297. package/extensions/services/evol/web/src/components/team/TeamStatsPanel.vue +907 -0
  298. package/extensions/services/evol/web/src/components/team/TreeNode.vue +331 -0
  299. package/extensions/services/evol/web/src/components/team/stats/StatsExportProgress.vue +44 -0
  300. package/extensions/services/evol/web/src/components/team/stats/StatsHeader.vue +89 -0
  301. package/extensions/services/evol/web/src/components/team/stats/StatsMemberDetail.vue +415 -0
  302. package/extensions/services/evol/web/src/components/team/stats/StatsSummary.vue +42 -0
  303. package/extensions/services/evol/web/src/components/team/stats/helpers.ts +195 -0
  304. package/extensions/services/evol/web/src/components/team/stats/stats.css +741 -0
  305. package/extensions/services/evol/web/src/components/team/stats/useStatsApi.ts +114 -0
  306. package/extensions/services/evol/web/src/components/team/stats/useStatsCharts.ts +242 -0
  307. package/extensions/services/evol/web/src/components/team/stats/useStatsExport.ts +232 -0
  308. package/extensions/services/evol/web/src/composables/useFormatters.ts +42 -0
  309. package/extensions/services/evol/web/src/composables/useTheme.ts +52 -0
  310. package/extensions/services/evol/web/src/env.d.ts +7 -0
  311. package/extensions/services/evol/web/src/i18n/en.ts +361 -0
  312. package/extensions/services/evol/web/src/i18n/index.ts +36 -0
  313. package/extensions/services/evol/web/src/i18n/zh.ts +379 -0
  314. package/extensions/services/evol/web/src/main.ts +21 -0
  315. package/extensions/services/evol/web/src/router/index.ts +81 -0
  316. package/extensions/services/evol/web/src/services/kernel-client.ts +406 -0
  317. package/extensions/services/evol/web/src/stores/auth.ts +189 -0
  318. package/extensions/services/evol/web/src/stores/connection.ts +134 -0
  319. package/extensions/services/evol/web/src/stores/pages.ts +79 -0
  320. package/extensions/services/evol/web/src/styles/base.css +213 -0
  321. package/extensions/services/evol/web/src/styles/variables.css +138 -0
  322. package/extensions/services/evol/web/src/types/rpc.ts +35 -0
  323. package/extensions/services/evol/web/src/types/token.ts +87 -0
  324. package/extensions/services/evol/web/src/views/AccountView.vue +1532 -0
  325. package/extensions/services/evol/web/src/views/AiServiceView.vue +219 -0
  326. package/extensions/services/evol/web/src/views/CommissionView.vue +1220 -0
  327. package/extensions/services/evol/web/src/views/CreditsView.vue +131 -0
  328. package/extensions/services/evol/web/src/views/EndpointView.vue +163 -0
  329. package/extensions/services/evol/web/src/views/IframePage.vue +120 -0
  330. package/extensions/services/evol/web/src/views/TeamDetailView.vue +473 -0
  331. package/extensions/services/evol/web/src/views/TeamView.vue +332 -0
  332. package/extensions/services/evol/web/tsconfig.json +31 -0
  333. package/extensions/services/evol/web/tsconfig.node.json +10 -0
  334. package/extensions/services/evol/web/vite.config.ts +49 -0
  335. package/extensions/services/evolmem/__init__.py +0 -0
  336. package/extensions/services/evolmem/entry.py +387 -0
  337. package/extensions/services/evolmem/hooks/__init__.py +0 -0
  338. package/extensions/services/evolmem/hooks/assistant_stop.py +228 -0
  339. package/extensions/services/evolmem/hooks/common.py +76 -0
  340. package/extensions/services/evolmem/hooks/pre_tool_use.py +56 -0
  341. package/extensions/services/evolmem/hooks/session_end.py +133 -0
  342. package/extensions/services/evolmem/hooks/session_start.py +229 -0
  343. package/extensions/services/evolmem/hooks/user_prompt.py +122 -0
  344. package/extensions/services/evolmem/module.md +48 -0
  345. package/extensions/services/evolmem/prompts/00-server-info.md +28 -0
  346. package/extensions/services/evolmem/prompts/01-behavior.md +46 -0
  347. package/extensions/services/evolmem/prompts/02-summary-format.md +112 -0
  348. package/extensions/services/evolmem/prompts/03-file-query.md +92 -0
  349. package/extensions/services/evolmem/prompts/04-topic-stats.md +11 -0
  350. package/extensions/services/evolmem/prompts/05-recent-topics.md +84 -0
  351. package/extensions/services/evolmem/scripts/__init__.py +0 -0
  352. package/extensions/services/evolmem/scripts/extract_keywords.py +40 -0
  353. package/extensions/services/evolmem/scripts/search_topics.py +91 -0
  354. package/extensions/services/evolmem/server.py +641 -0
  355. package/extensions/services/gateway/entry.py +964 -0
  356. package/extensions/services/gateway/module.md +29 -0
  357. package/extensions/services/gateway/nonce_pool.py +65 -0
  358. package/extensions/services/gateway/relay.py +133 -0
  359. package/extensions/services/gateway/ws_server.py +285 -0
  360. package/extensions/services/kite_console/auth_manager.py +603 -0
  361. package/extensions/services/kite_console/config.json5 +19 -0
  362. package/extensions/services/kite_console/config_loader.py +117 -0
  363. package/extensions/services/kite_console/entry.py +528 -0
  364. package/extensions/services/kite_console/evol_api.py +179 -0
  365. package/extensions/services/kite_console/evol_config.json5 +29 -0
  366. package/extensions/services/kite_console/mfa_totp.py +77 -0
  367. package/extensions/services/kite_console/migrate_tokens.py +122 -0
  368. package/extensions/services/kite_console/module.md +37 -0
  369. package/extensions/services/kite_console/nonce_pool.py +113 -0
  370. package/extensions/services/kite_console/oauth_manager.py +223 -0
  371. package/extensions/services/kite_console/pairing.py +280 -0
  372. package/extensions/services/kite_console/pairing_codes.jsonl +2 -0
  373. package/extensions/services/kite_console/relay.py +1350 -0
  374. package/extensions/services/kite_console/relay_config.json5 +96 -0
  375. package/extensions/services/kite_console/routes/__init__.py +1 -0
  376. package/extensions/services/kite_console/routes/routes_llm.py +231 -0
  377. package/extensions/services/kite_console/routes/routes_proxy.py +115 -0
  378. package/extensions/services/kite_console/routes/routes_rpc.py +89 -0
  379. package/extensions/services/kite_console/routes/routes_test.py +68 -0
  380. package/extensions/services/kite_console/server.py +1742 -0
  381. package/extensions/services/{evol → kite_console}/static/css/style.css +656 -2
  382. package/extensions/services/kite_console/static/index.html +1524 -0
  383. package/extensions/services/{evol → kite_console}/static/js/dialog.js +11 -4
  384. package/extensions/services/kite_console/static/js/evol-app.js +7740 -0
  385. package/extensions/services/{evol/static/js/evol-app.js → kite_console/static/js/evol-app.js.backup} +2777 -1949
  386. package/extensions/services/kite_console/static/js/kernel-client.js +560 -0
  387. package/extensions/services/{evol/static/js/kernel-client.js → kite_console/static/js/kernel-client.js.backup} +41 -3
  388. package/extensions/services/{evol → kite_console}/static/js/registry-tests.js +7 -0
  389. package/extensions/services/kite_console/static/js/tests/ARCHITECTURE.md +67 -0
  390. package/extensions/services/kite_console/static/js/tests/README.md +140 -0
  391. package/extensions/services/kite_console/static/js/tests/index.js +161 -0
  392. package/extensions/services/kite_console/static/js/tests/integration/auth.js +120 -0
  393. package/extensions/services/kite_console/static/js/tests/integration/channel-interaction.js +188 -0
  394. package/extensions/services/kite_console/static/js/tests/integration/elastic-connection.js +115 -0
  395. package/extensions/services/kite_console/static/js/tests/integration/full-workflow.js +43 -0
  396. package/extensions/services/kite_console/static/js/tests/integration/multi-instance.js +304 -0
  397. package/extensions/services/kite_console/static/js/tests/integration/nested-rpc.js +266 -0
  398. package/extensions/services/kite_console/static/js/tests/integration/pingpong.js +25 -0
  399. package/extensions/services/kite_console/static/js/tests/integration/redis.js +227 -0
  400. package/extensions/services/kite_console/static/js/tests/integration/registry-core.js +52 -0
  401. package/extensions/services/kite_console/static/js/tests/integration/remote-deploy.js +85 -0
  402. package/extensions/services/kite_console/static/js/tests/integration/require-init.js +96 -0
  403. package/extensions/services/kite_console/static/js/tests/integration/scaling-control.js +193 -0
  404. package/extensions/services/kite_console/static/js/tests/integration/trace.js +109 -0
  405. package/extensions/services/kite_console/static/js/tests/modules/acp_channel.js +339 -0
  406. package/extensions/services/kite_console/static/js/tests/modules/auth.js +96 -0
  407. package/extensions/services/kite_console/static/js/tests/modules/backup.js +49 -0
  408. package/extensions/services/kite_console/static/js/tests/modules/gateway.js +41 -0
  409. package/extensions/services/kite_console/static/js/tests/modules/kernel.js +90 -0
  410. package/extensions/services/kite_console/static/js/tests/modules/launcher.js +75 -0
  411. package/extensions/services/kite_console/static/js/tests/modules/multi_instance.js +129 -0
  412. package/extensions/services/kite_console/static/js/tests/modules/phone_channel.js +364 -0
  413. package/extensions/services/kite_console/static/js/tests/modules/redis.js +178 -0
  414. package/extensions/services/kite_console/static/js/tests/modules/watchdog.js +60 -0
  415. package/extensions/services/kite_console/static/js/tests/modules/web.js +70 -0
  416. package/extensions/services/kite_console/static/js/tests/test-runner.js +123 -0
  417. package/extensions/services/kite_console/static/js/virtual-list.js +200 -0
  418. package/extensions/services/kite_console/static/test_kernel_client_token.html +352 -0
  419. package/extensions/services/kite_console/stats_manager.py +247 -0
  420. package/extensions/services/logs/README.md +215 -0
  421. package/extensions/services/logs/api_logger.py +37 -0
  422. package/extensions/services/logs/baseline.py +121 -0
  423. package/extensions/services/logs/cleaner.py +76 -0
  424. package/extensions/services/logs/entry.py +449 -0
  425. package/extensions/services/logs/formatter.py +129 -0
  426. package/extensions/services/logs/module.md +38 -0
  427. package/extensions/services/logs/quick_diagnostic.py +128 -0
  428. package/extensions/services/logs/routes/__init__.py +1 -0
  429. package/extensions/services/logs/routes/routes_logs.py +218 -0
  430. package/extensions/services/logs/routes/routes_logs.py.backup +173 -0
  431. package/extensions/services/logs/scanner.py +100 -0
  432. package/extensions/services/logs/searcher.py +263 -0
  433. package/extensions/services/logs/server.py +553 -0
  434. package/extensions/services/logs.zip +0 -0
  435. package/extensions/services/model_service/config.json5 +30 -0
  436. package/extensions/services/model_service/entry.py +620 -171
  437. package/extensions/services/model_service/module.md +11 -2
  438. package/extensions/services/proxy/__init__.py +0 -0
  439. package/extensions/services/proxy/aid_manager.py +419 -0
  440. package/extensions/services/proxy/auth_bridge.py +182 -0
  441. package/extensions/services/proxy/config_store.py +79 -0
  442. package/extensions/services/proxy/entry.py +528 -0
  443. package/extensions/services/proxy/evol/presenter/agentIdPresenter.py +2 -2
  444. package/extensions/services/proxy/evol/presenter/apikeyPresenter.py +18 -28
  445. package/extensions/services/proxy/evol/presenter/configPresenter.py +80 -1127
  446. package/extensions/services/proxy/evol/presenter/userPresenter.py +71 -477
  447. package/extensions/services/proxy/evol/server/claude_proxy_async.py +11 -7
  448. package/extensions/services/proxy/module.md +151 -0
  449. package/extensions/services/proxy/server.py +952 -271
  450. package/extensions/services/redis/ALIGNMENT_CHECKLIST.md +121 -0
  451. package/extensions/services/redis/ALIGNMENT_STATUS.md +548 -0
  452. package/extensions/services/redis/config.json5 +8 -0
  453. package/extensions/services/redis/entry.py +1509 -0
  454. package/extensions/services/redis/entry.py.backup +405 -0
  455. package/extensions/services/redis/module.md +48 -0
  456. package/extensions/services/redis/redis_builtin.py +332 -0
  457. package/extensions/services/redis/redis_external.py +164 -0
  458. package/extensions/services/testUi/entry.py +446 -0
  459. package/extensions/services/testUi/module.md +18 -0
  460. package/extensions/services/testUi/ui/cards.html +131 -0
  461. package/extensions/services/testUi/ui/index.html +22 -0
  462. package/extensions/services/testUi/ui/particles.html +143 -0
  463. package/extensions/services/watchdog/entry.py +1258 -793
  464. package/extensions/services/watchdog/module.md +2 -0
  465. package/extensions/services/watchdog/monitor.py +465 -87
  466. package/extensions/services/web/auth_manager.py +602 -0
  467. package/extensions/services/web/config.json5 +11 -0
  468. package/extensions/services/web/entry.py +598 -478
  469. package/extensions/services/web/mfa_totp.py +77 -0
  470. package/extensions/services/web/module.md +16 -13
  471. package/extensions/services/web/nonce_pool.py +113 -0
  472. package/extensions/services/web/oauth_manager.py +223 -0
  473. package/extensions/services/web/pairing.py +3 -2
  474. package/extensions/services/web/pairing_codes.jsonl +1 -0
  475. package/extensions/services/web/relay.py +442 -63
  476. package/extensions/services/web/relay_config.json5 +1 -2
  477. package/extensions/services/web/routes/routes_rpc.py +6 -6
  478. package/extensions/services/web/server.py +360 -173
  479. package/extensions/services/web/static/index.html +1752 -1738
  480. package/extensions/services/web/static/js/app.js +32 -0
  481. package/extensions/services/web/static/js/kernel-client.js +48 -9
  482. package/extensions/services/web/vendor/bluetooth/audio.py +1 -1
  483. package/extensions/services/web/vendor/config.py +2 -2
  484. package/extensions/services/web/vendor/storage/identity.py +1 -1
  485. package/kernel/entry.py +77 -23
  486. package/kernel/event_hub.py +1122 -74
  487. package/kernel/module.md +2 -1
  488. package/kernel/registry_store.py +208 -11
  489. package/kernel/rpc_router.py +1400 -491
  490. package/kernel/server.py +1021 -134
  491. package/kite_cli/__init__.py +9 -1
  492. package/kite_cli/builders/__init__.py +4 -0
  493. package/kite_cli/builders/base.py +67 -0
  494. package/kite_cli/builders/custom.py +31 -0
  495. package/kite_cli/builders/detector.py +56 -0
  496. package/kite_cli/builders/go.py +34 -0
  497. package/kite_cli/builders/gradle.py +41 -0
  498. package/kite_cli/builders/maven.py +36 -0
  499. package/kite_cli/builders/npm.py +44 -0
  500. package/kite_cli/builders/python.py +37 -0
  501. package/kite_cli/commands/BUILD_GUIDE.md +109 -0
  502. package/kite_cli/commands/build.py +142 -0
  503. package/kite_cli/commands/check.py +60 -0
  504. package/kite_cli/commands/config.py +156 -0
  505. package/kite_cli/commands/deps.py +58 -0
  506. package/kite_cli/commands/deps_install.py +7 -7
  507. package/kite_cli/commands/disable.py +162 -0
  508. package/kite_cli/commands/enable.py +162 -0
  509. package/kite_cli/commands/export.py +96 -0
  510. package/kite_cli/commands/import_cmd.py +110 -0
  511. package/kite_cli/commands/install.py +50 -23
  512. package/kite_cli/commands/install_skill.py +107 -0
  513. package/kite_cli/commands/list.py +128 -31
  514. package/kite_cli/commands/outdated.py +202 -0
  515. package/kite_cli/commands/search.py +33 -17
  516. package/kite_cli/commands/update.py +115 -2
  517. package/kite_cli/commands/venv_setup.py +6 -6
  518. package/kite_cli/commands/why.py +48 -0
  519. package/kite_cli/core/config_manager.py +145 -0
  520. package/kite_cli/core/downloader.py +32 -2
  521. package/kite_cli/main.py +153 -7
  522. package/kite_cli/utils/colors.py +153 -0
  523. package/kite_cli/utils/dependency_graph.py +209 -0
  524. package/kite_cli/utils/process.py +55 -0
  525. package/kite_cli/utils/progress.py +207 -0
  526. package/kite_cli/utils/table.py +101 -0
  527. package/launcher/count_lines.py +192 -43
  528. package/launcher/entry.py +4543 -2802
  529. package/launcher/logging_setup.py +54 -1
  530. package/launcher/module.md +32 -6
  531. package/launcher/module_scanner.py +93 -20
  532. package/launcher/process_manager.py +355 -76
  533. package/main.py +6 -0
  534. package/package.json +4 -1
  535. package/requirements.txt +41 -38
  536. package/scripts/auto-fix-deps.py +128 -0
  537. package/scripts/env-manager.js +25 -2
  538. package/scripts/final-test.js +78 -0
  539. package/scripts/setup-python-env.js +700 -191
  540. package/scripts/test-alluser.js +48 -0
  541. package/scripts/test-different-version.js +86 -0
  542. package/scripts/test-direct.js +63 -0
  543. package/scripts/test-extract-installer.js +28 -0
  544. package/scripts/test-install-log.js +54 -0
  545. package/scripts/test-installer.js +39 -0
  546. package/scripts/test-integration.js +250 -0
  547. package/scripts/test-real-install.js +210 -0
  548. package/scripts/test-targetdir.js +49 -0
  549. package/scripts/test-venv-real.js +47 -0
  550. package/scripts/test-venv-simple.js +57 -0
  551. package/scripts/test-wait.js +49 -0
  552. package/scripts/test-with-log.js +63 -0
  553. package/extensions/services/evol/config.yaml +0 -149
  554. package/extensions/services/evol/routes/routes_management_ws.py +0 -127
  555. package/extensions/services/evol/static/index_evol.html +0 -14
  556. package/extensions/services/evol/static/js/app.js +0 -6304
  557. package/extensions/services/evol/static/js/auth.js +0 -326
  558. package/extensions/services/evol/static/js/evol-app-fixed.js +0 -50
  559. package/extensions/services/evol/static/js/evol-app.js.bak +0 -1800
  560. package/extensions/services/evol/static/js/kernel-client-example.js +0 -228
  561. package/extensions/services/evol/static/js/main.js +0 -141
  562. package/extensions/services/evol/static/js/stats.js +0 -217
  563. package/extensions/services/evol/static/js/token-manager.js +0 -175
  564. package/extensions/services/proxy/CHANGELOG_20260308.md +0 -258
  565. package/extensions/services/proxy/_fix_prints.py +0 -133
  566. package/extensions/services/proxy/_fix_prints2.py +0 -87
  567. package/extensions/services/proxy/console_auth.py +0 -109
  568. package/extensions/services/proxy/logs/websocket.log +0 -260
  569. package/extensions/services/proxy/main.py +0 -240
  570. package/extensions/services/proxy/requirements.txt +0 -13
  571. package/extensions/services/web/config.yaml +0 -149
  572. /package/extensions/services/{evol → kite_console}/static/pairing.html +0 -0
  573. /package/extensions/services/{evol → kite_console}/static/test_registry.html +0 -0
  574. /package/extensions/services/{evol → kite_console}/static/test_relay.html +0 -0
@@ -0,0 +1,535 @@
1
+ # Claude Code 远程协作系统 — 技术可行性与价值评估
2
+
3
+ ## 评估维度
4
+
5
+ 1. **技术可行性** — 能不能做到
6
+ 2. **实现复杂度** — 有多难做
7
+ 3. **功能价值** — 值不值得做
8
+ 4. **风险与问题** — 会遇到什么坑
9
+
10
+ ---
11
+
12
+ ## 一、技术可行性分析
13
+
14
+ ### ✅ 可行的部分
15
+
16
+ #### 1.1 Hook 系统基础能力
17
+
18
+ **结论:完全可行**
19
+
20
+ - Claude Code 的 hook 系统确实支持 `SessionStart`、`UserPromptSubmit` 等事件
21
+ - Hook 可以通过 stdin 接收 JSON 上下文(包含 sessionId)
22
+ - Hook 可以通过 stdout 返回 `additionalContext` 注入内容
23
+ - 这些都是官方支持的标准功能
24
+
25
+ **证据:**
26
+ - 官方文档明确说明了 hook 机制
27
+ - 社区有大量 hook 使用案例
28
+ - 我们之前的研究确认了这些能力
29
+
30
+ #### 1.2 非交互模式 + 会话恢复
31
+
32
+ **结论:完全可行**
33
+
34
+ - `claude -p` 非交互模式是官方功能
35
+ - `--resume <session-id>` 可以继续已有会话
36
+ - 会话历史会被完整保留和加载
37
+
38
+ **证据:**
39
+ - `claude --help` 输出明确显示这些参数
40
+ - 官方文档有详细说明
41
+
42
+ #### 1.3 本地 API 服务
43
+
44
+ **结论:完全可行**
45
+
46
+ - FastAPI/Express 实现本地 HTTP 服务是成熟技术
47
+ - Hook 调用 `curl` 访问本地 API 没有技术障碍
48
+ - 消息队列、状态文件管理都是常规操作
49
+
50
+ ---
51
+
52
+ ### ⚠️ 存在不确定性的部分
53
+
54
+ #### 2.1 SessionStart Hook 的 additionalContext 持久性
55
+
56
+ **问题:SessionStart 注入的内容是否真的在整个会话中可见?**
57
+
58
+ **文档说法:**
59
+ - "Claude Code 会保留完整的对话历史"
60
+ - "SessionStart 时注入的 additionalContext 会被保留"
61
+
62
+ **实际不确定性:**
63
+ - ❓ Claude Code 是否会在某些情况下清理或压缩早期上下文?
64
+ - ❓ 如果会话很长(几百轮对话),SessionStart 的内容是否仍然有效?
65
+ - ❓ `PreCompact` hook 触发时,SessionStart 的内容会被压缩吗?
66
+
67
+ **风险等级:中等**
68
+
69
+ **验证方法:**
70
+ - 实际测试:SessionStart 注入大量内容,然后进行 50+ 轮对话,观察 Claude 是否还能引用这些内容
71
+ - 监控 `PreCompact` hook 触发时的行为
72
+
73
+ **缓解方案:**
74
+ - 如果 SessionStart 内容会被压缩,改用 UserPromptSubmit hook 定期刷新(但这会增加 token 消耗)
75
+ - 或者提供工具让 Claude 主动调用 API 获取记忆(而不是被动注入)
76
+
77
+ #### 2.2 Hook stdin 的 JSON 格式
78
+
79
+ **问题:我们假设 hook 会收到包含 sessionId 的 JSON,但没有实际验证**
80
+
81
+ **文档说法:**
82
+ - Hook 通过 stdin 接收上下文
83
+ - 包含 sessionId、eventType 等字段
84
+
85
+ **实际不确定性:**
86
+ - ❓ JSON schema 的确切格式是什么?
87
+ - ❓ 所有 hook 类型都会收到 sessionId 吗?
88
+ - ❓ 是否有其他有用的字段(如 conversationId、turnId)?
89
+
90
+ **风险等级:低**
91
+
92
+ **验证方法:**
93
+ - 创建测试 hook,将 stdin 内容输出到文件
94
+ - 实际运行 Claude Code,触发各种 hook,查看输出
95
+
96
+ **缓解方案:**
97
+ - 如果 sessionId 不可用,使用 `--session-id` 参数手动指定
98
+ - 或者通过文件系统约定(如 `.claude/current-session`)传递
99
+
100
+ #### 2.3 并发写入会话文件
101
+
102
+ **问题:用户交互 + 后台 -p 同时操作同一会话,是否会冲突?**
103
+
104
+ **理论分析:**
105
+ - Claude Code 的会话文件是 JSONL 格式(追加写)
106
+ - 如果没有文件锁,可能出现竞态条件
107
+
108
+ **实际不确定性:**
109
+ - ❓ Claude Code 内部是否实现了文件锁?
110
+ - ❓ 两个 `claude` 进程同时写入会话文件会发生什么?
111
+ - ❓ 会话文件损坏后,Claude Code 能否恢复?
112
+
113
+ **风险等级:高**
114
+
115
+ **验证方法:**
116
+ - 启动交互式会话,同时用 `-p --resume` 向同一会话发送消息
117
+ - 观察会话文件是否损坏
118
+ - 检查 Claude Code 是否报错
119
+
120
+ **缓解方案:**
121
+ - 通过状态文件检测会话活跃,避免并发写入(设计中已包含)
122
+ - 如果仍有问题,使用操作系统级文件锁
123
+ - 最坏情况:禁用后台自动触发,只用消息队列 + UserPromptSubmit 通知
124
+
125
+ ---
126
+
127
+ ### ❌ 技术上不可行或有严重问题的部分
128
+
129
+ #### 3.1 Skill 动态修改 settings.json
130
+
131
+ **问题:Skill 能否修改 `.claude/settings.json` 并让 Claude Code 重新加载?**
132
+
133
+ **技术障碍:**
134
+ - ❌ Claude Code 在启动时读取 settings.json
135
+ - ❌ 运行中的会话不会自动重新加载配置
136
+ - ❌ Skill 修改文件后,需要重启 Claude Code 才能生效
137
+
138
+ **实际影响:**
139
+ - `/remote-collab enable` 执行后,用户必须退出并重新启动 Claude Code
140
+ - 这破坏了"无缝启用"的用户体验
141
+
142
+ **解决方案:**
143
+ - **方案 A:接受重启** — 在 Skill 输出中明确告知用户需要重启
144
+ - **方案 B:预配置 Hook** — 让用户提前配置好 hook,Skill 只控制本地 API 的启用/禁用
145
+ - **方案 C:动态 Hook(如果支持)** — 检查 Claude Code 是否支持运行时加载 hook(可能性很低)
146
+
147
+ **推荐:方案 B**
148
+
149
+ #### 3.2 后台进程管理的复杂性
150
+
151
+ **问题:跨平台的后台进程管理很麻烦**
152
+
153
+ **技术挑战:**
154
+ - Windows: 没有 `nohup`,需要用 `pythonw` 或 Windows Service
155
+ - Linux/macOS: `nohup` 可用,但进程监控和重启需要额外工具
156
+ - 进程崩溃后如何自动重启?
157
+ - 如何确保 Claude Code 退出时清理后台进程?
158
+
159
+ **实际影响:**
160
+ - 用户可能遇到"僵尸进程"
161
+ - 后台进程崩溃后,消息通知功能失效,但用户不知道
162
+ - 跨平台兼容性差
163
+
164
+ **解决方案:**
165
+ - **方案 A:systemd/launchd/Task Scheduler** — 使用操作系统的服务管理(复杂)
166
+ - **方案 B:简化为单次触发** — 不用常驻后台,改为定时任务(cron/Task Scheduler)
167
+ - **方案 C:集成到现有服务** — 如果用户已经有 Kite 框架在运行,集成到 Kite 中
168
+
169
+ **推荐:方案 C(如果适用)或方案 B**
170
+
171
+ ---
172
+
173
+ ## 二、实现复杂度评估
174
+
175
+ ### 核心模块复杂度
176
+
177
+ | 模块 | 复杂度 | 工作量估算 | 主要挑战 |
178
+ |------|--------|-----------|---------|
179
+ | Hook 脚本 | ⭐⭐ | 1-2 天 | JSON 解析、错误处理 |
180
+ | 本地 API 服务 | ⭐⭐⭐ | 3-5 天 | 消息队列、状态管理、并发控制 |
181
+ | 后台轮询器 | ⭐⭐⭐ | 2-3 天 | 进程管理、空闲检测、错误恢复 |
182
+ | Skill 控制器 | ⭐⭐⭐⭐ | 3-5 天 | 配置管理、进程启停、跨平台兼容 |
183
+ | 远程 API 集成 | ⭐⭐ | 1-2 天 | HTTP 客户端、错误处理 |
184
+ | 测试和调试 | ⭐⭐⭐⭐⭐ | 5-10 天 | 并发测试、边界情况、跨平台验证 |
185
+
186
+ **总工作量:15-27 天(单人全职)**
187
+
188
+ ### 复杂度来源
189
+
190
+ 1. **状态同步** — Hook、本地 API、后台进程之间的状态一致性
191
+ 2. **并发控制** — 避免竞态条件
192
+ 3. **错误恢复** — 网络失败、进程崩溃、文件损坏等
193
+ 4. **跨平台兼容** — Windows/Linux/macOS 的差异
194
+ 5. **用户体验** — 启用/禁用流程、错误提示、日志记录
195
+
196
+ ---
197
+
198
+ ## 三、功能价值分析
199
+
200
+ ### 3.1 记忆外挂功能
201
+
202
+ **价值:⭐⭐⭐⭐ (高)**
203
+
204
+ **优点:**
205
+ - ✅ 解决 Claude Code 无长期记忆的痛点
206
+ - ✅ 跨会话保留项目上下文
207
+ - ✅ 减少用户重复解释背景的负担
208
+
209
+ **局限:**
210
+ - ⚠️ Claude Code 已有 auto memory 功能(`~/.claude/projects/{project}/memory/`)
211
+ - ⚠️ 用户可以用 CLAUDE.md 提供项目上下文
212
+ - ⚠️ SessionStart 注入的内容可能在长会话中被压缩
213
+
214
+ **实际价值判断:**
215
+ - 如果 auto memory 和 CLAUDE.md 已经够用,这个功能是**锦上添花**
216
+ - 如果需要**动态、实时更新的记忆**(如从远程数据库加载),这个功能是**刚需**
217
+
218
+ **建议:**
219
+ - 先评估 auto memory 是否满足需求
220
+ - 如果需要远程记忆,考虑更简单的方案:让 Claude 主动调用 MCP 工具获取记忆,而不是被动注入
221
+
222
+ ### 3.2 消息通知功能
223
+
224
+ **价值:⭐⭐⭐⭐⭐ (非常高)**
225
+
226
+ **优点:**
227
+ - ✅ 实现"异步任务通知",这是 Claude Code 原生不支持的
228
+ - ✅ 支持多人协作场景(如团队成员通过 API 发送任务给 Claude)
229
+ - ✅ 支持事件驱动工作流(如 CI/CD 失败自动通知 Claude 修复)
230
+
231
+ **局限:**
232
+ - ⚠️ 用户必须保持 Claude Code 会话开启(或定期检查)
233
+ - ⚠️ 消息通知的及时性取决于轮询间隔和用户活跃度
234
+
235
+ **实际价值判断:**
236
+ - 这是**真正的创新功能**,解决了实际痛点
237
+ - 特别适合"Claude Code 作为后台服务"的使用场景
238
+
239
+ **建议:**
240
+ - 这是最值得实现的功能
241
+ - 可以作为独立功能先实现,不依赖记忆外挂
242
+
243
+ ### 3.3 远程任务执行
244
+
245
+ **价值:⭐⭐⭐⭐⭐ (非常高)**
246
+
247
+ **优点:**
248
+ - ✅ 将 Claude Code 变成可编程的 API
249
+ - ✅ 支持自动化工作流(如定时任务、事件触发)
250
+ - ✅ 支持远程控制(如通过手机 App 触发 Claude 执行任务)
251
+
252
+ **局限:**
253
+ - ⚠️ 安全风险:远程 API 可以执行任意代码
254
+ - ⚠️ 权限控制:需要严格的认证和授权机制
255
+ - ⚠️ 成本控制:恶意或错误的任务可能消耗大量 API 额度
256
+
257
+ **实际价值判断:**
258
+ - 这是**高价值但高风险**的功能
259
+ - 适合个人使用或受信任的团队环境
260
+ - 不适合公开服务
261
+
262
+ **建议:**
263
+ - 必须实现严格的安全机制(认证、授权、审计)
264
+ - 提供"沙箱模式"(限制可执行的操作)
265
+ - 提供"确认模式"(任务需要用户批准)
266
+
267
+ ---
268
+
269
+ ## 四、风险与问题
270
+
271
+ ### 4.1 技术风险
272
+
273
+ | 风险 | 严重性 | 可能性 | 缓解措施 |
274
+ |------|--------|--------|---------|
275
+ | 并发写入导致会话文件损坏 | 高 | 中 | 状态检测 + 文件锁 |
276
+ | SessionStart 内容被压缩 | 中 | 中 | 提供工具主动获取记忆 |
277
+ | 后台进程崩溃 | 中 | 高 | 进程监控 + 自动重启 |
278
+ | Hook 性能问题(每次提问都调用 API) | 低 | 低 | 本地缓存 + 异步调用 |
279
+ | 跨平台兼容性问题 | 中 | 高 | 充分测试 + 降级方案 |
280
+
281
+ ### 4.2 安全风险
282
+
283
+ | 风险 | 严重性 | 可能性 | 缓解措施 |
284
+ |------|--------|--------|---------|
285
+ | 远程 API 被攻击,执行恶意代码 | 极高 | 低 | 认证 + 授权 + 审计 |
286
+ | 本地 API 被其他进程访问 | 中 | 中 | 绑定 localhost + token 认证 |
287
+ | 会话 ID 泄露,他人访问会话 | 中 | 低 | 会话 ID 加密 + 过期机制 |
288
+ | Hook 脚本被篡改 | 高 | 低 | 文件权限控制 + 签名验证 |
289
+
290
+ ### 4.3 用户体验风险
291
+
292
+ | 风险 | 影响 | 缓解措施 |
293
+ |------|------|---------|
294
+ | 启用功能需要重启 Claude Code | 中 | 明确提示 + 自动化脚本 |
295
+ | 后台进程占用资源 | 低 | 优化轮询间隔 + 空闲时休眠 |
296
+ | 错误提示不清晰 | 中 | 完善日志 + 用户友好的错误信息 |
297
+ | 配置复杂 | 高 | 提供默认配置 + 向导式设置 |
298
+
299
+ ---
300
+
301
+ ## 五、严肃的批评
302
+
303
+ ### 5.1 过度设计
304
+
305
+ **问题:这个方案试图解决太多问题**
306
+
307
+ - 记忆管理
308
+ - 消息通知
309
+ - 远程任务执行
310
+ - 状态同步
311
+ - 并发控制
312
+
313
+ **批评:**
314
+ - 每个功能都有价值,但放在一起太复杂
315
+ - 实现和维护成本高
316
+ - 用户学习曲线陡峭
317
+
318
+ **建议:**
319
+ - **MVP 策略**:先实现最核心的功能(消息通知),验证价值后再扩展
320
+ - **模块化**:每个功能独立实现,可以单独启用/禁用
321
+
322
+ ### 5.2 与现有功能重叠
323
+
324
+ **问题:Claude Code 已有类似功能**
325
+
326
+ - **Auto Memory** — 自动记忆管理
327
+ - **CLAUDE.md** — 项目上下文
328
+ - **MCP Tools** — 外部工具集成
329
+ - **Skills** — 自定义命令
330
+
331
+ **批评:**
332
+ - 记忆外挂功能与 auto memory 重叠
333
+ - 远程任务执行可以通过 MCP 工具实现
334
+ - 增加了系统复杂度,但价值增量有限
335
+
336
+ **建议:**
337
+ - 重新评估哪些功能是 Claude Code 原生不支持的
338
+ - 专注于**真正的创新点**(如异步消息通知)
339
+
340
+ ### 5.3 可靠性问题
341
+
342
+ **问题:依赖太多组件,任何一个失败都会影响整体**
343
+
344
+ - Hook 脚本
345
+ - 本地 API 服务
346
+ - 后台轮询器
347
+ - 远程 API
348
+ - 状态文件
349
+
350
+ **批评:**
351
+ - 故障点太多
352
+ - 调试困难
353
+ - 用户难以排查问题
354
+
355
+ **建议:**
356
+ - 简化架构,减少组件数量
357
+ - 提供完善的监控和日志
358
+ - 设计降级方案(如某个组件失败时,其他功能仍可用)
359
+
360
+ ### 5.4 安全性不足
361
+
362
+ **问题:设计文档中的安全措施过于简单**
363
+
364
+ - "本地 API 认证 — 使用 token 或 API key"(具体怎么做?)
365
+ - "远程任务需要用户确认(可配置)"(可配置意味着可以关闭?)
366
+
367
+ **批评:**
368
+ - 远程任务执行是高风险功能,但安全设计不够详细
369
+ - 没有考虑审计、日志、权限最小化等
370
+ - 没有考虑恶意输入(如 prompt injection)
371
+
372
+ **建议:**
373
+ - 专门写一份安全设计文档
374
+ - 实现多层防护(认证、授权、审计、沙箱)
375
+ - 默认采用最严格的安全策略
376
+
377
+ ---
378
+
379
+ ## 六、改进建议
380
+
381
+ ### 6.1 MVP 方案(最小可行产品)
382
+
383
+ **目标:用最小的复杂度验证核心价值**
384
+
385
+ **功能范围:**
386
+ 1. ✅ 消息通知(UserPromptSubmit Hook + 本地消息队列)
387
+ 2. ✅ 远程任务触发(`claude -p --resume` + 空闲检测)
388
+ 3. ❌ 记忆外挂(先用 CLAUDE.md 或 auto memory)
389
+ 4. ❌ Skill 控制器(手动配置 hook)
390
+
391
+ **架构简化:**
392
+ - 去掉本地 API 服务,改用文件系统通信(消息队列用 JSONL 文件)
393
+ - 去掉 Skill,用户手动配置 `.claude/settings.json`
394
+ - 后台轮询器简化为单个 Python 脚本
395
+
396
+ **工作量:5-7 天**
397
+
398
+ ### 6.2 渐进式实现路线
399
+
400
+ **阶段 1:消息通知(1-2 周)**
401
+ - 实现 UserPromptSubmit Hook
402
+ - 实现本地消息队列(文件系统)
403
+ - 实现简单的消息注入
404
+
405
+ **阶段 2:远程任务执行(1-2 周)**
406
+ - 实现后台轮询器
407
+ - 实现空闲检测
408
+ - 实现 `claude -p --resume` 触发
409
+
410
+ **阶段 3:记忆外挂(1-2 周)**
411
+ - 实现 SessionStart Hook
412
+ - 实现远程 API 集成
413
+ - 实现记忆注入
414
+
415
+ **阶段 4:Skill 控制器(1-2 周)**
416
+ - 实现 Skill 命令
417
+ - 实现配置管理
418
+ - 实现进程管理
419
+
420
+ **阶段 5:优化和完善(2-4 周)**
421
+ - 安全加固
422
+ - 性能优化
423
+ - 跨平台测试
424
+ - 文档和示例
425
+
426
+ **总工作量:6-12 周**
427
+
428
+ ### 6.3 替代方案
429
+
430
+ **方案 A:纯 MCP 工具方案**
431
+
432
+ - 不用 Hook,改用 MCP 工具
433
+ - Claude 主动调用工具获取记忆和消息
434
+ - 优点:更简单、更可靠
435
+ - 缺点:需要 Claude 主动调用,不能被动推送
436
+
437
+ **方案 B:集成到 Kite 框架**
438
+
439
+ - 将这些功能作为 Kite 的一个模块
440
+ - 利用 Kite 的进程管理、配置管理等基础设施
441
+ - 优点:复用现有代码,减少重复工作
442
+ - 缺点:与 Kite 耦合
443
+
444
+ **方案 C:使用现有工具**
445
+
446
+ - 用 Zapier/n8n 等工作流工具实现消息通知
447
+ - 用 GitHub Actions 等 CI/CD 工具实现远程任务
448
+ - 优点:无需开发,立即可用
449
+ - 缺点:灵活性有限
450
+
451
+ ---
452
+
453
+ ## 七、最终评估
454
+
455
+ ### 技术可行性:⭐⭐⭐⭐ (高)
456
+
457
+ - 核心技术都是可行的
458
+ - 主要不确定性可以通过测试验证
459
+ - 并发问题有缓解方案
460
+
461
+ ### 实现复杂度:⭐⭐⭐⭐⭐ (非常高)
462
+
463
+ - 完整实现需要 6-12 周
464
+ - 涉及多个组件和复杂的状态管理
465
+ - 跨平台兼容性是主要挑战
466
+
467
+ ### 功能价值:⭐⭐⭐⭐ (高)
468
+
469
+ - 消息通知和远程任务执行是真正的创新
470
+ - 记忆外挂价值有限(与现有功能重叠)
471
+ - 适合特定使用场景(如团队协作、自动化工作流)
472
+
473
+ ### 风险等级:⭐⭐⭐⭐ (高)
474
+
475
+ - 安全风险需要认真对待
476
+ - 可靠性问题需要充分测试
477
+ - 用户体验需要精心设计
478
+
479
+ ---
480
+
481
+ ## 八、结论与建议
482
+
483
+ ### 是否值得做?
484
+
485
+ **答案:值得,但需要调整方案**
486
+
487
+ **理由:**
488
+ 1. ✅ 消息通知和远程任务执行是有价值的创新
489
+ 2. ✅ 技术上可行
490
+ 3. ⚠️ 但完整方案过于复杂,风险高
491
+ 4. ⚠️ 需要简化和分阶段实现
492
+
493
+ ### 推荐行动
494
+
495
+ 1. **先做 MVP**
496
+ - 只实现消息通知功能
497
+ - 用最简单的方式(文件系统 + Hook)
498
+ - 验证价值和可行性
499
+
500
+ 2. **充分测试**
501
+ - 特别是并发场景
502
+ - 跨平台兼容性
503
+ - 边界情况和错误处理
504
+
505
+ 3. **重新设计安全机制**
506
+ - 专门写一份安全设计文档
507
+ - 实现多层防护
508
+ - 默认最严格策略
509
+
510
+ 4. **考虑替代方案**
511
+ - 评估 MCP 工具方案
512
+ - 评估集成到 Kite 框架
513
+ - 评估使用现有工具
514
+
515
+ 5. **渐进式实现**
516
+ - 不要一次做完所有功能
517
+ - 每个阶段验证价值后再继续
518
+ - 保持架构灵活,允许调整
519
+
520
+ ---
521
+
522
+ ## 九、关键问题清单(需要回答)
523
+
524
+ 在开始实现前,必须回答这些问题:
525
+
526
+ 1. ❓ SessionStart 注入的内容在长会话中是否会被压缩?(需要实测)
527
+ 2. ❓ 并发写入会话文件是否会导致损坏?(需要实测)
528
+ 3. ❓ Hook stdin 的 JSON 格式是什么?(需要实测)
529
+ 4. ❓ 记忆外挂相比 auto memory 的增量价值是什么?(需要明确)
530
+ 5. ❓ 目标用户是谁?个人使用还是团队协作?(需要明确)
531
+ 6. ❓ 安全要求是什么?可以接受的风险等级?(需要明确)
532
+ 7. ❓ 是否可以集成到 Kite 框架?(需要评估)
533
+ 8. ❓ 是否有预算和时间限制?(需要明确)
534
+
535
+ **建议:先回答这些问题,再决定是否继续。**