myagent-ai 1.23.61 → 1.23.63

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 (689) hide show
  1. package/agents/main_agent.py +16 -14
  2. package/package.json +1 -1
  3. package/scripts/cli.py +59 -6
  4. package/web/api_server.py +23 -7
  5. package/web/ui/admin/admin-core.js +63 -9
  6. package/web/ui/admin/admin-platforms.js +13 -6
  7. package/web/ui/chat/chat_container.html +1 -1
  8. package/web/ui/chat/chat_main.js +29 -4
  9. package/web/ui/index.html +18 -18
  10. package/myagent/Dockerfile +0 -54
  11. package/myagent/README.md +0 -375
  12. package/myagent/agents/__init__.py +0 -6
  13. package/myagent/agents/base.py +0 -441
  14. package/myagent/agents/main_agent.py +0 -1700
  15. package/myagent/agents/memory_agent.py +0 -423
  16. package/myagent/agents/tool_agent.py +0 -248
  17. package/myagent/chatbot/__init__.py +0 -5
  18. package/myagent/chatbot/base.py +0 -124
  19. package/myagent/chatbot/discord_bot.py +0 -146
  20. package/myagent/chatbot/feishu_bot.py +0 -548
  21. package/myagent/chatbot/manager.py +0 -251
  22. package/myagent/chatbot/qq_bot.py +0 -189
  23. package/myagent/chatbot/telegram_bot.py +0 -167
  24. package/myagent/chatbot/wechat_bot.py +0 -558
  25. package/myagent/chatbot/whatsapp_bot.py +0 -330
  26. package/myagent/chatbot/whatsapp_bridge/bridge.mjs +0 -192
  27. package/myagent/chatbot/whatsapp_bridge/package.json +0 -11
  28. package/myagent/communication/__init__.py +0 -66
  29. package/myagent/communication/channel.py +0 -576
  30. package/myagent/communication/crypto.py +0 -347
  31. package/myagent/communication/manager.py +0 -417
  32. package/myagent/communication/peer.py +0 -156
  33. package/myagent/config.py +0 -533
  34. package/myagent/core/__init__.py +0 -4
  35. package/myagent/core/config_broadcast.py +0 -307
  36. package/myagent/core/config_validator.py +0 -740
  37. package/myagent/core/context_builder.py +0 -955
  38. package/myagent/core/context_manager.py +0 -506
  39. package/myagent/core/deps_checker.py +0 -542
  40. package/myagent/core/llm.py +0 -1046
  41. package/myagent/core/logger.py +0 -295
  42. package/myagent/core/output_parser.py +0 -694
  43. package/myagent/core/permissions.py +0 -372
  44. package/myagent/core/stt.py +0 -320
  45. package/myagent/core/task_persistence.py +0 -359
  46. package/myagent/core/task_queue.py +0 -440
  47. package/myagent/core/tool_dispatcher.py +0 -758
  48. package/myagent/core/update_manager.py +0 -1358
  49. package/myagent/core/utils.py +0 -202
  50. package/myagent/core/version.py +0 -71
  51. package/myagent/core/vnc_manager.py +0 -1211
  52. package/myagent/core/web_control.py +0 -729
  53. package/myagent/data/novnc/lib/base64.js +0 -101
  54. package/myagent/data/novnc/lib/decoders/copyrect.js +0 -42
  55. package/myagent/data/novnc/lib/decoders/hextile.js +0 -199
  56. package/myagent/data/novnc/lib/decoders/jpeg.js +0 -149
  57. package/myagent/data/novnc/lib/decoders/raw.js +0 -74
  58. package/myagent/data/novnc/lib/decoders/rre.js +0 -54
  59. package/myagent/data/novnc/lib/decoders/tight.js +0 -302
  60. package/myagent/data/novnc/lib/decoders/tightpng.js +0 -47
  61. package/myagent/data/novnc/lib/decoders/zrle.js +0 -188
  62. package/myagent/data/novnc/lib/deflator.js +0 -85
  63. package/myagent/data/novnc/lib/des.js +0 -301
  64. package/myagent/data/novnc/lib/display.js +0 -520
  65. package/myagent/data/novnc/lib/encodings.js +0 -63
  66. package/myagent/data/novnc/lib/inflator.js +0 -74
  67. package/myagent/data/novnc/lib/input/domkeytable.js +0 -314
  68. package/myagent/data/novnc/lib/input/fixedkeys.js +0 -128
  69. package/myagent/data/novnc/lib/input/gesturehandler.js +0 -575
  70. package/myagent/data/novnc/lib/input/keyboard.js +0 -280
  71. package/myagent/data/novnc/lib/input/keysym.js +0 -879
  72. package/myagent/data/novnc/lib/input/keysymdef.js +0 -1352
  73. package/myagent/data/novnc/lib/input/util.js +0 -217
  74. package/myagent/data/novnc/lib/input/vkeys.js +0 -122
  75. package/myagent/data/novnc/lib/input/xtscancodes.js +0 -344
  76. package/myagent/data/novnc/lib/ra2.js +0 -1005
  77. package/myagent/data/novnc/lib/rfb.js +0 -3324
  78. package/myagent/data/novnc/lib/util/browser.js +0 -150
  79. package/myagent/data/novnc/lib/util/cursor.js +0 -265
  80. package/myagent/data/novnc/lib/util/element.js +0 -41
  81. package/myagent/data/novnc/lib/util/events.js +0 -133
  82. package/myagent/data/novnc/lib/util/eventtarget.js +0 -55
  83. package/myagent/data/novnc/lib/util/int.js +0 -21
  84. package/myagent/data/novnc/lib/util/logging.js +0 -61
  85. package/myagent/data/novnc/lib/util/md5.js +0 -77
  86. package/myagent/data/novnc/lib/util/strings.js +0 -36
  87. package/myagent/data/novnc/lib/vendor/pako/lib/utils/common.js +0 -58
  88. package/myagent/data/novnc/lib/vendor/pako/lib/zlib/adler32.js +0 -29
  89. package/myagent/data/novnc/lib/vendor/pako/lib/zlib/constants.js +0 -48
  90. package/myagent/data/novnc/lib/vendor/pako/lib/zlib/crc32.js +0 -35
  91. package/myagent/data/novnc/lib/vendor/pako/lib/zlib/deflate.js +0 -1755
  92. package/myagent/data/novnc/lib/vendor/pako/lib/zlib/gzheader.js +0 -41
  93. package/myagent/data/novnc/lib/vendor/pako/lib/zlib/inffast.js +0 -329
  94. package/myagent/data/novnc/lib/vendor/pako/lib/zlib/inflate.js +0 -1626
  95. package/myagent/data/novnc/lib/vendor/pako/lib/zlib/inftrees.js +0 -312
  96. package/myagent/data/novnc/lib/vendor/pako/lib/zlib/messages.js +0 -26
  97. package/myagent/data/novnc/lib/vendor/pako/lib/zlib/trees.js +0 -1157
  98. package/myagent/data/novnc/lib/vendor/pako/lib/zlib/zstream.js +0 -30
  99. package/myagent/data/novnc/lib/websock.js +0 -384
  100. package/myagent/data/uploads/2026-04/32c9e9d3-8cf_test.pdf.pdf +0 -1
  101. package/myagent/departments/__init__.py +0 -4
  102. package/myagent/departments/manager.py +0 -1015
  103. package/myagent/docs//351/205/215/347/275/256/344/275/277/347/224/250/350/257/264/346/230/216.md +0 -815
  104. package/myagent/download/README.md +0 -1
  105. package/myagent/executor/__init__.py +0 -4
  106. package/myagent/executor/engine.py +0 -1591
  107. package/myagent/groups/__init__.py +0 -15
  108. package/myagent/groups/manager.py +0 -815
  109. package/myagent/install/install.ps1 +0 -171
  110. package/myagent/install/install.sh +0 -258
  111. package/myagent/install/uninstall.ps1 +0 -142
  112. package/myagent/install/uninstall.sh +0 -149
  113. package/myagent/install.ps1 +0 -97
  114. package/myagent/knowledge/__init__.py +0 -4
  115. package/myagent/knowledge/rag.py +0 -444
  116. package/myagent/main.py +0 -1808
  117. package/myagent/memory/__init__.py +0 -4
  118. package/myagent/memory/manager.py +0 -1140
  119. package/myagent/myagent_start.ps1 +0 -26
  120. package/myagent/organization/__init__.py +0 -4
  121. package/myagent/organization/manager.py +0 -366
  122. package/myagent/package.json +0 -46
  123. package/myagent/requirements-optional.txt +0 -16
  124. package/myagent/requirements.txt +0 -90
  125. package/myagent/scripts/cli.py +0 -1366
  126. package/myagent/scripts/setup_helper.py +0 -33
  127. package/myagent/setup.py +0 -72
  128. package/myagent/skills/ASR/LICENSE.txt +0 -21
  129. package/myagent/skills/ASR/SKILL.md +0 -580
  130. package/myagent/skills/ASR/scripts/asr.ts +0 -27
  131. package/myagent/skills/LLM/LICENSE.txt +0 -21
  132. package/myagent/skills/LLM/SKILL.md +0 -856
  133. package/myagent/skills/LLM/scripts/chat.ts +0 -32
  134. package/myagent/skills/TTS/LICENSE.txt +0 -21
  135. package/myagent/skills/TTS/SKILL.md +0 -735
  136. package/myagent/skills/TTS/tts.ts +0 -25
  137. package/myagent/skills/VLM/LICENSE.txt +0 -21
  138. package/myagent/skills/VLM/SKILL.md +0 -588
  139. package/myagent/skills/VLM/scripts/vlm.ts +0 -57
  140. package/myagent/skills/__init__.py +0 -5
  141. package/myagent/skills/agent-browser/SKILL.md +0 -328
  142. package/myagent/skills/agent_tool_skill.py +0 -113
  143. package/myagent/skills/ai-news-collectors/SKILL.md +0 -157
  144. package/myagent/skills/ai-news-collectors/_meta.json +0 -6
  145. package/myagent/skills/ai-news-collectors/references/sources.md +0 -128
  146. package/myagent/skills/aminer-open-academic/SKILL.md +0 -312
  147. package/myagent/skills/aminer-open-academic/_meta.json +0 -6
  148. package/myagent/skills/aminer-open-academic/evals/evals.json +0 -46
  149. package/myagent/skills/aminer-open-academic/references/api-catalog.md +0 -1032
  150. package/myagent/skills/aminer-open-academic/scripts/aminer_client.py +0 -875
  151. package/myagent/skills/auto-target-tracker/SKILL.md +0 -317
  152. package/myagent/skills/base.py +0 -153
  153. package/myagent/skills/blog-writer/2024-02-17-radical-transparency-sales.md +0 -35
  154. package/myagent/skills/blog-writer/2024-02-17-raycast-spotlight-superpowers.md +0 -33
  155. package/myagent/skills/blog-writer/2024-02-17-short-form-content-marketing.md +0 -47
  156. package/myagent/skills/blog-writer/2024-02-17-typing-speed-benefits.md +0 -33
  157. package/myagent/skills/blog-writer/2024-03-14-effective-ai-prompts.md +0 -55
  158. package/myagent/skills/blog-writer/2024-11-08-ai-revolutionizing-entry-level-sales.md +0 -43
  159. package/myagent/skills/blog-writer/2025-11-12-why-ai-art-is-useless.md +0 -49
  160. package/myagent/skills/blog-writer/README.md +0 -2
  161. package/myagent/skills/blog-writer/SKILL.md +0 -158
  162. package/myagent/skills/blog-writer/_meta.json +0 -6
  163. package/myagent/skills/blog-writer/manage_examples.py +0 -90
  164. package/myagent/skills/blog-writer/style-guide.md +0 -160
  165. package/myagent/skills/browser_skill.py +0 -32
  166. package/myagent/skills/charts/LICENSE.txt +0 -13
  167. package/myagent/skills/charts/SKILL.md +0 -427
  168. package/myagent/skills/charts/references/_rules.md +0 -49
  169. package/myagent/skills/charts/references/d3.md +0 -199
  170. package/myagent/skills/charts/references/echarts.md +0 -651
  171. package/myagent/skills/charts/references/matplotlib.md +0 -617
  172. package/myagent/skills/charts/references/mermaid.md +0 -797
  173. package/myagent/skills/charts/references/mindmap-css.md +0 -911
  174. package/myagent/skills/charts/references/playwright-css.md +0 -801
  175. package/myagent/skills/charts/references/radial-grid.md +0 -576
  176. package/myagent/skills/charts/references/seaborn.md +0 -324
  177. package/myagent/skills/charts/setup.sh +0 -228
  178. package/myagent/skills/chromedev_mcp.py +0 -1669
  179. package/myagent/skills/coding-agent/SKILL.md +0 -120
  180. package/myagent/skills/coding-agent/_meta.json +0 -6
  181. package/myagent/skills/coding-agent/criteria.md +0 -48
  182. package/myagent/skills/coding-agent/execution.md +0 -42
  183. package/myagent/skills/coding-agent/memory-template.md +0 -38
  184. package/myagent/skills/coding-agent/planning.md +0 -31
  185. package/myagent/skills/coding-agent/state.md +0 -60
  186. package/myagent/skills/coding-agent/verification.md +0 -39
  187. package/myagent/skills/content-strategy/SKILL.md +0 -181
  188. package/myagent/skills/content-strategy/_meta.json +0 -6
  189. package/myagent/skills/contentanalysis/ExtractWisdom/SKILL.md +0 -229
  190. package/myagent/skills/contentanalysis/ExtractWisdom/Workflows/Extract.md +0 -60
  191. package/myagent/skills/contentanalysis/SKILL.md +0 -14
  192. package/myagent/skills/docx/LICENSE.txt +0 -13
  193. package/myagent/skills/docx/SKILL.md +0 -201
  194. package/myagent/skills/docx/references/chart-templates.md +0 -386
  195. package/myagent/skills/docx/references/common-rules.md +0 -419
  196. package/myagent/skills/docx/references/decorations.md +0 -538
  197. package/myagent/skills/docx/references/design-system.md +0 -1797
  198. package/myagent/skills/docx/references/docx-js-advanced.md +0 -257
  199. package/myagent/skills/docx/references/docx-js-core.md +0 -333
  200. package/myagent/skills/docx/references/faq.md +0 -323
  201. package/myagent/skills/docx/references/math-formulas.md +0 -276
  202. package/myagent/skills/docx/references/ooxml.md +0 -222
  203. package/myagent/skills/docx/references/toc.md +0 -264
  204. package/myagent/skills/docx/routes/comment.md +0 -88
  205. package/myagent/skills/docx/routes/create.md +0 -207
  206. package/myagent/skills/docx/routes/edit.md +0 -115
  207. package/myagent/skills/docx/routes/format.md +0 -120
  208. package/myagent/skills/docx/routes/read.md +0 -114
  209. package/myagent/skills/docx/scenes/academic.md +0 -783
  210. package/myagent/skills/docx/scenes/contract.md +0 -463
  211. package/myagent/skills/docx/scenes/copywriting.md +0 -139
  212. package/myagent/skills/docx/scenes/exam.md +0 -698
  213. package/myagent/skills/docx/scenes/official-doc.md +0 -411
  214. package/myagent/skills/docx/scenes/report.md +0 -340
  215. package/myagent/skills/docx/scenes/resume.md +0 -534
  216. package/myagent/skills/docx/scripts/__init__.py +0 -1
  217. package/myagent/skills/docx/scripts/add_toc_placeholders.py +0 -749
  218. package/myagent/skills/docx/scripts/document.py +0 -1333
  219. package/myagent/skills/docx/scripts/postcheck.py +0 -807
  220. package/myagent/skills/docx/scripts/templates/comments.xml +0 -3
  221. package/myagent/skills/docx/scripts/templates/commentsExtended.xml +0 -3
  222. package/myagent/skills/docx/scripts/templates/commentsExtensible.xml +0 -3
  223. package/myagent/skills/docx/scripts/templates/commentsIds.xml +0 -3
  224. package/myagent/skills/docx/scripts/templates/people.xml +0 -3
  225. package/myagent/skills/docx/scripts/utilities.py +0 -374
  226. package/myagent/skills/docx/setup.sh +0 -177
  227. package/myagent/skills/docx_skill.py +0 -213
  228. package/myagent/skills/dream-interpreter/SKILL.md +0 -88
  229. package/myagent/skills/dream-interpreter/assets/example_asset.txt +0 -24
  230. package/myagent/skills/dream-interpreter/references/api_reference.md +0 -34
  231. package/myagent/skills/dream-interpreter/references/interpretation-guide.md +0 -83
  232. package/myagent/skills/dream-interpreter/references/output-schema.md +0 -65
  233. package/myagent/skills/dream-interpreter/references/questioning-strategy.md +0 -62
  234. package/myagent/skills/dream-interpreter/references/visual-mapping.md +0 -81
  235. package/myagent/skills/dream-interpreter/scripts/example.py +0 -19
  236. package/myagent/skills/dream-interpreter/skill.json +0 -7
  237. package/myagent/skills/example-skill/SKILL.md +0 -33
  238. package/myagent/skills/example-skill/run.sh +0 -11
  239. package/myagent/skills/file_send.py +0 -142
  240. package/myagent/skills/file_skill.py +0 -573
  241. package/myagent/skills/finance/Finance_API_Doc.md +0 -445
  242. package/myagent/skills/finance/SKILL.md +0 -53
  243. package/myagent/skills/frontend-dev/SKILL.md +0 -567
  244. package/myagent/skills/frontend-dev/canvas-fonts/ArsenalSC-OFL.txt +0 -93
  245. package/myagent/skills/frontend-dev/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
  246. package/myagent/skills/frontend-dev/canvas-fonts/BigShoulders-Bold.ttf +0 -0
  247. package/myagent/skills/frontend-dev/canvas-fonts/BigShoulders-OFL.txt +0 -93
  248. package/myagent/skills/frontend-dev/canvas-fonts/BigShoulders-Regular.ttf +0 -0
  249. package/myagent/skills/frontend-dev/canvas-fonts/Boldonse-OFL.txt +0 -93
  250. package/myagent/skills/frontend-dev/canvas-fonts/Boldonse-Regular.ttf +0 -0
  251. package/myagent/skills/frontend-dev/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
  252. package/myagent/skills/frontend-dev/canvas-fonts/BricolageGrotesque-OFL.txt +0 -93
  253. package/myagent/skills/frontend-dev/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
  254. package/myagent/skills/frontend-dev/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
  255. package/myagent/skills/frontend-dev/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
  256. package/myagent/skills/frontend-dev/canvas-fonts/CrimsonPro-OFL.txt +0 -93
  257. package/myagent/skills/frontend-dev/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
  258. package/myagent/skills/frontend-dev/canvas-fonts/DMMono-OFL.txt +0 -93
  259. package/myagent/skills/frontend-dev/canvas-fonts/DMMono-Regular.ttf +0 -0
  260. package/myagent/skills/frontend-dev/canvas-fonts/EricaOne-OFL.txt +0 -94
  261. package/myagent/skills/frontend-dev/canvas-fonts/EricaOne-Regular.ttf +0 -0
  262. package/myagent/skills/frontend-dev/canvas-fonts/GeistMono-Bold.ttf +0 -0
  263. package/myagent/skills/frontend-dev/canvas-fonts/GeistMono-OFL.txt +0 -93
  264. package/myagent/skills/frontend-dev/canvas-fonts/GeistMono-Regular.ttf +0 -0
  265. package/myagent/skills/frontend-dev/canvas-fonts/Gloock-OFL.txt +0 -93
  266. package/myagent/skills/frontend-dev/canvas-fonts/Gloock-Regular.ttf +0 -0
  267. package/myagent/skills/frontend-dev/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
  268. package/myagent/skills/frontend-dev/canvas-fonts/IBMPlexMono-OFL.txt +0 -93
  269. package/myagent/skills/frontend-dev/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
  270. package/myagent/skills/frontend-dev/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
  271. package/myagent/skills/frontend-dev/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
  272. package/myagent/skills/frontend-dev/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
  273. package/myagent/skills/frontend-dev/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
  274. package/myagent/skills/frontend-dev/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
  275. package/myagent/skills/frontend-dev/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
  276. package/myagent/skills/frontend-dev/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
  277. package/myagent/skills/frontend-dev/canvas-fonts/InstrumentSans-OFL.txt +0 -93
  278. package/myagent/skills/frontend-dev/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
  279. package/myagent/skills/frontend-dev/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
  280. package/myagent/skills/frontend-dev/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
  281. package/myagent/skills/frontend-dev/canvas-fonts/Italiana-OFL.txt +0 -93
  282. package/myagent/skills/frontend-dev/canvas-fonts/Italiana-Regular.ttf +0 -0
  283. package/myagent/skills/frontend-dev/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
  284. package/myagent/skills/frontend-dev/canvas-fonts/JetBrainsMono-OFL.txt +0 -93
  285. package/myagent/skills/frontend-dev/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
  286. package/myagent/skills/frontend-dev/canvas-fonts/Jura-Light.ttf +0 -0
  287. package/myagent/skills/frontend-dev/canvas-fonts/Jura-Medium.ttf +0 -0
  288. package/myagent/skills/frontend-dev/canvas-fonts/Jura-OFL.txt +0 -93
  289. package/myagent/skills/frontend-dev/canvas-fonts/LibreBaskerville-OFL.txt +0 -93
  290. package/myagent/skills/frontend-dev/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
  291. package/myagent/skills/frontend-dev/canvas-fonts/Lora-Bold.ttf +0 -0
  292. package/myagent/skills/frontend-dev/canvas-fonts/Lora-BoldItalic.ttf +0 -0
  293. package/myagent/skills/frontend-dev/canvas-fonts/Lora-Italic.ttf +0 -0
  294. package/myagent/skills/frontend-dev/canvas-fonts/Lora-OFL.txt +0 -93
  295. package/myagent/skills/frontend-dev/canvas-fonts/Lora-Regular.ttf +0 -0
  296. package/myagent/skills/frontend-dev/canvas-fonts/NationalPark-Bold.ttf +0 -0
  297. package/myagent/skills/frontend-dev/canvas-fonts/NationalPark-OFL.txt +0 -93
  298. package/myagent/skills/frontend-dev/canvas-fonts/NationalPark-Regular.ttf +0 -0
  299. package/myagent/skills/frontend-dev/canvas-fonts/NothingYouCouldDo-OFL.txt +0 -93
  300. package/myagent/skills/frontend-dev/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
  301. package/myagent/skills/frontend-dev/canvas-fonts/Outfit-Bold.ttf +0 -0
  302. package/myagent/skills/frontend-dev/canvas-fonts/Outfit-OFL.txt +0 -93
  303. package/myagent/skills/frontend-dev/canvas-fonts/Outfit-Regular.ttf +0 -0
  304. package/myagent/skills/frontend-dev/canvas-fonts/PixelifySans-Medium.ttf +0 -0
  305. package/myagent/skills/frontend-dev/canvas-fonts/PixelifySans-OFL.txt +0 -93
  306. package/myagent/skills/frontend-dev/canvas-fonts/PoiretOne-OFL.txt +0 -93
  307. package/myagent/skills/frontend-dev/canvas-fonts/PoiretOne-Regular.ttf +0 -0
  308. package/myagent/skills/frontend-dev/canvas-fonts/RedHatMono-Bold.ttf +0 -0
  309. package/myagent/skills/frontend-dev/canvas-fonts/RedHatMono-OFL.txt +0 -93
  310. package/myagent/skills/frontend-dev/canvas-fonts/RedHatMono-Regular.ttf +0 -0
  311. package/myagent/skills/frontend-dev/canvas-fonts/Silkscreen-OFL.txt +0 -93
  312. package/myagent/skills/frontend-dev/canvas-fonts/Silkscreen-Regular.ttf +0 -0
  313. package/myagent/skills/frontend-dev/canvas-fonts/SmoochSans-Medium.ttf +0 -0
  314. package/myagent/skills/frontend-dev/canvas-fonts/SmoochSans-OFL.txt +0 -93
  315. package/myagent/skills/frontend-dev/canvas-fonts/Tektur-Medium.ttf +0 -0
  316. package/myagent/skills/frontend-dev/canvas-fonts/Tektur-OFL.txt +0 -93
  317. package/myagent/skills/frontend-dev/canvas-fonts/Tektur-Regular.ttf +0 -0
  318. package/myagent/skills/frontend-dev/canvas-fonts/WorkSans-Bold.ttf +0 -0
  319. package/myagent/skills/frontend-dev/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
  320. package/myagent/skills/frontend-dev/canvas-fonts/WorkSans-Italic.ttf +0 -0
  321. package/myagent/skills/frontend-dev/canvas-fonts/WorkSans-OFL.txt +0 -93
  322. package/myagent/skills/frontend-dev/canvas-fonts/WorkSans-Regular.ttf +0 -0
  323. package/myagent/skills/frontend-dev/canvas-fonts/YoungSerif-OFL.txt +0 -93
  324. package/myagent/skills/frontend-dev/canvas-fonts/YoungSerif-Regular.ttf +0 -0
  325. package/myagent/skills/frontend-dev/references/asset-prompt-guide.md +0 -43
  326. package/myagent/skills/frontend-dev/references/env-setup.md +0 -33
  327. package/myagent/skills/frontend-dev/references/minimax-cli-reference.md +0 -133
  328. package/myagent/skills/frontend-dev/references/minimax-image-guide.md +0 -65
  329. package/myagent/skills/frontend-dev/references/minimax-music-guide.md +0 -216
  330. package/myagent/skills/frontend-dev/references/minimax-tts-guide.md +0 -78
  331. package/myagent/skills/frontend-dev/references/minimax-video-guide.md +0 -82
  332. package/myagent/skills/frontend-dev/references/minimax-voice-catalog.md +0 -686
  333. package/myagent/skills/frontend-dev/references/motion-recipes.md +0 -407
  334. package/myagent/skills/frontend-dev/references/troubleshooting.md +0 -85
  335. package/myagent/skills/frontend-dev/scripts/minimax_image.py +0 -137
  336. package/myagent/skills/frontend-dev/scripts/minimax_music.py +0 -157
  337. package/myagent/skills/frontend-dev/scripts/minimax_tts.py +0 -127
  338. package/myagent/skills/frontend-dev/scripts/minimax_video.py +0 -187
  339. package/myagent/skills/frontend-dev/templates/generator_template.js +0 -223
  340. package/myagent/skills/frontend-dev/templates/viewer.html +0 -599
  341. package/myagent/skills/fullstack-dev/SKILL.md +0 -1037
  342. package/myagent/skills/fullstack-dev/references/api-design.md +0 -444
  343. package/myagent/skills/fullstack-dev/references/auth-flow.md +0 -165
  344. package/myagent/skills/fullstack-dev/references/db-schema.md +0 -706
  345. package/myagent/skills/fullstack-dev/references/django-best-practices.md +0 -466
  346. package/myagent/skills/fullstack-dev/references/environment-management.md +0 -78
  347. package/myagent/skills/fullstack-dev/references/release-checklist.md +0 -278
  348. package/myagent/skills/fullstack-dev/references/technology-selection.md +0 -254
  349. package/myagent/skills/fullstack-dev/references/testing-strategy.md +0 -404
  350. package/myagent/skills/get-fortune-analysis/SKILL.md +0 -370
  351. package/myagent/skills/get-fortune-analysis/lunar_python.py +0 -91
  352. package/myagent/skills/gift-evaluator/SKILL.md +0 -83
  353. package/myagent/skills/gift-evaluator/html_tools.py +0 -268
  354. package/myagent/skills/gui_skill.py +0 -883
  355. package/myagent/skills/image-edit/LICENSE.txt +0 -21
  356. package/myagent/skills/image-edit/SKILL.md +0 -896
  357. package/myagent/skills/image-edit/scripts/image-edit.ts +0 -36
  358. package/myagent/skills/image-generation/LICENSE.txt +0 -21
  359. package/myagent/skills/image-generation/SKILL.md +0 -583
  360. package/myagent/skills/image-generation/scripts/image-generation.ts +0 -28
  361. package/myagent/skills/image-understand/LICENSE.txt +0 -21
  362. package/myagent/skills/image-understand/SKILL.md +0 -855
  363. package/myagent/skills/image-understand/scripts/image-understand.ts +0 -41
  364. package/myagent/skills/interview-designer/README.md +0 -70
  365. package/myagent/skills/interview-designer/SKILL.md +0 -53
  366. package/myagent/skills/interview-designer/_meta.json +0 -6
  367. package/myagent/skills/interview-designer/references/design_rationale.md +0 -43
  368. package/myagent/skills/interview-designer/templates/interview_guide_template.md +0 -62
  369. package/myagent/skills/market-research-reports/SKILL.md +0 -901
  370. package/myagent/skills/market-research-reports/assets/FORMATTING_GUIDE.md +0 -428
  371. package/myagent/skills/market-research-reports/assets/market_report_template.tex +0 -1380
  372. package/myagent/skills/market-research-reports/assets/market_research.sty +0 -564
  373. package/myagent/skills/market-research-reports/references/data_analysis_patterns.md +0 -548
  374. package/myagent/skills/market-research-reports/references/report_structure_guide.md +0 -999
  375. package/myagent/skills/market-research-reports/references/visual_generation_guide.md +0 -1077
  376. package/myagent/skills/market-research-reports/scripts/generate_market_visuals.py +0 -529
  377. package/myagent/skills/marketing-mode/README.md +0 -49
  378. package/myagent/skills/marketing-mode/SKILL.md +0 -693
  379. package/myagent/skills/marketing-mode/_meta.json +0 -6
  380. package/myagent/skills/marketing-mode/mode-prompt.md +0 -39
  381. package/myagent/skills/marketing-mode/skill.json +0 -51
  382. package/myagent/skills/mindfulness-meditation/SKILL.md +0 -65
  383. package/myagent/skills/mindfulness-meditation/_meta.json +0 -6
  384. package/myagent/skills/multi-search-engine/CHANGELOG.md +0 -15
  385. package/myagent/skills/multi-search-engine/CHANNELLOG.md +0 -48
  386. package/myagent/skills/multi-search-engine/SKILL.md +0 -78
  387. package/myagent/skills/multi-search-engine/_meta.json +0 -6
  388. package/myagent/skills/multi-search-engine/config.json +0 -14
  389. package/myagent/skills/multi-search-engine/metadata.json +0 -7
  390. package/myagent/skills/multi-search-engine/references/international-search.md +0 -651
  391. package/myagent/skills/pdf/LICENSE.txt +0 -13
  392. package/myagent/skills/pdf/SKILL.md +0 -921
  393. package/myagent/skills/pdf/briefs/academic.md +0 -1058
  394. package/myagent/skills/pdf/briefs/creative.md +0 -770
  395. package/myagent/skills/pdf/briefs/poster.md +0 -702
  396. package/myagent/skills/pdf/briefs/process-advanced.md +0 -284
  397. package/myagent/skills/pdf/briefs/process.md +0 -319
  398. package/myagent/skills/pdf/briefs/report.md +0 -1659
  399. package/myagent/skills/pdf/configs/components.md +0 -153
  400. package/myagent/skills/pdf/configs/fonts.md +0 -93
  401. package/myagent/skills/pdf/configs/visual_framework.md +0 -263
  402. package/myagent/skills/pdf/references/resume-academic.tex +0 -130
  403. package/myagent/skills/pdf/references/resume-altacv.tex +0 -190
  404. package/myagent/skills/pdf/scripts/cover_validate.js +0 -367
  405. package/myagent/skills/pdf/scripts/design_engine.py +0 -2816
  406. package/myagent/skills/pdf/scripts/html2pdf-next.js +0 -754
  407. package/myagent/skills/pdf/scripts/html2poster.js +0 -256
  408. package/myagent/skills/pdf/scripts/pdf.py +0 -2959
  409. package/myagent/skills/pdf/scripts/pdf_qa.py +0 -901
  410. package/myagent/skills/pdf/scripts/poster_validate.py +0 -1337
  411. package/myagent/skills/pdf/scripts/setup.sh +0 -269
  412. package/myagent/skills/pdf/scripts/toc_validate.py +0 -2075
  413. package/myagent/skills/pdf/typesetting/charts.md +0 -320
  414. package/myagent/skills/pdf/typesetting/cover-backgrounds.md +0 -384
  415. package/myagent/skills/pdf/typesetting/cover.md +0 -1442
  416. package/myagent/skills/pdf/typesetting/fill-engine.md +0 -527
  417. package/myagent/skills/pdf/typesetting/geometry.md +0 -142
  418. package/myagent/skills/pdf/typesetting/overflow.md +0 -630
  419. package/myagent/skills/pdf/typesetting/pagination.md +0 -367
  420. package/myagent/skills/pdf/typesetting/palette.md +0 -217
  421. package/myagent/skills/pdf/typesetting/typography.md +0 -20
  422. package/myagent/skills/pdf_skill.py +0 -372
  423. package/myagent/skills/podcast-generate/LICENSE.txt +0 -21
  424. package/myagent/skills/podcast-generate/SKILL.md +0 -198
  425. package/myagent/skills/podcast-generate/generate.ts +0 -661
  426. package/myagent/skills/podcast-generate/package.json +0 -30
  427. package/myagent/skills/podcast-generate/readme.md +0 -177
  428. package/myagent/skills/podcast-generate/test_data/segments.jsonl +0 -3
  429. package/myagent/skills/podcast-generate/tsconfig.json +0 -26
  430. package/myagent/skills/ppt/.claude/settings.local.json +0 -20
  431. package/myagent/skills/ppt/LICENSE.txt +0 -13
  432. package/myagent/skills/ppt/SKILL.md +0 -436
  433. package/myagent/skills/ppt/beamer.md +0 -1461
  434. package/myagent/skills/ppt/components.md +0 -1671
  435. package/myagent/skills/ppt/data-viz-components.md +0 -529
  436. package/myagent/skills/ppt/design-system.md +0 -211
  437. package/myagent/skills/ppt/html2pptx.md +0 -394
  438. package/myagent/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -1499
  439. package/myagent/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -146
  440. package/myagent/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -1085
  441. package/myagent/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -11
  442. package/myagent/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -3081
  443. package/myagent/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -23
  444. package/myagent/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -185
  445. package/myagent/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -287
  446. package/myagent/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -1676
  447. package/myagent/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -28
  448. package/myagent/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -144
  449. package/myagent/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -174
  450. package/myagent/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -25
  451. package/myagent/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -18
  452. package/myagent/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -59
  453. package/myagent/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -56
  454. package/myagent/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -195
  455. package/myagent/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -582
  456. package/myagent/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -25
  457. package/myagent/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -4439
  458. package/myagent/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -570
  459. package/myagent/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -509
  460. package/myagent/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -12
  461. package/myagent/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -108
  462. package/myagent/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -96
  463. package/myagent/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -3646
  464. package/myagent/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -116
  465. package/myagent/skills/ppt/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -42
  466. package/myagent/skills/ppt/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -50
  467. package/myagent/skills/ppt/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -49
  468. package/myagent/skills/ppt/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -33
  469. package/myagent/skills/ppt/ooxml/schemas/mce/mc.xsd +0 -75
  470. package/myagent/skills/ppt/ooxml/schemas/microsoft/wml-2010.xsd +0 -560
  471. package/myagent/skills/ppt/ooxml/schemas/microsoft/wml-2012.xsd +0 -67
  472. package/myagent/skills/ppt/ooxml/schemas/microsoft/wml-2018.xsd +0 -14
  473. package/myagent/skills/ppt/ooxml/schemas/microsoft/wml-cex-2018.xsd +0 -20
  474. package/myagent/skills/ppt/ooxml/schemas/microsoft/wml-cid-2016.xsd +0 -13
  475. package/myagent/skills/ppt/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -4
  476. package/myagent/skills/ppt/ooxml/schemas/microsoft/wml-symex-2015.xsd +0 -8
  477. package/myagent/skills/ppt/ooxml/scripts/pack.py +0 -159
  478. package/myagent/skills/ppt/ooxml/scripts/unpack.py +0 -45
  479. package/myagent/skills/ppt/ooxml/scripts/validate.py +0 -70
  480. package/myagent/skills/ppt/ooxml/scripts/validation/__init__.py +0 -15
  481. package/myagent/skills/ppt/ooxml/scripts/validation/base.py +0 -948
  482. package/myagent/skills/ppt/ooxml/scripts/validation/docx.py +0 -274
  483. package/myagent/skills/ppt/ooxml/scripts/validation/pptx.py +0 -309
  484. package/myagent/skills/ppt/ooxml/scripts/validation/redlining.py +0 -279
  485. package/myagent/skills/ppt/ooxml.md +0 -427
  486. package/myagent/skills/ppt/references/beamer.md +0 -721
  487. package/myagent/skills/ppt/references/latex.md +0 -342
  488. package/myagent/skills/ppt/references/paper-navbar.tex +0 -73
  489. package/myagent/skills/ppt/references/progress-navbar.tex +0 -151
  490. package/myagent/skills/ppt/scripts/html2pptx.js +0 -1337
  491. package/myagent/skills/ppt/scripts/inventory.py +0 -512
  492. package/myagent/skills/ppt/scripts/pdf.py +0 -2046
  493. package/myagent/skills/ppt/scripts/rearrange.py +0 -144
  494. package/myagent/skills/ppt/scripts/replace.py +0 -231
  495. package/myagent/skills/ppt/scripts/tectonic +0 -0
  496. package/myagent/skills/ppt/scripts/thumbnail.py +0 -352
  497. package/myagent/skills/ppt/setup.sh +0 -197
  498. package/myagent/skills/ppt/themes.md +0 -581
  499. package/myagent/skills/ppt_skill.py +0 -317
  500. package/myagent/skills/qingyan-research/SKILL.md +0 -294
  501. package/myagent/skills/qingyan-research/generate_html.py +0 -33
  502. package/myagent/skills/registry.py +0 -599
  503. package/myagent/skills/search_skill.py +0 -453
  504. package/myagent/skills/seo-content-writer/SKILL.md +0 -661
  505. package/myagent/skills/seo-content-writer/_meta.json +0 -6
  506. package/myagent/skills/seo-content-writer/references/content-structure-templates.md +0 -875
  507. package/myagent/skills/seo-content-writer/references/title-formulas.md +0 -339
  508. package/myagent/skills/skill-creator/LICENSE.txt +0 -202
  509. package/myagent/skills/skill-creator/SKILL.md +0 -485
  510. package/myagent/skills/skill-creator/agents/analyzer.md +0 -274
  511. package/myagent/skills/skill-creator/agents/comparator.md +0 -202
  512. package/myagent/skills/skill-creator/agents/grader.md +0 -223
  513. package/myagent/skills/skill-creator/assets/eval_review.html +0 -146
  514. package/myagent/skills/skill-creator/eval-viewer/generate_review.py +0 -471
  515. package/myagent/skills/skill-creator/eval-viewer/viewer.html +0 -1325
  516. package/myagent/skills/skill-creator/references/schemas.md +0 -430
  517. package/myagent/skills/skill-creator/scripts/__init__.py +0 -0
  518. package/myagent/skills/skill-creator/scripts/aggregate_benchmark.py +0 -401
  519. package/myagent/skills/skill-creator/scripts/generate_report.py +0 -326
  520. package/myagent/skills/skill-creator/scripts/improve_description.py +0 -236
  521. package/myagent/skills/skill-creator/scripts/package_skill.py +0 -136
  522. package/myagent/skills/skill-creator/scripts/quick_validate.py +0 -103
  523. package/myagent/skills/skill-creator/scripts/run_eval.py +0 -310
  524. package/myagent/skills/skill-creator/scripts/run_loop.py +0 -328
  525. package/myagent/skills/skill-creator/scripts/utils.py +0 -47
  526. package/myagent/skills/skill-finder-cn/SKILL.md +0 -66
  527. package/myagent/skills/skill-finder-cn/_meta.json +0 -6
  528. package/myagent/skills/skill-finder-cn/package.json +0 -5
  529. package/myagent/skills/skill-finder-cn/scripts/search.sh +0 -15
  530. package/myagent/skills/skill-vetter/SKILL.md +0 -137
  531. package/myagent/skills/stock-analysis-skill/SKILL.md +0 -156
  532. package/myagent/skills/stock-analysis-skill/package.json +0 -21
  533. package/myagent/skills/stock-analysis-skill/src/analyzer.ts +0 -264
  534. package/myagent/skills/stock-analysis-skill/src/dataFetcher.ts +0 -130
  535. package/myagent/skills/stock-analysis-skill/src/dividend.ts +0 -226
  536. package/myagent/skills/stock-analysis-skill/src/index.ts +0 -327
  537. package/myagent/skills/stock-analysis-skill/src/rumorScanner.ts +0 -200
  538. package/myagent/skills/stock-analysis-skill/src/types.ts +0 -167
  539. package/myagent/skills/stock-analysis-skill/src/watchlist.ts +0 -292
  540. package/myagent/skills/stock-analysis-skill/tsconfig.json +0 -15
  541. package/myagent/skills/storyboard-manager/SKILL.md +0 -532
  542. package/myagent/skills/storyboard-manager/index.js +0 -9
  543. package/myagent/skills/storyboard-manager/package.json +0 -11
  544. package/myagent/skills/storyboard-manager/references/character_development.md +0 -232
  545. package/myagent/skills/storyboard-manager/references/story_structures.md +0 -148
  546. package/myagent/skills/storyboard-manager/scripts/consistency_checker.py +0 -391
  547. package/myagent/skills/storyboard-manager/scripts/timeline_tracker.py +0 -352
  548. package/myagent/skills/system_skill.py +0 -258
  549. package/myagent/skills/ui-ux-pro-max/SKILL.md +0 -43
  550. package/myagent/skills/ui-ux-pro-max/_meta.json +0 -6
  551. package/myagent/skills/ui-ux-pro-max/assets/data/charts.csv +0 -26
  552. package/myagent/skills/ui-ux-pro-max/assets/data/colors.csv +0 -97
  553. package/myagent/skills/ui-ux-pro-max/assets/data/icons.csv +0 -101
  554. package/myagent/skills/ui-ux-pro-max/assets/data/landing.csv +0 -31
  555. package/myagent/skills/ui-ux-pro-max/assets/data/products.csv +0 -97
  556. package/myagent/skills/ui-ux-pro-max/assets/data/react-performance.csv +0 -45
  557. package/myagent/skills/ui-ux-pro-max/assets/data/stacks/astro.csv +0 -54
  558. package/myagent/skills/ui-ux-pro-max/assets/data/stacks/flutter.csv +0 -53
  559. package/myagent/skills/ui-ux-pro-max/assets/data/stacks/html-tailwind.csv +0 -56
  560. package/myagent/skills/ui-ux-pro-max/assets/data/stacks/jetpack-compose.csv +0 -53
  561. package/myagent/skills/ui-ux-pro-max/assets/data/stacks/nextjs.csv +0 -53
  562. package/myagent/skills/ui-ux-pro-max/assets/data/stacks/nuxt-ui.csv +0 -51
  563. package/myagent/skills/ui-ux-pro-max/assets/data/stacks/nuxtjs.csv +0 -59
  564. package/myagent/skills/ui-ux-pro-max/assets/data/stacks/react-native.csv +0 -52
  565. package/myagent/skills/ui-ux-pro-max/assets/data/stacks/react.csv +0 -54
  566. package/myagent/skills/ui-ux-pro-max/assets/data/stacks/shadcn.csv +0 -61
  567. package/myagent/skills/ui-ux-pro-max/assets/data/stacks/svelte.csv +0 -54
  568. package/myagent/skills/ui-ux-pro-max/assets/data/stacks/swiftui.csv +0 -51
  569. package/myagent/skills/ui-ux-pro-max/assets/data/stacks/vue.csv +0 -50
  570. package/myagent/skills/ui-ux-pro-max/assets/data/styles.csv +0 -68
  571. package/myagent/skills/ui-ux-pro-max/assets/data/typography.csv +0 -58
  572. package/myagent/skills/ui-ux-pro-max/assets/data/ui-reasoning.csv +0 -101
  573. package/myagent/skills/ui-ux-pro-max/assets/data/ux-guidelines.csv +0 -100
  574. package/myagent/skills/ui-ux-pro-max/assets/data/web-interface.csv +0 -31
  575. package/myagent/skills/ui-ux-pro-max/data/charts.csv +0 -26
  576. package/myagent/skills/ui-ux-pro-max/data/colors.csv +0 -97
  577. package/myagent/skills/ui-ux-pro-max/data/icons.csv +0 -101
  578. package/myagent/skills/ui-ux-pro-max/data/landing.csv +0 -31
  579. package/myagent/skills/ui-ux-pro-max/data/products.csv +0 -97
  580. package/myagent/skills/ui-ux-pro-max/data/react-performance.csv +0 -45
  581. package/myagent/skills/ui-ux-pro-max/data/stacks/astro.csv +0 -54
  582. package/myagent/skills/ui-ux-pro-max/data/stacks/flutter.csv +0 -53
  583. package/myagent/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +0 -56
  584. package/myagent/skills/ui-ux-pro-max/data/stacks/jetpack-compose.csv +0 -53
  585. package/myagent/skills/ui-ux-pro-max/data/stacks/nextjs.csv +0 -53
  586. package/myagent/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +0 -51
  587. package/myagent/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +0 -59
  588. package/myagent/skills/ui-ux-pro-max/data/stacks/react-native.csv +0 -52
  589. package/myagent/skills/ui-ux-pro-max/data/stacks/react.csv +0 -54
  590. package/myagent/skills/ui-ux-pro-max/data/stacks/shadcn.csv +0 -61
  591. package/myagent/skills/ui-ux-pro-max/data/stacks/svelte.csv +0 -54
  592. package/myagent/skills/ui-ux-pro-max/data/stacks/swiftui.csv +0 -51
  593. package/myagent/skills/ui-ux-pro-max/data/stacks/vue.csv +0 -50
  594. package/myagent/skills/ui-ux-pro-max/data/styles.csv +0 -68
  595. package/myagent/skills/ui-ux-pro-max/data/typography.csv +0 -58
  596. package/myagent/skills/ui-ux-pro-max/data/ui-reasoning.csv +0 -101
  597. package/myagent/skills/ui-ux-pro-max/data/ux-guidelines.csv +0 -100
  598. package/myagent/skills/ui-ux-pro-max/data/web-interface.csv +0 -31
  599. package/myagent/skills/ui-ux-pro-max/references/upstream-README.md +0 -488
  600. package/myagent/skills/ui-ux-pro-max/references/upstream-skill-content.md +0 -288
  601. package/myagent/skills/ui-ux-pro-max/scripts/__init__.py +0 -0
  602. package/myagent/skills/ui-ux-pro-max/scripts/core.py +0 -253
  603. package/myagent/skills/ui-ux-pro-max/scripts/design_system.py +0 -1071
  604. package/myagent/skills/ui-ux-pro-max/scripts/search.py +0 -111
  605. package/myagent/skills/video-generation/LICENSE.txt +0 -21
  606. package/myagent/skills/video-generation/SKILL.md +0 -1082
  607. package/myagent/skills/video-generation/scripts/video.ts +0 -168
  608. package/myagent/skills/video-understand/LICENSE.txt +0 -21
  609. package/myagent/skills/video-understand/SKILL.md +0 -916
  610. package/myagent/skills/video-understand/scripts/video-understand.ts +0 -41
  611. package/myagent/skills/visual-design-foundations/SKILL.md +0 -318
  612. package/myagent/skills/visual-design-foundations/references/color-systems.md +0 -417
  613. package/myagent/skills/visual-design-foundations/references/spacing-iconography.md +0 -425
  614. package/myagent/skills/visual-design-foundations/references/typography-systems.md +0 -432
  615. package/myagent/skills/web-reader/LICENSE.txt +0 -21
  616. package/myagent/skills/web-reader/SKILL.md +0 -1140
  617. package/myagent/skills/web-reader/scripts/web-reader.ts +0 -37
  618. package/myagent/skills/web-search/LICENSE.txt +0 -21
  619. package/myagent/skills/web-search/SKILL.md +0 -912
  620. package/myagent/skills/web-search/scripts/web_search.ts +0 -44
  621. package/myagent/skills/web-shader-extractor/SKILL.md +0 -145
  622. package/myagent/skills/web-shader-extractor/references/config-extraction.md +0 -50
  623. package/myagent/skills/web-shader-extractor/references/encoded-definitions.md +0 -53
  624. package/myagent/skills/web-shader-extractor/references/extraction-workflow.md +0 -61
  625. package/myagent/skills/web-shader-extractor/references/porting-strategy.md +0 -164
  626. package/myagent/skills/web-shader-extractor/references/shader-injection.md +0 -126
  627. package/myagent/skills/web-shader-extractor/references/shaders-com.md +0 -190
  628. package/myagent/skills/web-shader-extractor/references/tech-signatures.md +0 -54
  629. package/myagent/skills/web-shader-extractor/references/tsl-extraction.md +0 -41
  630. package/myagent/skills/web-shader-extractor/references/unicorn-studio.md +0 -353
  631. package/myagent/skills/web-shader-extractor/scripts/fetch-rendered-dom.mjs +0 -153
  632. package/myagent/skills/web-shader-extractor/scripts/scan-bundle.sh +0 -76
  633. package/myagent/skills/writing-plans/SKILL.md +0 -116
  634. package/myagent/skills/writing-plans/_meta.json +0 -6
  635. package/myagent/skills/xlsx/LICENSE.txt +0 -13
  636. package/myagent/skills/xlsx/SKILL.md +0 -230
  637. package/myagent/skills/xlsx/engines/chart-templates.md +0 -167
  638. package/myagent/skills/xlsx/engines/chart.md +0 -87
  639. package/myagent/skills/xlsx/engines/design.md +0 -575
  640. package/myagent/skills/xlsx/engines/vba-templates.md +0 -435
  641. package/myagent/skills/xlsx/quality/pipeline.md +0 -196
  642. package/myagent/skills/xlsx/scenes/advanced.md +0 -271
  643. package/myagent/skills/xlsx/scenes/analyze-recipes.md +0 -234
  644. package/myagent/skills/xlsx/scenes/analyze.md +0 -95
  645. package/myagent/skills/xlsx/scenes/convert.md +0 -133
  646. package/myagent/skills/xlsx/scenes/create.md +0 -105
  647. package/myagent/skills/xlsx/scenes/edit-patterns.md +0 -222
  648. package/myagent/skills/xlsx/scenes/edit.md +0 -195
  649. package/myagent/skills/xlsx/scenes/finance.md +0 -318
  650. package/myagent/skills/xlsx/scenes/finance_lite.md +0 -192
  651. package/myagent/skills/xlsx/scenes/vba.md +0 -298
  652. package/myagent/skills/xlsx/setup.sh +0 -136
  653. package/myagent/skills/xlsx/templates/base.py +0 -632
  654. package/myagent/skills/xlsx/templates/palettes.py +0 -521
  655. package/myagent/skills/xlsx/xlsx.py +0 -1299
  656. package/myagent/skills/xlsx_skill.py +0 -346
  657. package/myagent/start.js +0 -847
  658. package/myagent/start.sh +0 -240
  659. package/myagent/web/__init__.py +0 -1
  660. package/myagent/web/api_server.py +0 -8971
  661. package/myagent/web/tts_handler.py +0 -216
  662. package/myagent/web/ui/admin/admin-agentchat.js +0 -175
  663. package/myagent/web/ui/admin/admin-agents.js +0 -565
  664. package/myagent/web/ui/admin/admin-core.js +0 -386
  665. package/myagent/web/ui/admin/admin-dashboard.js +0 -148
  666. package/myagent/web/ui/admin/admin-executor.js +0 -62
  667. package/myagent/web/ui/admin/admin-files.js +0 -76
  668. package/myagent/web/ui/admin/admin-llm.js +0 -185
  669. package/myagent/web/ui/admin/admin-logs.js +0 -64
  670. package/myagent/web/ui/admin/admin-memory.js +0 -86
  671. package/myagent/web/ui/admin/admin-org.js +0 -278
  672. package/myagent/web/ui/admin/admin-permissions.js +0 -142
  673. package/myagent/web/ui/admin/admin-platforms.js +0 -256
  674. package/myagent/web/ui/admin/admin-sessions.js +0 -218
  675. package/myagent/web/ui/admin/admin-skills.js +0 -212
  676. package/myagent/web/ui/admin/admin-system.js +0 -149
  677. package/myagent/web/ui/admin/admin-tasks.js +0 -126
  678. package/myagent/web/ui/chat/chat.css +0 -2739
  679. package/myagent/web/ui/chat/chat.js +0 -52
  680. package/myagent/web/ui/chat/chat_container.html +0 -335
  681. package/myagent/web/ui/chat/chat_main.js +0 -5741
  682. package/myagent/web/ui/chat/flow_engine.js +0 -2663
  683. package/myagent/web/ui/chat/groupchat.js +0 -901
  684. package/myagent/web/ui/chat/left_sessions.html +0 -54
  685. package/myagent/web/ui/chat/middle_chat.html +0 -162
  686. package/myagent/web/ui/chat/right_agents.html +0 -70
  687. package/myagent/web/ui/index.html +0 -375
  688. package/myagent/worklog-v1.22.md +0 -12
  689. package/myagent/worklog.md +0 -429
