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