Skip to content

Commit 6e9da62

Browse files
authored
Merge pull request #125 from Integration-Automation/dev
Swap drawio architecture image for Mermaid diagram
2 parents 09d4ec1 + ef45fd2 commit 6e9da62

12 files changed

Lines changed: 888 additions & 98 deletions

File tree

README.md

Lines changed: 78 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,14 @@ PyBreeze is not just a code editor — it is a command center for the automation
6969
- Password and private key authentication
7070
- Interactive command execution
7171
- Remote file tree viewer with CRUD operations (create folder, rename, delete, upload, download)
72+
- Interactive TOFU host-key verification with confirmed keys persisted to `~/.pybreeze/ssh_known_hosts`
73+
- **Diagram Editor** — Built-in WYSIWYG architecture-diagram editor:
74+
- Rectangle, rounded rectangle, ellipse, diamond nodes, connection lines, and free text
75+
- Image insertion from local files or URLs (URL fetches are SSRF-validated and size-capped)
76+
- Mermaid `flowchart` / `graph` import
77+
- Save/Open as `.diagram.json`, export to PNG or SVG
78+
- Undo/redo, align, distribute, grid, snap, and zoom controls
79+
- **File Tree Context Menu** — Right-click any file or folder in the project tree to create files/folders, rename, delete, copy absolute or relative paths, or reveal the item in your platform file manager. Renaming or deleting a file that is currently open in an editor tab keeps the tab in sync.
7280
- **Package Manager** — Install automation modules and build tools directly from the IDE menu without leaving the editor.
7381
- **Integrated Documentation** — Quick access to documentation and GitHub pages for each automation module directly from the menu bar.
7482

@@ -82,6 +90,7 @@ PyBreeze is not just a code editor — it is a command center for the automation
8290
- Step-by-step analysis
8391
- Summary generation
8492
- **Skill Prompt Editor** — Define and manage reusable skill-based prompts (code explanation, code review templates) that can be sent to LLM APIs.
93+
- **Skill Send GUI** — Pick a skill prompt template, optionally edit the prompt text, send it to an LLM API endpoint, and view the response — all in a dedicated tab or dock.
8594

8695
### Plugin System
8796

@@ -108,7 +117,70 @@ The IDE interface supports multiple languages:
108117

109118
## Architecture
110119

111-
![Architecture Diagram](architecture_diagram/AutomationEditorArchitectureDiagram.drawio.png)
120+
```mermaid
121+
flowchart TB
122+
UI["PyBreeze UI · PySide6"]
123+
124+
subgraph Editor["JEditor (Base Editor)"]
125+
direction LR
126+
E1["Code Editor + Tabs"]
127+
E2["File Tree"]
128+
E3["Syntax Highlighting"]
129+
E4["Plugin System"]
130+
end
131+
132+
subgraph Automation["Automation Menu"]
133+
direction LR
134+
A1["APITestka"]
135+
A2["AutoControl"]
136+
A3["WebRunner"]
137+
A4["LoadDensity"]
138+
A5["FileAutomation"]
139+
A6["MailThunder"]
140+
A7["TestPioneer"]
141+
end
142+
143+
subgraph Executors["Subprocess Executors · TaskProcessManager"]
144+
direction LR
145+
X1["je_api_testka"]
146+
X2["je_auto_control"]
147+
X3["je_web_runner"]
148+
X4["je_load_density"]
149+
X5["automation-file"]
150+
X6["je-mail-thunder"]
151+
X7["test_pioneer"]
152+
end
153+
154+
subgraph Tools["Tools"]
155+
direction LR
156+
T1["SSH · paramiko"]
157+
T2["AI Code Review"]
158+
T3["CoT Prompt Editor"]
159+
T4["Skill Prompt Editor"]
160+
T5["Skill Send GUI"]
161+
T6["Diagram Editor"]
162+
T7["JupyterLab"]
163+
end
164+
165+
subgraph Install["Install Menu"]
166+
direction LR
167+
I1["Module Installers"]
168+
I2["Build Tools"]
169+
end
170+
171+
UI --> Editor
172+
UI --> Automation
173+
UI --> Tools
174+
UI --> Install
175+
176+
A1 --> X1
177+
A2 --> X2
178+
A3 --> X3
179+
A4 --> X4
180+
A5 --> X5
181+
A6 --> X6
182+
A7 --> X7
183+
```
112184

