myagent-ai 1.23.73 → 1.23.75

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 (740) hide show
  1. package/core/agent_storage.py +482 -0
  2. package/package.json +1 -1
  3. package/scripts/cli.py +71 -16
  4. package/web/api_server.py +258 -346
  5. package/myagent/Dockerfile +0 -54
  6. package/myagent/README.md +0 -375
  7. package/myagent/agents/__init__.py +0 -6
  8. package/myagent/agents/base.py +0 -441
  9. package/myagent/agents/main_agent.py +0 -1703
  10. package/myagent/agents/memory_agent.py +0 -423
  11. package/myagent/agents/tool_agent.py +0 -248
  12. package/myagent/chatbot/__init__.py +0 -5
  13. package/myagent/chatbot/base.py +0 -124
  14. package/myagent/chatbot/discord_bot.py +0 -146
  15. package/myagent/chatbot/feishu_bot.py +0 -548
  16. package/myagent/chatbot/manager.py +0 -271
  17. package/myagent/chatbot/qq_bot.py +0 -189
  18. package/myagent/chatbot/telegram_bot.py +0 -167
  19. package/myagent/chatbot/wechat_bot.py +0 -558
  20. package/myagent/chatbot/whatsapp_bot.py +0 -330
  21. package/myagent/chatbot/whatsapp_bridge/bridge.mjs +0 -192
  22. package/myagent/chatbot/whatsapp_bridge/package.json +0 -11
  23. package/myagent/communication/__init__.py +0 -66
  24. package/myagent/communication/channel.py +0 -576
  25. package/myagent/communication/crypto.py +0 -347
  26. package/myagent/communication/manager.py +0 -417
  27. package/myagent/communication/peer.py +0 -156
  28. package/myagent/config.py +0 -533
  29. package/myagent/core/__init__.py +0 -4
  30. package/myagent/core/config_broadcast.py +0 -307
  31. package/myagent/core/config_validator.py +0 -740
  32. package/myagent/core/context_builder.py +0 -955
  33. package/myagent/core/context_manager.py +0 -506
  34. package/myagent/core/deps_checker.py +0 -542
  35. package/myagent/core/llm.py +0 -1046
  36. package/myagent/core/logger.py +0 -295
  37. package/myagent/core/output_parser.py +0 -694
  38. package/myagent/core/permissions.py +0 -372
  39. package/myagent/core/stt.py +0 -320
  40. package/myagent/core/task_persistence.py +0 -359
  41. package/myagent/core/task_queue.py +0 -440
  42. package/myagent/core/tool_dispatcher.py +0 -758
  43. package/myagent/core/update_manager.py +0 -1392
  44. package/myagent/core/utils.py +0 -202
  45. package/myagent/core/version.py +0 -71
  46. package/myagent/core/vnc_manager.py +0 -1211
  47. package/myagent/core/web_control.py +0 -729
  48. package/myagent/data/novnc/lib/base64.js +0 -101
  49. package/myagent/data/novnc/lib/decoders/copyrect.js +0 -42
  50. package/myagent/data/novnc/lib/decoders/hextile.js +0 -199
  51. package/myagent/data/novnc/lib/decoders/jpeg.js +0 -149
  52. package/myagent/data/novnc/lib/decoders/raw.js +0 -74
  53. package/myagent/data/novnc/lib/decoders/rre.js +0 -54
  54. package/myagent/data/novnc/lib/decoders/tight.js +0 -302
  55. package/myagent/data/novnc/lib/decoders/tightpng.js +0 -47
  56. package/myagent/data/novnc/lib/decoders/zrle.js +0 -188
  57. package/myagent/data/novnc/lib/deflator.js +0 -85
  58. package/myagent/data/novnc/lib/des.js +0 -301
  59. package/myagent/data/novnc/lib/display.js +0 -520
  60. package/myagent/data/novnc/lib/encodings.js +0 -63
  61. package/myagent/data/novnc/lib/inflator.js +0 -74
  62. package/myagent/data/novnc/lib/input/domkeytable.js +0 -314
  63. package/myagent/data/novnc/lib/input/fixedkeys.js +0 -128
  64. package/myagent/data/novnc/lib/input/gesturehandler.js +0 -575
  65. package/myagent/data/novnc/lib/input/keyboard.js +0 -280
  66. package/myagent/data/novnc/lib/input/keysym.js +0 -879
  67. package/myagent/data/novnc/lib/input/keysymdef.js +0 -1352
  68. package/myagent/data/novnc/lib/input/util.js +0 -217
  69. package/myagent/data/novnc/lib/input/vkeys.js +0 -122
  70. package/myagent/data/novnc/lib/input/xtscancodes.js +0 -344
  71. package/myagent/data/novnc/lib/ra2.js +0 -1005
  72. package/myagent/data/novnc/lib/rfb.js +0 -3324
  73. package/myagent/data/novnc/lib/util/browser.js +0 -150
  74. package/myagent/data/novnc/lib/util/cursor.js +0 -265
  75. package/myagent/data/novnc/lib/util/element.js +0 -41
  76. package/myagent/data/novnc/lib/util/events.js +0 -133
  77. package/myagent/data/novnc/lib/util/eventtarget.js +0 -55
  78. package/myagent/data/novnc/lib/util/int.js +0 -21
  79. package/myagent/data/novnc/lib/util/logging.js +0 -61
  80. package/myagent/data/novnc/lib/util/md5.js +0 -77
  81. package/myagent/data/novnc/lib/util/strings.js +0 -36
  82. package/myagent/data/novnc/lib/vendor/pako/lib/utils/common.js +0 -58
  83. package/myagent/data/novnc/lib/vendor/pako/lib/zlib/adler32.js +0 -29
  84. package/myagent/data/novnc/lib/vendor/pako/lib/zlib/constants.js +0 -48
  85. package/myagent/data/novnc/lib/vendor/pako/lib/zlib/crc32.js +0 -35
  86. package/myagent/data/novnc/lib/vendor/pako/lib/zlib/deflate.js +0 -1755
  87. package/myagent/data/novnc/lib/vendor/pako/lib/zlib/gzheader.js +0 -41
  88. package/myagent/data/novnc/lib/vendor/pako/lib/zlib/inffast.js +0 -329
  89. package/myagent/data/novnc/lib/vendor/pako/lib/zlib/inflate.js +0 -1626
  90. package/myagent/data/novnc/lib/vendor/pako/lib/zlib/inftrees.js +0 -312
  91. package/myagent/data/novnc/lib/vendor/pako/lib/zlib/messages.js +0 -26
  92. package/myagent/data/novnc/lib/vendor/pako/lib/zlib/trees.js +0 -1157
  93. package/myagent/data/novnc/lib/vendor/pako/lib/zlib/zstream.js +0 -30
  94. package/myagent/data/novnc/lib/websock.js +0 -384
  95. package/myagent/data/uploads/2026-04/32c9e9d3-8cf_test.pdf.pdf +0 -1
  96. package/myagent/departments/__init__.py +0 -4
  97. package/myagent/departments/manager.py +0 -1015
  98. package/myagent/docs//351/205/215/347/275/256/344/275/277/347/224/250/350/257/264/346/230/216.md +0 -815
  99. package/myagent/download/README.md +0 -1
  100. package/myagent/executor/__init__.py +0 -4
  101. package/myagent/executor/engine.py +0 -1591
  102. package/myagent/groups/__init__.py +0 -15
  103. package/myagent/groups/manager.py +0 -815
  104. package/myagent/install/install.ps1 +0 -171
  105. package/myagent/install/install.sh +0 -258
  106. package/myagent/install/uninstall.ps1 +0 -142
  107. package/myagent/install/uninstall.sh +0 -149
  108. package/myagent/install.ps1 +0 -97
  109. package/myagent/knowledge/__init__.py +0 -4
  110. package/myagent/knowledge/rag.py +0 -444
  111. package/myagent/main.py +0 -1808
  112. package/myagent/memory/__init__.py +0 -4
  113. package/myagent/memory/manager.py +0 -1140
  114. package/myagent/myagent_start.ps1 +0 -26
  115. package/myagent/organization/__init__.py +0 -4
  116. package/myagent/organization/manager.py +0 -366
  117. package/myagent/package.json +0 -46
  118. package/myagent/requirements-optional.txt +0 -16
  119. package/myagent/requirements.txt +0 -90
  120. package/myagent/scripts/cli.py +0 -1329
  121. package/myagent/scripts/setup_helper.py +0 -33
  122. package/myagent/setup.py +0 -72
  123. package/myagent/skills/ASR/LICENSE.txt +0 -21
  124. package/myagent/skills/ASR/SKILL.md +0 -580
  125. package/myagent/skills/ASR/scripts/asr.ts +0 -27
  126. package/myagent/skills/LLM/LICENSE.txt +0 -21
  127. package/myagent/skills/LLM/SKILL.md +0 -856
  128. package/myagent/skills/LLM/scripts/chat.ts +0 -32
  129. package/myagent/skills/TTS/LICENSE.txt +0 -21
  130. package/myagent/skills/TTS/SKILL.md +0 -735
  131. package/myagent/skills/TTS/tts.ts +0 -25
  132. package/myagent/skills/VLM/LICENSE.txt +0 -21
  133. package/myagent/skills/VLM/SKILL.md +0 -588
  134. package/myagent/skills/VLM/scripts/vlm.ts +0 -57
  135. package/myagent/skills/__init__.py +0 -5
  136. package/myagent/skills/agent-browser/SKILL.md +0 -328
  137. package/myagent/skills/agent_tool_skill.py +0 -113
  138. package/myagent/skills/ai-news-collectors/SKILL.md +0 -157
  139. package/myagent/skills/ai-news-collectors/_meta.json +0 -6
  140. package/myagent/skills/ai-news-collectors/references/sources.md +0 -128
  141. package/myagent/skills/aminer-open-academic/SKILL.md +0 -312
  142. package/myagent/skills/aminer-open-academic/_meta.json +0 -6
  143. package/myagent/skills/aminer-open-academic/evals/evals.json +0 -46
  144. package/myagent/skills/aminer-open-academic/references/api-catalog.md +0 -1032
  145. package/myagent/skills/aminer-open-academic/scripts/aminer_client.py +0 -875
  146. package/myagent/skills/auto-target-tracker/SKILL.md +0 -317
  147. package/myagent/skills/base.py +0 -153
  148. package/myagent/skills/blog-writer/2024-02-17-radical-transparency-sales.md +0 -35
  149. package/myagent/skills/blog-writer/2024-02-17-raycast-spotlight-superpowers.md +0 -33
  150. package/myagent/skills/blog-writer/2024-02-17-short-form-content-marketing.md +0 -47
  151. package/myagent/skills/blog-writer/2024-02-17-typing-speed-benefits.md +0 -33
  152. package/myagent/skills/blog-writer/2024-03-14-effective-ai-prompts.md +0 -55
  153. package/myagent/skills/blog-writer/2024-11-08-ai-revolutionizing-entry-level-sales.md +0 -43
  154. package/myagent/skills/blog-writer/2025-11-12-why-ai-art-is-useless.md +0 -49
  155. package/myagent/skills/blog-writer/README.md +0 -2
  156. package/myagent/skills/blog-writer/SKILL.md +0 -158
  157. package/myagent/skills/blog-writer/_meta.json +0 -6
  158. package/myagent/skills/blog-writer/manage_examples.py +0 -90
  159. package/myagent/skills/blog-writer/style-guide.md +0 -160
  160. package/myagent/skills/browser_skill.py +0 -32
  161. package/myagent/skills/charts/LICENSE.txt +0 -13
  162. package/myagent/skills/charts/SKILL.md +0 -427
  163. package/myagent/skills/charts/references/_rules.md +0 -49
  164. package/myagent/skills/charts/references/d3.md +0 -199
  165. package/myagent/skills/charts/references/echarts.md +0 -651
  166. package/myagent/skills/charts/references/matplotlib.md +0 -617
  167. package/myagent/skills/charts/references/mermaid.md +0 -797
  168. package/myagent/skills/charts/references/mindmap-css.md +0 -911
  169. package/myagent/skills/charts/references/playwright-css.md +0 -801
  170. package/myagent/skills/charts/references/radial-grid.md +0 -576
  171. package/myagent/skills/charts/references/seaborn.md +0 -324
  172. package/myagent/skills/charts/setup.sh +0 -228
  173. package/myagent/skills/chromedev_mcp.py +0 -1669
  174. package/myagent/skills/coding-agent/SKILL.md +0 -120
  175. package/myagent/skills/coding-agent/_meta.json +0 -6
  176. package/myagent/skills/coding-agent/criteria.md +0 -48
  177. package/myagent/skills/coding-agent/execution.md +0 -42
  178. package/myagent/skills/coding-agent/memory-template.md +0 -38
  179. package/myagent/skills/coding-agent/planning.md +0 -31
  180. package/myagent/skills/coding-agent/state.md +0 -60
  181. package/myagent/skills/coding-agent/verification.md +0 -39
  182. package/myagent/skills/content-strategy/SKILL.md +0 -181
  183. package/myagent/skills/content-strategy/_meta.json +0 -6
  184. package/myagent/skills/contentanalysis/ExtractWisdom/SKILL.md +0 -229
  185. package/myagent/skills/contentanalysis/ExtractWisdom/Workflows/Extract.md +0 -60
  186. package/myagent/skills/contentanalysis/SKILL.md +0 -14
  187. package/myagent/skills/docx/LICENSE.txt +0 -13
  188. package/myagent/skills/docx/SKILL.md +0 -201
  189. package/myagent/skills/docx/references/chart-templates.md +0 -386
  190. package/myagent/skills/docx/references/common-rules.md +0 -419
  191. package/myagent/skills/docx/references/decorations.md +0 -538
  192. package/myagent/skills/docx/references/design-system.md +0 -1797
  193. package/myagent/skills/docx/references/docx-js-advanced.md +0 -257
  194. package/myagent/skills/docx/references/docx-js-core.md +0 -333
  195. package/myagent/skills/docx/references/faq.md +0 -323
  196. package/myagent/skills/docx/references/math-formulas.md +0 -276
  197. package/myagent/skills/docx/references/ooxml.md +0 -222
  198. package/myagent/skills/docx/references/toc.md +0 -264
  199. package/myagent/skills/docx/routes/comment.md +0 -88
  200. package/myagent/skills/docx/routes/create.md +0 -207
  201. package/myagent/skills/docx/routes/edit.md +0 -115
  202. package/myagent/skills/docx/routes/format.md +0 -120
  203. package/myagent/skills/docx/routes/read.md +0 -114
  204. package/myagent/skills/docx/scenes/academic.md +0 -783
  205. package/myagent/skills/docx/scenes/contract.md +0 -463
  206. package/myagent/skills/docx/scenes/copywriting.md +0 -139
  207. package/myagent/skills/docx/scenes/exam.md +0 -698
  208. package/myagent/skills/docx/scenes/official-doc.md +0 -411
  209. package/myagent/skills/docx/scenes/report.md +0 -340
  210. package/myagent/skills/docx/scenes/resume.md +0 -534
  211. package/myagent/skills/docx/scripts/__init__.py +0 -1
  212. package/myagent/skills/docx/scripts/add_toc_placeholders.py +0 -749
  213. package/myagent/skills/docx/scripts/document.py +0 -1333
  214. package/myagent/skills/docx/scripts/postcheck.py +0 -807
  215. package/myagent/skills/docx/scripts/templates/comments.xml +0 -3
  216. package/myagent/skills/docx/scripts/templates/commentsExtended.xml +0 -3
  217. package/myagent/skills/docx/scripts/templates/commentsExtensible.xml +0 -3
  218. package/myagent/skills/docx/scripts/templates/commentsIds.xml +0 -3
  219. package/myagent/skills/docx/scripts/templates/people.xml +0 -3
  220. package/myagent/skills/docx/scripts/utilities.py +0 -374
  221. package/myagent/skills/docx/setup.sh +0 -177
  222. package/myagent/skills/docx_skill.py +0 -213
  223. package/myagent/skills/dream-interpreter/SKILL.md +0 -88
  224. package/myagent/skills/dream-interpreter/assets/example_asset.txt +0 -24
  225. package/myagent/skills/dream-interpreter/references/api_reference.md +0 -34
  226. package/myagent/skills/dream-interpreter/references/interpretation-guide.md +0 -83
  227. package/myagent/skills/dream-interpreter/references/output-schema.md +0 -65
  228. package/myagent/skills/dream-interpreter/references/questioning-strategy.md +0 -62
  229. package/myagent/skills/dream-interpreter/references/visual-mapping.md +0 -81
  230. package/myagent/skills/dream-interpreter/scripts/example.py +0 -19
  231. package/myagent/skills/dream-interpreter/skill.json +0 -7
  232. package/myagent/skills/example-skill/SKILL.md +0 -33
  233. package/myagent/skills/example-skill/run.sh +0 -11
  234. package/myagent/skills/file_send.py +0 -142
  235. package/myagent/skills/file_skill.py +0 -573
  236. package/myagent/skills/finance/Finance_API_Doc.md +0 -445
  237. package/myagent/skills/finance/SKILL.md +0 -53
  238. package/myagent/skills/frontend-dev/SKILL.md +0 -567
  239. package/myagent/skills/frontend-dev/canvas-fonts/ArsenalSC-OFL.txt +0 -93
  240. package/myagent/skills/frontend-dev/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
  241. package/myagent/skills/frontend-dev/canvas-fonts/BigShoulders-Bold.ttf +0 -0
  242. package/myagent/skills/frontend-dev/canvas-fonts/BigShoulders-OFL.txt +0 -93
  243. package/myagent/skills/frontend-dev/canvas-fonts/BigShoulders-Regular.ttf +0 -0
  244. package/myagent/skills/frontend-dev/canvas-fonts/Boldonse-OFL.txt +0 -93
  245. package/myagent/skills/frontend-dev/canvas-fonts/Boldonse-Regular.ttf +0 -0
  246. package/myagent/skills/frontend-dev/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
  247. package/myagent/skills/frontend-dev/canvas-fonts/BricolageGrotesque-OFL.txt +0 -93
  248. package/myagent/skills/frontend-dev/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
  249. package/myagent/skills/frontend-dev/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
  250. package/myagent/skills/frontend-dev/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
  251. package/myagent/skills/frontend-dev/canvas-fonts/CrimsonPro-OFL.txt +0 -93
  252. package/myagent/skills/frontend-dev/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
  253. package/myagent/skills/frontend-dev/canvas-fonts/DMMono-OFL.txt +0 -93
  254. package/myagent/skills/frontend-dev/canvas-fonts/DMMono-Regular.ttf +0 -0
  255. package/myagent/skills/frontend-dev/canvas-fonts/EricaOne-OFL.txt +0 -94
  256. package/myagent/skills/frontend-dev/canvas-fonts/EricaOne-Regular.ttf +0 -0
  257. package/myagent/skills/frontend-dev/canvas-fonts/GeistMono-Bold.ttf +0 -0
  258. package/myagent/skills/frontend-dev/canvas-fonts/GeistMono-OFL.txt +0 -93
  259. package/myagent/skills/frontend-dev/canvas-fonts/GeistMono-Regular.ttf +0 -0
  260. package/myagent/skills/frontend-dev/canvas-fonts/Gloock-OFL.txt +0 -93
  261. package/myagent/skills/frontend-dev/canvas-fonts/Gloock-Regular.ttf +0 -0
  262. package/myagent/skills/frontend-dev/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
  263. package/myagent/skills/frontend-dev/canvas-fonts/IBMPlexMono-OFL.txt +0 -93
  264. package/myagent/skills/frontend-dev/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
  265. package/myagent/skills/frontend-dev/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
  266. package/myagent/skills/frontend-dev/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
  267. package/myagent/skills/frontend-dev/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
  268. package/myagent/skills/frontend-dev/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
  269. package/myagent/skills/frontend-dev/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
  270. package/myagent/skills/frontend-dev/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
  271. package/myagent/skills/frontend-dev/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
  272. package/myagent/skills/frontend-dev/canvas-fonts/InstrumentSans-OFL.txt +0 -93
  273. package/myagent/skills/frontend-dev/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
  274. package/myagent/skills/frontend-dev/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
  275. package/myagent/skills/frontend-dev/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
  276. package/myagent/skills/frontend-dev/canvas-fonts/Italiana-OFL.txt +0 -93
  277. package/myagent/skills/frontend-dev/canvas-fonts/Italiana-Regular.ttf +0 -0
  278. package/myagent/skills/frontend-dev/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
  279. package/myagent/skills/frontend-dev/canvas-fonts/JetBrainsMono-OFL.txt +0 -93
  280. package/myagent/skills/frontend-dev/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
  281. package/myagent/skills/frontend-dev/canvas-fonts/Jura-Light.ttf +0 -0
  282. package/myagent/skills/frontend-dev/canvas-fonts/Jura-Medium.ttf +0 -0
  283. package/myagent/skills/frontend-dev/canvas-fonts/Jura-OFL.txt +0 -93
  284. package/myagent/skills/frontend-dev/canvas-fonts/LibreBaskerville-OFL.txt +0 -93
  285. package/myagent/skills/frontend-dev/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
  286. package/myagent/skills/frontend-dev/canvas-fonts/Lora-Bold.ttf +0 -0
  287. package/myagent/skills/frontend-dev/canvas-fonts/Lora-BoldItalic.ttf +0 -0
  288. package/myagent/skills/frontend-dev/canvas-fonts/Lora-Italic.ttf +0 -0
  289. package/myagent/skills/frontend-dev/canvas-fonts/Lora-OFL.txt +0 -93
  290. package/myagent/skills/frontend-dev/canvas-fonts/Lora-Regular.ttf +0 -0
  291. package/myagent/skills/frontend-dev/canvas-fonts/NationalPark-Bold.ttf +0 -0
  292. package/myagent/skills/frontend-dev/canvas-fonts/NationalPark-OFL.txt +0 -93
  293. package/myagent/skills/frontend-dev/canvas-fonts/NationalPark-Regular.ttf +0 -0
  294. package/myagent/skills/frontend-dev/canvas-fonts/NothingYouCouldDo-OFL.txt +0 -93
  295. package/myagent/skills/frontend-dev/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
  296. package/myagent/skills/frontend-dev/canvas-fonts/Outfit-Bold.ttf +0 -0
  297. package/myagent/skills/frontend-dev/canvas-fonts/Outfit-OFL.txt +0 -93
  298. package/myagent/skills/frontend-dev/canvas-fonts/Outfit-Regular.ttf +0 -0
  299. package/myagent/skills/frontend-dev/canvas-fonts/PixelifySans-Medium.ttf +0 -0
  300. package/myagent/skills/frontend-dev/canvas-fonts/PixelifySans-OFL.txt +0 -93
  301. package/myagent/skills/frontend-dev/canvas-fonts/PoiretOne-OFL.txt +0 -93
  302. package/myagent/skills/frontend-dev/canvas-fonts/PoiretOne-Regular.ttf +0 -0
  303. package/myagent/skills/frontend-dev/canvas-fonts/RedHatMono-Bold.ttf +0 -0
  304. package/myagent/skills/frontend-dev/canvas-fonts/RedHatMono-OFL.txt +0 -93
  305. package/myagent/skills/frontend-dev/canvas-fonts/RedHatMono-Regular.ttf +0 -0
  306. package/myagent/skills/frontend-dev/canvas-fonts/Silkscreen-OFL.txt +0 -93
  307. package/myagent/skills/frontend-dev/canvas-fonts/Silkscreen-Regular.ttf +0 -0
  308. package/myagent/skills/frontend-dev/canvas-fonts/SmoochSans-Medium.ttf +0 -0
  309. package/myagent/skills/frontend-dev/canvas-fonts/SmoochSans-OFL.txt +0 -93
  310. package/myagent/skills/frontend-dev/canvas-fonts/Tektur-Medium.ttf +0 -0
  311. package/myagent/skills/frontend-dev/canvas-fonts/Tektur-OFL.txt +0 -93
  312. package/myagent/skills/frontend-dev/canvas-fonts/Tektur-Regular.ttf +0 -0
  313. package/myagent/skills/frontend-dev/canvas-fonts/WorkSans-Bold.ttf +0 -0
  314. package/myagent/skills/frontend-dev/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
  315. package/myagent/skills/frontend-dev/canvas-fonts/WorkSans-Italic.ttf +0 -0
  316. package/myagent/skills/frontend-dev/canvas-fonts/WorkSans-OFL.txt +0 -93
  317. package/myagent/skills/frontend-dev/canvas-fonts/WorkSans-Regular.ttf +0 -0
  318. package/myagent/skills/frontend-dev/canvas-fonts/YoungSerif-OFL.txt +0 -93
  319. package/myagent/skills/frontend-dev/canvas-fonts/YoungSerif-Regular.ttf +0 -0
  320. package/myagent/skills/frontend-dev/references/asset-prompt-guide.md +0 -43
  321. package/myagent/skills/frontend-dev/references/env-setup.md +0 -33
  322. package/myagent/skills/frontend-dev/references/minimax-cli-reference.md +0 -133
  323. package/myagent/skills/frontend-dev/references/minimax-image-guide.md +0 -65
  324. package/myagent/skills/frontend-dev/references/minimax-music-guide.md +0 -216
  325. package/myagent/skills/frontend-dev/references/minimax-tts-guide.md +0 -78
  326. package/myagent/skills/frontend-dev/references/minimax-video-guide.md +0 -82
  327. package/myagent/skills/frontend-dev/references/minimax-voice-catalog.md +0 -686
  328. package/myagent/skills/frontend-dev/references/motion-recipes.md +0 -407
  329. package/myagent/skills/frontend-dev/references/troubleshooting.md +0 -85
  330. package/myagent/skills/frontend-dev/scripts/minimax_image.py +0 -137
  331. package/myagent/skills/frontend-dev/scripts/minimax_music.py +0 -157
  332. package/myagent/skills/frontend-dev/scripts/minimax_tts.py +0 -127
  333. package/myagent/skills/frontend-dev/scripts/minimax_video.py +0 -187
  334. package/myagent/skills/frontend-dev/templates/generator_template.js +0 -223
  335. package/myagent/skills/frontend-dev/templates/viewer.html +0 -599
  336. package/myagent/skills/fullstack-dev/SKILL.md +0 -1037
  337. package/myagent/skills/fullstack-dev/references/api-design.md +0 -444
  338. package/myagent/skills/fullstack-dev/references/auth-flow.md +0 -165
  339. package/myagent/skills/fullstack-dev/references/db-schema.md +0 -706
  340. package/myagent/skills/fullstack-dev/references/django-best-practices.md +0 -466
  341. package/myagent/skills/fullstack-dev/references/environment-management.md +0 -78
  342. package/myagent/skills/fullstack-dev/references/release-checklist.md +0 -278
  343. package/myagent/skills/fullstack-dev/references/technology-selection.md +0 -254
  344. package/myagent/skills/fullstack-dev/references/testing-strategy.md +0 -404
  345. package/myagent/skills/get-fortune-analysis/SKILL.md +0 -370
  346. package/myagent/skills/get-fortune-analysis/lunar_python.py +0 -91
  347. package/myagent/skills/gift-evaluator/SKILL.md +0 -83
  348. package/myagent/skills/gift-evaluator/html_tools.py +0 -268
  349. package/myagent/skills/gui_skill.py +0 -883
  350. package/myagent/skills/image-edit/LICENSE.txt +0 -21
  351. package/myagent/skills/image-edit/SKILL.md +0 -896
  352. package/myagent/skills/image-edit/scripts/image-edit.ts +0 -36
  353. package/myagent/skills/image-generation/LICENSE.txt +0 -21
  354. package/myagent/skills/image-generation/SKILL.md +0 -583
  355. package/myagent/skills/image-generation/scripts/image-generation.ts +0 -28
  356. package/myagent/skills/image-understand/LICENSE.txt +0 -21
  357. package/myagent/skills/image-understand/SKILL.md +0 -855
  358. package/myagent/skills/image-understand/scripts/image-understand.ts +0 -41
  359. package/myagent/skills/interview-designer/README.md +0 -70
  360. package/myagent/skills/interview-designer/SKILL.md +0 -53
  361. package/myagent/skills/interview-designer/_meta.json +0 -6
  362. package/myagent/skills/interview-designer/references/design_rationale.md +0 -43
  363. package/myagent/skills/interview-designer/templates/interview_guide_template.md +0 -62
  364. package/myagent/skills/market-research-reports/SKILL.md +0 -901
  365. package/myagent/skills/market-research-reports/assets/FORMATTING_GUIDE.md +0 -428
  366. package/myagent/skills/market-research-reports/assets/market_report_template.tex +0 -1380
  367. package/myagent/skills/market-research-reports/assets/market_research.sty +0 -564
  368. package/myagent/skills/market-research-reports/references/data_analysis_patterns.md +0 -548
  369. package/myagent/skills/market-research-reports/references/report_structure_guide.md +0 -999
  370. package/myagent/skills/market-research-reports/references/visual_generation_guide.md +0 -1077
  371. package/myagent/skills/market-research-reports/scripts/generate_market_visuals.py +0 -529
  372. package/myagent/skills/marketing-mode/README.md +0 -49
  373. package/myagent/skills/marketing-mode/SKILL.md +0 -693
  374. package/myagent/skills/marketing-mode/_meta.json +0 -6
  375. package/myagent/skills/marketing-mode/mode-prompt.md +0 -39
  376. package/myagent/skills/marketing-mode/skill.json +0 -51
  377. package/myagent/skills/mindfulness-meditation/SKILL.md +0 -65
  378. package/myagent/skills/mindfulness-meditation/_meta.json +0 -6
  379. package/myagent/skills/multi-search-engine/CHANGELOG.md +0 -15
  380. package/myagent/skills/multi-search-engine/CHANNELLOG.md +0 -48
  381. package/myagent/skills/multi-search-engine/SKILL.md +0 -78
  382. package/myagent/skills/multi-search-engine/_meta.json +0 -6
  383. package/myagent/skills/multi-search-engine/config.json +0 -14
  384. package/myagent/skills/multi-search-engine/metadata.json +0 -7
  385. package/myagent/skills/multi-search-engine/references/international-search.md +0 -651
  386. package/myagent/skills/pdf/LICENSE.txt +0 -13
  387. package/myagent/skills/pdf/SKILL.md +0 -921
  388. package/myagent/skills/pdf/briefs/academic.md +0 -1058
  389. package/myagent/skills/pdf/briefs/creative.md +0 -770
  390. package/myagent/skills/pdf/briefs/poster.md +0 -702
  391. package/myagent/skills/pdf/briefs/process-advanced.md +0 -284
  392. package/myagent/skills/pdf/briefs/process.md +0 -319
  393. package/myagent/skills/pdf/briefs/report.md +0 -1659
  394. package/myagent/skills/pdf/configs/components.md +0 -153
  395. package/myagent/skills/pdf/configs/fonts.md +0 -93
  396. package/myagent/skills/pdf/configs/visual_framework.md +0 -263
  397. package/myagent/skills/pdf/references/resume-academic.tex +0 -130
  398. package/myagent/skills/pdf/references/resume-altacv.tex +0 -190
  399. package/myagent/skills/pdf/scripts/cover_validate.js +0 -367
  400. package/myagent/skills/pdf/scripts/design_engine.py +0 -2816
  401. package/myagent/skills/pdf/scripts/html2pdf-next.js +0 -754
  402. package/myagent/skills/pdf/scripts/html2poster.js +0 -256
  403. package/myagent/skills/pdf/scripts/pdf.py +0 -2959
  404. package/myagent/skills/pdf/scripts/pdf_qa.py +0 -901
  405. package/myagent/skills/pdf/scripts/poster_validate.py +0 -1337
  406. package/myagent/skills/pdf/scripts/setup.sh +0 -269
  407. package/myagent/skills/pdf/scripts/toc_validate.py +0 -2075
  408. package/myagent/skills/pdf/typesetting/charts.md +0 -320
  409. package/myagent/skills/pdf/typesetting/cover-backgrounds.md +0 -384
  410. package/myagent/skills/pdf/typesetting/cover.md +0 -1442
  411. package/myagent/skills/pdf/typesetting/fill-engine.md +0 -527
  412. package/myagent/skills/pdf/typesetting/geometry.md +0 -142
  413. package/myagent/skills/pdf/typesetting/overflow.md +0 -630
  414. package/myagent/skills/pdf/typesetting/pagination.md +0 -367
  415. package/myagent/skills/pdf/typesetting/palette.md +0 -217
  416. package/myagent/skills/pdf/typesetting/typography.md +0 -20
  417. package/myagent/skills/pdf_skill.py +0 -372
  418. package/myagent/skills/podcast-generate/LICENSE.txt +0 -21
  419. package/myagent/skills/podcast-generate/SKILL.md +0 -198
  420. package/myagent/skills/podcast-generate/generate.ts +0 -661
  421. package/myagent/skills/podcast-generate/package.json +0 -30
  422. package/myagent/skills/podcast-generate/readme.md +0 -177
  423. package/myagent/skills/podcast-generate/test_data/segments.jsonl +0 -3
  424. package/myagent/skills/podcast-generate/tsconfig.json +0 -26
  425. package/myagent/skills/ppt/.claude/settings.local.json +0 -20
  426. package/myagent/skills/ppt/LICENSE.txt +0 -13
  427. package/myagent/skills/ppt/SKILL.md +0 -436
  428. package/myagent/skills/ppt/beamer.md +0 -1461
  429. package/myagent/skills/ppt/components.md +0 -1671
  430. package/myagent/skills/ppt/data-viz-components.md +0 -529
  431. package/myagent/skills/ppt/design-system.md +0 -211
  432. package/myagent/skills/ppt/html2pptx.md +0 -394
  433. package/myagent/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -1499
  434. package/myagent/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -146
  435. package/myagent/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -1085
  436. package/myagent/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -11
  437. package/myagent/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -3081
  438. package/myagent/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -23
  439. package/myagent/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -185
  440. package/myagent/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -287
  441. package/myagent/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -1676
  442. package/myagent/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -28
  443. package/myagent/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -144
  444. package/myagent/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -174
  445. package/myagent/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -25
  446. package/myagent/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -18
  447. package/myagent/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -59
  448. package/myagent/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -56
  449. package/myagent/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -195
  450. package/myagent/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -582
  451. package/myagent/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -25
  452. package/myagent/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -4439
  453. package/myagent/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -570
  454. package/myagent/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -509
  455. package/myagent/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -12
  456. package/myagent/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -108
  457. package/myagent/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -96
  458. package/myagent/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -3646
  459. package/myagent/skills/ppt/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -116
  460. package/myagent/skills/ppt/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -42
  461. package/myagent/skills/ppt/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -50
  462. package/myagent/skills/ppt/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -49
  463. package/myagent/skills/ppt/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -33
  464. package/myagent/skills/ppt/ooxml/schemas/mce/mc.xsd +0 -75
  465. package/myagent/skills/ppt/ooxml/schemas/microsoft/wml-2010.xsd +0 -560
  466. package/myagent/skills/ppt/ooxml/schemas/microsoft/wml-2012.xsd +0 -67
  467. package/myagent/skills/ppt/ooxml/schemas/microsoft/wml-2018.xsd +0 -14
  468. package/myagent/skills/ppt/ooxml/schemas/microsoft/wml-cex-2018.xsd +0 -20
  469. package/myagent/skills/ppt/ooxml/schemas/microsoft/wml-cid-2016.xsd +0 -13
  470. package/myagent/skills/ppt/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -4
  471. package/myagent/skills/ppt/ooxml/schemas/microsoft/wml-symex-2015.xsd +0 -8
  472. package/myagent/skills/ppt/ooxml/scripts/pack.py +0 -159
  473. package/myagent/skills/ppt/ooxml/scripts/unpack.py +0 -45
  474. package/myagent/skills/ppt/ooxml/scripts/validate.py +0 -70
  475. package/myagent/skills/ppt/ooxml/scripts/validation/__init__.py +0 -15
  476. package/myagent/skills/ppt/ooxml/scripts/validation/base.py +0 -948
  477. package/myagent/skills/ppt/ooxml/scripts/validation/docx.py +0 -274
  478. package/myagent/skills/ppt/ooxml/scripts/validation/pptx.py +0 -309
  479. package/myagent/skills/ppt/ooxml/scripts/validation/redlining.py +0 -279
  480. package/myagent/skills/ppt/ooxml.md +0 -427
  481. package/myagent/skills/ppt/references/beamer.md +0 -721
  482. package/myagent/skills/ppt/references/latex.md +0 -342
  483. package/myagent/skills/ppt/references/paper-navbar.tex +0 -73
  484. package/myagent/skills/ppt/references/progress-navbar.tex +0 -151
  485. package/myagent/skills/ppt/scripts/html2pptx.js +0 -1337
  486. package/myagent/skills/ppt/scripts/inventory.py +0 -512
  487. package/myagent/skills/ppt/scripts/pdf.py +0 -2046
  488. package/myagent/skills/ppt/scripts/rearrange.py +0 -144
  489. package/myagent/skills/ppt/scripts/replace.py +0 -231
  490. package/myagent/skills/ppt/scripts/tectonic +0 -0
  491. package/myagent/skills/ppt/scripts/thumbnail.py +0 -352
  492. package/myagent/skills/ppt/setup.sh +0 -197
  493. package/myagent/skills/ppt/themes.md +0 -581
  494. package/myagent/skills/ppt_skill.py +0 -317
  495. package/myagent/skills/pptx/LICENSE.txt +0 -30
  496. package/myagent/skills/pptx/SKILL.md +0 -507
  497. package/myagent/skills/pptx/html2pptx.md +0 -625
  498. package/myagent/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -1499
  499. package/myagent/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -146
  500. package/myagent/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -1085
  501. package/myagent/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -11
  502. package/myagent/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -3081
  503. package/myagent/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -23
  504. package/myagent/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -185
  505. package/myagent/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -287
  506. package/myagent/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -1676
  507. package/myagent/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -28
  508. package/myagent/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -144
  509. package/myagent/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -174
  510. package/myagent/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -25
  511. package/myagent/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -18
  512. package/myagent/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -59
  513. package/myagent/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -56
  514. package/myagent/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -195
  515. package/myagent/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -582
  516. package/myagent/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -25
  517. package/myagent/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -4439
  518. package/myagent/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -570
  519. package/myagent/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -509
  520. package/myagent/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -12
  521. package/myagent/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -108
  522. package/myagent/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -96
  523. package/myagent/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -3646
  524. package/myagent/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -116
  525. package/myagent/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -42
  526. package/myagent/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -50
  527. package/myagent/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -49
  528. package/myagent/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -33
  529. package/myagent/skills/pptx/ooxml/schemas/mce/mc.xsd +0 -75
  530. package/myagent/skills/pptx/ooxml/schemas/microsoft/wml-2010.xsd +0 -560
  531. package/myagent/skills/pptx/ooxml/schemas/microsoft/wml-2012.xsd +0 -67
  532. package/myagent/skills/pptx/ooxml/schemas/microsoft/wml-2018.xsd +0 -14
  533. package/myagent/skills/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +0 -20
  534. package/myagent/skills/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +0 -13
  535. package/myagent/skills/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -4
  536. package/myagent/skills/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +0 -8
  537. package/myagent/skills/pptx/ooxml/scripts/pack.py +0 -159
  538. package/myagent/skills/pptx/ooxml/scripts/unpack.py +0 -29
  539. package/myagent/skills/pptx/ooxml/scripts/validate.py +0 -69
  540. package/myagent/skills/pptx/ooxml/scripts/validation/__init__.py +0 -15
  541. package/myagent/skills/pptx/ooxml/scripts/validation/base.py +0 -951
  542. package/myagent/skills/pptx/ooxml/scripts/validation/docx.py +0 -274
  543. package/myagent/skills/pptx/ooxml/scripts/validation/pptx.py +0 -315
  544. package/myagent/skills/pptx/ooxml/scripts/validation/redlining.py +0 -279
  545. package/myagent/skills/pptx/ooxml.md +0 -427
  546. package/myagent/skills/pptx/scripts/html2pptx.js +0 -1044
  547. package/myagent/skills/pptx/scripts/inventory.py +0 -1020
  548. package/myagent/skills/pptx/scripts/rearrange.py +0 -231
  549. package/myagent/skills/pptx/scripts/replace.py +0 -385
  550. package/myagent/skills/pptx/scripts/thumbnail.py +0 -450
  551. package/myagent/skills/qingyan-research/SKILL.md +0 -294
  552. package/myagent/skills/qingyan-research/generate_html.py +0 -33
  553. package/myagent/skills/registry.py +0 -599
  554. package/myagent/skills/search_skill.py +0 -453
  555. package/myagent/skills/seo-content-writer/SKILL.md +0 -661
  556. package/myagent/skills/seo-content-writer/_meta.json +0 -6
  557. package/myagent/skills/seo-content-writer/references/content-structure-templates.md +0 -875
  558. package/myagent/skills/seo-content-writer/references/title-formulas.md +0 -339
  559. package/myagent/skills/skill-creator/LICENSE.txt +0 -202
  560. package/myagent/skills/skill-creator/SKILL.md +0 -485
  561. package/myagent/skills/skill-creator/agents/analyzer.md +0 -274
  562. package/myagent/skills/skill-creator/agents/comparator.md +0 -202
  563. package/myagent/skills/skill-creator/agents/grader.md +0 -223
  564. package/myagent/skills/skill-creator/assets/eval_review.html +0 -146
  565. package/myagent/skills/skill-creator/eval-viewer/generate_review.py +0 -471
  566. package/myagent/skills/skill-creator/eval-viewer/viewer.html +0 -1325
  567. package/myagent/skills/skill-creator/references/schemas.md +0 -430
  568. package/myagent/skills/skill-creator/scripts/__init__.py +0 -0
  569. package/myagent/skills/skill-creator/scripts/aggregate_benchmark.py +0 -401
  570. package/myagent/skills/skill-creator/scripts/generate_report.py +0 -326
  571. package/myagent/skills/skill-creator/scripts/improve_description.py +0 -236
  572. package/myagent/skills/skill-creator/scripts/package_skill.py +0 -136
  573. package/myagent/skills/skill-creator/scripts/quick_validate.py +0 -103
  574. package/myagent/skills/skill-creator/scripts/run_eval.py +0 -310
  575. package/myagent/skills/skill-creator/scripts/run_loop.py +0 -328
  576. package/myagent/skills/skill-creator/scripts/utils.py +0 -47
  577. package/myagent/skills/skill-finder-cn/SKILL.md +0 -66
  578. package/myagent/skills/skill-finder-cn/_meta.json +0 -6
  579. package/myagent/skills/skill-finder-cn/package.json +0 -5
  580. package/myagent/skills/skill-finder-cn/scripts/search.sh +0 -15
  581. package/myagent/skills/skill-vetter/SKILL.md +0 -137
  582. package/myagent/skills/stock-analysis-skill/SKILL.md +0 -156
  583. package/myagent/skills/stock-analysis-skill/package.json +0 -21
  584. package/myagent/skills/stock-analysis-skill/src/analyzer.ts +0 -264
  585. package/myagent/skills/stock-analysis-skill/src/dataFetcher.ts +0 -130
  586. package/myagent/skills/stock-analysis-skill/src/dividend.ts +0 -226
  587. package/myagent/skills/stock-analysis-skill/src/index.ts +0 -327
  588. package/myagent/skills/stock-analysis-skill/src/rumorScanner.ts +0 -200
  589. package/myagent/skills/stock-analysis-skill/src/types.ts +0 -167
  590. package/myagent/skills/stock-analysis-skill/src/watchlist.ts +0 -292
  591. package/myagent/skills/stock-analysis-skill/tsconfig.json +0 -15
  592. package/myagent/skills/storyboard-manager/SKILL.md +0 -532
  593. package/myagent/skills/storyboard-manager/index.js +0 -9
  594. package/myagent/skills/storyboard-manager/package.json +0 -11
  595. package/myagent/skills/storyboard-manager/references/character_development.md +0 -232
  596. package/myagent/skills/storyboard-manager/references/story_structures.md +0 -148
  597. package/myagent/skills/storyboard-manager/scripts/consistency_checker.py +0 -391
  598. package/myagent/skills/storyboard-manager/scripts/timeline_tracker.py +0 -352
  599. package/myagent/skills/system_skill.py +0 -258
  600. package/myagent/skills/ui-ux-pro-max/SKILL.md +0 -43
  601. package/myagent/skills/ui-ux-pro-max/_meta.json +0 -6
  602. package/myagent/skills/ui-ux-pro-max/assets/data/charts.csv +0 -26
  603. package/myagent/skills/ui-ux-pro-max/assets/data/colors.csv +0 -97
  604. package/myagent/skills/ui-ux-pro-max/assets/data/icons.csv +0 -101
  605. package/myagent/skills/ui-ux-pro-max/assets/data/landing.csv +0 -31
  606. package/myagent/skills/ui-ux-pro-max/assets/data/products.csv +0 -97
  607. package/myagent/skills/ui-ux-pro-max/assets/data/react-performance.csv +0 -45
  608. package/myagent/skills/ui-ux-pro-max/assets/data/stacks/astro.csv +0 -54
  609. package/myagent/skills/ui-ux-pro-max/assets/data/stacks/flutter.csv +0 -53
  610. package/myagent/skills/ui-ux-pro-max/assets/data/stacks/html-tailwind.csv +0 -56
  611. package/myagent/skills/ui-ux-pro-max/assets/data/stacks/jetpack-compose.csv +0 -53
  612. package/myagent/skills/ui-ux-pro-max/assets/data/stacks/nextjs.csv +0 -53
  613. package/myagent/skills/ui-ux-pro-max/assets/data/stacks/nuxt-ui.csv +0 -51
  614. package/myagent/skills/ui-ux-pro-max/assets/data/stacks/nuxtjs.csv +0 -59
  615. package/myagent/skills/ui-ux-pro-max/assets/data/stacks/react-native.csv +0 -52
  616. package/myagent/skills/ui-ux-pro-max/assets/data/stacks/react.csv +0 -54
  617. package/myagent/skills/ui-ux-pro-max/assets/data/stacks/shadcn.csv +0 -61
  618. package/myagent/skills/ui-ux-pro-max/assets/data/stacks/svelte.csv +0 -54
  619. package/myagent/skills/ui-ux-pro-max/assets/data/stacks/swiftui.csv +0 -51
  620. package/myagent/skills/ui-ux-pro-max/assets/data/stacks/vue.csv +0 -50
  621. package/myagent/skills/ui-ux-pro-max/assets/data/styles.csv +0 -68
  622. package/myagent/skills/ui-ux-pro-max/assets/data/typography.csv +0 -58
  623. package/myagent/skills/ui-ux-pro-max/assets/data/ui-reasoning.csv +0 -101
  624. package/myagent/skills/ui-ux-pro-max/assets/data/ux-guidelines.csv +0 -100
  625. package/myagent/skills/ui-ux-pro-max/assets/data/web-interface.csv +0 -31
  626. package/myagent/skills/ui-ux-pro-max/data/charts.csv +0 -26
  627. package/myagent/skills/ui-ux-pro-max/data/colors.csv +0 -97
  628. package/myagent/skills/ui-ux-pro-max/data/icons.csv +0 -101
  629. package/myagent/skills/ui-ux-pro-max/data/landing.csv +0 -31
  630. package/myagent/skills/ui-ux-pro-max/data/products.csv +0 -97
  631. package/myagent/skills/ui-ux-pro-max/data/react-performance.csv +0 -45
  632. package/myagent/skills/ui-ux-pro-max/data/stacks/astro.csv +0 -54
  633. package/myagent/skills/ui-ux-pro-max/data/stacks/flutter.csv +0 -53
  634. package/myagent/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +0 -56
  635. package/myagent/skills/ui-ux-pro-max/data/stacks/jetpack-compose.csv +0 -53
  636. package/myagent/skills/ui-ux-pro-max/data/stacks/nextjs.csv +0 -53
  637. package/myagent/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +0 -51
  638. package/myagent/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +0 -59
  639. package/myagent/skills/ui-ux-pro-max/data/stacks/react-native.csv +0 -52
  640. package/myagent/skills/ui-ux-pro-max/data/stacks/react.csv +0 -54
  641. package/myagent/skills/ui-ux-pro-max/data/stacks/shadcn.csv +0 -61
  642. package/myagent/skills/ui-ux-pro-max/data/stacks/svelte.csv +0 -54
  643. package/myagent/skills/ui-ux-pro-max/data/stacks/swiftui.csv +0 -51
  644. package/myagent/skills/ui-ux-pro-max/data/stacks/vue.csv +0 -50
  645. package/myagent/skills/ui-ux-pro-max/data/styles.csv +0 -68
  646. package/myagent/skills/ui-ux-pro-max/data/typography.csv +0 -58
  647. package/myagent/skills/ui-ux-pro-max/data/ui-reasoning.csv +0 -101
  648. package/myagent/skills/ui-ux-pro-max/data/ux-guidelines.csv +0 -100
  649. package/myagent/skills/ui-ux-pro-max/data/web-interface.csv +0 -31
  650. package/myagent/skills/ui-ux-pro-max/references/upstream-README.md +0 -488
  651. package/myagent/skills/ui-ux-pro-max/references/upstream-skill-content.md +0 -288
  652. package/myagent/skills/ui-ux-pro-max/scripts/__init__.py +0 -0
  653. package/myagent/skills/ui-ux-pro-max/scripts/core.py +0 -253
  654. package/myagent/skills/ui-ux-pro-max/scripts/design_system.py +0 -1071
  655. package/myagent/skills/ui-ux-pro-max/scripts/search.py +0 -111
  656. package/myagent/skills/video-generation/LICENSE.txt +0 -21
  657. package/myagent/skills/video-generation/SKILL.md +0 -1082
  658. package/myagent/skills/video-generation/scripts/video.ts +0 -168
  659. package/myagent/skills/video-understand/LICENSE.txt +0 -21
  660. package/myagent/skills/video-understand/SKILL.md +0 -916
  661. package/myagent/skills/video-understand/scripts/video-understand.ts +0 -41
  662. package/myagent/skills/visual-design-foundations/SKILL.md +0 -318
  663. package/myagent/skills/visual-design-foundations/references/color-systems.md +0 -417
  664. package/myagent/skills/visual-design-foundations/references/spacing-iconography.md +0 -425
  665. package/myagent/skills/visual-design-foundations/references/typography-systems.md +0 -432
  666. package/myagent/skills/web-reader/LICENSE.txt +0 -21
  667. package/myagent/skills/web-reader/SKILL.md +0 -1140
  668. package/myagent/skills/web-reader/scripts/web-reader.ts +0 -37
  669. package/myagent/skills/web-search/LICENSE.txt +0 -21
  670. package/myagent/skills/web-search/SKILL.md +0 -912
  671. package/myagent/skills/web-search/scripts/web_search.ts +0 -44
  672. package/myagent/skills/web-shader-extractor/SKILL.md +0 -145
  673. package/myagent/skills/web-shader-extractor/references/config-extraction.md +0 -50
  674. package/myagent/skills/web-shader-extractor/references/encoded-definitions.md +0 -53
  675. package/myagent/skills/web-shader-extractor/references/extraction-workflow.md +0 -61
  676. package/myagent/skills/web-shader-extractor/references/porting-strategy.md +0 -164
  677. package/myagent/skills/web-shader-extractor/references/shader-injection.md +0 -126
  678. package/myagent/skills/web-shader-extractor/references/shaders-com.md +0 -190
  679. package/myagent/skills/web-shader-extractor/references/tech-signatures.md +0 -54
  680. package/myagent/skills/web-shader-extractor/references/tsl-extraction.md +0 -41
  681. package/myagent/skills/web-shader-extractor/references/unicorn-studio.md +0 -353
  682. package/myagent/skills/web-shader-extractor/scripts/fetch-rendered-dom.mjs +0 -153
  683. package/myagent/skills/web-shader-extractor/scripts/scan-bundle.sh +0 -76
  684. package/myagent/skills/writing-plans/SKILL.md +0 -116
  685. package/myagent/skills/writing-plans/_meta.json +0 -6
  686. package/myagent/skills/xlsx/LICENSE.txt +0 -13
  687. package/myagent/skills/xlsx/SKILL.md +0 -230
  688. package/myagent/skills/xlsx/engines/chart-templates.md +0 -167
  689. package/myagent/skills/xlsx/engines/chart.md +0 -87
  690. package/myagent/skills/xlsx/engines/design.md +0 -575
  691. package/myagent/skills/xlsx/engines/vba-templates.md +0 -435
  692. package/myagent/skills/xlsx/quality/pipeline.md +0 -196
  693. package/myagent/skills/xlsx/scenes/advanced.md +0 -271
  694. package/myagent/skills/xlsx/scenes/analyze-recipes.md +0 -234
  695. package/myagent/skills/xlsx/scenes/analyze.md +0 -95
  696. package/myagent/skills/xlsx/scenes/convert.md +0 -133
  697. package/myagent/skills/xlsx/scenes/create.md +0 -105
  698. package/myagent/skills/xlsx/scenes/edit-patterns.md +0 -222
  699. package/myagent/skills/xlsx/scenes/edit.md +0 -195
  700. package/myagent/skills/xlsx/scenes/finance.md +0 -318
  701. package/myagent/skills/xlsx/scenes/finance_lite.md +0 -192
  702. package/myagent/skills/xlsx/scenes/vba.md +0 -298
  703. package/myagent/skills/xlsx/setup.sh +0 -136
  704. package/myagent/skills/xlsx/templates/base.py +0 -632
  705. package/myagent/skills/xlsx/templates/palettes.py +0 -521
  706. package/myagent/skills/xlsx/xlsx.py +0 -1299
  707. package/myagent/skills/xlsx_skill.py +0 -346
  708. package/myagent/start.js +0 -847
  709. package/myagent/start.sh +0 -240
  710. package/myagent/web/__init__.py +0 -1
  711. package/myagent/web/api_server.py +0 -8978
  712. package/myagent/web/tts_handler.py +0 -216
  713. package/myagent/web/ui/admin/admin-agentchat.js +0 -175
  714. package/myagent/web/ui/admin/admin-agents.js +0 -565
  715. package/myagent/web/ui/admin/admin-core.js +0 -386
  716. package/myagent/web/ui/admin/admin-dashboard.js +0 -148
  717. package/myagent/web/ui/admin/admin-executor.js +0 -62
  718. package/myagent/web/ui/admin/admin-files.js +0 -76
  719. package/myagent/web/ui/admin/admin-llm.js +0 -185
  720. package/myagent/web/ui/admin/admin-logs.js +0 -64
  721. package/myagent/web/ui/admin/admin-memory.js +0 -86
  722. package/myagent/web/ui/admin/admin-org.js +0 -278
  723. package/myagent/web/ui/admin/admin-permissions.js +0 -142
  724. package/myagent/web/ui/admin/admin-platforms.js +0 -256
  725. package/myagent/web/ui/admin/admin-sessions.js +0 -218
  726. package/myagent/web/ui/admin/admin-skills.js +0 -212
  727. package/myagent/web/ui/admin/admin-system.js +0 -149
  728. package/myagent/web/ui/admin/admin-tasks.js +0 -126
  729. package/myagent/web/ui/chat/chat.css +0 -2739
  730. package/myagent/web/ui/chat/chat.js +0 -52
  731. package/myagent/web/ui/chat/chat_container.html +0 -335
  732. package/myagent/web/ui/chat/chat_main.js +0 -5741
  733. package/myagent/web/ui/chat/flow_engine.js +0 -2663
  734. package/myagent/web/ui/chat/groupchat.js +0 -901
  735. package/myagent/web/ui/chat/left_sessions.html +0 -54
  736. package/myagent/web/ui/chat/middle_chat.html +0 -162
  737. package/myagent/web/ui/chat/right_agents.html +0 -70
  738. package/myagent/web/ui/index.html +0 -375
  739. package/myagent/worklog-v1.22.md +0 -12
  740. package/myagent/worklog.md +0 -21
