myagent-ai 1.47.31 → 1.47.36

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 (337) hide show
  1. package/Dockerfile +88 -88
  2. package/README.md +378 -378
  3. package/agents/__init__.py +6 -6
  4. package/agents/base.py +450 -450
  5. package/agents/main_agent.py +1372 -1334
  6. package/agents/memory_agent.py +418 -418
  7. package/agents/tool_agent.py +248 -248
  8. package/aiskills/__init__.py +5 -5
  9. package/aiskills/ai-news-collectors/SKILL.md +157 -157
  10. package/aiskills/ai-news-collectors/_meta.json +5 -5
  11. package/aiskills/ai-news-collectors/references/international-search.md +651 -651
  12. package/aiskills/ai-news-collectors/references/multi-search-engine.md +78 -78
  13. package/aiskills/ai-news-collectors/references/qingyan-research.md +293 -293
  14. package/aiskills/ai-news-collectors/references/sources.md +128 -128
  15. package/aiskills/auto-target-tracker/SKILL.md +317 -317
  16. package/aiskills/base.py +153 -153
  17. package/aiskills/blog-writer/2024-02-17-radical-transparency-sales.md +35 -35
  18. package/aiskills/blog-writer/2024-02-17-raycast-spotlight-superpowers.md +33 -33
  19. package/aiskills/blog-writer/2024-02-17-short-form-content-marketing.md +47 -47
  20. package/aiskills/blog-writer/2024-02-17-typing-speed-benefits.md +33 -33
  21. package/aiskills/blog-writer/2024-03-14-effective-ai-prompts.md +55 -55
  22. package/aiskills/blog-writer/2024-11-08-ai-revolutionizing-entry-level-sales.md +43 -43
  23. package/aiskills/blog-writer/2025-11-12-why-ai-art-is-useless.md +49 -49
  24. package/aiskills/blog-writer/README.md +2 -2
  25. package/aiskills/blog-writer/SKILL.md +158 -158
  26. package/aiskills/blog-writer/_meta.json +5 -5
  27. package/aiskills/blog-writer/manage_examples.py +90 -90
  28. package/aiskills/blog-writer/style-guide.md +160 -160
  29. package/aiskills/browser_stealth.py +3752 -4040
  30. package/aiskills/charts/LICENSE.txt +13 -13
  31. package/aiskills/charts/SKILL.md +427 -427
  32. package/aiskills/charts/references/_rules.md +49 -49
  33. package/aiskills/charts/references/d3.md +199 -199
  34. package/aiskills/charts/references/echarts.md +651 -651
  35. package/aiskills/charts/references/matplotlib.md +617 -617
  36. package/aiskills/charts/references/mermaid.md +797 -797
  37. package/aiskills/charts/references/mindmap-css.md +911 -911
  38. package/aiskills/charts/references/playwright-css.md +801 -801
  39. package/aiskills/charts/references/radial-grid.md +576 -576
  40. package/aiskills/charts/references/seaborn.md +324 -324
  41. package/aiskills/charts/setup.sh +228 -228
  42. package/aiskills/chromedev_mcp.py +1931 -1912
  43. package/aiskills/docx_skill.py +213 -213
  44. package/aiskills/dream-interpreter/SKILL.md +88 -88
  45. package/aiskills/dream-interpreter/assets/example_asset.txt +24 -24
  46. package/aiskills/dream-interpreter/references/api_reference.md +34 -34
  47. package/aiskills/dream-interpreter/references/interpretation-guide.md +83 -83
  48. package/aiskills/dream-interpreter/references/output-schema.md +65 -65
  49. package/aiskills/dream-interpreter/references/questioning-strategy.md +62 -62
  50. package/aiskills/dream-interpreter/references/visual-mapping.md +81 -81
  51. package/aiskills/dream-interpreter/scripts/example.py +19 -19
  52. package/aiskills/dream-interpreter/skill.json +7 -7
  53. package/aiskills/extract-wisdom/SKILL.md +229 -229
  54. package/aiskills/extract-wisdom/Workflows/Extract.md +60 -60
  55. package/aiskills/file_send.py +132 -132
  56. package/aiskills/fullstack-dev/SKILL.md +1037 -1037
  57. package/aiskills/fullstack-dev/references/api-design.md +444 -444
  58. package/aiskills/fullstack-dev/references/auth-flow.md +165 -165
  59. package/aiskills/fullstack-dev/references/db-schema.md +706 -706
  60. package/aiskills/fullstack-dev/references/django-best-practices.md +466 -466
  61. package/aiskills/fullstack-dev/references/environment-management.md +78 -78
  62. package/aiskills/fullstack-dev/references/release-checklist.md +278 -278
  63. package/aiskills/fullstack-dev/references/technology-selection.md +254 -254
  64. package/aiskills/fullstack-dev/references/testing-strategy.md +404 -404
  65. package/aiskills/get-fortune-analysis/SKILL.md +369 -369
  66. package/aiskills/get-fortune-analysis/lunar_python.py +90 -90
  67. package/aiskills/gift-evaluator/SKILL.md +83 -83
  68. package/aiskills/gift-evaluator/html_tools.py +267 -267
  69. package/aiskills/gui_skill.py +909 -909
  70. package/aiskills/interview-designer/README.md +70 -70
  71. package/aiskills/interview-designer/SKILL.md +53 -53
  72. package/aiskills/interview-designer/_meta.json +5 -5
  73. package/aiskills/interview-designer/references/design_rationale.md +43 -43
  74. package/aiskills/interview-designer/templates/interview_guide_template.md +62 -62
  75. package/aiskills/market-research-reports/SKILL.md +901 -901
  76. package/aiskills/market-research-reports/assets/FORMATTING_GUIDE.md +428 -428
  77. package/aiskills/market-research-reports/assets/market_report_template.tex +1380 -1380
  78. package/aiskills/market-research-reports/assets/market_research.sty +564 -564
  79. package/aiskills/market-research-reports/references/data_analysis_patterns.md +548 -548
  80. package/aiskills/market-research-reports/references/report_structure_guide.md +999 -999
  81. package/aiskills/market-research-reports/references/visual_generation_guide.md +1077 -1077
  82. package/aiskills/market-research-reports/scripts/generate_market_visuals.py +529 -529
  83. package/aiskills/marketing-mode/README.md +49 -49
  84. package/aiskills/marketing-mode/SKILL.md +693 -693
  85. package/aiskills/marketing-mode/_meta.json +5 -5
  86. package/aiskills/marketing-mode/mode-prompt.md +39 -39
  87. package/aiskills/marketing-mode/skill.json +51 -51
  88. package/aiskills/pdf_skill.py +456 -456
  89. package/aiskills/ppt_skill.py +317 -317
  90. package/aiskills/registry.py +620 -620
  91. package/aiskills/search_skill.py +479 -479
  92. package/aiskills/seo-content-writer/SKILL.md +661 -661
  93. package/aiskills/seo-content-writer/_meta.json +5 -5
  94. package/aiskills/seo-content-writer/references/content-strategy.md +181 -181
  95. package/aiskills/seo-content-writer/references/content-structure-templates.md +875 -875
  96. package/aiskills/seo-content-writer/references/title-formulas.md +339 -339
  97. package/aiskills/site-douyin/SKILL.md +123 -123
  98. package/aiskills/site-gmail/SKILL.md +124 -124
  99. package/aiskills/site-mail139/SKILL.md +115 -115
  100. package/aiskills/site-operations/SKILL.md +150 -150
  101. package/aiskills/site-wechat-mp/SKILL.md +116 -116
  102. package/aiskills/site-weibo/SKILL.md +135 -135
  103. package/aiskills/site-x-com/SKILL.md +138 -138
  104. package/aiskills/skill-creator/LICENSE.txt +201 -201
  105. package/aiskills/skill-creator/SKILL.md +485 -485
  106. package/aiskills/skill-creator/agents/analyzer.md +274 -274
  107. package/aiskills/skill-creator/agents/comparator.md +202 -202
  108. package/aiskills/skill-creator/agents/grader.md +223 -223
  109. package/aiskills/skill-creator/assets/eval_review.html +146 -146
  110. package/aiskills/skill-creator/eval-viewer/generate_review.py +471 -471
  111. package/aiskills/skill-creator/eval-viewer/viewer.html +1325 -1325
  112. package/aiskills/skill-creator/references/schemas.md +430 -430
  113. package/aiskills/skill-creator/scripts/__init__.py +0 -0
  114. package/aiskills/skill-creator/scripts/aggregate_benchmark.py +401 -401
  115. package/aiskills/skill-creator/scripts/generate_report.py +326 -326
  116. package/aiskills/skill-creator/scripts/improve_description.py +236 -236
  117. package/aiskills/skill-creator/scripts/package_skill.py +136 -136
  118. package/aiskills/skill-creator/scripts/quick_validate.py +102 -102
  119. package/aiskills/skill-creator/scripts/run_eval.py +310 -310
  120. package/aiskills/skill-creator/scripts/run_loop.py +328 -328
  121. package/aiskills/skill-creator/scripts/utils.py +47 -47
  122. package/aiskills/skill-vetter/SKILL.md +137 -137
  123. package/aiskills/stealth_browser/SKILL.md +133 -133
  124. package/aiskills/storyboard-manager/SKILL.md +532 -532
  125. package/aiskills/storyboard-manager/index.js +9 -9
  126. package/aiskills/storyboard-manager/package.json +10 -10
  127. package/aiskills/storyboard-manager/references/character_development.md +232 -232
  128. package/aiskills/storyboard-manager/references/story_structures.md +148 -148
  129. package/aiskills/storyboard-manager/scripts/consistency_checker.py +391 -391
  130. package/aiskills/storyboard-manager/scripts/timeline_tracker.py +352 -352
  131. package/aiskills/system_skill.py +262 -262
  132. package/aiskills/task_plan_skill.py +210 -210
  133. package/aiskills/ui-ux-pro-max/SKILL.md +43 -43
  134. package/aiskills/ui-ux-pro-max/_meta.json +5 -5
  135. package/aiskills/ui-ux-pro-max/data/charts.csv +0 -0
  136. package/aiskills/ui-ux-pro-max/data/colors.csv +0 -0
  137. package/aiskills/ui-ux-pro-max/data/icons.csv +101 -101
  138. package/aiskills/ui-ux-pro-max/data/landing.csv +0 -0
  139. package/aiskills/ui-ux-pro-max/data/products.csv +0 -0
  140. package/aiskills/ui-ux-pro-max/data/react-performance.csv +45 -45
  141. package/aiskills/ui-ux-pro-max/data/stacks/astro.csv +54 -54
  142. package/aiskills/ui-ux-pro-max/data/stacks/flutter.csv +0 -0
  143. package/aiskills/ui-ux-pro-max/data/stacks/html-tailwind.csv +0 -0
  144. package/aiskills/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -53
  145. package/aiskills/ui-ux-pro-max/data/stacks/nextjs.csv +0 -0
  146. package/aiskills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -51
  147. package/aiskills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -59
  148. package/aiskills/ui-ux-pro-max/data/stacks/react-native.csv +0 -0
  149. package/aiskills/ui-ux-pro-max/data/stacks/react.csv +0 -0
  150. package/aiskills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -61
  151. package/aiskills/ui-ux-pro-max/data/stacks/svelte.csv +0 -0
  152. package/aiskills/ui-ux-pro-max/data/stacks/swiftui.csv +0 -0
  153. package/aiskills/ui-ux-pro-max/data/stacks/vue.csv +0 -0
  154. package/aiskills/ui-ux-pro-max/data/styles.csv +0 -0
  155. package/aiskills/ui-ux-pro-max/data/typography.csv +57 -57
  156. package/aiskills/ui-ux-pro-max/data/ui-reasoning.csv +101 -101
  157. package/aiskills/ui-ux-pro-max/data/ux-guidelines.csv +0 -0
  158. package/aiskills/ui-ux-pro-max/data/web-interface.csv +31 -31
  159. package/aiskills/ui-ux-pro-max/references/color-systems.md +417 -417
  160. package/aiskills/ui-ux-pro-max/references/spacing-iconography.md +425 -425
  161. package/aiskills/ui-ux-pro-max/references/typography-systems.md +432 -432
  162. package/aiskills/ui-ux-pro-max/references/upstream-README.md +488 -488
  163. package/aiskills/ui-ux-pro-max/references/upstream-skill-content.md +288 -288
  164. package/aiskills/ui-ux-pro-max/references/visual-design-foundations.md +318 -318
  165. package/aiskills/ui-ux-pro-max/scripts/__init__.py +0 -0
  166. package/aiskills/ui-ux-pro-max/scripts/core.py +253 -253
  167. package/aiskills/ui-ux-pro-max/scripts/design_system.py +1071 -1071
  168. package/aiskills/ui-ux-pro-max/scripts/search.py +0 -0
  169. package/aiskills/web-shader-extractor/SKILL.md +145 -145
  170. package/aiskills/web-shader-extractor/references/config-extraction.md +50 -50
  171. package/aiskills/web-shader-extractor/references/encoded-definitions.md +53 -53
  172. package/aiskills/web-shader-extractor/references/extraction-workflow.md +61 -61
  173. package/aiskills/web-shader-extractor/references/porting-strategy.md +164 -164
  174. package/aiskills/web-shader-extractor/references/shader-injection.md +126 -126
  175. package/aiskills/web-shader-extractor/references/shaders-com.md +190 -190
  176. package/aiskills/web-shader-extractor/references/tech-signatures.md +54 -54
  177. package/aiskills/web-shader-extractor/references/tsl-extraction.md +41 -41
  178. package/aiskills/web-shader-extractor/references/unicorn-studio.md +353 -353
  179. package/aiskills/web-shader-extractor/scripts/fetch-rendered-dom.mjs +153 -153
  180. package/aiskills/web-shader-extractor/scripts/scan-bundle.sh +76 -76
  181. package/aiskills/workflow_skill.py +476 -476
  182. package/aiskills/xlsx_skill.py +346 -346
  183. package/chatbot/__init__.py +5 -5
  184. package/chatbot/base.py +126 -126
  185. package/chatbot/discord_bot.py +146 -146
  186. package/chatbot/feishu_bot.py +548 -548
  187. package/chatbot/manager.py +271 -271
  188. package/chatbot/qq_bot.py +189 -189
  189. package/chatbot/telegram_bot.py +167 -167
  190. package/chatbot/wechat_bot.py +558 -558
  191. package/chatbot/whatsapp_bot.py +330 -330
  192. package/chatbot/whatsapp_bridge/bridge.mjs +192 -192
  193. package/chatbot/whatsapp_bridge/package.json +11 -11
  194. package/communication/__init__.py +66 -66
  195. package/communication/channel.py +584 -584
  196. package/communication/crypto.py +346 -346
  197. package/communication/manager.py +409 -409
  198. package/communication/peer.py +155 -155
  199. package/config.py +536 -536
  200. package/core/__init__.py +4 -4
  201. package/core/agent_storage.py +660 -749
  202. package/core/browser_profile.py +442 -442
  203. package/core/config_broadcast.py +307 -307
  204. package/core/config_validator.py +740 -740
  205. package/core/context_builder.py +1064 -1064
  206. package/core/context_manager.py +534 -534
  207. package/core/deps_checker.py +542 -542
  208. package/core/env_detect.py +229 -229
  209. package/core/llm.py +1157 -1157
  210. package/core/logger.py +447 -295
  211. package/core/permissions.py +372 -372
  212. package/core/site_registry.py +773 -773
  213. package/core/stt.py +320 -320
  214. package/core/task_persistence.py +359 -359
  215. package/core/task_queue.py +470 -470
  216. package/core/tool_dispatcher.py +1402 -1285
  217. package/core/update_manager.py +1474 -1474
  218. package/core/utils.py +234 -234
  219. package/core/version.py +97 -97
  220. package/core/vnc_manager.py +3499 -5384
  221. package/core/web_control.py +956 -956
  222. package/core/workflow_engine.py +1004 -1004
  223. package/data/novnc/lib/base64.js +100 -100
  224. package/data/novnc/lib/decoders/copyrect.js +41 -41
  225. package/data/novnc/lib/decoders/hextile.js +198 -198
  226. package/data/novnc/lib/decoders/jpeg.js +148 -148
  227. package/data/novnc/lib/decoders/raw.js +73 -73
  228. package/data/novnc/lib/decoders/rre.js +53 -53
  229. package/data/novnc/lib/decoders/tight.js +301 -301
  230. package/data/novnc/lib/decoders/tightpng.js +46 -46
  231. package/data/novnc/lib/decoders/zrle.js +187 -187
  232. package/data/novnc/lib/deflator.js +84 -84
  233. package/data/novnc/lib/des.js +300 -300
  234. package/data/novnc/lib/display.js +519 -519
  235. package/data/novnc/lib/encodings.js +62 -62
  236. package/data/novnc/lib/inflator.js +73 -73
  237. package/data/novnc/lib/input/domkeytable.js +313 -313
  238. package/data/novnc/lib/input/fixedkeys.js +127 -127
  239. package/data/novnc/lib/input/gesturehandler.js +574 -574
  240. package/data/novnc/lib/input/keyboard.js +279 -279
  241. package/data/novnc/lib/input/keysym.js +878 -878
  242. package/data/novnc/lib/input/keysymdef.js +1351 -1351
  243. package/data/novnc/lib/input/util.js +216 -216
  244. package/data/novnc/lib/input/vkeys.js +121 -121
  245. package/data/novnc/lib/input/xtscancodes.js +343 -343
  246. package/data/novnc/lib/ra2.js +1004 -1004
  247. package/data/novnc/lib/rfb.js +3323 -3323
  248. package/data/novnc/lib/util/browser.js +149 -149
  249. package/data/novnc/lib/util/cursor.js +264 -264
  250. package/data/novnc/lib/util/element.js +40 -40
  251. package/data/novnc/lib/util/events.js +132 -132
  252. package/data/novnc/lib/util/eventtarget.js +54 -54
  253. package/data/novnc/lib/util/int.js +20 -20
  254. package/data/novnc/lib/util/logging.js +60 -60
  255. package/data/novnc/lib/util/md5.js +76 -76
  256. package/data/novnc/lib/util/strings.js +35 -35
  257. package/data/novnc/lib/vendor/pako/lib/utils/common.js +57 -57
  258. package/data/novnc/lib/vendor/pako/lib/zlib/adler32.js +28 -28
  259. package/data/novnc/lib/vendor/pako/lib/zlib/constants.js +47 -47
  260. package/data/novnc/lib/vendor/pako/lib/zlib/crc32.js +34 -34
  261. package/data/novnc/lib/vendor/pako/lib/zlib/deflate.js +1754 -1754
  262. package/data/novnc/lib/vendor/pako/lib/zlib/gzheader.js +40 -40
  263. package/data/novnc/lib/vendor/pako/lib/zlib/inffast.js +328 -328
  264. package/data/novnc/lib/vendor/pako/lib/zlib/inflate.js +1625 -1625
  265. package/data/novnc/lib/vendor/pako/lib/zlib/inftrees.js +311 -311
  266. package/data/novnc/lib/vendor/pako/lib/zlib/messages.js +25 -25
  267. package/data/novnc/lib/vendor/pako/lib/zlib/trees.js +1156 -1156
  268. package/data/novnc/lib/vendor/pako/lib/zlib/zstream.js +29 -29
  269. package/data/novnc/lib/websock.js +383 -383
  270. package/data/uploads/2026-04/2d9c5179-00b_empty.docx +0 -0
  271. package/data/uploads/2026-05/566cc30f-e21_x_com_1777815968.png +0 -0
  272. package/data/uploads/2026-05/5c2a3c85-b0a_x_com_1777816077.png +0 -0
  273. package/data/uploads/2026-05/c50e2f43-729_x_com_1777816139.png +0 -0
  274. package/departments/__init__.py +4 -4
  275. package/departments/manager.py +1035 -1035
  276. package/docs//351/205/215/347/275/256/344/275/277/347/224/250/350/257/264/346/230/216.md +815 -815
  277. package/executor/__init__.py +4 -4
  278. package/executor/engine.py +1593 -1593
  279. package/goodbye +229 -229
  280. package/groups/__init__.py +15 -15
  281. package/groups/manager.py +900 -900
  282. package/install/install.ps1 +171 -171
  283. package/install/install.sh +258 -258
  284. package/install/setup-termux-vnc.sh +516 -516
  285. package/install/uninstall.ps1 +142 -142
  286. package/install/uninstall.sh +149 -149
  287. package/install.ps1 +97 -97
  288. package/knowledge/__init__.py +4 -4
  289. package/knowledge/rag.py +452 -452
  290. package/main.py +1963 -1956
  291. package/memory/__init__.py +4 -4
  292. package/memory/manager.py +1333 -1333
  293. package/myagent_icon.png +0 -0
  294. package/myagent_start.ps1 +26 -26
  295. package/organization/__init__.py +4 -4
  296. package/organization/manager.py +366 -366
  297. package/package.json +46 -46
  298. package/requirements-optional.txt +16 -16
  299. package/requirements.txt +94 -94
  300. package/scripts/cli.py +1710 -1682
  301. package/scripts/setup_helper.py +33 -33
  302. package/setup.py +72 -72
  303. package/start.bat +84 -84
  304. package/start.js +910 -879
  305. package/start.sh +240 -240
  306. package/tray-requirements.txt +3 -3
  307. package/tray_manager.py +662 -618
  308. package/web/__init__.py +1 -1
  309. package/web/api_server.py +11705 -11345
  310. package/web/tts_handler.py +216 -216
  311. package/web/ui/admin/admin-agentchat.js +359 -307
  312. package/web/ui/admin/admin-agents.js +578 -578
  313. package/web/ui/admin/admin-core.js +430 -430
  314. package/web/ui/admin/admin-dashboard.js +148 -148
  315. package/web/ui/admin/admin-executor.js +62 -62
  316. package/web/ui/admin/admin-files.js +76 -76
  317. package/web/ui/admin/admin-llm.js +188 -188
  318. package/web/ui/admin/admin-logs.js +174 -64
  319. package/web/ui/admin/admin-memory.js +86 -86
  320. package/web/ui/admin/admin-org.js +278 -278
  321. package/web/ui/admin/admin-permissions.js +142 -142
  322. package/web/ui/admin/admin-platforms.js +305 -305
  323. package/web/ui/admin/admin-sessions.js +288 -288
  324. package/web/ui/admin/admin-sites.js +416 -416
  325. package/web/ui/admin/admin-skills.js +229 -229
  326. package/web/ui/admin/admin-system.js +239 -239
  327. package/web/ui/admin/admin-tasks.js +142 -126
  328. package/web/ui/admin/admin-workflows.js +621 -621
  329. package/web/ui/chat/chat.css +3059 -3059
  330. package/web/ui/chat/chat.js +52 -52
  331. package/web/ui/chat/chat_container.html +403 -412
  332. package/web/ui/chat/chat_main.js +6439 -6445
  333. package/web/ui/chat/flow_engine.js +2046 -2046
  334. package/web/ui/chat/groupchat.js +1246 -1246
  335. package/web/ui/index.html +373 -373
  336. package/worklog.md +242 -71
  337. package/core/output_parser.py +0 -730