113185
PyBreeze follows a modular architecture:
114186

@@ -132,6 +204,8 @@ PyBreeze UI (PySide6)
132204
│ ├── AI Code Review Client
133205
│ ├── CoT Prompt Editor
134206
│ ├── Skill Prompt Editor
207+
│ ├── Skill Send GUI
208+
│ ├── Diagram Editor (WYSIWYG, Mermaid import, PNG/SVG export)
135209
│ └── JupyterLab Integration
136210
└── Install Menu
137211
├── Automation Module Installers
@@ -273,8 +347,9 @@ PyBreeze/
273347
│ │ └── process_executor/python_task_process_manager.py
274348
│ ├── extend_multi_language/ # Built-in translations (English, Traditional Chinese)
275349
│ ├── pybreeze_ui/
276-
│ │ ├── editor_main/ # Main window (extends JEditor)
277-
│ │ ├── connect_gui/ssh/ # SSH client widgets
350+
│ │ ├── editor_main/ # Main window (extends JEditor) + file tree context menu
351+
│ │ ├── connect_gui/ssh/ # SSH client widgets (TOFU host-key verification)
352+
│ │ ├── diagram_editor/ # WYSIWYG architecture-diagram editor
278353
│ │ ├── extend_ai_gui/ # AI code review & prompt editors
279354
│ │ ├── jupyter_lab_gui/ # JupyterLab integration
280355
│ │ ├── menu/ # Menu bar construction

README/README_zh-CN.md

Lines changed: 78 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,14 @@ PyBreeze 不仅仅是一个代码编辑器——它是自动化生命周期的
6868
- 密码与私钥认证
6969
- 交互式命令执行
7070
- 远程文件树查看器,支持 CRUD 操作(创建文件夹、重命名、删除、上传、下载)
71+
- 交互式 TOFU host key 验证,已确认的密钥会持久化到 `~/.pybreeze/ssh_known_hosts`
72+
- **架构图编辑器** — 内置的 WYSIWYG 架构图编辑器:
73+
- 矩形、圆角矩形、椭圆、菱形节点、连线、自由文本
74+
- 从本地文件或 URL 插入图片(URL 下载会做 SSRF 验证并有大小上限)
75+
- 支持 Mermaid `flowchart` / `graph` 导入
76+
- 保存/打开为 `.diagram.json`,导出为 PNG 或 SVG
77+
- Undo/redo、对齐、分布、Grid、Snap、Zoom 控制
78+
- **文件树右键菜单** — 在项目文件树中对任何文件或文件夹右键,可创建文件/文件夹、重命名、删除、复制绝对或相对路径、在系统文件管理器中打开。重命名或删除当前已在编辑器标签页中打开的文件时,标签页会同步更新。
7179
- **包管理器** — 直接从 IDE 菜单安装自动化模块和构建工具,无需离开编辑器。
7280
- **集成文档** — 从菜单栏快速访问每个自动化模块的文档和 GitHub 页面。
7381

@@ -81,6 +89,7 @@ PyBreeze 不仅仅是一个代码编辑器——它是自动化生命周期的
8189
- 逐步分析
8290
- 摘要生成
8391
- **Skill 提示词编辑器** — 定义和管理可重复使用的技能型提示词(代码解说、代码审查模板),可发送至 LLM API。
92+
- **Skill Send GUI** — 在独立的标签页或停靠面板中选择技能提示词模板、按需编辑提示词内容、发送到 LLM API 端点并查看响应。
8493

8594
### 插件系统
8695

@@ -107,7 +116,70 @@ IDE 界面支持多种语言:
107116

108117
## 架构设计
109118

