myagent-ai 1.0.0
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 +30 -0
- package/README.md +333 -0
- package/agents/__init__.py +6 -0
- package/agents/__pycache__/main_agent.cpython-312.pyc +0 -0
- package/agents/base.py +115 -0
- package/agents/main_agent.py +695 -0
- package/agents/memory_agent.py +313 -0
- package/agents/tool_agent.py +248 -0
- package/chatbot/__init__.py +5 -0
- package/chatbot/base.py +124 -0
- package/chatbot/discord_bot.py +146 -0
- package/chatbot/feishu_bot.py +548 -0
- package/chatbot/manager.py +164 -0
- package/chatbot/qq_bot.py +189 -0
- package/chatbot/telegram_bot.py +167 -0
- package/chatbot/wechat_bot.py +558 -0
- package/communication/__init__.py +66 -0
- package/communication/channel.py +576 -0
- package/communication/crypto.py +347 -0
- package/communication/manager.py +397 -0
- package/communication/peer.py +156 -0
- package/config.py +464 -0
- package/core/__init__.py +10 -0
- package/core/config_broadcast.py +276 -0
- package/core/llm.py +878 -0
- package/core/logger.py +241 -0
- package/core/task_queue.py +362 -0
- package/core/utils.py +184 -0
- package/executor/__init__.py +4 -0
- package/executor/__pycache__/engine.cpython-312.pyc +0 -0
- package/executor/engine.py +1215 -0
- package/groups/__init__.py +15 -0
- package/groups/manager.py +724 -0
- package/knowledge/__init__.py +4 -0
- package/knowledge/rag.py +444 -0
- package/main.py +801 -0
- package/memory/__init__.py +4 -0
- package/memory/manager.py +840 -0
- package/organization/__init__.py +4 -0
- package/organization/manager.py +350 -0
- package/package.json +58 -0
- package/requirements.txt +59 -0
- package/setup.py +40 -0
- package/skills/ASR/LICENSE.txt +21 -0
- package/skills/ASR/SKILL.md +580 -0
- package/skills/ASR/scripts/asr.ts +27 -0
- package/skills/LLM/LICENSE.txt +21 -0
- package/skills/LLM/SKILL.md +856 -0
- package/skills/LLM/scripts/chat.ts +32 -0
- package/skills/TTS/LICENSE.txt +21 -0
- package/skills/TTS/SKILL.md +735 -0
- package/skills/TTS/tts.ts +25 -0
- package/skills/VLM/LICENSE.txt +21 -0
- package/skills/VLM/SKILL.md +588 -0
- package/skills/VLM/scripts/vlm.ts +57 -0
- package/skills/__init__.py +5 -0
- package/skills/agent-browser/SKILL.md +328 -0
- package/skills/ai-news-collectors/SKILL.md +157 -0
- package/skills/ai-news-collectors/_meta.json +6 -0
- package/skills/ai-news-collectors/references/sources.md +128 -0
- package/skills/aminer-open-academic/SKILL.md +312 -0
- package/skills/aminer-open-academic/_meta.json +6 -0
- package/skills/aminer-open-academic/evals/evals.json +46 -0
- package/skills/aminer-open-academic/references/api-catalog.md +1032 -0
- package/skills/aminer-open-academic/scripts/__pycache__/aminer_client.cpython-312.pyc +0 -0
- package/skills/aminer-open-academic/scripts/aminer_client.py +875 -0
- package/skills/auto-target-tracker/SKILL.md +317 -0
- package/skills/base.py +147 -0
- package/skills/blog-writer/2024-02-17-radical-transparency-sales.md +35 -0
- package/skills/blog-writer/2024-02-17-raycast-spotlight-superpowers.md +33 -0
- package/skills/blog-writer/2024-02-17-short-form-content-marketing.md +47 -0
- package/skills/blog-writer/2024-02-17-typing-speed-benefits.md +33 -0
- package/skills/blog-writer/2024-03-14-effective-ai-prompts.md +55 -0
- package/skills/blog-writer/2024-11-08-ai-revolutionizing-entry-level-sales.md +43 -0
- package/skills/blog-writer/2025-11-12-why-ai-art-is-useless.md +49 -0
- package/skills/blog-writer/README.md +2 -0
- package/skills/blog-writer/SKILL.md +158 -0
- package/skills/blog-writer/__pycache__/manage_examples.cpython-312.pyc +0 -0
- package/skills/blog-writer/_meta.json +6 -0
- package/skills/blog-writer/manage_examples.py +90 -0
- package/skills/blog-writer/style-guide.md +160 -0
- package/skills/browser_skill.py +146 -0
- package/skills/coding-agent/SKILL.md +120 -0
- package/skills/coding-agent/_meta.json +6 -0
- package/skills/coding-agent/criteria.md +48 -0
- package/skills/coding-agent/execution.md +42 -0
- package/skills/coding-agent/memory-template.md +38 -0
- package/skills/coding-agent/planning.md +31 -0
- package/skills/coding-agent/state.md +60 -0
- package/skills/coding-agent/verification.md +39 -0
- package/skills/content-strategy/SKILL.md +181 -0
- package/skills/content-strategy/_meta.json +6 -0
- package/skills/contentanalysis/ExtractWisdom/SKILL.md +229 -0
- package/skills/contentanalysis/ExtractWisdom/Workflows/Extract.md +60 -0
- package/skills/contentanalysis/SKILL.md +14 -0
- package/skills/docx/CHANGELOG.md +85 -0
- package/skills/docx/LICENSE.txt +30 -0
- package/skills/docx/SKILL.md +455 -0
- package/skills/docx/docx-js.md +681 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- package/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
- package/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
- package/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
- package/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
- package/skills/docx/ooxml/schemas/mce/mc.xsd +75 -0
- package/skills/docx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
- package/skills/docx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
- package/skills/docx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
- package/skills/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
- package/skills/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
- package/skills/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- package/skills/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
- package/skills/docx/ooxml/scripts/__pycache__/pack.cpython-312.pyc +0 -0
- package/skills/docx/ooxml/scripts/__pycache__/unpack.cpython-312.pyc +0 -0
- package/skills/docx/ooxml/scripts/__pycache__/validate.cpython-312.pyc +0 -0
- package/skills/docx/ooxml/scripts/pack.py +159 -0
- package/skills/docx/ooxml/scripts/unpack.py +29 -0
- package/skills/docx/ooxml/scripts/validate.py +69 -0
- package/skills/docx/ooxml/scripts/validation/__init__.py +15 -0
- package/skills/docx/ooxml/scripts/validation/__pycache__/__init__.cpython-312.pyc +0 -0
- package/skills/docx/ooxml/scripts/validation/__pycache__/base.cpython-312.pyc +0 -0
- package/skills/docx/ooxml/scripts/validation/__pycache__/docx.cpython-312.pyc +0 -0
- package/skills/docx/ooxml/scripts/validation/__pycache__/pptx.cpython-312.pyc +0 -0
- package/skills/docx/ooxml/scripts/validation/__pycache__/redlining.cpython-312.pyc +0 -0
- package/skills/docx/ooxml/scripts/validation/base.py +951 -0
- package/skills/docx/ooxml/scripts/validation/docx.py +274 -0
- package/skills/docx/ooxml/scripts/validation/pptx.py +315 -0
- package/skills/docx/ooxml/scripts/validation/redlining.py +279 -0
- package/skills/docx/ooxml.md +615 -0
- package/skills/docx/scripts/__init__.py +1 -0
- package/skills/docx/scripts/__pycache__/__init__.cpython-312.pyc +0 -0
- package/skills/docx/scripts/__pycache__/add_toc_placeholders.cpython-312.pyc +0 -0
- package/skills/docx/scripts/__pycache__/document.cpython-312.pyc +0 -0
- package/skills/docx/scripts/__pycache__/utilities.cpython-312.pyc +0 -0
- package/skills/docx/scripts/add_toc_placeholders.py +220 -0
- package/skills/docx/scripts/document.py +1302 -0
- package/skills/docx/scripts/templates/comments.xml +3 -0
- package/skills/docx/scripts/templates/commentsExtended.xml +3 -0
- package/skills/docx/scripts/templates/commentsExtensible.xml +3 -0
- package/skills/docx/scripts/templates/commentsIds.xml +3 -0
- package/skills/docx/scripts/templates/people.xml +3 -0
- package/skills/docx/scripts/utilities.py +374 -0
- package/skills/dream-interpreter/SKILL.md +88 -0
- package/skills/dream-interpreter/assets/example_asset.txt +24 -0
- package/skills/dream-interpreter/references/api_reference.md +34 -0
- package/skills/dream-interpreter/references/interpretation-guide.md +83 -0
- package/skills/dream-interpreter/references/output-schema.md +65 -0
- package/skills/dream-interpreter/references/questioning-strategy.md +62 -0
- package/skills/dream-interpreter/references/visual-mapping.md +81 -0
- package/skills/dream-interpreter/scripts/__pycache__/example.cpython-312.pyc +0 -0
- package/skills/dream-interpreter/scripts/example.py +19 -0
- package/skills/dream-interpreter/skill.json +7 -0
- package/skills/file_skill.py +246 -0
- package/skills/finance/Finance_API_Doc.md +445 -0
- package/skills/finance/SKILL.md +53 -0
- package/skills/fullstack-dev/SKILL.md +205 -0
- package/skills/get-fortune-analysis/SKILL.md +370 -0
- package/skills/get-fortune-analysis/lunar_python.py +91 -0
- package/skills/gift-evaluator/SKILL.md +83 -0
- package/skills/gift-evaluator/__pycache__/html_tools.cpython-312.pyc +0 -0
- package/skills/gift-evaluator/html_tools.py +268 -0
- package/skills/image-edit/LICENSE.txt +21 -0
- package/skills/image-edit/SKILL.md +896 -0
- package/skills/image-edit/scripts/image-edit.ts +36 -0
- package/skills/image-generation/LICENSE.txt +21 -0
- package/skills/image-generation/SKILL.md +583 -0
- package/skills/image-generation/scripts/image-generation.ts +28 -0
- package/skills/image-understand/LICENSE.txt +21 -0
- package/skills/image-understand/SKILL.md +855 -0
- package/skills/image-understand/scripts/image-understand.ts +41 -0
- package/skills/interview-designer/README.md +70 -0
- package/skills/interview-designer/SKILL.md +53 -0
- package/skills/interview-designer/_meta.json +6 -0
- package/skills/interview-designer/references/design_rationale.md +43 -0
- package/skills/interview-designer/templates/interview_guide_template.md +62 -0
- package/skills/market-research-reports/SKILL.md +901 -0
- package/skills/market-research-reports/assets/FORMATTING_GUIDE.md +428 -0
- package/skills/market-research-reports/assets/market_report_template.tex +1380 -0
- package/skills/market-research-reports/assets/market_research.sty +564 -0
- package/skills/market-research-reports/references/data_analysis_patterns.md +548 -0
- package/skills/market-research-reports/references/report_structure_guide.md +999 -0
- package/skills/market-research-reports/references/visual_generation_guide.md +1077 -0
- package/skills/market-research-reports/scripts/__pycache__/generate_market_visuals.cpython-312.pyc +0 -0
- package/skills/market-research-reports/scripts/generate_market_visuals.py +529 -0
- package/skills/marketing-mode/README.md +49 -0
- package/skills/marketing-mode/SKILL.md +693 -0
- package/skills/marketing-mode/_meta.json +6 -0
- package/skills/marketing-mode/mode-prompt.md +39 -0
- package/skills/marketing-mode/skill.json +51 -0
- package/skills/mindfulness-meditation/SKILL.md +65 -0
- package/skills/mindfulness-meditation/_meta.json +6 -0
- package/skills/multi-search-engine/CHANGELOG.md +15 -0
- package/skills/multi-search-engine/CHANNELLOG.md +48 -0
- package/skills/multi-search-engine/SKILL.md +78 -0
- package/skills/multi-search-engine/_meta.json +6 -0
- package/skills/multi-search-engine/config.json +14 -0
- package/skills/multi-search-engine/metadata.json +7 -0
- package/skills/multi-search-engine/references/international-search.md +651 -0
- package/skills/pdf/LICENSE.txt +30 -0
- package/skills/pdf/SKILL.md +1534 -0
- package/skills/pdf/forms.md +205 -0
- package/skills/pdf/reference.md +765 -0
- package/skills/pdf/scripts/__pycache__/add_zai_metadata.cpython-312.pyc +0 -0
- package/skills/pdf/scripts/__pycache__/check_bounding_boxes.cpython-312.pyc +0 -0
- package/skills/pdf/scripts/__pycache__/check_bounding_boxes_test.cpython-312.pyc +0 -0
- package/skills/pdf/scripts/__pycache__/check_fillable_fields.cpython-312.pyc +0 -0
- package/skills/pdf/scripts/__pycache__/convert_pdf_to_images.cpython-312.pyc +0 -0
- package/skills/pdf/scripts/__pycache__/create_validation_image.cpython-312.pyc +0 -0
- package/skills/pdf/scripts/__pycache__/extract_form_field_info.cpython-312.pyc +0 -0
- package/skills/pdf/scripts/__pycache__/fill_fillable_fields.cpython-312.pyc +0 -0
- package/skills/pdf/scripts/__pycache__/fill_pdf_form_with_annotations.cpython-312.pyc +0 -0
- package/skills/pdf/scripts/__pycache__/sanitize_code.cpython-312.pyc +0 -0
- package/skills/pdf/scripts/add_zai_metadata.py +172 -0
- package/skills/pdf/scripts/check_bounding_boxes.py +70 -0
- package/skills/pdf/scripts/check_bounding_boxes_test.py +226 -0
- package/skills/pdf/scripts/check_fillable_fields.py +12 -0
- package/skills/pdf/scripts/convert_pdf_to_images.py +35 -0
- package/skills/pdf/scripts/create_validation_image.py +41 -0
- package/skills/pdf/scripts/extract_form_field_info.py +152 -0
- package/skills/pdf/scripts/fill_fillable_fields.py +114 -0
- package/skills/pdf/scripts/fill_pdf_form_with_annotations.py +108 -0
- package/skills/pdf/scripts/sanitize_code.py +110 -0
- package/skills/podcast-generate/LICENSE.txt +21 -0
- package/skills/podcast-generate/SKILL.md +198 -0
- package/skills/podcast-generate/generate.ts +661 -0
- package/skills/podcast-generate/package.json +30 -0
- package/skills/podcast-generate/readme.md +177 -0
- package/skills/podcast-generate/test_data/segments.jsonl +3 -0
- package/skills/podcast-generate/tsconfig.json +26 -0
- package/skills/pptx/LICENSE.txt +30 -0
- package/skills/pptx/SKILL.md +507 -0
- package/skills/pptx/html2pptx.md +625 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- package/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
- package/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
- package/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
- package/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
- package/skills/pptx/ooxml/schemas/mce/mc.xsd +75 -0
- package/skills/pptx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
- package/skills/pptx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
- package/skills/pptx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
- package/skills/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
- package/skills/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
- package/skills/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- package/skills/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
- package/skills/pptx/ooxml/scripts/__pycache__/pack.cpython-312.pyc +0 -0
- package/skills/pptx/ooxml/scripts/__pycache__/unpack.cpython-312.pyc +0 -0
- package/skills/pptx/ooxml/scripts/__pycache__/validate.cpython-312.pyc +0 -0
- package/skills/pptx/ooxml/scripts/pack.py +159 -0
- package/skills/pptx/ooxml/scripts/unpack.py +29 -0
- package/skills/pptx/ooxml/scripts/validate.py +69 -0
- package/skills/pptx/ooxml/scripts/validation/__init__.py +15 -0
- package/skills/pptx/ooxml/scripts/validation/__pycache__/__init__.cpython-312.pyc +0 -0
- package/skills/pptx/ooxml/scripts/validation/__pycache__/base.cpython-312.pyc +0 -0
- package/skills/pptx/ooxml/scripts/validation/__pycache__/docx.cpython-312.pyc +0 -0
- package/skills/pptx/ooxml/scripts/validation/__pycache__/pptx.cpython-312.pyc +0 -0
- package/skills/pptx/ooxml/scripts/validation/__pycache__/redlining.cpython-312.pyc +0 -0
- package/skills/pptx/ooxml/scripts/validation/base.py +951 -0
- package/skills/pptx/ooxml/scripts/validation/docx.py +274 -0
- package/skills/pptx/ooxml/scripts/validation/pptx.py +315 -0
- package/skills/pptx/ooxml/scripts/validation/redlining.py +279 -0
- package/skills/pptx/ooxml.md +427 -0
- package/skills/pptx/scripts/__pycache__/inventory.cpython-312.pyc +0 -0
- package/skills/pptx/scripts/__pycache__/inventory.cpython-313.pyc +0 -0
- package/skills/pptx/scripts/__pycache__/rearrange.cpython-312.pyc +0 -0
- package/skills/pptx/scripts/__pycache__/replace.cpython-312.pyc +0 -0
- package/skills/pptx/scripts/__pycache__/thumbnail.cpython-312.pyc +0 -0
- package/skills/pptx/scripts/html2pptx.js +1044 -0
- package/skills/pptx/scripts/inventory.py +1020 -0
- package/skills/pptx/scripts/rearrange.py +231 -0
- package/skills/pptx/scripts/replace.py +385 -0
- package/skills/pptx/scripts/thumbnail.py +450 -0
- package/skills/qingyan-research/SKILL.md +294 -0
- package/skills/qingyan-research/__pycache__/generate_html.cpython-312.pyc +0 -0
- package/skills/qingyan-research/generate_html.py +33 -0
- package/skills/registry.py +344 -0
- package/skills/search_skill.py +228 -0
- package/skills/seo-content-writer/SKILL.md +661 -0
- package/skills/seo-content-writer/_meta.json +6 -0
- package/skills/seo-content-writer/references/content-structure-templates.md +875 -0
- package/skills/seo-content-writer/references/title-formulas.md +339 -0
- package/skills/skill-creator/LICENSE.txt +202 -0
- package/skills/skill-creator/SKILL.md +485 -0
- package/skills/skill-creator/agents/analyzer.md +274 -0
- package/skills/skill-creator/agents/comparator.md +202 -0
- package/skills/skill-creator/agents/grader.md +223 -0
- package/skills/skill-creator/assets/eval_review.html +146 -0
- package/skills/skill-creator/eval-viewer/__pycache__/generate_review.cpython-312.pyc +0 -0
- package/skills/skill-creator/eval-viewer/generate_review.py +471 -0
- package/skills/skill-creator/eval-viewer/viewer.html +1325 -0
- package/skills/skill-creator/references/schemas.md +430 -0
- package/skills/skill-creator/scripts/__init__.py +0 -0
- package/skills/skill-creator/scripts/__pycache__/__init__.cpython-312.pyc +0 -0
- package/skills/skill-creator/scripts/__pycache__/aggregate_benchmark.cpython-312.pyc +0 -0
- package/skills/skill-creator/scripts/__pycache__/generate_report.cpython-312.pyc +0 -0
- package/skills/skill-creator/scripts/__pycache__/improve_description.cpython-312.pyc +0 -0
- package/skills/skill-creator/scripts/__pycache__/package_skill.cpython-312.pyc +0 -0
- package/skills/skill-creator/scripts/__pycache__/quick_validate.cpython-312.pyc +0 -0
- package/skills/skill-creator/scripts/__pycache__/run_eval.cpython-312.pyc +0 -0
- package/skills/skill-creator/scripts/__pycache__/run_loop.cpython-312.pyc +0 -0
- package/skills/skill-creator/scripts/__pycache__/utils.cpython-312.pyc +0 -0
- package/skills/skill-creator/scripts/aggregate_benchmark.py +401 -0
- package/skills/skill-creator/scripts/generate_report.py +326 -0
- package/skills/skill-creator/scripts/improve_description.py +236 -0
- package/skills/skill-creator/scripts/package_skill.py +136 -0
- package/skills/skill-creator/scripts/quick_validate.py +103 -0
- package/skills/skill-creator/scripts/run_eval.py +310 -0
- package/skills/skill-creator/scripts/run_loop.py +328 -0
- package/skills/skill-creator/scripts/utils.py +47 -0
- package/skills/skill-finder-cn/SKILL.md +66 -0
- package/skills/skill-finder-cn/_meta.json +6 -0
- package/skills/skill-finder-cn/package.json +5 -0
- package/skills/skill-finder-cn/scripts/search.sh +15 -0
- package/skills/skill-vetter/SKILL.md +137 -0
- package/skills/stock-analysis-skill/SKILL.md +156 -0
- package/skills/stock-analysis-skill/package.json +21 -0
- package/skills/stock-analysis-skill/src/analyzer.ts +264 -0
- package/skills/stock-analysis-skill/src/dataFetcher.ts +130 -0
- package/skills/stock-analysis-skill/src/dividend.ts +226 -0
- package/skills/stock-analysis-skill/src/index.ts +327 -0
- package/skills/stock-analysis-skill/src/rumorScanner.ts +200 -0
- package/skills/stock-analysis-skill/src/types.ts +167 -0
- package/skills/stock-analysis-skill/src/watchlist.ts +292 -0
- package/skills/stock-analysis-skill/tsconfig.json +15 -0
- package/skills/storyboard-manager/SKILL.md +532 -0
- package/skills/storyboard-manager/index.js +9 -0
- package/skills/storyboard-manager/package.json +11 -0
- package/skills/storyboard-manager/references/character_development.md +232 -0
- package/skills/storyboard-manager/references/story_structures.md +148 -0
- package/skills/storyboard-manager/scripts/__pycache__/consistency_checker.cpython-312.pyc +0 -0
- package/skills/storyboard-manager/scripts/__pycache__/timeline_tracker.cpython-312.pyc +0 -0
- package/skills/storyboard-manager/scripts/consistency_checker.py +391 -0
- package/skills/storyboard-manager/scripts/timeline_tracker.py +352 -0
- package/skills/system_skill.py +249 -0
- package/skills/ui-ux-pro-max/SKILL.md +43 -0
- package/skills/ui-ux-pro-max/_meta.json +6 -0
- package/skills/ui-ux-pro-max/assets/data/charts.csv +26 -0
- package/skills/ui-ux-pro-max/assets/data/colors.csv +97 -0
- package/skills/ui-ux-pro-max/assets/data/icons.csv +101 -0
- package/skills/ui-ux-pro-max/assets/data/landing.csv +31 -0
- package/skills/ui-ux-pro-max/assets/data/products.csv +97 -0
- package/skills/ui-ux-pro-max/assets/data/react-performance.csv +45 -0
- package/skills/ui-ux-pro-max/assets/data/stacks/astro.csv +54 -0
- package/skills/ui-ux-pro-max/assets/data/stacks/flutter.csv +53 -0
- package/skills/ui-ux-pro-max/assets/data/stacks/html-tailwind.csv +56 -0
- package/skills/ui-ux-pro-max/assets/data/stacks/jetpack-compose.csv +53 -0
- package/skills/ui-ux-pro-max/assets/data/stacks/nextjs.csv +53 -0
- package/skills/ui-ux-pro-max/assets/data/stacks/nuxt-ui.csv +51 -0
- package/skills/ui-ux-pro-max/assets/data/stacks/nuxtjs.csv +59 -0
- package/skills/ui-ux-pro-max/assets/data/stacks/react-native.csv +52 -0
- package/skills/ui-ux-pro-max/assets/data/stacks/react.csv +54 -0
- package/skills/ui-ux-pro-max/assets/data/stacks/shadcn.csv +61 -0
- package/skills/ui-ux-pro-max/assets/data/stacks/svelte.csv +54 -0
- package/skills/ui-ux-pro-max/assets/data/stacks/swiftui.csv +51 -0
- package/skills/ui-ux-pro-max/assets/data/stacks/vue.csv +50 -0
- package/skills/ui-ux-pro-max/assets/data/styles.csv +68 -0
- package/skills/ui-ux-pro-max/assets/data/typography.csv +58 -0
- package/skills/ui-ux-pro-max/assets/data/ui-reasoning.csv +101 -0
- package/skills/ui-ux-pro-max/assets/data/ux-guidelines.csv +100 -0
- package/skills/ui-ux-pro-max/assets/data/web-interface.csv +31 -0
- package/skills/ui-ux-pro-max/data/charts.csv +26 -0
- package/skills/ui-ux-pro-max/data/colors.csv +97 -0
- package/skills/ui-ux-pro-max/data/icons.csv +101 -0
- package/skills/ui-ux-pro-max/data/landing.csv +31 -0
- package/skills/ui-ux-pro-max/data/products.csv +97 -0
- package/skills/ui-ux-pro-max/data/react-performance.csv +45 -0
- package/skills/ui-ux-pro-max/data/stacks/astro.csv +54 -0
- package/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
- package/skills/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
- package/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
- package/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
- package/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
- package/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/skills/ui-ux-pro-max/data/styles.csv +68 -0
- package/skills/ui-ux-pro-max/data/typography.csv +58 -0
- package/skills/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
- package/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/skills/ui-ux-pro-max/data/web-interface.csv +31 -0
- package/skills/ui-ux-pro-max/references/upstream-README.md +488 -0
- package/skills/ui-ux-pro-max/references/upstream-skill-content.md +288 -0
- package/skills/ui-ux-pro-max/scripts/__init__.py +0 -0
- package/skills/ui-ux-pro-max/scripts/__pycache__/__init__.cpython-312.pyc +0 -0
- package/skills/ui-ux-pro-max/scripts/__pycache__/core.cpython-312.pyc +0 -0
- package/skills/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-312.pyc +0 -0
- package/skills/ui-ux-pro-max/scripts/__pycache__/search.cpython-312.pyc +0 -0
- package/skills/ui-ux-pro-max/scripts/core.py +253 -0
- package/skills/ui-ux-pro-max/scripts/design_system.py +1071 -0
- package/skills/ui-ux-pro-max/scripts/search.py +111 -0
- package/skills/video-generation/LICENSE.txt +21 -0
- package/skills/video-generation/SKILL.md +1082 -0
- package/skills/video-generation/scripts/video.ts +168 -0
- package/skills/video-understand/LICENSE.txt +21 -0
- package/skills/video-understand/SKILL.md +916 -0
- package/skills/video-understand/scripts/video-understand.ts +41 -0
- package/skills/visual-design-foundations/SKILL.md +318 -0
- package/skills/visual-design-foundations/references/color-systems.md +417 -0
- package/skills/visual-design-foundations/references/spacing-iconography.md +425 -0
- package/skills/visual-design-foundations/references/typography-systems.md +432 -0
- package/skills/web-reader/LICENSE.txt +21 -0
- package/skills/web-reader/SKILL.md +1140 -0
- package/skills/web-reader/scripts/web-reader.ts +37 -0
- package/skills/web-search/LICENSE.txt +21 -0
- package/skills/web-search/SKILL.md +912 -0
- package/skills/web-search/scripts/web_search.ts +44 -0
- package/skills/web-shader-extractor/SKILL.md +145 -0
- package/skills/web-shader-extractor/references/config-extraction.md +50 -0
- package/skills/web-shader-extractor/references/encoded-definitions.md +53 -0
- package/skills/web-shader-extractor/references/extraction-workflow.md +61 -0
- package/skills/web-shader-extractor/references/porting-strategy.md +164 -0
- package/skills/web-shader-extractor/references/shader-injection.md +126 -0
- package/skills/web-shader-extractor/references/shaders-com.md +190 -0
- package/skills/web-shader-extractor/references/tech-signatures.md +54 -0
- package/skills/web-shader-extractor/references/tsl-extraction.md +41 -0
- package/skills/web-shader-extractor/references/unicorn-studio.md +353 -0
- package/skills/web-shader-extractor/scripts/fetch-rendered-dom.mjs +153 -0
- package/skills/web-shader-extractor/scripts/scan-bundle.sh +76 -0
- package/skills/writing-plans/SKILL.md +116 -0
- package/skills/writing-plans/_meta.json +6 -0
- package/skills/xlsx/LICENSE.txt +30 -0
- package/skills/xlsx/SKILL.md +496 -0
- package/skills/xlsx/__pycache__/recalc.cpython-312.pyc +0 -0
- package/skills/xlsx/recalc.py +178 -0
- package/start.sh +36 -0
- package/web/__init__.py +1 -0
- package/web/__pycache__/api_server.cpython-312.pyc +0 -0
- package/web/api_server.py +2043 -0
- package/web/ui/chat.html +3235 -0
- package/web/ui/index.html +458 -0
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import ZAI from 'z-ai-web-dev-sdk';
|
|
2
|
+
import fs from 'fs';
|
|
3
|
+
|
|
4
|
+
async function main(imageSource: string, prompt: string, size: '1024x1024' | '768x1344' | '864x1152' | '1344x768' | '1152x864' | '1440x720' | '720x1440', outFile: string) {
|
|
5
|
+
try {
|
|
6
|
+
const zai = await ZAI.create();
|
|
7
|
+
|
|
8
|
+
const response = await zai.images.generations.edit({
|
|
9
|
+
prompt,
|
|
10
|
+
images: [{ url: imageSource }], // Array of objects with url property
|
|
11
|
+
size
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
const base64 = response?.data?.[0]?.base64;
|
|
15
|
+
if (!base64) {
|
|
16
|
+
console.error('No image data returned by the API');
|
|
17
|
+
console.log('Full response:', JSON.stringify(response, null, 2));
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
const buffer = Buffer.from(base64, 'base64');
|
|
22
|
+
fs.writeFileSync(outFile, buffer);
|
|
23
|
+
console.log(`Edited image saved to ${outFile}`);
|
|
24
|
+
} catch (err: any) {
|
|
25
|
+
console.error('Image editing failed:', err?.message || err);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
// Example usage - Edit an image
|
|
30
|
+
// You can use either a URL or a base64 data URL for the imageSource
|
|
31
|
+
main(
|
|
32
|
+
'https://example.com/photo.jpg', // or use: 'data:image/jpeg;base64,/9j/4AAQ...'
|
|
33
|
+
'Transform this photo to have a sunset background with warm golden tones',
|
|
34
|
+
'1024x1024',
|
|
35
|
+
'./output.png'
|
|
36
|
+
);
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 z-ai-web-dev-sdk Skills
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,583 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: image-generation
|
|
3
|
+
description: Implement AI image generation capabilities using the z-ai-web-dev-sdk. Use this skill when the user needs to create images from text descriptions, generate visual content, create artwork, design assets, or build applications with AI-powered image creation. Supports multiple image sizes and returns base64 encoded images. Also includes CLI tool for quick image generation.
|
|
4
|
+
license: MIT
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Image Generation Skill
|
|
8
|
+
|
|
9
|
+
This skill guides the implementation of image generation functionality using the z-ai-web-dev-sdk package and CLI tool, enabling creation of high-quality images from text descriptions.
|
|
10
|
+
|
|
11
|
+
## Skills Path
|
|
12
|
+
|
|
13
|
+
**Skill Location**: `{project_path}/skills/image-generation`
|
|
14
|
+
|
|
15
|
+
this skill is located at above path in your project.
|
|
16
|
+
|
|
17
|
+
**Reference Scripts**: Example test scripts are available in the `{Skill Location}/scripts/` directory for quick testing and reference. See `{Skill Location}/scripts/image-generation.ts` for a working example.
|
|
18
|
+
|
|
19
|
+
## Overview
|
|
20
|
+
|
|
21
|
+
Image Generation allows you to build applications that create visual content from text prompts using AI models, enabling creative workflows, design automation, and visual content production.
|
|
22
|
+
|
|
23
|
+
**IMPORTANT**: z-ai-web-dev-sdk MUST be used in backend code only. Never use it in client-side code.
|
|
24
|
+
|
|
25
|
+
## Prerequisites
|
|
26
|
+
|
|
27
|
+
The z-ai-web-dev-sdk package is already installed. Import it as shown in the examples below.
|
|
28
|
+
|
|
29
|
+
## Basic Image Generation
|
|
30
|
+
|
|
31
|
+
### Simple Image Creation
|
|
32
|
+
|
|
33
|
+
```javascript
|
|
34
|
+
import ZAI from 'z-ai-web-dev-sdk';
|
|
35
|
+
import fs from 'fs';
|
|
36
|
+
|
|
37
|
+
async function generateImage(prompt, outputPath) {
|
|
38
|
+
const zai = await ZAI.create();
|
|
39
|
+
|
|
40
|
+
const response = await zai.images.generations.create({
|
|
41
|
+
prompt: prompt,
|
|
42
|
+
size: '1024x1024'
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
const imageBase64 = response.data[0].base64;
|
|
46
|
+
|
|
47
|
+
// Save image
|
|
48
|
+
const buffer = Buffer.from(imageBase64, 'base64');
|
|
49
|
+
fs.writeFileSync(outputPath, buffer);
|
|
50
|
+
|
|
51
|
+
console.log(`Image saved to ${outputPath}`);
|
|
52
|
+
return outputPath;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
// Usage
|
|
56
|
+
await generateImage(
|
|
57
|
+
'A cute cat playing in the garden',
|
|
58
|
+
'./cat_image.png'
|
|
59
|
+
);
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### Multiple Image Sizes
|
|
63
|
+
|
|
64
|
+
```javascript
|
|
65
|
+
import ZAI from 'z-ai-web-dev-sdk';
|
|
66
|
+
import fs from 'fs';
|
|
67
|
+
|
|
68
|
+
// Supported sizes
|
|
69
|
+
const SUPPORTED_SIZES = [
|
|
70
|
+
'1024x1024', // Square
|
|
71
|
+
'768x1344', // Portrait
|
|
72
|
+
'864x1152', // Portrait
|
|
73
|
+
'1344x768', // Landscape
|
|
74
|
+
'1152x864', // Landscape
|
|
75
|
+
'1440x720', // Wide landscape
|
|
76
|
+
'720x1440' // Tall portrait
|
|
77
|
+
];
|
|
78
|
+
|
|
79
|
+
async function generateImageWithSize(prompt, size, outputPath) {
|
|
80
|
+
if (!SUPPORTED_SIZES.includes(size)) {
|
|
81
|
+
throw new Error(`Unsupported size: ${size}. Use one of: ${SUPPORTED_SIZES.join(', ')}`);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
const zai = await ZAI.create();
|
|
85
|
+
|
|
86
|
+
const response = await zai.images.generations.create({
|
|
87
|
+
prompt: prompt,
|
|
88
|
+
size: size
|
|
89
|
+
});
|
|
90
|
+
|
|
91
|
+
const imageBase64 = response.data[0].base64;
|
|
92
|
+
const buffer = Buffer.from(imageBase64, 'base64');
|
|
93
|
+
fs.writeFileSync(outputPath, buffer);
|
|
94
|
+
|
|
95
|
+
return {
|
|
96
|
+
path: outputPath,
|
|
97
|
+
size: size,
|
|
98
|
+
fileSize: buffer.length
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
// Usage - Different sizes
|
|
103
|
+
await generateImageWithSize(
|
|
104
|
+
'A beautiful landscape',
|
|
105
|
+
'1344x768',
|
|
106
|
+
'./landscape.png'
|
|
107
|
+
);
|
|
108
|
+
|
|
109
|
+
await generateImageWithSize(
|
|
110
|
+
'A portrait of a person',
|
|
111
|
+
'768x1344',
|
|
112
|
+
'./portrait.png'
|
|
113
|
+
);
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
## CLI Tool Usage
|
|
117
|
+
|
|
118
|
+
The z-ai CLI tool provides a convenient way to generate images directly from the command line.
|
|
119
|
+
|
|
120
|
+
### Basic CLI Usage
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
# Generate image with full options
|
|
124
|
+
z-ai image --prompt "A beautiful landscape" --output "./image.png"
|
|
125
|
+
|
|
126
|
+
# Short form
|
|
127
|
+
z-ai image -p "A cute cat" -o "./cat.png"
|
|
128
|
+
|
|
129
|
+
# Specify size
|
|
130
|
+
z-ai image -p "A sunset" -o "./sunset.png" -s 1344x768
|
|
131
|
+
|
|
132
|
+
# Portrait orientation
|
|
133
|
+
z-ai image -p "A portrait" -o "./portrait.png" -s 768x1344
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
### CLI Use Cases
|
|
137
|
+
|
|
138
|
+
```bash
|
|
139
|
+
# Website hero image
|
|
140
|
+
z-ai image -p "Modern tech office with diverse team collaborating" -o "./hero.png" -s 1440x720
|
|
141
|
+
|
|
142
|
+
# Product image
|
|
143
|
+
z-ai image -p "Sleek smartphone on minimalist desk, professional product photography" -o "./product.png" -s 1024x1024
|
|
144
|
+
|
|
145
|
+
# Blog post illustration
|
|
146
|
+
z-ai image -p "Abstract visualization of data flowing through networks" -o "./blog_header.png" -s 1344x768
|
|
147
|
+
|
|
148
|
+
# Social media content
|
|
149
|
+
z-ai image -p "Vibrant illustration of community connection" -o "./social.png" -s 1024x1024
|
|
150
|
+
|
|
151
|
+
# Website favicon/logo
|
|
152
|
+
z-ai image -p "Simple geometric logo with blue gradient, minimal design" -o "./logo.png" -s 1024x1024
|
|
153
|
+
|
|
154
|
+
# Background pattern
|
|
155
|
+
z-ai image -p "Subtle geometric pattern, pastel colors, website background" -o "./bg_pattern.png" -s 1440x720
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
## Advanced Use Cases
|
|
159
|
+
|
|
160
|
+
### Batch Image Generation
|
|
161
|
+
|
|
162
|
+
```javascript
|
|
163
|
+
import ZAI from 'z-ai-web-dev-sdk';
|
|
164
|
+
import fs from 'fs';
|
|
165
|
+
import path from 'path';
|
|
166
|
+
|
|
167
|
+
async function generateImageBatch(prompts, outputDir, size = '1024x1024') {
|
|
168
|
+
const zai = await ZAI.create();
|
|
169
|
+
|
|
170
|
+
// Ensure output directory exists
|
|
171
|
+
if (!fs.existsSync(outputDir)) {
|
|
172
|
+
fs.mkdirSync(outputDir, { recursive: true });
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
const results = [];
|
|
176
|
+
|
|
177
|
+
for (let i = 0; i < prompts.length; i++) {
|
|
178
|
+
try {
|
|
179
|
+
const prompt = prompts[i];
|
|
180
|
+
const filename = `image_${i + 1}.png`;
|
|
181
|
+
const outputPath = path.join(outputDir, filename);
|
|
182
|
+
|
|
183
|
+
const response = await zai.images.generations.create({
|
|
184
|
+
prompt: prompt,
|
|
185
|
+
size: size
|
|
186
|
+
});
|
|
187
|
+
|
|
188
|
+
const imageBase64 = response.data[0].base64;
|
|
189
|
+
const buffer = Buffer.from(imageBase64, 'base64');
|
|
190
|
+
fs.writeFileSync(outputPath, buffer);
|
|
191
|
+
|
|
192
|
+
results.push({
|
|
193
|
+
success: true,
|
|
194
|
+
prompt: prompt,
|
|
195
|
+
path: outputPath,
|
|
196
|
+
size: buffer.length
|
|
197
|
+
});
|
|
198
|
+
|
|
199
|
+
console.log(`✓ Generated: ${filename}`);
|
|
200
|
+
} catch (error) {
|
|
201
|
+
results.push({
|
|
202
|
+
success: false,
|
|
203
|
+
prompt: prompts[i],
|
|
204
|
+
error: error.message
|
|
205
|
+
});
|
|
206
|
+
|
|
207
|
+
console.error(`✗ Failed: ${prompts[i]} - ${error.message}`);
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
return results;
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
// Usage
|
|
215
|
+
const prompts = [
|
|
216
|
+
'A serene mountain landscape at sunset',
|
|
217
|
+
'A futuristic city with flying cars',
|
|
218
|
+
'An underwater coral reef teeming with life'
|
|
219
|
+
];
|
|
220
|
+
|
|
221
|
+
const results = await generateImageBatch(prompts, './generated-images');
|
|
222
|
+
console.log(`Generated ${results.filter(r => r.success).length} images`);
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
### Image Generation Service
|
|
226
|
+
|
|
227
|
+
```javascript
|
|
228
|
+
import ZAI from 'z-ai-web-dev-sdk';
|
|
229
|
+
import fs from 'fs';
|
|
230
|
+
import path from 'path';
|
|
231
|
+
import crypto from 'crypto';
|
|
232
|
+
|
|
233
|
+
class ImageGenerationService {
|
|
234
|
+
constructor(outputDir = './generated-images') {
|
|
235
|
+
this.outputDir = outputDir;
|
|
236
|
+
this.zai = null;
|
|
237
|
+
this.cache = new Map();
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
async initialize() {
|
|
241
|
+
this.zai = await ZAI.create();
|
|
242
|
+
|
|
243
|
+
if (!fs.existsSync(this.outputDir)) {
|
|
244
|
+
fs.mkdirSync(this.outputDir, { recursive: true });
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
generateCacheKey(prompt, size) {
|
|
249
|
+
return crypto
|
|
250
|
+
.createHash('md5')
|
|
251
|
+
.update(`${prompt}-${size}`)
|
|
252
|
+
.digest('hex');
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
async generate(prompt, options = {}) {
|
|
256
|
+
const {
|
|
257
|
+
size = '1024x1024',
|
|
258
|
+
useCache = true,
|
|
259
|
+
filename = null
|
|
260
|
+
} = options;
|
|
261
|
+
|
|
262
|
+
// Check cache
|
|
263
|
+
const cacheKey = this.generateCacheKey(prompt, size);
|
|
264
|
+
|
|
265
|
+
if (useCache && this.cache.has(cacheKey)) {
|
|
266
|
+
const cachedPath = this.cache.get(cacheKey);
|
|
267
|
+
if (fs.existsSync(cachedPath)) {
|
|
268
|
+
return {
|
|
269
|
+
path: cachedPath,
|
|
270
|
+
cached: true,
|
|
271
|
+
prompt: prompt,
|
|
272
|
+
size: size
|
|
273
|
+
};
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
// Generate new image
|
|
278
|
+
const response = await this.zai.images.generations.create({
|
|
279
|
+
prompt: prompt,
|
|
280
|
+
size: size
|
|
281
|
+
});
|
|
282
|
+
|
|
283
|
+
const imageBase64 = response.data[0].base64;
|
|
284
|
+
const buffer = Buffer.from(imageBase64, 'base64');
|
|
285
|
+
|
|
286
|
+
// Determine output path
|
|
287
|
+
const outputFilename = filename || `${cacheKey}.png`;
|
|
288
|
+
const outputPath = path.join(this.outputDir, outputFilename);
|
|
289
|
+
|
|
290
|
+
fs.writeFileSync(outputPath, buffer);
|
|
291
|
+
|
|
292
|
+
// Cache result
|
|
293
|
+
if (useCache) {
|
|
294
|
+
this.cache.set(cacheKey, outputPath);
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
return {
|
|
298
|
+
path: outputPath,
|
|
299
|
+
cached: false,
|
|
300
|
+
prompt: prompt,
|
|
301
|
+
size: size,
|
|
302
|
+
fileSize: buffer.length
|
|
303
|
+
};
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
clearCache() {
|
|
307
|
+
this.cache.clear();
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
getCacheSize() {
|
|
311
|
+
return this.cache.size;
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
// Usage
|
|
316
|
+
const service = new ImageGenerationService();
|
|
317
|
+
await service.initialize();
|
|
318
|
+
|
|
319
|
+
const result = await service.generate(
|
|
320
|
+
'A modern office space',
|
|
321
|
+
{ size: '1440x720' }
|
|
322
|
+
);
|
|
323
|
+
|
|
324
|
+
console.log('Generated:', result.path);
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
### Website Asset Generator
|
|
328
|
+
|
|
329
|
+
```bash
|
|
330
|
+
# Using CLI for quick website asset generation
|
|
331
|
+
z-ai image -p "Modern tech hero banner, blue gradient" -o "./assets/hero.png" -s 1440x720
|
|
332
|
+
z-ai image -p "Team collaboration illustration" -o "./assets/team.png" -s 1344x768
|
|
333
|
+
z-ai image -p "Simple geometric logo" -o "./assets/logo.png" -s 1024x1024
|
|
334
|
+
```
|
|
335
|
+
|
|
336
|
+
## Best Practices
|
|
337
|
+
|
|
338
|
+
### 1. Effective Prompt Engineering
|
|
339
|
+
|
|
340
|
+
```javascript
|
|
341
|
+
function buildEffectivePrompt(subject, style, details = []) {
|
|
342
|
+
const components = [
|
|
343
|
+
subject,
|
|
344
|
+
style,
|
|
345
|
+
...details,
|
|
346
|
+
'high quality',
|
|
347
|
+
'detailed'
|
|
348
|
+
];
|
|
349
|
+
|
|
350
|
+
return components.filter(Boolean).join(', ');
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
// Usage
|
|
354
|
+
const prompt = buildEffectivePrompt(
|
|
355
|
+
'mountain landscape',
|
|
356
|
+
'oil painting style',
|
|
357
|
+
['sunset lighting', 'dramatic clouds', 'reflection in lake']
|
|
358
|
+
);
|
|
359
|
+
|
|
360
|
+
// Result: "mountain landscape, oil painting style, sunset lighting, dramatic clouds, reflection in lake, high quality, detailed"
|
|
361
|
+
```
|
|
362
|
+
|
|
363
|
+
### 2. Size Selection Helper
|
|
364
|
+
|
|
365
|
+
```javascript
|
|
366
|
+
function selectOptimalSize(purpose) {
|
|
367
|
+
const sizeMap = {
|
|
368
|
+
'hero-banner': '1440x720',
|
|
369
|
+
'blog-header': '1344x768',
|
|
370
|
+
'social-square': '1024x1024',
|
|
371
|
+
'portrait': '768x1344',
|
|
372
|
+
'product': '1024x1024',
|
|
373
|
+
'landscape': '1344x768',
|
|
374
|
+
'mobile-banner': '720x1440',
|
|
375
|
+
'thumbnail': '1024x1024'
|
|
376
|
+
};
|
|
377
|
+
|
|
378
|
+
return sizeMap[purpose] || '1024x1024';
|
|
379
|
+
}
|
|
380
|
+
|
|
381
|
+
// Usage
|
|
382
|
+
const size = selectOptimalSize('hero-banner');
|
|
383
|
+
await generateImage('website hero image', size, './hero.png');
|
|
384
|
+
```
|
|
385
|
+
|
|
386
|
+
### 3. Error Handling
|
|
387
|
+
|
|
388
|
+
```javascript
|
|
389
|
+
import ZAI from 'z-ai-web-dev-sdk';
|
|
390
|
+
import fs from 'fs';
|
|
391
|
+
|
|
392
|
+
async function safeGenerateImage(prompt, size, outputPath, retries = 3) {
|
|
393
|
+
let lastError;
|
|
394
|
+
|
|
395
|
+
for (let attempt = 1; attempt <= retries; attempt++) {
|
|
396
|
+
try {
|
|
397
|
+
const zai = await ZAI.create();
|
|
398
|
+
|
|
399
|
+
const response = await zai.images.generations.create({
|
|
400
|
+
prompt: prompt,
|
|
401
|
+
size: size
|
|
402
|
+
});
|
|
403
|
+
|
|
404
|
+
if (!response.data || !response.data[0] || !response.data[0].base64) {
|
|
405
|
+
throw new Error('Invalid response from image generation API');
|
|
406
|
+
}
|
|
407
|
+
|
|
408
|
+
const imageBase64 = response.data[0].base64;
|
|
409
|
+
const buffer = Buffer.from(imageBase64, 'base64');
|
|
410
|
+
fs.writeFileSync(outputPath, buffer);
|
|
411
|
+
|
|
412
|
+
return {
|
|
413
|
+
success: true,
|
|
414
|
+
path: outputPath,
|
|
415
|
+
attempts: attempt
|
|
416
|
+
};
|
|
417
|
+
} catch (error) {
|
|
418
|
+
lastError = error;
|
|
419
|
+
console.error(`Attempt ${attempt} failed:`, error.message);
|
|
420
|
+
|
|
421
|
+
if (attempt < retries) {
|
|
422
|
+
// Wait before retry (exponential backoff)
|
|
423
|
+
await new Promise(resolve => setTimeout(resolve, 1000 * attempt));
|
|
424
|
+
}
|
|
425
|
+
}
|
|
426
|
+
}
|
|
427
|
+
|
|
428
|
+
return {
|
|
429
|
+
success: false,
|
|
430
|
+
error: lastError.message,
|
|
431
|
+
attempts: retries
|
|
432
|
+
};
|
|
433
|
+
}
|
|
434
|
+
```
|
|
435
|
+
|
|
436
|
+
## Common Use Cases
|
|
437
|
+
|
|
438
|
+
1. **Website Design**: Generate hero images, backgrounds, and visual assets
|
|
439
|
+
2. **Marketing Materials**: Create social media graphics and promotional images
|
|
440
|
+
3. **Product Visualization**: Generate product mockups and variations
|
|
441
|
+
4. **Content Creation**: Produce blog post illustrations and thumbnails
|
|
442
|
+
5. **Brand Assets**: Create logos, icons, and brand imagery
|
|
443
|
+
6. **UI/UX Design**: Generate interface elements and illustrations
|
|
444
|
+
7. **Game Development**: Create concept art and game assets
|
|
445
|
+
8. **E-commerce**: Generate product images and lifestyle shots
|
|
446
|
+
|
|
447
|
+
## Integration Examples
|
|
448
|
+
|
|
449
|
+
### Express.js API Endpoint
|
|
450
|
+
|
|
451
|
+
```javascript
|
|
452
|
+
import express from 'express';
|
|
453
|
+
import ZAI from 'z-ai-web-dev-sdk';
|
|
454
|
+
import fs from 'fs';
|
|
455
|
+
import path from 'path';
|
|
456
|
+
|
|
457
|
+
const app = express();
|
|
458
|
+
app.use(express.json());
|
|
459
|
+
app.use('/images', express.static('generated-images'));
|
|
460
|
+
|
|
461
|
+
let zaiInstance;
|
|
462
|
+
const outputDir = './generated-images';
|
|
463
|
+
|
|
464
|
+
async function initZAI() {
|
|
465
|
+
zaiInstance = await ZAI.create();
|
|
466
|
+
if (!fs.existsSync(outputDir)) {
|
|
467
|
+
fs.mkdirSync(outputDir, { recursive: true });
|
|
468
|
+
}
|
|
469
|
+
}
|
|
470
|
+
|
|
471
|
+
app.post('/api/generate-image', async (req, res) => {
|
|
472
|
+
try {
|
|
473
|
+
const { prompt, size = '1024x1024' } = req.body;
|
|
474
|
+
|
|
475
|
+
if (!prompt) {
|
|
476
|
+
return res.status(400).json({ error: 'Prompt is required' });
|
|
477
|
+
}
|
|
478
|
+
|
|
479
|
+
const response = await zaiInstance.images.generations.create({
|
|
480
|
+
prompt: prompt,
|
|
481
|
+
size: size
|
|
482
|
+
});
|
|
483
|
+
|
|
484
|
+
const imageBase64 = response.data[0].base64;
|
|
485
|
+
const buffer = Buffer.from(imageBase64, 'base64');
|
|
486
|
+
|
|
487
|
+
const filename = `img_${Date.now()}.png`;
|
|
488
|
+
const filepath = path.join(outputDir, filename);
|
|
489
|
+
fs.writeFileSync(filepath, buffer);
|
|
490
|
+
|
|
491
|
+
res.json({
|
|
492
|
+
success: true,
|
|
493
|
+
imageUrl: `/images/${filename}`,
|
|
494
|
+
prompt: prompt,
|
|
495
|
+
size: size
|
|
496
|
+
});
|
|
497
|
+
} catch (error) {
|
|
498
|
+
res.status(500).json({
|
|
499
|
+
success: false,
|
|
500
|
+
error: error.message
|
|
501
|
+
});
|
|
502
|
+
}
|
|
503
|
+
});
|
|
504
|
+
|
|
505
|
+
initZAI().then(() => {
|
|
506
|
+
app.listen(3000, () => {
|
|
507
|
+
console.log('Image generation API running on port 3000');
|
|
508
|
+
});
|
|
509
|
+
});
|
|
510
|
+
```
|
|
511
|
+
|
|
512
|
+
## CLI Integration in Scripts
|
|
513
|
+
|
|
514
|
+
### Shell Script Example
|
|
515
|
+
|
|
516
|
+
```bash
|
|
517
|
+
#!/bin/bash
|
|
518
|
+
|
|
519
|
+
# Generate website assets using CLI
|
|
520
|
+
echo "Generating website assets..."
|
|
521
|
+
|
|
522
|
+
z-ai image -p "Modern tech hero banner, blue gradient" -o "./assets/hero.png" -s 1440x720
|
|
523
|
+
z-ai image -p "Team collaboration illustration" -o "./assets/team.png" -s 1344x768
|
|
524
|
+
z-ai image -p "Simple geometric logo" -o "./assets/logo.png" -s 1024x1024
|
|
525
|
+
|
|
526
|
+
echo "Assets generated successfully!"
|
|
527
|
+
```
|
|
528
|
+
|
|
529
|
+
## Troubleshooting
|
|
530
|
+
|
|
531
|
+
**Issue**: "SDK must be used in backend"
|
|
532
|
+
- **Solution**: Ensure z-ai-web-dev-sdk is only used in server-side code
|
|
533
|
+
|
|
534
|
+
**Issue**: Invalid size parameter
|
|
535
|
+
- **Solution**: Use only supported sizes: 1024x1024, 768x1344, 864x1152, 1344x768, 1152x864, 1440x720, 720x1440
|
|
536
|
+
|
|
537
|
+
**Issue**: Generated image doesn't match prompt
|
|
538
|
+
- **Solution**: Make prompts more specific and descriptive. Include style, details, and quality terms
|
|
539
|
+
|
|
540
|
+
**Issue**: CLI command not found
|
|
541
|
+
- **Solution**: Ensure z-ai CLI is properly installed and in PATH
|
|
542
|
+
|
|
543
|
+
**Issue**: Image file is corrupted
|
|
544
|
+
- **Solution**: Verify base64 decoding and file writing are correct
|
|
545
|
+
|
|
546
|
+
## Prompt Engineering Tips
|
|
547
|
+
|
|
548
|
+
### Good Prompts
|
|
549
|
+
- ✓ "Professional product photography of wireless headphones, white background, studio lighting, high quality"
|
|
550
|
+
- ✓ "Mountain landscape at golden hour, oil painting style, dramatic clouds, detailed"
|
|
551
|
+
- ✓ "Modern minimalist logo for tech company, blue and white, geometric shapes"
|
|
552
|
+
|
|
553
|
+
### Poor Prompts
|
|
554
|
+
- ✗ "headphones"
|
|
555
|
+
- ✗ "picture of mountains"
|
|
556
|
+
- ✗ "logo"
|
|
557
|
+
|
|
558
|
+
### Prompt Components
|
|
559
|
+
1. **Subject**: What you want to see
|
|
560
|
+
2. **Style**: Art style, photography style, etc.
|
|
561
|
+
3. **Details**: Specific elements, colors, mood
|
|
562
|
+
4. **Quality**: "high quality", "detailed", "professional"
|
|
563
|
+
|
|
564
|
+
## Supported Image Sizes
|
|
565
|
+
|
|
566
|
+
- `1024x1024` - Square
|
|
567
|
+
- `768x1344` - Portrait
|
|
568
|
+
- `864x1152` - Portrait
|
|
569
|
+
- `1344x768` - Landscape
|
|
570
|
+
- `1152x864` - Landscape
|
|
571
|
+
- `1440x720` - Wide landscape
|
|
572
|
+
- `720x1440` - Tall portrait
|
|
573
|
+
|
|
574
|
+
## Remember
|
|
575
|
+
|
|
576
|
+
- Always use z-ai-web-dev-sdk in backend code only
|
|
577
|
+
- The SDK is already installed - import as shown
|
|
578
|
+
- CLI tool is available for quick image generation
|
|
579
|
+
- Supported sizes are specific - use the provided list
|
|
580
|
+
- Base64 images need to be decoded before saving
|
|
581
|
+
- Consider caching for repeated prompts
|
|
582
|
+
- Implement retry logic for production applications
|
|
583
|
+
- Use descriptive prompts for better results
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import ZAI from 'z-ai-web-dev-sdk';
|
|
2
|
+
import fs from 'fs';
|
|
3
|
+
|
|
4
|
+
async function main(prompt: string, size: '1024x1024' | '768x1344' | '864x1152' | '1344x768' | '1152x864' | '1440x720' | '720x1440', outFile: string) {
|
|
5
|
+
try {
|
|
6
|
+
const zai = await ZAI.create();
|
|
7
|
+
|
|
8
|
+
const response = await zai.images.generations.create({
|
|
9
|
+
prompt,
|
|
10
|
+
size
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
const base64 = response?.data?.[0]?.base64;
|
|
14
|
+
if (!base64) {
|
|
15
|
+
console.error('No image data returned by the API');
|
|
16
|
+
console.log('Full response:', JSON.stringify(response, null, 2));
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
const buffer = Buffer.from(base64, 'base64');
|
|
21
|
+
fs.writeFileSync(outFile, buffer);
|
|
22
|
+
console.log(`Image saved to ${outFile}`);
|
|
23
|
+
} catch (err: any) {
|
|
24
|
+
console.error('Image generation failed:', err?.message || err);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
main('A cute kitten', '1024x1024', './output.png');
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 z-ai-web-dev-sdk Skills
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|