@@ -34,8 +34,19 @@ class MainAgent(BaseAgent):
34
34
  - 多轮迭代(计划-执行-反思循环)
35
35
  - 确保不进入死循环
36
36
  """
37
- xml_prompt= """
38
- <output>
37
+
38
+ name = "main_agent"
39
+ description = "AI助手主控Agent,负责理解用户意图、规划任务、调度执行"
40
+
41
+ # =========================================================================
42
+ # 系统提示词 — 结构化输出格式
43
+ # =========================================================================
44
+ SYSTEM_PROMPT = """你是一个智能AI助手,请深入分析以下上下文内容。
45
+
46
+ 严格以XML格式化输出以下内容,否则解析器无法解析:"""
47
+
48
+ # XML 输出格式规范(头部嵌入 SYSTEM_PROMPT,尾部在 _process_v2_inner 中再次追加,一头一尾确保格式正确)
49
+ xml_prompt = """<output>
39
50
  <mainsubject>当前对话的6字以内标题(每轮都需输出,系统会每3轮自动更新会话名称)</mainsubject>
40
51
  <usersays_correct>通过修正识别错误、调整标点,结合上下文,将用户语音转写文本"usersays"修正为更准确的文本,但尽量少改动。如"usersays"为空,则此处为空。</usersays_correct>
41
52
  <response><reply>展示给用户的文本,格式上尽量使用md格式,直观形象展示,甚至可以包括超链接、表格等。内容上,针对用户问题,直接回应问题;针对任务,开始的时候,告诉用户,为完成任务,准备如何开展工作;执行过程中,根据工具调用结果,简单展示任务进展;任务完成后的详细最终总结。注意:这是给用户展示信息的最重要标签,尽量不要跟上次回复重复,执行过程展示内容尽量简洁,执行总结可以丰富一点。</reply><toolstocal>
@@ -51,18 +62,9 @@ class MainAgent(BaseAgent):
51
62
  <finish>true/false,是否结束循环调用llm。如"askuser"为非空,则"finish"为true。否则,根据"context"判断任务是否已完成,是否结束llm回调</finish>
52
63
  <finish_reason>当"finish"为true 时必填,详细说明为什么现在结束任务(如:任务已完成/需要用户补充信息/信息不足无法继续等)。finish若为false ,此处为空。</finish_reason>
53
64
  <next_step>当 finish=false 时必填,描述下一步计划做什么(简洁明了,1-2句话)。finish=true 时为空。</next_step>
54
- </output>
55
- """
56
- name = "main_agent"
57
- description = "AI助手主控Agent,负责理解用户意图、规划任务、调度执行"
58
-
59
- # =========================================================================
60
- # 系统提示词 — 结构化输出格式
61
- # =========================================================================
62
- SYSTEM_PROMPT = """你是一个智能AI助手,请深入分析以下上下文内容。
65
+ </output>"""
63
66
 