110-
![架构图](../architecture_diagram/AutomationEditorArchitectureDiagram.drawio.png)
119+
```mermaid
120+
flowchart TB
121+
UI["PyBreeze UI · PySide6"]
122+
123+
subgraph Editor["JEditor 基础编辑器"]
124+
direction LR
125+
E1["代码编辑器 + 标签页"]
126+
E2["文件树"]
127+
E3["语法高亮"]
128+
E4["插件系统"]
129+
end
130+
131+
subgraph Automation["自动化菜单"]
132+
direction LR
133+
A1["APITestka"]
134+
A2["AutoControl"]
135+
A3["WebRunner"]
136+
A4["LoadDensity"]
137+
A5["FileAutomation"]
138+
A6["MailThunder"]
139+
A7["TestPioneer"]
140+
end
141+
142+
subgraph Executors["子进程执行器 · TaskProcessManager"]
143+
direction LR
144+
X1["je_api_testka"]
145+
X2["je_auto_control"]
146+
X3["je_web_runner"]
147+
X4["je_load_density"]
148+
X5["automation-file"]
149+
X6["je-mail-thunder"]
150+
X7["test_pioneer"]
151+
end
152+
153+
subgraph Tools["工具"]
154+
direction LR
155+
T1["SSH · paramiko"]
156+
T2["AI 代码审查"]
157+
T3["CoT 提示词编辑器"]
158+
T4["Skill 提示词编辑器"]
159+
T5["Skill Send GUI"]
160+
T6["架构图编辑器"]
161+
T7["JupyterLab"]
162+
end
163+
164+
subgraph Install["安装菜单"]
165+
direction LR
166+
I1["模块安装器"]
167+
I2["构建工具"]
168+
end
169+
170+
UI --> Editor
171+
UI --> Automation
172+
UI --> Tools
173+
UI --> Install
174+
175+
A1 --> X1
176+
A2 --> X2
177+
A3 --> X3
178+
A4 --> X4
179+
A5 --> X5
180+
A6 --> X6
181+
A7 --> X7
182+
```
111183

112184
PyBreeze 采用模块化架构:
113185

@@ -131,6 +203,8 @@ PyBreeze UI (PySide6)
131203
│ ├── AI 代码审查客户端
132204
│ ├── CoT 提示词编辑器
133205
│ ├── Skill 提示词编辑器
206+
│ ├── Skill Send GUI
207+
│ ├── 架构图编辑器(WYSIWYG、Mermaid 导入、PNG/SVG 导出)
134208
│ └── JupyterLab 集成
135209
└── 安装菜单
136210
├── 自动化模块安装器
@@ -272,8 +346,9 @@ PyBreeze/
272346
│ │ └── process_executor/python_task_process_manager.py
273347
│ ├── extend_multi_language/ # 内置翻译(英语、繁体中文)
274348
│ ├── pybreeze_ui/
275-
│ │ ├── editor_main/ # 主窗口(扩展 JEditor)
276-
│ │ ├── connect_gui/ssh/ # SSH 客户端组件
349+
│ │ ├── editor_main/ # 主窗口(扩展 JEditor)+ 文件树右键菜单
350+
│ │ ├── connect_gui/ssh/ # SSH 客户端组件(TOFU host key 验证)
351+
│ │ ├── diagram_editor/ # WYSIWYG 架构图编辑器
277352
│ │ ├── extend_ai_gui/ # AI 代码审查与提示词编辑器
278353
│ │ ├── jupyter_lab_gui/ # JupyterLab 集成
279354
│ │ ├── menu/ # 菜单栏构建

README/README_zh-TW.md

Lines changed: 78 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,14 @@ PyBreeze 不僅僅是一個程式碼編輯器——它是自動化生命週期
6868
- 密碼與私鑰驗證
6969
- 互動式指令執行
7070
- 遠端檔案樹檢視器,支援 CRUD 操作(建立資料夾、重新命名、刪除、上傳、下載)
71+
- 互動式 TOFU host key 驗證,已確認的金鑰會持久化到 `~/.pybreeze/ssh_known_hosts`
72+
- **架構圖編輯器** — 內建的 WYSIWYG 架構圖編輯器:
73+
- 矩形、圓角矩形、橢圓、菱形節點、連線、自由文字
74+
- 從本地檔案或 URL 插入圖片(URL 下載會做 SSRF 驗證並有大小上限)
75+
- 支援 Mermaid `flowchart` / `graph` 匯入
76+
- 儲存/開啟為 `.diagram.json`,匯出為 PNG 或 SVG
77+
- Undo/redo、對齊、分佈、Grid、Snap、Zoom 控制
78+
- **檔案樹右鍵選單** — 在專案檔案樹中對任何檔案或資料夾按右鍵,可建立檔案/資料夾、重新命名、刪除、複製絕對或相對路徑、在系統檔案管理器中開啟。重新命名或刪除目前已開在編輯器分頁中的檔案時,分頁會同步更新。
7179
- **套件管理器** — 直接從 IDE 選單安裝自動化模組和建構工具,無需離開編輯器。
7280
- **整合文件** — 從選單列快速存取每個自動化模組的文件和 GitHub 頁面。
7381

