mirror of
https://github.com/DayuanJiang/next-ai-draw-io.git
synced 2026-09-01 17:10:24 +08:00
Compare commits
2 Commits
main
...
feat/mater
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f3edceb9c0 | ||
|
|
5f87ffae1e |
@@ -663,7 +663,7 @@ Available libraries:
|
|||||||
- Networking: cisco19, network, kubernetes, vvd, rack
|
- Networking: cisco19, network, kubernetes, vvd, rack
|
||||||
- Business: bpmn, lean_mapping
|
- Business: bpmn, lean_mapping
|
||||||
- General: flowchart, basic, arrows2, infographic, sitemap
|
- General: flowchart, basic, arrows2, infographic, sitemap
|
||||||
- UI/Mockups: android
|
- UI/Mockups: android, material_design
|
||||||
- Enterprise: citrix, sap, mscae, atlassian
|
- Enterprise: citrix, sap, mscae, atlassian
|
||||||
- Engineering: fluidpower, electrical, pid, cabinets, floorplan
|
- Engineering: fluidpower, electrical, pid, cabinets, floorplan
|
||||||
- Icons: webicons
|
- Icons: webicons
|
||||||
@@ -708,7 +708,7 @@ Call this tool to get shape names and usage syntax for a specific library.`,
|
|||||||
if (
|
if (
|
||||||
(error as NodeJS.ErrnoException).code === "ENOENT"
|
(error as NodeJS.ErrnoException).code === "ENOENT"
|
||||||
) {
|
) {
|
||||||
return `Library "${library}" not found. Available: aws4, azure2, gcp2, alibaba_cloud, cisco19, kubernetes, network, bpmn, flowchart, basic, arrows2, vvd, salesforce, citrix, sap, mscae, atlassian, fluidpower, electrical, pid, cabinets, floorplan, webicons, infographic, sitemap, android, lean_mapping, openstack, rack`
|
return `Library "${library}" not found. Available: aws4, azure2, gcp2, alibaba_cloud, cisco19, kubernetes, network, bpmn, flowchart, basic, arrows2, vvd, salesforce, citrix, sap, mscae, atlassian, fluidpower, electrical, pid, cabinets, floorplan, webicons, infographic, sitemap, android, material_design, lean_mapping, openstack, rack`
|
||||||
}
|
}
|
||||||
console.error(
|
console.error(
|
||||||
`[get_shape_library] Error loading "${library}":`,
|
`[get_shape_library] Error loading "${library}":`,
|
||||||
|
|||||||
367
docs/shape-libraries/material_design.md
Normal file
367
docs/shape-libraries/material_design.md
Normal file
@@ -0,0 +1,367 @@
|
|||||||
|
# material_design
|
||||||
|
|
||||||
|
**Type:** SVG images (Google Material Icons CDN)
|
||||||
|
**URL Pattern:** `https://fonts.gstatic.com/s/i/materialicons/{icon_name}/v6/24px.svg`
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
```xml
|
||||||
|
<mxCell value="label" style="image;aspect=fixed;html=1;image=https://fonts.gstatic.com/s/i/materialicons/{icon_name}/v6/24px.svg;verticalLabelPosition=bottom;verticalAlign=top;align=center;" vertex="1" parent="1">
|
||||||
|
<mxGeometry x="0" y="0" width="48" height="48" as="geometry" />
|
||||||
|
</mxCell>
|
||||||
|
```
|
||||||
|
|
||||||
|
Replace `{icon_name}` with any icon name from the list below.
|
||||||
|
|
||||||
|
## action (115)
|
||||||
|
|
||||||
|
- `account_balance`
|
||||||
|
- `account_balance_wallet`
|
||||||
|
- `account_box`
|
||||||
|
- `account_circle`
|
||||||
|
- `add_shopping_cart`
|
||||||
|
- `admin_panel_settings`
|
||||||
|
- `analytics`
|
||||||
|
- `arrow_right_alt`
|
||||||
|
- `article`
|
||||||
|
- `assessment`
|
||||||
|
- `assignment`
|
||||||
|
- `assignment_ind`
|
||||||
|
- `assignment_turned_in`
|
||||||
|
- `autorenew`
|
||||||
|
- `bookmark`
|
||||||
|
- `bookmark_border`
|
||||||
|
- `build`
|
||||||
|
- `calendar_month`
|
||||||
|
- `calendar_today`
|
||||||
|
- `card_giftcard`
|
||||||
|
- `check_circle`
|
||||||
|
- `check_circle_outline`
|
||||||
|
- `code`
|
||||||
|
- `contact_support`
|
||||||
|
- `credit_card`
|
||||||
|
- `dashboard`
|
||||||
|
- `date_range`
|
||||||
|
- `delete`
|
||||||
|
- `delete_forever`
|
||||||
|
- `delete_outline`
|
||||||
|
- `description`
|
||||||
|
- `dns`
|
||||||
|
- `done`
|
||||||
|
- `done_all`
|
||||||
|
- `done_outline`
|
||||||
|
- `drag_indicator`
|
||||||
|
- `event`
|
||||||
|
- `exit_to_app`
|
||||||
|
- `explore`
|
||||||
|
- `face`
|
||||||
|
- `fact_check`
|
||||||
|
- `favorite`
|
||||||
|
- `favorite_border`
|
||||||
|
- `feedback`
|
||||||
|
- `filter_alt`
|
||||||
|
- `fingerprint`
|
||||||
|
- `flight_takeoff`
|
||||||
|
- `grade`
|
||||||
|
- `help`
|
||||||
|
- `help_outline`
|
||||||
|
- `highlight_off`
|
||||||
|
- `history`
|
||||||
|
- `home`
|
||||||
|
- `info`
|
||||||
|
- `label`
|
||||||
|
- `language`
|
||||||
|
- `launch`
|
||||||
|
- `leaderboard`
|
||||||
|
- `lightbulb`
|
||||||
|
- `list`
|
||||||
|
- `lock`
|
||||||
|
- `lock_open`
|
||||||
|
- `login`
|
||||||
|
- `logout`
|
||||||
|
- `manage_accounts`
|
||||||
|
- `note_add`
|
||||||
|
- `open_in_full`
|
||||||
|
- `open_in_new`
|
||||||
|
- `paid`
|
||||||
|
- `payment`
|
||||||
|
- `pending`
|
||||||
|
- `pending_actions`
|
||||||
|
- `perm_identity`
|
||||||
|
- `pets`
|
||||||
|
- `power_settings_new`
|
||||||
|
- `preview`
|
||||||
|
- `print`
|
||||||
|
- `published_with_changes`
|
||||||
|
- `question_answer`
|
||||||
|
- `receipt`
|
||||||
|
- `reorder`
|
||||||
|
- `report_problem`
|
||||||
|
- `room`
|
||||||
|
- `savings`
|
||||||
|
- `schedule`
|
||||||
|
- `search`
|
||||||
|
- `settings`
|
||||||
|
- `shopping_bag`
|
||||||
|
- `shopping_basket`
|
||||||
|
- `shopping_cart`
|
||||||
|
- `star_rate`
|
||||||
|
- `stars`
|
||||||
|
- `store`
|
||||||
|
- `supervisor_account`
|
||||||
|
- `swap_horiz`
|
||||||
|
- `sync_alt`
|
||||||
|
- `task_alt`
|
||||||
|
- `thumb_up`
|
||||||
|
- `thumb_up_off_alt`
|
||||||
|
- `timeline`
|
||||||
|
- `tips_and_updates`
|
||||||
|
- `today`
|
||||||
|
- `touch_app`
|
||||||
|
- `trending_up`
|
||||||
|
- `update`
|
||||||
|
- `verified`
|
||||||
|
- `verified_user`
|
||||||
|
- `view_in_ar`
|
||||||
|
- `view_list`
|
||||||
|
- `visibility`
|
||||||
|
- `visibility_off`
|
||||||
|
- `watch_later`
|
||||||
|
- `work`
|
||||||
|
- `work_outline`
|
||||||
|
- `zoom_in`
|
||||||
|
|
||||||
|
## alert (4)
|
||||||
|
|
||||||
|
- `error`
|
||||||
|
- `error_outline`
|
||||||
|
- `warning`
|
||||||
|
- `warning_amber`
|
||||||
|
|
||||||
|
## av (12)
|
||||||
|
|
||||||
|
- `library_books`
|
||||||
|
- `mic`
|
||||||
|
- `pause`
|
||||||
|
- `play_arrow`
|
||||||
|
- `play_circle`
|
||||||
|
- `play_circle_filled`
|
||||||
|
- `play_circle_outline`
|
||||||
|
- `replay`
|
||||||
|
- `skip_next`
|
||||||
|
- `videocam`
|
||||||
|
- `volume_off`
|
||||||
|
- `volume_up`
|
||||||
|
|
||||||
|
## communication (13)
|
||||||
|
|
||||||
|
- `alternate_email`
|
||||||
|
- `business`
|
||||||
|
- `call`
|
||||||
|
- `chat`
|
||||||
|
- `chat_bubble_outline`
|
||||||
|
- `email`
|
||||||
|
- `forum`
|
||||||
|
- `list_alt`
|
||||||
|
- `location_on`
|
||||||
|
- `mail_outline`
|
||||||
|
- `phone`
|
||||||
|
- `qr_code_scanner`
|
||||||
|
- `vpn_key`
|
||||||
|
|
||||||
|
## content (27)
|
||||||
|
|
||||||
|
- `add`
|
||||||
|
- `add_box`
|
||||||
|
- `add_circle`
|
||||||
|
- `add_circle_outline`
|
||||||
|
- `block`
|
||||||
|
- `bolt`
|
||||||
|
- `calculate`
|
||||||
|
- `clear`
|
||||||
|
- `content_copy`
|
||||||
|
- `create`
|
||||||
|
- `filter_list`
|
||||||
|
- `flag`
|
||||||
|
- `how_to_reg`
|
||||||
|
- `insights`
|
||||||
|
- `inventory`
|
||||||
|
- `inventory_2`
|
||||||
|
- `link`
|
||||||
|
- `mail`
|
||||||
|
- `push_pin`
|
||||||
|
- `remove`
|
||||||
|
- `remove_circle`
|
||||||
|
- `remove_circle_outline`
|
||||||
|
- `reply`
|
||||||
|
- `save`
|
||||||
|
- `send`
|
||||||
|
- `sort`
|
||||||
|
- `undo`
|
||||||
|
|
||||||
|
## device (9)
|
||||||
|
|
||||||
|
- `dark_mode`
|
||||||
|
- `devices`
|
||||||
|
- `light_mode`
|
||||||
|
- `password`
|
||||||
|
- `restart_alt`
|
||||||
|
- `sell`
|
||||||
|
- `signal_cellular_alt`
|
||||||
|
- `summarize`
|
||||||
|
- `task`
|
||||||
|
|
||||||
|
## editor (9)
|
||||||
|
|
||||||
|
- `attach_file`
|
||||||
|
- `attach_money`
|
||||||
|
- `bar_chart`
|
||||||
|
- `checklist`
|
||||||
|
- `edit_note`
|
||||||
|
- `format_list_bulleted`
|
||||||
|
- `mode_edit`
|
||||||
|
- `monetization_on`
|
||||||
|
- `post_add`
|
||||||
|
|
||||||
|
## file (8)
|
||||||
|
|
||||||
|
- `cloud_upload`
|
||||||
|
- `download`
|
||||||
|
- `file_download`
|
||||||
|
- `file_upload`
|
||||||
|
- `folder`
|
||||||
|
- `folder_open`
|
||||||
|
- `grid_view`
|
||||||
|
- `upload_file`
|
||||||
|
|
||||||
|
## hardware (6)
|
||||||
|
|
||||||
|
- `computer`
|
||||||
|
- `keyboard_arrow_down`
|
||||||
|
- `keyboard_arrow_right`
|
||||||
|
- `phone_iphone`
|
||||||
|
- `security`
|
||||||
|
- `smartphone`
|
||||||
|
|
||||||
|
## image (16)
|
||||||
|
|
||||||
|
- `add_a_photo`
|
||||||
|
- `auto_awesome`
|
||||||
|
- `auto_stories`
|
||||||
|
- `circle`
|
||||||
|
- `collections`
|
||||||
|
- `edit`
|
||||||
|
- `image`
|
||||||
|
- `navigate_before`
|
||||||
|
- `navigate_next`
|
||||||
|
- `palette`
|
||||||
|
- `photo_camera`
|
||||||
|
- `picture_as_pdf`
|
||||||
|
- `receipt_long`
|
||||||
|
- `remove_red_eye`
|
||||||
|
- `timer`
|
||||||
|
- `tune`
|
||||||
|
|
||||||
|
## maps (11)
|
||||||
|
|
||||||
|
- `badge`
|
||||||
|
- `category`
|
||||||
|
- `directions_car`
|
||||||
|
- `local_fire_department`
|
||||||
|
- `local_offer`
|
||||||
|
- `local_shipping`
|
||||||
|
- `map`
|
||||||
|
- `menu_book`
|
||||||
|
- `place`
|
||||||
|
- `restaurant`
|
||||||
|
- `volunteer_activism`
|
||||||
|
|
||||||
|
## navigation (29)
|
||||||
|
|
||||||
|
- `apps`
|
||||||
|
- `arrow_back`
|
||||||
|
- `arrow_back_ios`
|
||||||
|
- `arrow_back_ios_new`
|
||||||
|
- `arrow_downward`
|
||||||
|
- `arrow_drop_down`
|
||||||
|
- `arrow_drop_up`
|
||||||
|
- `arrow_forward`
|
||||||
|
- `arrow_forward_ios`
|
||||||
|
- `arrow_right`
|
||||||
|
- `arrow_upward`
|
||||||
|
- `campaign`
|
||||||
|
- `cancel`
|
||||||
|
- `check`
|
||||||
|
- `chevron_left`
|
||||||
|
- `chevron_right`
|
||||||
|
- `close`
|
||||||
|
- `double_arrow`
|
||||||
|
- `east`
|
||||||
|
- `expand_less`
|
||||||
|
- `expand_more`
|
||||||
|
- `fullscreen`
|
||||||
|
- `menu`
|
||||||
|
- `menu_open`
|
||||||
|
- `more_horiz`
|
||||||
|
- `more_vert`
|
||||||
|
- `payments`
|
||||||
|
- `refresh`
|
||||||
|
- `unfold_more`
|
||||||
|
|
||||||
|
## notification (6)
|
||||||
|
|
||||||
|
- `account_tree`
|
||||||
|
- `event_available`
|
||||||
|
- `priority_high`
|
||||||
|
- `support_agent`
|
||||||
|
- `sync`
|
||||||
|
- `wifi`
|
||||||
|
|
||||||
|
## places (2)
|
||||||
|
|
||||||
|
- `apartment`
|
||||||
|
- `storefront`
|
||||||
|
|
||||||
|
## search (2)
|
||||||
|
|
||||||
|
- `feed`
|
||||||
|
- `manage_search`
|
||||||
|
|
||||||
|
## social (23)
|
||||||
|
|
||||||
|
- `construction`
|
||||||
|
- `emoji_emotions`
|
||||||
|
- `emoji_events`
|
||||||
|
- `engineering`
|
||||||
|
- `group`
|
||||||
|
- `group_add`
|
||||||
|
- `groups`
|
||||||
|
- `health_and_safety`
|
||||||
|
- `notifications`
|
||||||
|
- `notifications_active`
|
||||||
|
- `notifications_none`
|
||||||
|
- `people`
|
||||||
|
- `people_alt`
|
||||||
|
- `person`
|
||||||
|
- `person_add`
|
||||||
|
- `person_outline`
|
||||||
|
- `psychology`
|
||||||
|
- `public`
|
||||||
|
- `school`
|
||||||
|
- `share`
|
||||||
|
- `thumb_up_alt`
|
||||||
|
- `travel_explore`
|
||||||
|
- `water_drop`
|
||||||
|
|
||||||
|
## toggle (8)
|
||||||
|
|
||||||
|
- `check_box`
|
||||||
|
- `check_box_outline_blank`
|
||||||
|
- `radio_button_checked`
|
||||||
|
- `radio_button_unchecked`
|
||||||
|
- `star`
|
||||||
|
- `star_border`
|
||||||
|
- `star_outline`
|
||||||
|
- `toggle_on`
|
||||||
|
|
||||||
|
Total: 300 icons (top by popularity from 2100+ available)
|
||||||
@@ -51,9 +51,9 @@ parameters: {
|
|||||||
}
|
}
|
||||||
---Tool4---
|
---Tool4---
|
||||||
tool name: get_shape_library
|
tool name: get_shape_library
|
||||||
description: Get shape/icon library documentation. Use this to discover available icon shapes (AWS, Azure, GCP, Kubernetes, etc.) before creating diagrams with cloud/tech icons.
|
description: Get shape/icon library documentation. Use this to discover available icon shapes (AWS, Azure, GCP, Kubernetes, Material Design, etc.) before creating diagrams with special icons. ALWAYS call this before using any icon library — never guess the syntax.
|
||||||
parameters: {
|
parameters: {
|
||||||
library: string // Library name: aws4, azure2, gcp2, kubernetes, cisco19, flowchart, bpmn, etc.
|
library: string // Library name: aws4, azure2, gcp2, kubernetes, cisco19, flowchart, bpmn, material_design, etc.
|
||||||
}
|
}
|
||||||
---End of tools---
|
---End of tools---
|
||||||
|
|
||||||
@@ -61,7 +61,7 @@ IMPORTANT: Choose the right tool:
|
|||||||
- Use display_diagram for: Creating new diagrams, major restructuring, or when the current diagram XML is empty
|
- Use display_diagram for: Creating new diagrams, major restructuring, or when the current diagram XML is empty
|
||||||
- Use edit_diagram for: Small modifications, adding/removing elements, changing text/colors, repositioning items
|
- Use edit_diagram for: Small modifications, adding/removing elements, changing text/colors, repositioning items
|
||||||
- Use append_diagram for: ONLY when display_diagram was truncated due to output length - continue generating from where you stopped
|
- Use append_diagram for: ONLY when display_diagram was truncated due to output length - continue generating from where you stopped
|
||||||
- Use get_shape_library for: Discovering available icons/shapes when creating cloud architecture or technical diagrams (call BEFORE display_diagram)
|
- Use get_shape_library for: Discovering available icons/shapes when creating diagrams with any icon library (cloud, material design, etc.) — call BEFORE display_diagram
|
||||||
|
|
||||||
Core capabilities:
|
Core capabilities:
|
||||||
- Generate valid, well-formed XML strings for draw.io diagrams
|
- Generate valid, well-formed XML strings for draw.io diagrams
|
||||||
@@ -92,7 +92,7 @@ Note that:
|
|||||||
- When artistic drawings are requested, creatively compose them using standard diagram shapes and connectors while maintaining visual clarity.
|
- When artistic drawings are requested, creatively compose them using standard diagram shapes and connectors while maintaining visual clarity.
|
||||||
- Return XML only via tool calls, never in text responses.
|
- Return XML only via tool calls, never in text responses.
|
||||||
- If user asks you to replicate a diagram based on an image, remember to match the diagram style and layout as closely as possible. Especially, pay attention to the lines and shapes, for example, if the lines are straight or curved, and if the shapes are rounded or square.
|
- If user asks you to replicate a diagram based on an image, remember to match the diagram style and layout as closely as possible. Especially, pay attention to the lines and shapes, for example, if the lines are straight or curved, and if the shapes are rounded or square.
|
||||||
- For cloud/tech diagrams (AWS, Azure, GCP, K8s), call get_shape_library first to discover available icon shapes and their syntax.
|
- For cloud/tech diagrams (AWS, Azure, GCP, K8s) or when using icon libraries (material_design, webicons, etc.), call get_shape_library first to discover available icon shapes and their correct syntax. NEVER guess icon style syntax — always look it up first.
|
||||||
- NEVER include XML comments (<!-- ... -->) in your generated XML. Draw.io strips comments, which breaks edit_diagram patterns.
|
- NEVER include XML comments (<!-- ... -->) in your generated XML. Draw.io strips comments, which breaks edit_diagram patterns.
|
||||||
|
|
||||||
When using edit_diagram tool:
|
When using edit_diagram tool:
|
||||||
|
|||||||
Reference in New Issue
Block a user