package/Dockerfile CHANGED
@@ -1,88 +1,88 @@
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
- # [v1.33.4] 包含 VNC 远程桌面依赖 + Chromium 浏览器 + 中文字体
10
- RUN apt-get update && apt-get install -y --no-install-recommends \
11
- python3-pip \
12
- poppler-utils \
13
- # Chrome/Chromium 运行所需的共享库
14
- libnss3 \
15
- libatk1.0-0 \
16
- libatk-bridge2.0-0 \
17
- libcups2 \
18
- libdrm2 \
19
- libxkbcommon0 \
20
- libxcomposite1 \
21
- libxdamage1 \
22
- libxfixes3 \
23
- libxrandr2 \
24
- libgbm1 \
25
- libpango-1.0-0 \
26
- libcairo2 \
27
- libasound2 \
28
- libatspi2.0-0 \
29
- libxshmfence1 \
30
- libx11-xcb1 \
31
- libxcb-dri3-0 \
32
- fonts-liberation \
33
- xdg-utils \
34
- # Node.js (浏览器自动化 MCP 需要)
35
- nodejs \
36
- npm \
37
- # VNC 远程桌面依赖
38
- xvfb \
39
- x11vnc \
40
- fluxbox \
41
- xterm \
42
- x11-xserver-utils \
43
- xdotool \
44
- xsetroot \
45
- ffmpeg \
46
- procps \
47
- psmisc \
48
- # Chromium 浏览器 (VNC 桌面可用)
49
- chromium \
50
- # 中文字体
51
- fonts-noto-cjk \
52
- fonts-wqy-zenhei \
53
- && rm -rf /var/lib/apt/lists/*
54
-
55
- # 为 Chromium 创建无沙箱包装脚本(容器/proot 环境必需)
56
- RUN BROWSER_PATH=$(which chromium || which chromium-browser || true) \
57
- && if [ -n "$BROWSER_PATH" ]; then \
58
- REAL_PATH=$(readlink -f "$BROWSER_PATH" 2>/dev/null || echo "$BROWSER_PATH"); \
59
- mv "$BROWSER_PATH" "${BROWSER_PATH}.real" 2>/dev/null || true; \
60
- printf '#!/bin/bash\nexec %s --no-sandbox --disable-gpu --disable-dev-shm-usage "$@"\n' "$REAL_PATH" > "$BROWSER_PATH"; \
61
- chmod +x "$BROWSER_PATH"; \
62
- fi
63
-
64
- # 安装 Puppeteer 的 Chrome (自包含,浏览器自动化场景使用)
65
- RUN npx -y puppeteer browsers install chrome@stable || true
66
-
67
- # 安装 websockify (VNC WebSocket 代理)
68
- RUN pip install --no-cache-dir websockify || true
69
-
70
- # 安装 Python 依赖
71
- COPY requirements.txt .
72
- RUN pip install --no-cache-dir -r requirements.txt
73
-
74
- # 复制代码
75
- COPY . .
76
-
77
- # 创建数据目录
78
- RUN mkdir -p data logs
79
-
80
- # 环境变量
81
- ENV MYAGENT_APP_DATA_DIR=data
82
- ENV MYAGENT_APP_LOG_FILE=logs/myagent.log
83
-
84
- # HTTP API 模式
85
- EXPOSE 8080
86
-
87
- # 启动
88
- CMD ["python", "main.py", "--server", "--host", "0.0.0.0", "--port", "8080"]
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
+ # [v1.33.4] 包含 VNC 远程桌面依赖 + Chromium 浏览器 + 中文字体
10
+ RUN apt-get update && apt-get install -y --no-install-recommends \
11
+ python3-pip \
12
+ poppler-utils \
13
+ # Chrome/Chromium 运行所需的共享库
14
+ libnss3 \
15
+ libatk1.0-0 \
16
+ libatk-bridge2.0-0 \
17
+ libcups2 \
18
+ libdrm2 \
19
+ libxkbcommon0 \
20
+ libxcomposite1 \
21
+ libxdamage1 \
22
+ libxfixes3 \
23
+ libxrandr2 \
24
+ libgbm1 \
25
+ libpango-1.0-0 \
26
+ libcairo2 \
27
+ libasound2 \
28
+ libatspi2.0-0 \
29
+ libxshmfence1 \
30
+ libx11-xcb1 \
31
+ libxcb-dri3-0 \
32
+ fonts-liberation \
33
+ xdg-utils \
34
+ # Node.js (浏览器自动化 MCP 需要)
35
+ nodejs \
36
+ npm \
37
+ # VNC 远程桌面依赖
38
+ xvfb \
39
+ x11vnc \
40
+ fluxbox \
41
+ xterm \
42
+ x11-xserver-utils \
43
+ xdotool \
44
+ xsetroot \
45
+ ffmpeg \
46
+ procps \
47
+ psmisc \
48
+ # Chromium 浏览器 (VNC 桌面可用)
49
+ chromium \
50
+ # 中文字体
51
+ fonts-noto-cjk \
52
+ fonts-wqy-zenhei \
53
+ && rm -rf /var/lib/apt/lists/*
54
+
55
+ # 为 Chromium 创建无沙箱包装脚本(容器/proot 环境必需)
56
+ RUN BROWSER_PATH=$(which chromium || which chromium-browser || true) \
57
+ && if [ -n "$BROWSER_PATH" ]; then \
58
+ REAL_PATH=$(readlink -f "$BROWSER_PATH" 2>/dev/null || echo "$BROWSER_PATH"); \
59
+ mv "$BROWSER_PATH" "${BROWSER_PATH}.real" 2>/dev/null || true; \
60
+ printf '#!/bin/bash\nexec %s --no-sandbox --disable-gpu --disable-dev-shm-usage "$@"\n' "$REAL_PATH" > "$BROWSER_PATH"; \
61
+ chmod +x "$BROWSER_PATH"; \
62
+ fi
63
+
64
+ # 安装 Puppeteer 的 Chrome (自包含,浏览器自动化场景使用)
65
+ RUN npx -y puppeteer browsers install chrome@stable || true
66
+
67
+ # 安装 websockify (VNC WebSocket 代理)
68
+ RUN pip install --no-cache-dir websockify || true
69
+
70
+ # 安装 Python 依赖
71
+ COPY requirements.txt .
72
+ RUN pip install --no-cache-dir -r requirements.txt
73
+
74
+ # 复制代码
75
+ COPY . .
76
+
77
+ # 创建数据目录
78
+ RUN mkdir -p data logs
79
+
80
+ # 环境变量
81
+ ENV MYAGENT_APP_DATA_DIR=data
82
+ ENV MYAGENT_APP_LOG_FILE=logs/myagent.log
83
+
84
+ # HTTP API 模式
85
+ EXPOSE 8080
86
+
87
+ # 启动
88
+ CMD ["python", "main.py", "--server", "--host", "0.0.0.0", "--port", "8080"]