@@ -81,6 +89,7 @@ PyBreeze 不僅僅是一個程式碼編輯器——它是自動化生命週期
8189
- 逐步分析
8290
- 摘要生成
8391
- **Skill 提示詞編輯器** — 定義和管理可重複使用的技能型提示詞(程式碼解說、程式碼審查範本),可傳送至 LLM API。
92+
- **Skill Send GUI** — 在獨立的分頁或停靠面板中選擇技能提示詞範本、視需要編輯提示詞內容、傳送到 LLM API 端點並檢視回應。
8493

8594
### 插件系統
8695

@@ -107,7 +116,70 @@ IDE 介面支援多種語言:
107116

108117
## 架構設計
109118

110-
![架構圖](../architecture_diagram/AutomationEditorArchitectureDiagram.drawio.png)
119+
```mermaid
120+
flowchart TB
121+
UI["PyBreeze UI · PySide6"]
122+
123+
subgraph Editor["JEditor 基礎編輯器"]
124+
direction LR
125+
E1["程式碼編輯器 + 分頁"]
126+
E2["檔案樹"]
127+
E3["語法高亮"]
128+
E4["插件系統"]
129+
end
130+
131+
subgraph Automation["自動化選單"]
132+
direction LR
133+
A1["APITestka"]
134+
A2["AutoControl"]
135+
A3["WebRunner"]
136+
A4["LoadDensity"]
137+
A5["FileAutomation"]
138+
A6["MailThunder"]
139+
A7["TestPioneer"]
140+
end
141+
142+
subgraph Executors["子行程執行器 · TaskProcessManager"]
143+
direction LR
144+
X1["je_api_testka"]
145+
X2["je_auto_control"]
146+
X3["je_web_runner"]
147+
X4["je_load_density"]
148+
X5["automation-file"]
149+
X6["je-mail-thunder"]
150+
X7["test_pioneer"]
151+
end
152+
153+
subgraph Tools["工具"]
154+
direction LR
155+
T1["SSH · paramiko"]
156+
T2["AI 程式碼審查"]
157+
T3["CoT 提示詞編輯器"]
158+
T4["Skill 提示詞編輯器"]
159+
T5["Skill Send GUI"]
160+
T6["架構圖編輯器"]
161+
T7["JupyterLab"]
162+
end
163+
164+
subgraph Install["安裝選單"]
165+
direction LR
166+
I1["模組安裝器"]
167+
I2["建構工具"]
168+
end
169+
170+
UI --> Editor
171+
UI --> Automation
172+
UI --> Tools
173+
UI --> Install
174+
175+
A1 --> X1
176+
A2 --> X2
177+
A3 --> X3
178+
A4 --> X4
179+
A5 --> X5
180+
A6 --> X6
181+
A7 --> X7
182+
```
111183

112184
PyBreeze 採用模組化架構:
113185

@@ -131,6 +203,8 @@ PyBreeze UI (PySide6)
131203
│ ├── AI 程式碼審查用戶端
132204
│ ├── CoT 提示詞編輯器
133205
│ ├── Skill 提示詞編輯器
206+
│ ├── Skill Send GUI
207+
│ ├── 架構圖編輯器(WYSIWYG、Mermaid 匯入、PNG/SVG 匯出)
134208
│ └── JupyterLab 整合
135209
└── 安裝選單
136210
├── 自動化模組安裝器
@@ -272,8 +346,9 @@ PyBreeze/
272346
│ │ └── process_executor/python_task_process_manager.py
273347
│ ├── extend_multi_language/ # 內建翻譯(英文、繁體中文)
274348
│ ├── pybreeze_ui/
275-
│ │ ├── editor_main/ # 主視窗(擴展 JEditor)
276-
│ │ ├── connect_gui/ssh/ # SSH 用戶端元件
349+
│ │ ├── editor_main/ # 主視窗(擴展 JEditor)+ 檔案樹右鍵選單
350+
│ │ ├── connect_gui/ssh/ # SSH 用戶端元件(TOFU host key 驗證)
351+
│ │ ├── diagram_editor/ # WYSIWYG 架構圖編輯器
277352
│ │ ├── extend_ai_gui/ # AI 程式碼審查與提示詞編輯器
278353
│ │ ├── jupyter_lab_gui/ # JupyterLab 整合
279354
│ │ ├── menu/ # 選單列建構

0 commit comments

Comments
 (0)