@@ -0,0 +1,482 @@
1
+ """
2
+ core/agent_storage.py - Agent 配置数据库管理
3
+ =============================================
4
+ 将 agent 的配置信息从 config.json 文件迁移到 SQLite 数据库。
5
+ 文件类内容(soul.md, identity.md, user.md, workspace/, avatar.png)仍保留在本地目录。
6
+
7
+ 数据库表结构:
8
+ agents: 存储所有 agent 配置信息
9
+
10
+ 迁移策略:
11
+ 首次启动时自动检测并迁移已有 config.json 到数据库。
12
+ 迁移完成后不再读写 config.json。
13
+ """
14
+ from __future__ import annotations
15
+
16
+ import json
17
+ import os
18
+ import sqlite3
19
+ import time
20
+ import uuid
21
+ from dataclasses import dataclass, field, asdict
22
+ from pathlib import Path
23
+ from typing import Any, Dict, List, Optional
24
+
25
+ from core.logger import get_logger
26
+
27
+ logger = get_logger("myagent.agent_storage")
28
+
29
+
30
+ # ==============================================================================
31
+ # 数据模型
32
+ # ==============================================================================
33
+
34
+ @dataclass
35
+ class AgentConfig:
36
+ """Agent 配置(对应数据库一行)"""
37
+ path: str = "" # Agent 路径,如 "default", "coder/python-expert"
38
+ id: str = "" # 唯一 ID,12位 hex
39
+ name: str = "" # 显示名称
40
+ description: str = "" # 描述
41
+ avatar_color: str = "" # 头像颜色
42
+ avatar_emoji: str = "" # 头像 emoji
43
+ avatar_image: str = "" # 头像图片 URL
44
+ execution_mode: str = "sandbox" # 执行模式: local / sandbox
45
+ enabled: bool = True # 是否启用
46
+ system: bool = False # 是否系统内置 Agent
47
+ system_prompt: str = "" # 系统提示词
48
+ model: str = "" # 模型覆盖
49
+ parent: str = "" # 父 Agent 路径
50
+ # 平台绑定
51
+ platform: str = "" # 平台标识
52
+ platform_token: str = "" # 平台 Token
53
+ platform_app_id: str = "" # 平台 App ID
54
+ platform_app_secret: str = "" # 平台 App Secret
55
+ # 模型库引用
56
+ model_id: str = "" # 模型库 ID
57
+ backup_model_ids: str = "" # 备选模型 ID(JSON 数组字符串)
58
+ # 其他
59
+ work_dir: str = "" # 自定义工作目录
60
+ department: str = "" # 所属部门
61
+ # 时间戳
62
+ created_at: str = ""
63
+ updated_at: str = ""
64
+
65
+ # ---- 以下字段不存数据库,运行时从文件读取 ----
66
+
67
+ def to_dict(self) -> dict:
68
+ """转为字典"""
69
+ d = {}
70
+ for k in self.__dataclass_fields__:
71
+ v = getattr(self, k)
72
+ if k == "enabled" or k == "system":
73
+ d[k] = bool(v)
74
+ else:
75
+ d[k] = v if v is not None else ""
76
+ return d
77
+
78
+ def to_db_row(self) -> dict:
79
+ """转为数据库行(只包含数据库字段)"""
80
+ return self.to_dict()
81
+
82
+ @classmethod
83
+ def from_db_row(cls, row: sqlite3.Row) -> "AgentConfig":
84
+ """从数据库行创建"""
85
+ d = dict(row)
86
+ return cls(**{k: d.get(k, "") for k in cls.__dataclass_fields__})
87
+
88
+ @classmethod
89
+ def from_json(cls, path: str, data: dict) -> "AgentConfig":
90
+ """从 config.json 字典创建"""
91
+ return cls(
92
+ path=path,
93
+ id=data.get("id", ""),
94
+ name=data.get("name", path),
95
+ description=data.get("description", ""),
96
+ avatar_color=data.get("avatar_color", ""),
97
+ avatar_emoji=data.get("avatar_emoji", ""),
98
+ avatar_image=data.get("avatar_image", ""),
99
+ execution_mode=data.get("execution_mode", "sandbox"),
100
+ enabled=bool(data.get("enabled", True)),
101
+ system=bool(data.get("system", False)),
102
+ system_prompt=data.get("system_prompt", ""),
103
+ model=data.get("model", ""),
104
+ parent=data.get("parent", ""),
105
+ platform=data.get("platform", ""),
106
+ platform_token=data.get("platform_token", ""),
107
+ platform_app_id=data.get("platform_app_id", ""),
108
+ platform_app_secret=data.get("platform_app_secret", ""),
109
+ model_id=data.get("model_id", ""),
110
+ backup_model_ids=json.dumps(data.get("backup_model_ids", []), ensure_ascii=False) if isinstance(data.get("backup_model_ids"), list) else data.get("backup_model_ids", ""),
111
+ work_dir=data.get("work_dir", ""),
112
+ department=data.get("department", ""),
113
+ created_at=data.get("created_at", ""),
114
+ updated_at=data.get("updated_at", ""),
115
+ )
116
+
117
+
118
+ # ==============================================================================
119
+ # AgentStorage - 数据库管理类
120
+ # ==============================================================================
121
+
122
+ class AgentStorage:
123
+ """
124
+ Agent 配置数据库管理器。
125
+
126
+ 职责:
127
+ - 建表和版本管理
128
+ - Agent CRUD(增删改查)
129
+ - 首次启动时自动从 config.json 迁移数据
130
+ - 提供兼容旧代码的接口
131
+ """
132
+
133
+ def __init__(self, db_path: str = ""):
134
+ if not db_path:
135
+ db_path = str(Path.home() / ".myagent" / "data" / "agents.db")
136
+ self._db_path = db_path
137
+ self._conn: Optional[sqlite3.Connection] = None
138
+ self._lock = __import__("threading").Lock()
139
+
140
+ def _get_conn(self) -> sqlite3.Connection:
141
+ """获取数据库连接(线程安全)"""
142
+ if self._conn is None:
143
+ self._conn = sqlite3.connect(self._db_path, check_same_thread=False)
144
+ self._conn.row_factory = sqlite3.Row
145
+ self._conn.execute("PRAGMA journal_mode=WAL")
146
+ self._conn.execute("PRAGMA foreign_keys=ON")
147
+ self._init_tables()
148
+ return self._conn
149
+
150
+ def _init_tables(self):
151
+ """初始化数据库表"""
152
+ conn = self._get_conn()
153
+ conn.executescript("""
154
+ CREATE TABLE IF NOT EXISTS agents (
155
+ path TEXT PRIMARY KEY,
156
+ id TEXT NOT NULL DEFAULT '',
157
+ name TEXT NOT NULL DEFAULT '',
158
+ description TEXT NOT NULL DEFAULT '',
159
+ avatar_color TEXT NOT NULL DEFAULT '',
160
+ avatar_emoji TEXT NOT NULL DEFAULT '',
161
+ avatar_image TEXT NOT NULL DEFAULT '',
162
+ execution_mode TEXT NOT NULL DEFAULT 'sandbox',
163
+ enabled INTEGER NOT NULL DEFAULT 1,
164
+ system INTEGER NOT NULL DEFAULT 0,
165
+ system_prompt TEXT NOT NULL DEFAULT '',
166
+ model TEXT NOT NULL DEFAULT '',
167
+ parent TEXT NOT NULL DEFAULT '',
168
+ platform TEXT NOT NULL DEFAULT '',
169
+ platform_token TEXT NOT NULL DEFAULT '',
170
+ platform_app_id TEXT NOT NULL DEFAULT '',
171
+ platform_app_secret TEXT NOT NULL DEFAULT '',
172
+ model_id TEXT NOT NULL DEFAULT '',
173
+ backup_model_ids TEXT NOT NULL DEFAULT '[]',
174
+ work_dir TEXT NOT NULL DEFAULT '',
175
+ department TEXT NOT NULL DEFAULT '',
176
+ created_at TEXT NOT NULL DEFAULT '',
177
+ updated_at TEXT NOT NULL DEFAULT ''
178
+ );
179
+
180
+ CREATE INDEX IF NOT EXISTS idx_agents_id ON agents(id);
181
+ CREATE INDEX IF NOT EXISTS idx_agents_parent ON agents(parent);
182
+ CREATE INDEX IF NOT EXISTS idx_agents_department ON agents(department);
183
+ CREATE INDEX IF NOT EXISTS idx_agents_enabled ON agents(enabled);
184
+ """)
185
+ conn.commit()
186
+
187
+ # ==========================================================================
188
+ # CRUD 操作
189
+ # ==========================================================================
190
+
191
+ def get(self, path: str) -> Optional[AgentConfig]:
192
+ """根据 path 获取 agent 配置"""
193
+ conn = self._get_conn()
194
+ with self._lock:
195
+ row = conn.execute("SELECT * FROM agents WHERE path = ?", (path,)).fetchone()
196
+ if row:
197
+ return AgentConfig.from_db_row(row)
198
+ return None
199
+
200
+ def get_by_id(self, agent_id: str) -> Optional[AgentConfig]:
201
+ """根据唯一 ID 获取 agent 配置"""
202
+ conn = self._get_conn()
203
+ with self._lock:
204
+ row = conn.execute("SELECT * FROM agents WHERE id = ?", (agent_id,)).fetchone()
205
+ if row:
206
+ return AgentConfig.from_db_row(row)
207
+ return None
208
+
209
+ def list_all(self, enabled_only: bool = False) -> List[AgentConfig]:
210
+ """列出所有 agent"""
211
+ conn = self._get_conn()
212
+ with self._lock:
213
+ if enabled_only:
214
+ rows = conn.execute("SELECT * FROM agents WHERE enabled = 1 ORDER BY path").fetchall()
215
+ else:
216
+ rows = conn.execute("SELECT * FROM agents ORDER BY path").fetchall()
217
+ return [AgentConfig.from_db_row(r) for r in rows]
218
+
219
+ def list_children(self, parent_path: str) -> List[AgentConfig]:
220
+ """列出子 agent"""
221
+ conn = self._get_conn()
222
+ with self._lock:
223
+ rows = conn.execute("SELECT * FROM agents WHERE parent = ? ORDER BY path", (parent_path,)).fetchall()
224
+ return [AgentConfig.from_db_row(r) for r in rows]
225
+
226
+ def exists(self, path: str) -> bool:
227
+ """检查 agent 是否存在"""
228
+ conn = self._get_conn()
229
+ with self._lock:
230
+ row = conn.execute("SELECT 1 FROM agents WHERE path = ?", (path,)).fetchone()
231
+ return row is not None
232
+
233
+ def exists_id(self, agent_id: str) -> bool:
234
+ """检查 ID 是否存在"""
235
+ conn = self._get_conn()
236
+ with self._lock:
237
+ row = conn.execute("SELECT 1 FROM agents WHERE id = ?", (agent_id,)).fetchone()
238
+ return row is not None
239
+
240
+ def create(self, cfg: AgentConfig) -> AgentConfig:
241
+ """创建 agent,返回创建后的配置(含自动填充字段)"""
242
+ conn = self._get_conn()
243
+ now = _now_iso()
244
+ if not cfg.id:
245
+ cfg.id = uuid.uuid4().hex[:12]
246
+ if not cfg.created_at:
247
+ cfg.created_at = now
248
+ if not cfg.updated_at:
249
+ cfg.updated_at = now
250
+ if not cfg.name:
251
+ cfg.name = cfg.path
252
+
253
+ with self._lock:
254
+ conn.execute("""
255
+ INSERT INTO agents (path, id, name, description, avatar_color, avatar_emoji,
256
+ avatar_image, execution_mode, enabled, system, system_prompt, model,
257
+ parent, platform, platform_token, platform_app_id, platform_app_secret,
258
+ model_id, backup_model_ids, work_dir, department, created_at, updated_at)
259
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
260
+ """, (
261
+ cfg.path, cfg.id, cfg.name, cfg.description, cfg.avatar_color, cfg.avatar_emoji,
262
+ cfg.avatar_image, cfg.execution_mode, int(cfg.enabled), int(cfg.system),
263
+ cfg.system_prompt, cfg.model, cfg.parent, cfg.platform, cfg.platform_token,
264
+ cfg.platform_app_id, cfg.platform_app_secret, cfg.model_id, cfg.backup_model_ids,
265
+ cfg.work_dir, cfg.department, cfg.created_at, cfg.updated_at,
266
+ ))
267
+ conn.commit()
268
+ return cfg
269
+
270
+ def update(self, path: str, updates: dict) -> Optional[AgentConfig]:
271
+ """
272
+ 更新 agent 配置。
273
+ updates: 要更新的字段字典,只允许更新已知字段。
274
+ 返回更新后的配置,如果不存在返回 None。
275
+ """
276
+ # 允许更新的字段白名单
277
+ ALLOWED = {
278
+ "name", "description", "avatar_color", "avatar_emoji", "avatar_image",
279
+ "execution_mode", "enabled", "system_prompt", "model",
280
+ "platform", "platform_token", "platform_app_id", "platform_app_secret",
281
+ "model_id", "backup_model_ids", "work_dir", "department",
282
+ }
283
+ filtered = {k: v for k, v in updates.items() if k in ALLOWED}
284
+ if not filtered:
285
+ return self.get(path)
286
+
287
+ conn = self._get_conn()
288
+ now = _now_iso()
289
+
290
+ # backup_model_ids 需要 JSON 序列化
291
+ if "backup_model_ids" in filtered and isinstance(filtered["backup_model_ids"], list):
292
+ filtered["backup_model_ids"] = json.dumps(filtered["backup_model_ids"], ensure_ascii=False)
293
+
294
+ # enabled 需要转 int
295
+ if "enabled" in filtered:
296
+ filtered["enabled"] = int(bool(filtered["enabled"]))
297
+
298
+ filtered["updated_at"] = now
299
+
300
+ set_parts = ", ".join(f"{k} = ?" for k in filtered)
301
+ values = list(filtered.values()) + [path]
302
+
303
+ with self._lock:
304
+ cursor = conn.execute(f"UPDATE agents SET {set_parts} WHERE path = ?", values)
305
+ conn.commit()
306
+ if cursor.rowcount == 0:
307
+ return None
308
+ return self.get(path)
309
+
310
+ def rename(self, old_path: str, new_path: str) -> bool:
311
+ """
312
+ 重命名 agent(更新 path 及所有子 agent 的 path)。
313
+ 同时需要更新 parent 字段引用。
314
+ """
315
+ conn = self._get_conn()
316
+ with self._lock:
317
+ # 检查是否存在
318
+ existing = conn.execute("SELECT 1 FROM agents WHERE path = ?", (old_path,)).fetchone()
319
+ if not existing:
320
+ return False
321
+ # 检查目标是否已存在
322
+ target = conn.execute("SELECT 1 FROM agents WHERE path = ?", (new_path,)).fetchone()
323
+ if target:
324
+ return False
325
+
326
+ now = _now_iso()
327
+
328
+ # 1. 更新自身
329
+ conn.execute("UPDATE agents SET path = ?, updated_at = ? WHERE path = ?", (new_path, now, old_path))
330
+
331
+ # 2. 更新所有子 agent 的 path(前缀替换)和 parent
332
+ old_prefix = old_path + "/"
333
+ new_prefix = new_path + "/"
334
+ children = conn.execute("SELECT path FROM agents WHERE path LIKE ?", (old_prefix + "%",)).fetchall()
335
+ for child in children:
336
+ child_old = child["path"]
337
+ child_new = new_prefix + child_old[len(old_prefix):]
338
+ conn.execute("UPDATE agents SET path = ?, parent = ?, updated_at = ? WHERE path = ?",
339
+ (child_new, new_path, now, child_old))
340
+
341
+ # 3. 更新其他 agent 中 parent 引用
342
+ conn.execute("UPDATE agents SET parent = ?, updated_at = ? WHERE parent = ?",
343
+ (new_path, now, old_path))
344
+
345
+ # 4. 更新 department 字段中引用了 old_path 的记录(不太可能,但保险起见)
346
+ # department 存的是部门名不是 path,不需要更新
347
+
348
+ conn.commit()
349
+ return True
350
+
351
+ def delete(self, path: str) -> bool:
352
+ """
353
+ 删除 agent 及其所有子 agent。
354
+ 返回删除的行数。
355
+ """
356
+ conn = self._get_conn()
357
+ with self._lock:
358
+ # 先删子 agent(递归删除所有以 path/ 开头的)
359
+ conn.execute("DELETE FROM agents WHERE path LIKE ?", (path + "/%",))
360
+ # 再删自身
361
+ cursor = conn.execute("DELETE FROM agents WHERE path = ?", (path,))
362
+ conn.commit()
363
+ return cursor.rowcount > 0
364
+
365
+ def count(self) -> int:
366
+ """统计 agent 总数"""
367
+ conn = self._get_conn()
368
+ with self._lock:
369
+ row = conn.execute("SELECT COUNT(*) as cnt FROM agents").fetchone()
370
+ return row["cnt"] if row else 0
371
+
372
+ def search(self, keyword: str, limit: int = 20) -> List[AgentConfig]:
373
+ """按名称或描述搜索 agent"""
374
+ conn = self._get_conn()
375
+ with self._lock:
376
+ rows = conn.execute(
377
+ "SELECT * FROM agents WHERE name LIKE ? OR description LIKE ? ORDER BY path LIMIT ?",
378
+ (f"%{keyword}%", f"%{keyword}%", limit),
379
+ ).fetchall()
380
+ return [AgentConfig.from_db_row(r) for r in rows]
381
+
382
+ def get_all_ids(self) -> List[str]:
383
+ """获取所有 agent ID 列表(用于调试)"""
384
+ conn = self._get_conn()
385
+ with self._lock:
386
+ rows = conn.execute("SELECT id FROM agents WHERE id != ''").fetchall()
387
+ return [r["id"] for r in rows]
388
+
389
+ # ==========================================================================
390
+ # 迁移: config.json → SQLite
391
+ # ==========================================================================
392
+
393
+ def migrate_from_json(self, agents_dir: Path, force: bool = False) -> dict:
394
+ """
395
+ 从文件系统迁移 agent 配置到数据库。
396
+
397
+ Args:
398
+ agents_dir: agents 数据目录路径(~/.myagent/data/agents/)
399
+ force: 是否强制重新迁移
400
+
401
+ Returns:
402
+ {"migrated": int, "skipped": int, "errors": int}
403
+ """
404
+ conn = self._get_conn()
405
+ result = {"migrated": 0, "skipped": 0, "errors": 0}
406
+
407
+ if not agents_dir.exists():
408
+ logger.info(f"Agent 数据目录不存在,跳过迁移: {agents_dir}")
409
+ return result
410
+
411
+ if self.count() > 0 and not force:
412
+ logger.info(f"数据库已有 {self.count()} 个 agent,跳过迁移(使用 force 强制重新迁移)")
413
+ result["skipped"] = self.count()
414
+ return result
415
+
416
+ now = _now_iso()
417
+ for cfg_path in agents_dir.rglob("config.json"):
418
+ try:
419
+ # 跳过符号链接
420
+ if cfg_path.parent.is_symlink():
421
+ continue
422
+
423
+ raw = json.loads(cfg_path.read_text(encoding="utf-8"))
424
+ rel_path = cfg_path.parent.relative_to(agents_dir).as_posix()
425
+
426
+ # 补全缺失字段
427
+ if "id" not in raw or not raw["id"]:
428
+ raw["id"] = uuid.uuid4().hex[:12]
429
+ if "created_at" not in raw or not raw["created_at"]:
430
+ raw["created_at"] = now
431
+ if "updated_at" not in raw or not raw["updated_at"]:
432
+ raw["updated_at"] = now
433
+
434
+ cfg = AgentConfig.from_json(rel_path, raw)
435
+
436
+ with self._lock:
437
+ # 使用 INSERT OR REPLACE 避免重复
438
+ conn.execute("""
439
+ INSERT OR REPLACE INTO agents (path, id, name, description, avatar_color, avatar_emoji,
440
+ avatar_image, execution_mode, enabled, system, system_prompt, model,
441
+ parent, platform, platform_token, platform_app_id, platform_app_secret,
442
+ model_id, backup_model_ids, work_dir, department, created_at, updated_at)
443
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
444
+ """, (
445
+ cfg.path, cfg.id, cfg.name, cfg.description, cfg.avatar_color, cfg.avatar_emoji,
446
+ cfg.avatar_image, cfg.execution_mode, int(cfg.enabled), int(cfg.system),
447
+ cfg.system_prompt, cfg.model, cfg.parent, cfg.platform, cfg.platform_token,
448
+ cfg.platform_app_id, cfg.platform_app_secret, cfg.model_id, cfg.backup_model_ids,
449
+ cfg.work_dir, cfg.department, cfg.created_at, cfg.updated_at,
450
+ ))
451
+ result["migrated"] += 1
452
+
453
+ except Exception as e:
454
+ result["errors"] += 1
455
+ logger.warning(f"迁移 agent 失败: {cfg_path} -> {e}")
456
+
457
+ with self._lock:
458
+ conn.commit()
459
+
460
+ logger.info(f"Agent 配置迁移完成: {result['migrated']} 迁移, {result['skipped']} 跳过, {result['errors']} 错误")
461
+ return result
462
+
463
+ def close(self):
464
+ """关闭数据库连接"""
465
+ if self._conn:
466
+ self._conn.close()
467
+ self._conn = None
468
+
469
+
470
+ # ==============================================================================
471
+ # 工具函数
472
+ # ==============================================================================
473
+
474
+ def _now_iso() -> str:
475
+ """返回 ISO 格式时间戳"""
476
+ from datetime import datetime, timezone
477
+ try:
478
+ from core.utils import get_config_tz
479
+ tz = get_config_tz()
480
+ return datetime.now(tz).strftime("%Y-%m-%dT%H:%M:%S")
481
+ except Exception:
482
+ return datetime.now(timezone.utc).strftime("%Y-%m-%dT%H:%M:%S")
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "myagent-ai",
3
- "version": "1.23.73",
3
+ "version": "1.23.75",
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,28 +1089,83 @@ async def cmd_chat(args):
1089
1089
  print("错误: 必须指定 --message 或 --file", file=sys.stderr)
