myagent-ai 1.47.30 → 1.47.35
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.
- package/Dockerfile +88 -88
- package/README.md +378 -378
- package/agents/__init__.py +6 -6
- package/agents/base.py +450 -450
- package/agents/main_agent.py +1372 -1334
- package/agents/memory_agent.py +418 -418
- package/agents/tool_agent.py +248 -248
- package/aiskills/__init__.py +5 -5
- package/aiskills/ai-news-collectors/SKILL.md +157 -157
- package/aiskills/ai-news-collectors/_meta.json +5 -5
- package/aiskills/ai-news-collectors/references/international-search.md +651 -651
- package/aiskills/ai-news-collectors/references/multi-search-engine.md +78 -78
- package/aiskills/ai-news-collectors/references/qingyan-research.md +293 -293
- package/aiskills/ai-news-collectors/references/sources.md +128 -128
- package/aiskills/auto-target-tracker/SKILL.md +317 -317
- package/aiskills/base.py +153 -153
- package/aiskills/blog-writer/2024-02-17-radical-transparency-sales.md +35 -35
- package/aiskills/blog-writer/2024-02-17-raycast-spotlight-superpowers.md +33 -33
- package/aiskills/blog-writer/2024-02-17-short-form-content-marketing.md +47 -47
- package/aiskills/blog-writer/2024-02-17-typing-speed-benefits.md +33 -33
- package/aiskills/blog-writer/2024-03-14-effective-ai-prompts.md +55 -55
- package/aiskills/blog-writer/2024-11-08-ai-revolutionizing-entry-level-sales.md +43 -43
- package/aiskills/blog-writer/2025-11-12-why-ai-art-is-useless.md +49 -49
- package/aiskills/blog-writer/README.md +2 -2
- package/aiskills/blog-writer/SKILL.md +158 -158
- package/aiskills/blog-writer/_meta.json +5 -5
- package/aiskills/blog-writer/manage_examples.py +90 -90
- package/aiskills/blog-writer/style-guide.md +160 -160
- package/aiskills/browser_stealth.py +3752 -4040
- package/aiskills/charts/LICENSE.txt +13 -13
- package/aiskills/charts/SKILL.md +427 -427
- package/aiskills/charts/references/_rules.md +49 -49
- package/aiskills/charts/references/d3.md +199 -199
- package/aiskills/charts/references/echarts.md +651 -651
- package/aiskills/charts/references/matplotlib.md +617 -617
- package/aiskills/charts/references/mermaid.md +797 -797
- package/aiskills/charts/references/mindmap-css.md +911 -911
- package/aiskills/charts/references/playwright-css.md +801 -801
- package/aiskills/charts/references/radial-grid.md +576 -576
- package/aiskills/charts/references/seaborn.md +324 -324
- package/aiskills/charts/setup.sh +228 -228
- package/aiskills/chromedev_mcp.py +1931 -1912
- package/aiskills/docx_skill.py +213 -213
- package/aiskills/dream-interpreter/SKILL.md +88 -88
- package/aiskills/dream-interpreter/assets/example_asset.txt +24 -24
- package/aiskills/dream-interpreter/references/api_reference.md +34 -34
- package/aiskills/dream-interpreter/references/interpretation-guide.md +83 -83
- package/aiskills/dream-interpreter/references/output-schema.md +65 -65
- package/aiskills/dream-interpreter/references/questioning-strategy.md +62 -62
- package/aiskills/dream-interpreter/references/visual-mapping.md +81 -81
- package/aiskills/dream-interpreter/scripts/example.py +19 -19
- package/aiskills/dream-interpreter/skill.json +7 -7
- package/aiskills/extract-wisdom/SKILL.md +229 -229
- package/aiskills/extract-wisdom/Workflows/Extract.md +60 -60
- package/aiskills/file_send.py +132 -132
- package/aiskills/fullstack-dev/SKILL.md +1037 -1037
- package/aiskills/fullstack-dev/references/api-design.md +444 -444
- package/aiskills/fullstack-dev/references/auth-flow.md +165 -165
- package/aiskills/fullstack-dev/references/db-schema.md +706 -706
- package/aiskills/fullstack-dev/references/django-best-practices.md +466 -466
- package/aiskills/fullstack-dev/references/environment-management.md +78 -78
- package/aiskills/fullstack-dev/references/release-checklist.md +278 -278
- package/aiskills/fullstack-dev/references/technology-selection.md +254 -254
- package/aiskills/fullstack-dev/references/testing-strategy.md +404 -404
- package/aiskills/get-fortune-analysis/SKILL.md +369 -369
- package/aiskills/get-fortune-analysis/lunar_python.py +90 -90
- package/aiskills/gift-evaluator/SKILL.md +83 -83
- package/aiskills/gift-evaluator/html_tools.py +267 -267
- package/aiskills/gui_skill.py +909 -909
- package/aiskills/interview-designer/README.md +70 -70
- package/aiskills/interview-designer/SKILL.md +53 -53
- package/aiskills/interview-designer/_meta.json +5 -5
- package/aiskills/interview-designer/references/design_rationale.md +43 -43
- package/aiskills/interview-designer/templates/interview_guide_template.md +62 -62
- package/aiskills/market-research-reports/SKILL.md +901 -901
- package/aiskills/market-research-reports/assets/FORMATTING_GUIDE.md +428 -428
- package/aiskills/market-research-reports/assets/market_report_template.tex +1380 -1380
- package/aiskills/market-research-reports/assets/market_research.sty +564 -564
- package/aiskills/market-research-reports/references/data_analysis_patterns.md +548 -548
- package/aiskills/market-research-reports/references/report_structure_guide.md +999 -999
- package/aiskills/market-research-reports/references/visual_generation_guide.md +1077 -1077
- package/aiskills/market-research-reports/scripts/generate_market_visuals.py +529 -529
- package/aiskills/marketing-mode/README.md +49 -49
- package/aiskills/marketing-mode/SKILL.md +693 -693
- package/aiskills/marketing-mode/_meta.json +5 -5
- package/aiskills/marketing-mode/mode-prompt.md +39 -39
- package/aiskills/marketing-mode/skill.json +51 -51
- package/aiskills/pdf_skill.py +456 -456
- package/aiskills/ppt_skill.py +317 -317
- package/aiskills/registry.py +620 -620
- package/aiskills/search_skill.py +479 -479
- package/aiskills/seo-content-writer/SKILL.md +661 -661
- package/aiskills/seo-content-writer/_meta.json +5 -5
- package/aiskills/seo-content-writer/references/content-strategy.md +181 -181
- package/aiskills/seo-content-writer/references/content-structure-templates.md +875 -875
- package/aiskills/seo-content-writer/references/title-formulas.md +339 -339
- package/aiskills/site-douyin/SKILL.md +123 -123
- package/aiskills/site-gmail/SKILL.md +124 -124
- package/aiskills/site-mail139/SKILL.md +115 -115
- package/aiskills/site-operations/SKILL.md +150 -150
- package/aiskills/site-wechat-mp/SKILL.md +116 -116
- package/aiskills/site-weibo/SKILL.md +135 -135
- package/aiskills/site-x-com/SKILL.md +138 -138
- package/aiskills/skill-creator/LICENSE.txt +201 -201
- package/aiskills/skill-creator/SKILL.md +485 -485
- package/aiskills/skill-creator/agents/analyzer.md +274 -274
- package/aiskills/skill-creator/agents/comparator.md +202 -202
- package/aiskills/skill-creator/agents/grader.md +223 -223
- package/aiskills/skill-creator/assets/eval_review.html +146 -146
- package/aiskills/skill-creator/eval-viewer/generate_review.py +471 -471
- package/aiskills/skill-creator/eval-viewer/viewer.html +1325 -1325
- package/aiskills/skill-creator/references/schemas.md +430 -430
- package/aiskills/skill-creator/scripts/__init__.py +0 -0
- package/aiskills/skill-creator/scripts/aggregate_benchmark.py +401 -401
- package/aiskills/skill-creator/scripts/generate_report.py +326 -326
- package/aiskills/skill-creator/scripts/improve_description.py +236 -236
- package/aiskills/skill-creator/scripts/package_skill.py +136 -136
- package/aiskills/skill-creator/scripts/quick_validate.py +102 -102
- package/aiskills/skill-creator/scripts/run_eval.py +310 -310
- package/aiskills/skill-creator/scripts/run_loop.py +328 -328
- package/aiskills/skill-creator/scripts/utils.py +47 -47
- package/aiskills/skill-vetter/SKILL.md +137 -137
- package/aiskills/stealth_browser/SKILL.md +133 -133
- package/aiskills/storyboard-manager/SKILL.md +532 -532
- package/aiskills/storyboard-manager/index.js +9 -9
- package/aiskills/storyboard-manager/package.json +10 -10
- package/aiskills/storyboard-manager/references/character_development.md +232 -232
- package/aiskills/storyboard-manager/references/story_structures.md +148 -148
- package/aiskills/storyboard-manager/scripts/consistency_checker.py +391 -391
- package/aiskills/storyboard-manager/scripts/timeline_tracker.py +352 -352
- package/aiskills/system_skill.py +262 -262
- package/aiskills/task_plan_skill.py +210 -210
- package/aiskills/ui-ux-pro-max/SKILL.md +43 -43
- package/aiskills/ui-ux-pro-max/_meta.json +5 -5
- package/aiskills/ui-ux-pro-max/data/charts.csv +0 -0
- package/aiskills/ui-ux-pro-max/data/colors.csv +0 -0
- package/aiskills/ui-ux-pro-max/data/icons.csv +101 -101
- package/aiskills/ui-ux-pro-max/data/landing.csv +0 -0
- package/aiskills/ui-ux-pro-max/data/products.csv +0 -0
- package/aiskills/ui-ux-pro-max/data/react-performance.csv +45 -45
- package/aiskills/ui-ux-pro-max/data/stacks/astro.csv +54 -54
- package/aiskills/ui-ux-pro-max/data/stacks/flutter.csv +0 -0
- package/aiskills/ui-ux-pro-max/data/stacks/html-tailwind.csv +0 -0
- package/aiskills/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -53
- package/aiskills/ui-ux-pro-max/data/stacks/nextjs.csv +0 -0
- package/aiskills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -51
- package/aiskills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -59
- package/aiskills/ui-ux-pro-max/data/stacks/react-native.csv +0 -0
- package/aiskills/ui-ux-pro-max/data/stacks/react.csv +0 -0
- package/aiskills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -61
- package/aiskills/ui-ux-pro-max/data/stacks/svelte.csv +0 -0
- package/aiskills/ui-ux-pro-max/data/stacks/swiftui.csv +0 -0
- package/aiskills/ui-ux-pro-max/data/stacks/vue.csv +0 -0
- package/aiskills/ui-ux-pro-max/data/styles.csv +0 -0
- package/aiskills/ui-ux-pro-max/data/typography.csv +57 -57
- package/aiskills/ui-ux-pro-max/data/ui-reasoning.csv +101 -101
- package/aiskills/ui-ux-pro-max/data/ux-guidelines.csv +0 -0
- package/aiskills/ui-ux-pro-max/data/web-interface.csv +31 -31
- package/aiskills/ui-ux-pro-max/references/color-systems.md +417 -417
- package/aiskills/ui-ux-pro-max/references/spacing-iconography.md +425 -425
- package/aiskills/ui-ux-pro-max/references/typography-systems.md +432 -432
- package/aiskills/ui-ux-pro-max/references/upstream-README.md +488 -488
- package/aiskills/ui-ux-pro-max/references/upstream-skill-content.md +288 -288
- package/aiskills/ui-ux-pro-max/references/visual-design-foundations.md +318 -318
- package/aiskills/ui-ux-pro-max/scripts/__init__.py +0 -0
- package/aiskills/ui-ux-pro-max/scripts/core.py +253 -253
- package/aiskills/ui-ux-pro-max/scripts/design_system.py +1071 -1071
- package/aiskills/ui-ux-pro-max/scripts/search.py +0 -0
- package/aiskills/web-shader-extractor/SKILL.md +145 -145
- package/aiskills/web-shader-extractor/references/config-extraction.md +50 -50
- package/aiskills/web-shader-extractor/references/encoded-definitions.md +53 -53
- package/aiskills/web-shader-extractor/references/extraction-workflow.md +61 -61
- package/aiskills/web-shader-extractor/references/porting-strategy.md +164 -164
- package/aiskills/web-shader-extractor/references/shader-injection.md +126 -126
- package/aiskills/web-shader-extractor/references/shaders-com.md +190 -190
- package/aiskills/web-shader-extractor/references/tech-signatures.md +54 -54
- package/aiskills/web-shader-extractor/references/tsl-extraction.md +41 -41
- package/aiskills/web-shader-extractor/references/unicorn-studio.md +353 -353
- package/aiskills/web-shader-extractor/scripts/fetch-rendered-dom.mjs +153 -153
- package/aiskills/web-shader-extractor/scripts/scan-bundle.sh +76 -76
- package/aiskills/workflow_skill.py +476 -476
- package/aiskills/xlsx_skill.py +346 -346
- package/chatbot/__init__.py +5 -5
- package/chatbot/base.py +126 -126
- package/chatbot/discord_bot.py +146 -146
- package/chatbot/feishu_bot.py +548 -548
- package/chatbot/manager.py +271 -271
- package/chatbot/qq_bot.py +189 -189
- package/chatbot/telegram_bot.py +167 -167
- package/chatbot/wechat_bot.py +558 -558
- package/chatbot/whatsapp_bot.py +330 -330
- package/chatbot/whatsapp_bridge/bridge.mjs +192 -192
- package/chatbot/whatsapp_bridge/package.json +11 -11
- package/communication/__init__.py +66 -66
- package/communication/channel.py +584 -584
- package/communication/crypto.py +346 -346
- package/communication/manager.py +409 -409
- package/communication/peer.py +155 -155
- package/config.py +536 -536
- package/core/__init__.py +4 -4
- package/core/agent_storage.py +660 -749
- package/core/browser_profile.py +442 -442
- package/core/config_broadcast.py +307 -307
- package/core/config_validator.py +740 -740
- package/core/context_builder.py +1064 -1064
- package/core/context_manager.py +534 -534
- package/core/deps_checker.py +542 -542
- package/core/env_detect.py +229 -229
- package/core/llm.py +1157 -1157
- package/core/logger.py +447 -295
- package/core/permissions.py +372 -372
- package/core/site_registry.py +773 -773
- package/core/stt.py +320 -320
- package/core/task_persistence.py +359 -359
- package/core/task_queue.py +470 -470
- package/core/tool_dispatcher.py +1393 -1285
- package/core/update_manager.py +1474 -1474
- package/core/utils.py +234 -234
- package/core/version.py +97 -97
- package/core/vnc_manager.py +3499 -5380
- package/core/web_control.py +956 -956
- package/core/workflow_engine.py +1004 -1004
- package/data/novnc/lib/base64.js +100 -100
- package/data/novnc/lib/decoders/copyrect.js +41 -41
- package/data/novnc/lib/decoders/hextile.js +198 -198
- package/data/novnc/lib/decoders/jpeg.js +148 -148
- package/data/novnc/lib/decoders/raw.js +73 -73
- package/data/novnc/lib/decoders/rre.js +53 -53
- package/data/novnc/lib/decoders/tight.js +301 -301
- package/data/novnc/lib/decoders/tightpng.js +46 -46
- package/data/novnc/lib/decoders/zrle.js +187 -187
- package/data/novnc/lib/deflator.js +84 -84
- package/data/novnc/lib/des.js +300 -300
- package/data/novnc/lib/display.js +519 -519
- package/data/novnc/lib/encodings.js +62 -62
- package/data/novnc/lib/inflator.js +73 -73
- package/data/novnc/lib/input/domkeytable.js +313 -313
- package/data/novnc/lib/input/fixedkeys.js +127 -127
- package/data/novnc/lib/input/gesturehandler.js +574 -574
- package/data/novnc/lib/input/keyboard.js +279 -279
- package/data/novnc/lib/input/keysym.js +878 -878
- package/data/novnc/lib/input/keysymdef.js +1351 -1351
- package/data/novnc/lib/input/util.js +216 -216
- package/data/novnc/lib/input/vkeys.js +121 -121
- package/data/novnc/lib/input/xtscancodes.js +343 -343
- package/data/novnc/lib/ra2.js +1004 -1004
- package/data/novnc/lib/rfb.js +3323 -3323
- package/data/novnc/lib/util/browser.js +149 -149
- package/data/novnc/lib/util/cursor.js +264 -264
- package/data/novnc/lib/util/element.js +40 -40
- package/data/novnc/lib/util/events.js +132 -132
- package/data/novnc/lib/util/eventtarget.js +54 -54
- package/data/novnc/lib/util/int.js +20 -20
- package/data/novnc/lib/util/logging.js +60 -60
- package/data/novnc/lib/util/md5.js +76 -76
- package/data/novnc/lib/util/strings.js +35 -35
- package/data/novnc/lib/vendor/pako/lib/utils/common.js +57 -57
- package/data/novnc/lib/vendor/pako/lib/zlib/adler32.js +28 -28
- package/data/novnc/lib/vendor/pako/lib/zlib/constants.js +47 -47
- package/data/novnc/lib/vendor/pako/lib/zlib/crc32.js +34 -34
- package/data/novnc/lib/vendor/pako/lib/zlib/deflate.js +1754 -1754
- package/data/novnc/lib/vendor/pako/lib/zlib/gzheader.js +40 -40
- package/data/novnc/lib/vendor/pako/lib/zlib/inffast.js +328 -328
- package/data/novnc/lib/vendor/pako/lib/zlib/inflate.js +1625 -1625
- package/data/novnc/lib/vendor/pako/lib/zlib/inftrees.js +311 -311
- package/data/novnc/lib/vendor/pako/lib/zlib/messages.js +25 -25
- package/data/novnc/lib/vendor/pako/lib/zlib/trees.js +1156 -1156
- package/data/novnc/lib/vendor/pako/lib/zlib/zstream.js +29 -29
- package/data/novnc/lib/websock.js +383 -383
- package/data/uploads/2026-04/2d9c5179-00b_empty.docx +0 -0
- package/data/uploads/2026-05/566cc30f-e21_x_com_1777815968.png +0 -0
- package/data/uploads/2026-05/5c2a3c85-b0a_x_com_1777816077.png +0 -0
- package/data/uploads/2026-05/c50e2f43-729_x_com_1777816139.png +0 -0
- package/departments/__init__.py +4 -4
- package/departments/manager.py +1035 -1035
- package/docs//351/205/215/347/275/256/344/275/277/347/224/250/350/257/264/346/230/216.md +815 -815
- package/executor/__init__.py +4 -4
- package/executor/engine.py +1593 -1593
- package/goodbye +229 -229
- package/groups/__init__.py +15 -15
- package/groups/manager.py +900 -900
- package/install/install.ps1 +171 -171
- package/install/install.sh +258 -258
- package/install/setup-termux-vnc.sh +516 -516
- package/install/uninstall.ps1 +142 -142
- package/install/uninstall.sh +149 -149
- package/install.ps1 +97 -97
- package/knowledge/__init__.py +4 -4
- package/knowledge/rag.py +452 -452
- package/main.py +1963 -1956
- package/memory/__init__.py +4 -4
- package/memory/manager.py +1333 -1333
- package/myagent_icon.png +0 -0
- package/myagent_start.ps1 +26 -26
- package/organization/__init__.py +4 -4
- package/organization/manager.py +366 -366
- package/package.json +46 -46
- package/requirements-optional.txt +16 -16
- package/requirements.txt +94 -94
- package/scripts/cli.py +1710 -1682
- package/scripts/setup_helper.py +33 -33
- package/setup.py +72 -72
- package/start.bat +84 -84
- package/start.js +910 -879
- package/start.sh +240 -240
- package/tray-requirements.txt +3 -3
- package/tray_manager.py +662 -618
- package/web/__init__.py +1 -1
- package/web/api_server.py +11705 -11285
- package/web/tts_handler.py +216 -216
- package/web/ui/admin/admin-agentchat.js +359 -307
- package/web/ui/admin/admin-agents.js +578 -578
- package/web/ui/admin/admin-core.js +430 -430
- package/web/ui/admin/admin-dashboard.js +148 -148
- package/web/ui/admin/admin-executor.js +62 -62
- package/web/ui/admin/admin-files.js +76 -76
- package/web/ui/admin/admin-llm.js +188 -188
- package/web/ui/admin/admin-logs.js +174 -64
- package/web/ui/admin/admin-memory.js +86 -86
- package/web/ui/admin/admin-org.js +278 -278
- package/web/ui/admin/admin-permissions.js +142 -142
- package/web/ui/admin/admin-platforms.js +305 -305
- package/web/ui/admin/admin-sessions.js +288 -288
- package/web/ui/admin/admin-sites.js +416 -416
- package/web/ui/admin/admin-skills.js +229 -229
- package/web/ui/admin/admin-system.js +239 -239
- package/web/ui/admin/admin-tasks.js +142 -126
- package/web/ui/admin/admin-workflows.js +621 -621
- package/web/ui/chat/chat.css +3059 -3059
- package/web/ui/chat/chat.js +52 -52
- package/web/ui/chat/chat_container.html +403 -412
- package/web/ui/chat/chat_main.js +6439 -6445
- package/web/ui/chat/flow_engine.js +2046 -2046
- package/web/ui/chat/groupchat.js +1246 -1246
- package/web/ui/index.html +373 -373
- package/worklog.md +242 -71
- 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"]
|