64
- 严格以XML格式化输出以下内容,否则解析器无法解析:"""
65
- SYSTEM_PROMPT= SYSTEM_PROMPT+xml_prompt+"""
67
+ SYSTEM_PROMPT = SYSTEM_PROMPT + xml_prompt + """
66
68
  注意事项:
67
69
  1. toolstocal标签: 尽量一次性列出所有需执行工具调用的,多个"tool"工具调用只要按顺序重复堆叠tool标签即可,解析器会按顺序执行工具调用,最终全部执行完后,会连同所有结果,回调大语言模型。如果某个工具执行超过预估的时限,也会回调大模型,让大模型分析为什么超时,改用其他工具。要求每个工具调用尽快合并多个命令行。注意: docx/xlsx/ppt/pdf-create 命令执行后会自动发送文件给用户,不需要再拼接 send-file。仅在需要发送其他已存在的独立文件时才需要手动调用 send-file。多个独立查询或系统命令才需要用 && 拼接。
68
70
  2. 上下文中的记忆系统说明
@@ -793,7 +795,7 @@ class MainAgent(BaseAgent):
793
795
  + self.SYSTEM_PROMPT.split("\n", 1)[1]
794
796
  )
795
797
  system_content = _prompt_with_placeholder.replace(_CONTEXT_PLACEHOLDER, context_xml)
796
- system_content = system_content + "最后,再检查输出格式,确保满足以下要求:" + xml_prompt
798
+ system_content = system_content + "\n最后,再检查输出格式,确保满足以下要求:" + self.xml_prompt
797
799
 
798
800
  # Step 3: 构建 LLM 消息(必须包含 role=user,否则 OpenAI 兼容 API 返回 400)
799
801
  messages = [Message(role="system", content=system_content)]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "myagent-ai",
3
- "version": "1.23.61",
3
+ "version": "1.23.63",
4
4
  "description": "本地桌面端执行型AI助手 - Open Interpreter 风格 | Local Desktop Execution-Oriented AI Assistant",
5
5
  "main": "main.py",
6
6
  "bin": {
package/scripts/cli.py CHANGED
@@ -1089,14 +1089,67 @@ async def cmd_chat(args):
1089
1089
  print("错误: 必须指定 --message 或 --file", file=sys.stderr)
1090
1090
  sys.exit(1)
1091
1091
 
1092
- # Find agent config
1093
- agent_dir = Path(__file__).parent.parent / "data" / "agents" / a.agent
1092
+ # [v1.23.58] Agent 查找:先按路径查找,找不到则按名字模糊匹配
1093
+ agents_data_dir = Path(__file__).parent.parent / "data" / "agents"
1094
+ agent_dir = agents_data_dir / a.agent
1094
1095
  cfg_file = agent_dir / "config.json"
1096
+ resolved_path = a.agent # 最终解析出的 Agent 路径
1097
+
1095
1098
  if not cfg_file.exists():
1096
- print(f"错误: Agent 不存在: {a.agent}", file=sys.stderr)
1097
- sys.exit(1)
1099
+ # 按路径找不到,尝试按名字模糊查找
1100
+ found = False
1101
+ if agents_data_dir.exists():
1102
+ for dept_dir in agents_data_dir.iterdir():
1103
+ if not dept_dir.is_dir():
1104
+ continue
1105
+ for ag_dir in dept_dir.iterdir():
1106
+ if not ag_dir.is_dir():
1107
+ continue
1108
+ cf = ag_dir / "config.json"
1109
+ if cf.exists():
1110
+ try:
1111
+ ag_cfg = json.loads(cf.read_text(encoding="utf-8"))
1112
+ ag_name = ag_cfg.get("name", "")
1113
+ # 精确匹配名字
1114
+ if ag_name == a.agent:
1115
+ resolved_path = ag_dir.relative_to(agents_data_dir).as_posix()
1116
+ found = True
1117
+ break
1118
+ except Exception:
1119
+ pass
1120
+ if found:
1121
+ break
1122
+ # 如果精确匹配也没找到,尝试部分匹配(路径末尾或名字包含)
1123
+ if not found:
1124
+ for dept_dir in agents_data_dir.iterdir():
1125
+ if not dept_dir.is_dir():
1126
+ continue
1127
+ for ag_dir in dept_dir.iterdir():
1128
+ if not ag_dir.is_dir():
1129
+ continue
1130
+ cf = ag_dir / "config.json"
1131
+ if cf.exists():
1132
+ try:
1133
+ ag_cfg = json.loads(cf.read_text(encoding="utf-8"))
1134
+ ag_name = ag_cfg.get("name", "")
1135
+ ag_rel = ag_dir.relative_to(agents_data_dir).as_posix()
1136
+ if ag_rel.endswith("/" + a.agent) or a.agent in ag_name:
1137
+ resolved_path = ag_rel
1138
+ found = True
1139
+ break
1140
+ except Exception:
1141
+ pass
1142
+ if found:
1143
+ break
1144
+ if not found:
1145
+ print(f"错误: Agent 不存在: {a.agent}(请使用 Agent 路径/ID,而非名字。例如: myagent-ai chat --agent 部门名/Agent名 --message \"消息\")", file=sys.stderr)
1146
+ sys.exit(1)
1147
+
1148
+ agent_dir = agents_data_dir / resolved_path
1149
+ cfg_file = agent_dir / "config.json"
1098
1150
  cfg = json.loads(cfg_file.read_text(encoding="utf-8"))
1099
- agent_name = cfg.get("name", a.agent)
1151
+ agent_name = cfg.get("name", resolved_path)
1152
+
1100
1153
 
1101
1154
  # 验证文件是否存在
1102
1155
  files_info = ""
@@ -1124,7 +1177,7 @@ async def cmd_chat(args):
1124
1177
  # Output chat marker
1125
1178
  # 格式: __CHAT_AGENT__agent_path|agent_name|message|files__END__
1126
1179
  # files 为空字符串时表示纯文本消息
1127
- print(f"__CHAT_AGENT__{a.agent}|{agent_name}|{a.message}|{files_info}__END__")
1180
+ print(f"__CHAT_AGENT__{resolved_path}|{agent_name}|{a.message}|{files_info}__END__")
1128
1181
 
1129
1182
 
1130
1183
  async def cmd_zip(args):
package/web/api_server.py CHANGED
@@ -4011,8 +4011,11 @@ window.addEventListener('beforeunload', function() {{
4011
4011
  return web.json_response({"error": f"平台实例 {cp.display_name} 已存在(ID: {cp.id})"}, status=409)
4012
4012
  self.core.config_mgr.config.chat_platforms.append(cp)
4013
4013
  self.core.config_mgr.save()
4014
- # 热更新聊天平台
4015
- await self._hot_reload_chat_platforms()
4014
+ # [v1.23.57] 热更新加异常保护,防止配置已保存但热更新失败导致前端报错
4015
+ try:
4016
+ await self._hot_reload_chat_platforms()
4017
+ except Exception as e:
4018
+ logger.error(f"热更新聊天平台失败(新增): {e}", exc_info=True)
4016
4019
  logger.info(f"新增聊天平台: {cp.display_name} (id={cp.id})")
4017
4020
  return web.json_response({"ok": True, "id": cp.id, "platform": platform_name, "display_name": cp.display_name, "hot_reload": True})
4018
4021
 
@@ -4053,8 +4056,11 @@ window.addEventListener('beforeunload', function() {{
4053
4056
  if cp.id != old_id:
4054
4057
  logger.info(f"平台 ID 变更: {old_id} -> {cp.id}")
4055
4058
  self.core.config_mgr.save()
4056
- # 热更新聊天平台
4057
- await self._hot_reload_chat_platforms()
4059
+ # [v1.23.57] 热更新加异常保护,防止配置已保存但热更新失败导致前端报错
4060
+ try:
4061
+ await self._hot_reload_chat_platforms()
4062
+ except Exception as e:
4063
+ logger.error(f"热更新聊天平台失败(更新): {e}", exc_info=True)
4058
4064
  logger.info(f"聊天平台配置已更新: {cp.display_name} (id={cp.id})")
4059
4065
  return web.json_response({"ok": True, "id": cp.id, "hot_reload": True})
4060
4066
 
@@ -4066,8 +4072,11 @@ window.addEventListener('beforeunload', function() {{
4066
4072
  if cp.id == name or cp.platform == name:
4067
4073
  platforms.pop(i)
4068
4074
  self.core.config_mgr.save()
4069
- # 热更新聊天平台
4070
- await self._hot_reload_chat_platforms()
4075
+ # [v1.23.57] 热更新加异常保护
4076
+ try:
4077
+ await self._hot_reload_chat_platforms()
4078
+ except Exception as e:
4079
+ logger.error(f"热更新聊天平台失败(删除): {e}", exc_info=True)
4071
4080
  logger.info(f"已删除聊天平台: {cp.display_name} (id={cp.id})")
4072
4081
  return web.json_response({"ok": True, "hot_reload": True})
4073
4082
  return web.json_response({"error": f"平台 {name} 不存在"}, status=404)
@@ -7883,6 +7892,10 @@ window.addEventListener('beforeunload', function() {{
7883
7892
  - @所有人 / @all: 所有成员都需要回复
7884
7893
  - 不@任何人(广播): 你自行判断是否需要回复
7885
7894
  2. **跨Agent私下沟通**: 你可以使用 `myagent-ai chat --agent <路径> --message "消息"` 命令向群内其他Agent发送私下消息。对方会在自己下次处理消息时收到。
7895
+ - **⚠️ 必须使用 Agent 路径(ID),不能用名字!** 例如群成员列表中显示 `薇纸 [五香鸡/薇纸] (成员)`,则路径是 `五香鸡/薇纸`,不是 `薇纸`
7896
+ - 从上方「群成员列表」中找到目标Agent的 `[方括号]` 内容就是它的路径
7897
+ - 正确示例: `myagent-ai chat --agent 五香鸡/薇纸 --message "你好"`
7898
+ - 错误示例: `myagent-ai chat --agent 薇纸 --message "你好"`(名字可能重复或找不到)
7886
7899
  - 私下沟通的内容不会直接显示给用户,适合讨论细节、交换数据、协调方案
7887
7900
  - 当任务需要多个Agent协作时,应该先在群里讨论分工,然后私下沟通具体细节
7888
7901
  3. **协作分工模式**(复杂任务):
@@ -7899,7 +7912,8 @@ window.addEventListener('beforeunload', function() {{
7899
7912
  - 你只代表你自己发言,使用第一人称
7900
7913
  - 不要假装是其他Agent或代替其他Agent回答
7901
7914
  - 如果问题超出你的能力范围,建议用户@相关专家Agent
7902
- - 如果需要其他Agent的信息,使用 `myagent-ai chat` 命令私下沟通
7915
+ - 如果需要其他Agent的信息,使用 `myagent-ai chat --agent <路径>` 命令私下沟通
7916
+ **注意:--agent 参数必须使用路径(ID),不是名字!从群成员列表的[方括号]中获取路径**
7903
7917
 
7904
7918
  ### 能力提醒(关键)
7905
7919
  - 你拥有完整的工具调用能力(搜索、文件操作、代码执行、图片生成等)
@@ -8266,6 +8280,7 @@ window.addEventListener('beforeunload', function() {{
8266
8280
  + "\n".join(member_lines)
8267
8281
  + "\n\n注意:你只代表自己发言,回复时使用第一人称。"
8268
8282
  "如果消息不是跟你相关的,可以简短回复或不回复。"
8283
+ "\n向其他Agent发消息时必须使用路径(ID),不是名字。从成员列表的[方括号]中获取路径。"
8269
8284
  )
8270
8285
 
8271
8286
  if agent_system_prompt:
@@ -8429,6 +8444,7 @@ window.addEventListener('beforeunload', function() {{
8429
8444
  + "\n".join(member_lines)
8430
8445
  + "\n\n注意:你只代表自己发言,回复时使用第一人称。"
8431
8446
  "如果消息不是跟你相关的,可以简短回复或不回复。"
8447
+ "\n向其他Agent发消息时必须使用路径(ID),不是名字。从成员列表的[方括号]中获取路径。"
8432
8448
  )
8433
8449
 
8434
8450
  if agent_system_prompt:
@@ -85,6 +85,21 @@ function closeMobileSidebar(){
85
85
  document.getElementById('adminSidebar').classList.remove('mobile-open');
86
86
  document.getElementById('adminMobileOverlay').classList.remove('active');
87
87
  }
88
+ // [v1.23.57] 导航事件委托:使用 data-page 属性替代 inline onclick,避免点击偏移
89
+ (function(){
90
+ var sidebar=document.getElementById('adminSidebar');
91
+ if(sidebar){
92
+ sidebar.addEventListener('click',function(e){
93
+ var item=e.target.closest('.nav-item[data-page]');
94
+ if(!item)return;
95
+ var page=item.getAttribute('data-page');
96
+ if(page&&pages[page]){
97
+ showPage(page);
98
+ }
99
+ });
100
+ }
101
+ })();
102
+
88
103
  // Show hamburger on mobile + tap sidebar to expand on mobile
89
104
  function checkMobile(){
90
105
  const btn=document.getElementById('mobileMenuBtn');
@@ -93,9 +108,11 @@ function checkMobile(){
93
108
  window.addEventListener('resize',checkMobile);
94
109
  checkMobile();
95
110
  // [v1.18.10] 移动端点击侧滑栏窄栏区域也可展开
111
+ // [v1.23.57] 注意:nav-item 点击已由上方事件委托处理,此处仅处理背景区域点击
112
+ var _navClickBound=false;
96
113
  document.getElementById('adminSidebar')?.addEventListener('click',function(e){
97
114
  if(window.innerWidth>768)return;
98
- // 如果已经是展开状态,不处理(让 nav-item 的 onclick 正常执行)
115
+ // 如果已经是展开状态,不处理(让 nav-item 的事件委托正常执行)
99
116
  if(this.classList.contains('mobile-open'))return;
100
117
  // 只在点击侧滑栏本身(非具体按钮/链接)时展开
101
118
  if(e.target.closest('.nav-item')||e.target.closest('a')||e.target.closest('button'))return;
@@ -105,6 +122,31 @@ document.getElementById('adminSidebar')?.addEventListener('click',function(e){
105
122
  loadVersion();
106
123
  setTimeout(()=>checkUpdate(false),30000);
107
124
 
125
+ // [v1.23.57] 返回聊天:支持群聊上下文恢复
126
+ (function(){
127
+ function _buildReturnUrl(){
128
+ var params=new URLSearchParams(window.location.search);
129
+ var base='/ui/chat/chat_container.html';
130
+ // 从 URL 参数中恢复聊天状态
131
+ var agent=params.get('from_agent');
132
+ var session=params.get('from_session');
133
+ var group=params.get('from_group');
134
+ var mode=params.get('from_mode');
135
+ var parts=[];
136
+ if(agent)parts.push('a='+encodeURIComponent(agent));
137
+ if(mode)parts.push('mode='+encodeURIComponent(mode));
138
+ if(session)parts.push('s='+encodeURIComponent(session));
139
+ if(group)parts.push('group='+encodeURIComponent(group));
140
+ if(parts.length>0)base+='?'+parts.join('&');
141
+ return base;
142
+ }
143
+ var link=document.getElementById('backToChatLink');
144
+ if(link){
145
+ var url=_buildReturnUrl();
146
+ if(url!==link.getAttribute('href'))link.setAttribute('href',url);
147
+ }
148
+ })();
149
+
108
150
  function showConfirm(title,msg,onOk){
109
151
  // 使用 data 属性存储回调,onclick 中调用它并正确处理 async
110
152
  const id='confirmCallback';
@@ -119,8 +161,11 @@ function showPage(page, addHistory){
119
161
  closeMobileSidebar();
120
162
  currentPage=page;
121
163
  $('content').setAttribute('data-page',page);
122
- // [v1.23.56] 使用 onclick 属性匹配页面,而非索引(避免 DOM 与 pages 对象顺序不一致)
123
- document.querySelectorAll('.nav-item').forEach(n=>n.classList.toggle('active',n.getAttribute('onclick','').includes("'"+page+"'")));
164
+ // [v1.23.57] 使用 data-page 属性匹配,避免解析 onclick 字符串导致的错位
165
+ document.querySelectorAll('.nav-item').forEach(n=>{
166
+ var p=n.getAttribute('data-page');
167
+ n.classList.toggle('active',!!p&&p===page);
168
+ });
124
169
  $('pageTitle').textContent=pages[page]||page;
125
170
  const renderers=window._adminRenderers||{};
126
171
  if(renderers[page]){
@@ -150,8 +195,11 @@ function navigateTo(page, sub, renderFn){
150
195
  var hash=page+(sub?'~'+sub:'');
151
196
  history.pushState({page:page,sub:sub},'','#'+hash);
152
197
  // 更新导航高亮
153
- // [v1.23.56] 使用 onclick 属性匹配
154
- document.querySelectorAll('.nav-item').forEach(n=>n.classList.toggle('active',n.getAttribute('onclick','').includes("'"+page+"'")));
198
+ // [v1.23.57] 使用 data-page 属性匹配
199
+ document.querySelectorAll('.nav-item').forEach(n=>{
200
+ var p=n.getAttribute('data-page');
201
+ n.classList.toggle('active',!!p&&p===page);
202
+ });
155
203
  // 渲染页面
156
204
  if(renderFn){
157
205
  try{renderFn();}catch(e){console.error('Navigate render error:',e);}
@@ -170,8 +218,11 @@ function goBack(){
170
218
  if(renderers[prev.page]){
171
219
  try{renderers[prev.page]();}catch(e){}
172
220
  }
173
- // [v1.23.56] 使用 onclick 属性匹配
174
- document.querySelectorAll('.nav-item').forEach(n=>n.classList.toggle('active',n.getAttribute('onclick','').includes("'"+prev.page+"'")));
221
+ // [v1.23.57] 使用 data-page 属性匹配
222
+ document.querySelectorAll('.nav-item').forEach(n=>{
223
+ var p=n.getAttribute('data-page');
224
+ n.classList.toggle('active',!!p&&p===prev.page);
225
+ });
175
226
 
176
227
  }else{
177
228
  // 没有内部历史,尝试浏览器后退
@@ -185,8 +236,11 @@ window.addEventListener('popstate',function(e){
185
236
  if(s&&s.page){
186
237
  currentPage=s.page;
187
238
  _navSubState=s.sub||null;
188
- // [v1.23.56] 使用 onclick 属性匹配
189
- document.querySelectorAll('.nav-item').forEach(n=>n.classList.toggle('active',n.getAttribute('onclick','').includes("'"+s.page+"'")));
239
+ // [v1.23.57] 使用 data-page 属性匹配
240
+ document.querySelectorAll('.nav-item').forEach(n=>{
241
+ var p=n.getAttribute('data-page');
242
+ n.classList.toggle('active',!!p&&p===s.page);
243
+ });
190
244
 
191
245
  var renderers=window._adminRenderers||{};
192
246
  if(renderers[s.page]){
@@ -30,21 +30,28 @@ async function renderPlatforms(){
30
30
  </div></div>`;
31
31
  }
32
32
  html+='</div>';$('content').innerHTML=html;
33
- // [v1.23.56] 使用事件委托处理启用/停用按钮,避免 onclick 中特殊字符导致 JS 错误
34
- $('content').addEventListener('click',function _platformToggleHandler(e){
33
+ // [v1.23.57] 绑定一次性全局事件委托(不再每次渲染都添加监听器)
34
+ _bindPlatformToggleOnce();
35
+ }
36
+ // [v1.23.57] 完全重写启用/停用逻辑:使用 data-page 事件委托,修复 enabled 变量名错误
37
+ var _platformToggleBound=false;
38
+ function _bindPlatformToggleOnce(){
39
+ if(_platformToggleBound)return;
40
+ _platformToggleBound=true;
41
+ document.addEventListener('click',function(e){
35
42
  var btn=e.target.closest('[data-toggle-platform]');
36
43
  if(!btn)return;
37
44
  var id=btn.getAttribute('data-toggle-platform');
38
45
  var state=btn.getAttribute('data-toggle-state')==='true';
39
- togglePlatform(id,state);
46
+ _doTogglePlatform(id,state);
40
47
  e.stopPropagation();
41
48
  });
42
49
  }
43
- async function togglePlatform(id,enable){
50
+ async function _doTogglePlatform(id,enabled){
44
51
  try{
45
- var r=await api('/api/platforms/'+encodeURIComponent(id)+'/toggle',{method:'POST',body:JSON.stringify({enabled})});
52
+ var r=await api('/api/platforms/'+encodeURIComponent(id)+'/toggle',{method:'POST',body:JSON.stringify({enabled:enabled})});
46
53
  if(r.error){showToast('操作失败: '+r.error,'danger');return}
47
- showToast(enable?'平台已启用':'平台已停用',enable?'success':'info');
54
+ showToast(enabled?'平台已启用':'平台已停用',enabled?'success':'info');
48
55
  renderPlatforms();
49
56
  }catch(e){showToast('请求异常: '+e.message,'danger')}
50
57
  }
@@ -50,7 +50,7 @@
50
50
  </div>
51
51
 
52
52
  <div class="sidebar-footer">
53
- <button class="sidebar-footer-btn" onclick="window.location.href='/ui/index.html'">
53
+ <button class="sidebar-footer-btn" onclick="goToAdmin()">
54
54
  <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="3"/><path d="M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83-2.83l.06-.06A1.65 1.65 0 0 0 4.68 15a1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 2.83-2.83l.06.06A1.65 1.65 0 0 0 9 4.68a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 2.83l-.06.06A1.65 1.65 0 0 0 19.4 9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z"/></svg>
55
55
  后台管理
56
56
  </button>
@@ -86,6 +86,24 @@ function closeMobileAgentPanel() {
86
86
  if (overlay) overlay.classList.remove('active');
87
87
  }
88
88
 
89
+ // [v1.23.57] 跳转后台管理:携带当前聊天上下文(agent、session、群聊),以便"返回聊天"正确恢复
90
+ function goToAdmin() {
91
+ var params = new URLSearchParams();
92
+ var page = 'dashboard';
93
+ // 传递当前聊天状态,供"返回聊天"恢复
94
+ if (state.currentAgent) params.set('from_agent', state.currentAgent);
95
+ if (state.chatMode) params.set('from_mode', state.chatMode);
96
+ if (state.activeSessionId) params.set('from_session', state.activeSessionId);
97
+ if (typeof currentView !== 'undefined' && currentView === 'group' && typeof currentGroupId !== 'undefined' && currentGroupId) {
98
+ params.set('from_group', currentGroupId);
99
+ }
100
+ // 保留原始 ?page= 参数
101
+ var origParams = new URLSearchParams(window.location.search);
102
+ if (origParams.get('page')) page = origParams.get('page');
103
+ var qs = params.toString();
104
+ window.location.href = '/ui/index.html' + (page !== 'dashboard' ? '?page=' + page + (qs ? '&' + qs : '') : (qs ? '?' + qs : ''));
105
+ }
106
+
89
107
  // Mobile overlay click closes both panels
90
108
  document.addEventListener('click', function(e) {
91
109
  if (e.target && e.target.id === 'chatMobileOverlay') {
@@ -357,6 +375,8 @@ async function initChat() {
357
375
  const urlMode = urlParams.get('mode');
358
376
  const urlSession = UrlCodec.decode(urlParams.get('s') || '') || UrlCodec.decode(urlParams.get('session') || '');
359
377
  const isPopout = urlParams.get('popout') === '1';
378
+ // [v1.23.57] 支持从后台管理"返回聊天"时恢复群聊状态
379
+ const urlGroup = urlParams.get('group');
360
380
  if (urlMode === 'chat' || urlMode === 'exec') {
361
381
  state.chatMode = urlMode;
362
382
  }
@@ -485,6 +505,10 @@ async function initChat() {
485
505
  // 等待 fetchGroups 完成(initChat 中已调用),延迟恢复
486
506
  setTimeout(function() { selectGroup(_gid); }, 300);
487
507
  }
508
+ // [v1.23.57] 从后台管理"返回聊天"时,URL 参数优先恢复群聊
509
+ if (urlGroup && typeof selectGroup === 'function') {
510
+ setTimeout(function() { selectGroup(urlGroup); }, 300);
511
+ }
488
512
  }
489
513
 
490
514
  // Run init: if DOMContentLoaded already fired (dynamic script load), run immediately
@@ -1441,7 +1465,7 @@ function renderRpDeptNode(dept, depth) {
1441
1465
  if (dept.head) html += ' <span style="font-size:10px;color:var(--accent)">👑</span>';
1442
1466
  // [v1.23.51] 部门节点直接显示群聊入口按钮
1443
1467
  if (hasGroupChat) {
1444
- html += ' <button class="rp-dept-group-btn" onclick="event.stopPropagation();openDeptGroupChat(\x27' + escapeHtml(chatGroupId) + '\x27)" title="进入部门群聊">💬</button>';
1468
+ html += ' <button class="rp-dept-group-btn" onclick="event.stopPropagation();openDeptGroupChat(\'' + escapeHtml(chatGroupId) + '\')" title="进入部门群聊">💬</button>';
1445
1469
  }
1446
1470
  html += '</div>';
1447
1471
 
@@ -2107,16 +2131,17 @@ function renderSessions(filter = '') {
2107
2131
  var g = groups[i];
2108
2132
  var isActive = g.id === currentGroupId;
2109
2133
  var memberCount = (g.members || []).length;
2110
- html += '<div class="session-item ' + (isActive ? 'active' : '') + '" onclick="selectGroup(\x27' + escapeHtml(g.id) + '\x27)" title="' + escapeHtml(g.name) + '">'
2111
- + '<div class="session-icon" style="font-size:16px">' + escapeHtml(g.avatar_emoji || g.emoji || '\ud83d\udc65') + '</div>'
2134
+ html += '<div class="session-item ' + (isActive ? 'active' : '') + '" onclick="selectGroup(\'' + escapeHtml(g.id) + '\')" title="' + escapeHtml(g.name) + '">'
2135
+ + '<div class="session-icon" style="font-size:16px">' + escapeHtml(g.avatar_emoji || g.emoji || '👥') + '</div>'
2112
2136
  + '<div class="session-info">'
2113
2137
  + '<div class="session-name">' + escapeHtml(g.name) + '</div>'
2114
2138
  + '<div class="session-preview">' + escapeHtml(g.description || (memberCount + ' 位成员')) + '</div>'
2115
2139
  + '</div>'
2116
2140
  + '</div>';
2117
2141
  }
2142
+ // 在列表顶部添加"返回个人聊天"按钮
2118
2143
  html = '<div class="session-item" onclick="exitGroupChat()" title="返回个人聊天" style="border-bottom:1px solid var(--border);margin-bottom:4px">'
2119
- + '<div class="session-icon" style="font-size:16px">\ud83d\udd19</div>'
2144
+ + '<div class="session-icon" style="font-size:16px">🔙</div>'
2120
2145
  + '<div class="session-info"><div class="session-name">返回个人聊天</div><div class="session-preview">退出群聊视图</div></div>'
2121
2146
  + '</div>' + html;
2122
2147
  list.innerHTML = html;
package/web/ui/index.html CHANGED
@@ -192,7 +192,7 @@ tr:hover{background:var(--surface2)}
192
192
  box-shadow:0 2px 8px rgba(0,0,0,.15);
193
193
  }
194
194
  .sidebar.collapsed .nav-item:hover::after{opacity:1;visibility:visible}
195
- .sidebar-toggle{position:absolute;top:50%;right:-14px;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;background:var(--surface);border:1px solid var(--border);display:grid;place-items:center;cursor:pointer;z-index:25;color:var(--text2);font-size:14px;transition:all .15s}
195
+ .sidebar-toggle{position:absolute;top:0;right:-14px;transform:translateY(14px);width:28px;height:28px;border-radius:50%;background:var(--surface);border:1px solid var(--border);display:grid;place-items:center;cursor:pointer;z-index:25;color:var(--text2);font-size:14px;transition:all .15s}
196
196
  .sidebar-toggle:hover{background:var(--primary);color:#fff;border-color:var(--primary)}
197
197
  .header-btn{width:36px;height:36px;border-radius:6px;display:grid;place-items:center;color:var(--text2);cursor:pointer;border:none;background:none;transition:all .15s}
198
198
  .header-btn:hover{background:var(--surface2);color:var(--text)}
@@ -322,22 +322,22 @@ tr:hover{background:var(--surface2)}
322
322
  <div class="logo"><span>🤖</span> <span class="logo-text">MyAgent</span></div>
323
323
  <div class="nav">
324
324
  <div style="flex:1;overflow-y:auto;padding:8px 0;min-height:0">
325
- <div class="nav-item active" data-tooltip="仪表盘" onclick="showPage('dashboard')"><span class="icon">📊</span><span class="icon-text">仪表盘</span></div>
326
- <div class="nav-item" data-tooltip="Agent 管理" onclick="showPage('agents')"><span class="icon">🤖</span><span class="icon-text">Agent 管理</span></div>
327
- <div class="nav-item" data-tooltip="聊天平台" onclick="showPage('platforms')"><span class="icon">🌐</span><span class="icon-text">聊天平台</span></div>
328
- <div class="nav-item" data-tooltip="组织管理" onclick="showPage('organization')"><span class="icon">🏢</span><span class="icon-text">组织管理</span></div>
329
- <div class="nav-item" data-tooltip="部门管理" onclick="showPage('departments')"><span class="icon">🏛</span><span class="icon-text">部门管理</span></div>
330
- <div class="nav-item" data-tooltip="Agent私聊" onclick="showPage('agentchat')"><span class="icon">🔒</span><span class="icon-text">Agent私聊</span></div>
331
- <div class="nav-item" data-tooltip="会话管理" onclick="showPage('sessions')"><span class="icon">💬</span><span class="icon-text">会话管理</span></div>
332
- <div class="nav-item" data-tooltip="记忆管理" onclick="showPage('memory')"><span class="icon">🧠</span><span class="icon-text">记忆管理</span></div>
333
- <div class="nav-item" data-tooltip="权限管理" onclick="showPage('permissions')"><span class="icon">🔑</span><span class="icon-text">权限管理</span></div>
334
- <div class="nav-item" data-tooltip="大模型设置" onclick="showPage('llm')"><span class="icon">🧬</span><span class="icon-text">大模型设置</span></div>
335
- <div class="nav-item" data-tooltip="系统配置" onclick="showPage('system')"><span class="icon">⚙️</span><span class="icon-text">系统配置</span></div>
336
- <div class="nav-item" data-tooltip="执行引擎" onclick="showPage('executor')"><span class="icon">🔧</span><span class="icon-text">执行引擎</span></div>
337
- <div class="nav-item" data-tooltip="技能管理" onclick="showPage('skills')"><span class="icon">🛠</span><span class="icon-text">技能管理</span></div>
338
- <div class="nav-item" data-tooltip="工作目录" onclick="showPage('files')"><span class="icon">📁</span><span class="icon-text">工作目录</span></div>
339
- <div class="nav-item" data-tooltip="查看日志" onclick="showPage('logs')"><span class="icon">📜</span><span class="icon-text">查看日志</span></div>
340
- <div class="nav-item" data-tooltip="任务记录" onclick="showPage('tasks')"><span class="icon">📌</span><span class="icon-text">任务记录</span></div>
325
+ <div class="nav-item active" data-tooltip="仪表盘" data-page="dashboard"><span class="icon">📊</span><span class="icon-text">仪表盘</span></div>
326
+ <div class="nav-item" data-tooltip="Agent 管理" data-page="agents"><span class="icon">🤖</span><span class="icon-text">Agent 管理</span></div>
327
+ <div class="nav-item" data-tooltip="聊天平台" data-page="platforms"><span class="icon">🌐</span><span class="icon-text">聊天平台</span></div>
328
+ <div class="nav-item" data-tooltip="组织管理" data-page="organization"><span class="icon">🏢</span><span class="icon-text">组织管理</span></div>
329
+ <div class="nav-item" data-tooltip="部门管理" data-page="departments"><span class="icon">🏛</span><span class="icon-text">部门管理</span></div>
330
+ <div class="nav-item" data-tooltip="Agent私聊" data-page="agentchat"><span class="icon">🔒</span><span class="icon-text">Agent私聊</span></div>
331
+ <div class="nav-item" data-tooltip="会话管理" data-page="sessions"><span class="icon">💬</span><span class="icon-text">会话管理</span></div>
332
+ <div class="nav-item" data-tooltip="记忆管理" data-page="memory"><span class="icon">🧠</span><span class="icon-text">记忆管理</span></div>
333
+ <div class="nav-item" data-tooltip="权限管理" data-page="permissions"><span class="icon">🔑</span><span class="icon-text">权限管理</span></div>
334
+ <div class="nav-item" data-tooltip="大模型设置" data-page="llm"><span class="icon">🧬</span><span class="icon-text">大模型设置</span></div>
335
+ <div class="nav-item" data-tooltip="系统配置" data-page="system"><span class="icon">⚙️</span><span class="icon-text">系统配置</span></div>
336
+ <div class="nav-item" data-tooltip="执行引擎" data-page="executor"><span class="icon">🔧</span><span class="icon-text">执行引擎</span></div>
337
+ <div class="nav-item" data-tooltip="技能管理" data-page="skills"><span class="icon">🛠</span><span class="icon-text">技能管理</span></div>
338
+ <div class="nav-item" data-tooltip="工作目录" data-page="files"><span class="icon">📁</span><span class="icon-text">工作目录</span></div>
339
+ <div class="nav-item" data-tooltip="查看日志" data-page="logs"><span class="icon">📜</span><span class="icon-text">查看日志</span></div>
340
+ <div class="nav-item" data-tooltip="任务记录" data-page="tasks"><span class="icon">📌</span><span class="icon-text">任务记录</span></div>
341
341
  </div>
342
342
  <div style="padding:10px 12px;border-top:1px solid var(--border);margin-top:4px;font-size:12px;color:var(--text2);flex-shrink:0" class="sidebar-footer-text">
343
343
  <span id="sidebarVersion">v...</span>
@@ -350,7 +350,7 @@ tr:hover{background:var(--surface2)}
350
350
  <div class="mobile-overlay" id="adminMobileOverlay" onclick="closeMobileSidebar()"></div>
351
351
  <div class="main">
352
352
  <div class="header"><div style="display:flex;align-items:center;gap:12px"><button class="header-btn" id="mobileMenuBtn" onclick="toggleMobileSidebar()" style="display:none" title="菜单"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" width="20" height="20"><line x1="3" y1="6" x2="21" y2="6"/><line x1="3" y1="12" x2="21" y2="12"/><line x1="3" y1="18" x2="21" y2="18"/></svg></button><h2 id="pageTitle">📊 仪表盘</h2><button class="header-btn" id="themeToggle" title="切换主题"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" width="18" height="18"><circle cx="12" cy="12" r="5"/><line x1="12" y1="1" x2="12" y2="3"/><line x1="12" y1="21" x2="12" y2="23"/><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"/><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"/><line x1="1" y1="12" x2="3" y2="12"/><line x1="21" y1="12" x2="23" y2="12"/><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"/><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"/></svg></button></div><div style="display:flex;align-items:center;gap:8px"><span class="status-dot"></span>运行中</div></div>
353
- <div id="backToChatBar" style="padding:8px 24px;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px"><a href="/ui/chat/chat_container.html" style="display:inline-flex;align-items:center;gap:4px;font-size:13px;color:var(--primary);text-decoration:none;white-space:nowrap;padding:4px 10px;border-radius:6px;border:1px solid var(--border);transition:all .15s" onmouseover="this.style.background='var(--surface2)'" onmouseout="this.style.background='transparent'"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" width="14" height="14"><polyline points="15 18 9 12 15 6"/></svg>返回聊天</a><span style="font-size:12px;color:var(--text3)">← 管理后台</span></div>
353
+ <div id="backToChatBar" style="padding:8px 24px;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px"><a id="backToChatLink" href="/ui/chat/chat_container.html" style="display:inline-flex;align-items:center;gap:4px;font-size:13px;color:var(--primary);text-decoration:none;white-space:nowrap;padding:4px 10px;border-radius:6px;border:1px solid var(--border);transition:all .15s" onmouseover="this.style.background='var(--surface2)'" onmouseout="this.style.background='transparent'"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" width="14" height="14"><polyline points="15 18 9 12 15 6"/></svg>返回聊天</a><span style="font-size:12px;color:var(--text3)">← 管理后台</span></div>
354
354
  <div class="content" id="content"></div>
355
355
  </div>
356
356
  <div id="modalContainer"></div>
@@ -1,54 +0,0 @@
1
- # MyAgent - 本地桌面端执行型 AI 助手
2
- # Docker 构建文件 (主要用于服务器部署)
3
- FROM python:3.13-slim
4
-
5
- WORKDIR /app
6
-
7
- # 安装系统依赖
8
- # [v1.16.18] 包含 poppler-utils (PDF提取)、Chrome 共享库 (浏览器自动化)
9
- RUN apt-get update && apt-get install -y --no-install-recommends \
10
- python3-pip \
11
- poppler-utils \
12
- # Chrome/Chromium 运行所需的共享库
13
- libnss3 \
14
- libatk1.0-0 \
15
- libatk-bridge2.0-0 \
16
- libcups2 \
17
- libdrm2 \
18
- libxkbcommon0 \
19
- libxcomposite1 \
20
- libxdamage1 \
21
- libxfixes3 \
22
- libxrandr2 \
23
- libgbm1 \
24
- libpango-1.0-0 \
25
- libcairo2 \
26
- libasound2 \
27
- libatspi2.0-0 \
28
- # Node.js (浏览器自动化 MCP 需要)
29
- nodejs \
30
- npm \
31
- && rm -rf /var/lib/apt/lists/*
32
-
33
- # 安装 Puppeteer 的 Chrome (自包含,容器环境最可靠)
34
- RUN npx -y puppeteer browsers install chrome@stable || true
35
-
36
- # 安装 Python 依赖
37
- COPY requirements.txt .
38
- RUN pip install --no-cache-dir -r requirements.txt
39
-
40
- # 复制代码
41
- COPY . .
42
-
43
- # 创建数据目录
44
- RUN mkdir -p data logs
45
-
46
- # 环境变量
47
- ENV MYAGENT_APP_DATA_DIR=data
48
- ENV MYAGENT_APP_LOG_FILE=logs/myagent.log
49
-
50
- # HTTP API 模式
51
- EXPOSE 8080
52
-
53
- # 启动
54
- CMD ["python", "main.py", "--server", "--host", "0.0.0.0", "--port", "8080"]