1090
1090
  sys.exit(1)
1091
1091
 
1092
- # [v1.23.73] Agent 查找:按 ID 匹配,递归搜索所有目录层级
1093
- agents_data_dir = Path.home() / ".myagent" / "data" / "agents"
1094
- resolved_path = None
1092
+ # [v1.23.75] Agent 查找:从数据库按 ID 匹配
1093
+ _config_file = Path.home() / ".myagent" / "config.json"
1094
+ _base_dir = Path.home() / ".myagent"
1095
+ _db_path = Path.home() / ".myagent" / "data" / "agents.db"
1096
+ try:
1097
+ if _config_file.exists():
1098
+ _cfg_raw = json.loads(_config_file.read_text(encoding="utf-8"))
1099
+ _custom_dir = _cfg_raw.get("data_dir", "")
1100
+ if _custom_dir:
1101
+ _expanded = os.path.expanduser(_custom_dir)
1102
+ if not os.path.isabs(_expanded):
1103
+ _expanded = str(Path.home() / _expanded)
1104
+ _base_dir = Path(_expanded)
1105
+ except Exception:
1106
+ pass
1095
1107
 
1096
- if agents_data_dir.exists():
1097
- for cfg_path in agents_data_dir.rglob("config.json"):
1098
- try:
1099
- ag_cfg = json.loads(cfg_path.read_text(encoding="utf-8"))
1100
- if ag_cfg.get("id", "") == a.agent:
1101
- resolved_path = cfg_path.parent.relative_to(agents_data_dir).as_posix()
1108
+ resolved_path = None
1109
+ found_ids = []
1110
+
1111
+ # 优先从数据库查询
1112
+ if _db_path.exists():
1113
+ try:
1114
+ import sqlite3
1115
+ conn = sqlite3.connect(str(_db_path))
1116
+ conn.row_factory = sqlite3.Row
1117
+ rows = conn.execute("SELECT path, id FROM agents WHERE id != ''").fetchall()
1118
+ conn.close()
1119
+ for row in rows:
1120
+ aid = row["id"]
1121
+ found_ids.append(aid)
1122
+ if aid == a.agent:
1123
+ resolved_path = row["path"]
1102
1124
  break
