From 6131c2563e37f80dbe6050afaf32280c1b12e954 Mon Sep 17 00:00:00 2001 From: minorQAQ <202200120184@mail.sdu.edu.cn> Date: Wed, 19 Aug 2026 15:11:59 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=89=8D=E7=BC=80=E7=BC=93?= =?UTF-8?q?=E5=AD=98=E6=9C=BA=E5=88=B6=E5=92=8CUI=EF=BC=8C=E5=B9=B6?= =?UTF-8?q?=E5=BC=95=E5=85=A5=E4=B8=80=E4=BA=9B=E6=96=B0=E5=B7=A5=E5=85=B7?= =?UTF-8?q?.preview?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 5 +- README.html | 6 +- README.md | 6 +- analysis_report.md | 370 ------------ electron/main.js | 155 ++++- electron/preload.js | 19 + llm_server/README.md | 45 +- llm_server/image_gen_server.py | 47 +- llm_server/rag_server.py | 62 +- llm_server/start_asr.sh | 34 +- llm_server/start_image_gen.sh | 9 +- llm_server/start_llm.sh | 45 +- llm_server/start_rag_server.sh | 13 +- llm_server/start_streaming_tts.sh | 11 +- llm_server/streaming_tts_server.py | 51 +- requirements.txt | 3 + src/agent/agents/config_dist.json | 49 ++ src/agent/config/agent_config_dist.json | 46 -- src/agent/config/env_config_dist.json | 33 -- src/agent/config/gui_config.json | 23 - src/agent/config/theme_config.json | 8 - src/agent/config/tool_config.json | 244 -------- src/agent/config/workspace_config.json | 9 - src/agent/core/config_manager.py | 197 +++++-- src/agent/core/db.py | 302 +++++++++- src/agent/core/llm.py | 24 +- src/agent/core/nodes.py | 82 ++- src/agent/core/storage.py | 742 ++++++++++++++++++++++-- src/agent/core/workspace_policy.py | 24 +- src/agent/cron/models.py | 4 + src/agent/cron/runner.py | 29 + src/agent/cron/scheduler.py | 1 + src/agent/history/tool_call_recorder.py | 167 ++++-- src/agent/history/usage_stats.json | 2 +- src/agent/tools/__init__.py | 2 + src/agent/tools/browser_control.py | 689 +++++++++++++++++----- src/agent/tools/doc.py | 2 +- src/agent/tools/excel2sql.py | 188 ++++-- src/agent/tools/human_interaction.py | 114 +--- src/agent/tools/image_gen.py | 24 +- src/agent/tools/rag.py | 16 +- src/agent/tools/terminal_execute.py | 8 +- src/agent/tools/text2sql.py | 177 ++++-- src/agent/tools/web_page.py | 406 +++++++++++++ src/agent/utils/agent_utils.py | 125 +++- src/agent/utils/env_utils.py | 115 +++- src/agent/utils/git_utils.py | 206 +++++++ src/agent/utils/tool_call_utils.py | 55 +- src/web/app.css | 3 +- src/web/app.js | 218 +++---- src/web/css/animations.css | 2 - src/web/css/base.css | 106 +++- src/web/css/chat.css | 66 +++ src/web/css/composer.css | 437 ++++++++------ src/web/css/cron.css | 43 ++ src/web/css/edit-mode.css | 21 +- src/web/css/layout.css | 533 ++++++++++++++--- src/web/css/notify-strip.css | 449 ++++++++++++++ src/web/css/settings.css | 598 ++++++++++--------- src/web/css/toolcalls.css | 5 + src/web/css/variables.css | 1 - src/web/image/cron.svg | 1 + src/web/image/minorharness.svg | 34 ++ src/web/image/pdf.svg | 1 + src/web/image/todostate.svg | 1 + src/web/image/vedio.svg | 1 + src/web/image/word.svg | 1 + src/web/image/zip.svg | 1 + src/web/image/右栏_right-bar.svg | 1 + src/web/image/左栏_left-bar.svg | 1 + src/web/image/文件树.svg | 1 + src/web/image/文本文件.svg | 1 + src/web/image/设置.svg | 1 + src/web/index.html | 693 +++++++++++++++------- src/web/js/action-bar.js | 87 +-- src/web/js/boot.js | 11 + src/web/js/chat-render.js | 268 +++++++-- src/web/js/cron.js | 325 +++++++++-- src/web/js/doc-mod-panel.js | 235 -------- src/web/js/doc-tree.js | 50 +- src/web/js/edit-mode.js | 502 +++------------- src/web/js/i18n.js | 10 - src/web/js/layout.js | 2 - src/web/js/notify-strip.js | 740 +++++++++++++++++++++++ src/web/js/pending-overlay.js | 509 +--------------- src/web/js/pending.js | 8 +- src/web/js/rollback.js | 50 +- src/web/js/send.js | 52 +- src/web/js/sessions.js | 302 ++++++++-- src/web/js/settings.js | 587 +++++++++---------- src/web/js/state.js | 5 + src/web/js/terminal.js | 389 +++++++++++++ src/web/js/themes.js | 35 ++ src/web/js/think-level.js | 27 +- src/web/js/todo.js | 161 +---- src/web/js/toolcalls.js | 104 +++- src/web/js/turn-nav.js | 121 ++++ src/web/js/user-area.js | 52 ++ src/web/js/utils.js | 57 ++ src/web/js/workspace.js | 137 ++++- src/web/server.py | 354 ++++++++--- src/web/ui_session.py | 44 ++ 102 files changed, 9087 insertions(+), 4351 deletions(-) delete mode 100644 analysis_report.md create mode 100644 src/agent/agents/config_dist.json delete mode 100644 src/agent/config/agent_config_dist.json delete mode 100644 src/agent/config/env_config_dist.json delete mode 100644 src/agent/config/gui_config.json delete mode 100644 src/agent/config/theme_config.json delete mode 100644 src/agent/config/tool_config.json delete mode 100644 src/agent/config/workspace_config.json create mode 100644 src/agent/tools/web_page.py create mode 100644 src/agent/utils/git_utils.py create mode 100644 src/web/css/notify-strip.css create mode 100644 src/web/image/cron.svg create mode 100644 src/web/image/minorharness.svg create mode 100644 src/web/image/pdf.svg create mode 100644 src/web/image/todostate.svg create mode 100644 src/web/image/vedio.svg create mode 100644 src/web/image/word.svg create mode 100644 src/web/image/zip.svg create mode 100644 src/web/image/右栏_right-bar.svg create mode 100644 src/web/image/左栏_left-bar.svg create mode 100644 src/web/image/文件树.svg create mode 100644 src/web/image/文本文件.svg create mode 100644 src/web/image/设置.svg create mode 100644 src/web/js/boot.js delete mode 100644 src/web/js/doc-mod-panel.js create mode 100644 src/web/js/notify-strip.js create mode 100644 src/web/js/terminal.js create mode 100644 src/web/js/turn-nav.js create mode 100644 src/web/js/user-area.js diff --git a/.gitignore b/.gitignore index 8f3c7a0..fcc22c5 100644 --- a/.gitignore +++ b/.gitignore @@ -7,6 +7,7 @@ __pycache__/ package-lock.json dist/ electron-builder-cache/ -src/agent/config/env_config.json -src/agent/config/agent_config.json +src/agent/agents/config.json +src/agent/data/browser_profile/ + llm_server_bac/ diff --git a/README.html b/README.html index 4258e42..0b63a26 100644 --- a/README.html +++ b/README.html @@ -1181,7 +1181,7 @@ cloudflared tunnel --url http://localhost:8765
| 字段 | 默认值 | 说明 |
|---|---|---|
models[] | SETUP_REQUIRED | LLM 列表:{id, name, model, api_key, base_url, timeout, max_retries} |
models[] | SETUP_REQUIRED | LLM 列表:{id, name, model, api_key, base_url, timeout, max_retries};ASR / TTS / RAG / ImageGen 四个本地服务也在此注册(按 model 字段匹配,api_key 留空) |
gui_model_id | "" | GUI 视觉定位专用模型(留空则回退主模型) |
WORKING_DIR | 项目根目录 | 工作根目录(桌面端自动设为安装目录) |
WORKSPACE_DIR | "" | 工作空间目录(相对 WORKING_DIR),留空则使用 WORKING_DIR |
LOOP_DETECT_REPEATED_TOOL_WARN | 3 | 连续同工具同参多少次警告 |
LOOP_DETECT_REPEATED_TOOL_END | 5 | 连续同工具同参多少次强制终止 |
RAG_CHUNK_SIZE / OVERLAP | 500 / 50 | RAG 分块大小与重叠 |
IMAGE_GEN_URL | http://localhost:8904 | 图像生成服务地址 |
SEND_FILE_SIZE_LIMIT | 30 | 发送文件大小上限(MB) |
WEB_SEARCH_API_KEY | "" | 联网搜索 API Key |
WEB_SEARCH_ENGINE | "tavily" | 搜索引擎选择(tavily / firecrawl / volcengine) |
MYSQL_HOST / MYSQL_PORT / MYSQL_USER / MYSQL_PASSWORD / MYSQL_DATABASE | "" | MySQL 连接参数(STORAGE_BACKEND=mysql 时生效) |
TOOL_TIMEOUT | 300 | 工具执行超时时间(秒) |
CRON_TIME_PERIOD_MINUTES | 30 | 定时任务时段长度(分钟),同一时段全局并发=1 |
ASR_BASE_URL | "" | 语音识别服务地址 |
STREAMING_TTS_URL | "" | 流式 TTS 服务地址 |
RAG_BASE_URL | "" | RAG 嵌入/重排序服务地址 |
EMAIL_ADDRESS / EMAIL_AUTH_CODE | "" | 邮箱凭证(IMAP/SMTP) |