1103
- except Exception:
1104
- pass
1125
+ except Exception:
1126
+ pass
1105
1127
 
1128
+ # 数据库查不到,回退到文件系统(兼容旧版本)
1106
1129
  if not resolved_path:
1107
- print(f"错误: Agent 不存在: {a.agent}(请使用Agent的ID,从群成员列表中获取)", file=sys.stderr)
1130
+ agents_data_dir = _base_dir / "data" / "agents"
1131
+ if agents_data_dir.exists():
1132
+ for cfg_path in agents_data_dir.rglob("config.json"):
1133
+ try:
1134
+ ag_cfg = json.loads(cfg_path.read_text(encoding="utf-8"))
1135
+ aid = ag_cfg.get("id", "")
1136
+ if aid and aid not in found_ids:
1137
+ found_ids.append(aid)
1138
+ if aid == a.agent:
1139
+ resolved_path = cfg_path.parent.relative_to(agents_data_dir).as_posix()
1140
+ break
1141
+ except Exception:
1142
+ pass
1143
+
1144
+ if not resolved_path:
1145
+ err_parts = [f"错误: Agent 不存在: {a.agent}"]
1146
+ if not _db_path.exists() and not (_base_dir / "data" / "agents").exists():
1147
+ err_parts.append(f"agents 数据不存在(数据库和目录均未找到)")
1148
+ else:
1149
+ cfg_count = len(found_ids)
1150
+ err_parts.append(f"共扫描到 {cfg_count} 个 Agent")
1151
+ if cfg_count > 0:
1152
+ sample = found_ids[:5]
1153
+ err_parts.append(f"已有 ID: {', '.join(sample)}")
1154
+ err_parts.append(f"(请使用Agent的ID,从群成员列表中获取)")
1155
+ print(" | ".join(err_parts), file=sys.stderr)
1108
1156
  sys.exit(1)
1109
1157
 
1110
- agent_dir = agents_data_dir / resolved_path
1111
- cfg_file = agent_dir / "config.json"
1112
- cfg = json.loads(cfg_file.read_text(encoding="utf-8"))
1113
- agent_name = cfg.get("name", resolved_path)
1158
+ # 从数据库获取 agent_name
1159
+ agent_name = resolved_path
1160
+ try:
1161
+ conn = sqlite3.connect(str(_db_path))
1162
+ conn.row_factory = sqlite3.Row
1163
+ row = conn.execute("SELECT name FROM agents WHERE path = ?", (resolved_path,)).fetchone()
1164
+ conn.close()
1165
+ if row and row["name"]:
1166
+ agent_name = row["name"]
1167
+ except Exception:
1168
+ pass
1114
1169
 
1115
1170
 
1116
1171
  # 验证文件是否存在