diff --git a/.gitignore b/.gitignore index 273519b..310a226 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,16 @@ release/ *.db-journal .env .env.local + +# 日志文件 +*.log + +# 测试文件 +test_patch.js + +# Qoder 缓存 +.qoder/ + +# 系统文件 +.DS_Store +Thumbs.db diff --git a/.qoder/repowiki/knowledge/zh/SSH AI Agent 桌面客户端/_module.yaml b/.qoder/repowiki/knowledge/zh/SSH AI Agent 桌面客户端/_module.yaml deleted file mode 100644 index a3439ba..0000000 --- a/.qoder/repowiki/knowledge/zh/SSH AI Agent 桌面客户端/_module.yaml +++ /dev/null @@ -1,44 +0,0 @@ -schema_version: 1 -module_path: "" -title: SSH AI Agent 桌面客户端 -scope: - - .gitignore - - package.json - - tsconfig.main.json - - tsconfig.renderer.json - - vite.config.ts - - .assis.json - - src\main\handlers\aiHandler.ts - - src\main\handlers\modelHandler.ts - - src\main\handlers\sessionHandler.ts - - src\main\handlers\terminalHandler.ts - - src\main\index.ts - - src\main\preload.ts - - src\main\services\ai\modelProvider.ts - - src\main\services\ai\toolRegistry.ts - - src\main\services\ssh\sshManager.ts - - src\main\services\storage\modelStore.ts - - src\main\services\storage\sessionStore.ts - - src\renderer\index.html - - src\renderer\postcss.config.js - - src\renderer\src\App.tsx - - src\renderer\src\components\ai\AiChatPanel.tsx - - src\renderer\src\components\ai\ModelSettings.tsx - - src\renderer\src\components\ai\ToolCallCard.tsx - - src\renderer\src\components\layout\ResizablePanel.tsx - - src\renderer\src\components\layout\Sidebar.tsx - - src\renderer\src\components\session\SessionList.tsx - - src\renderer\src\components\terminal\TerminalPanel.tsx - - src\renderer\src\global.d.ts - - src\renderer\src\main.tsx - - src\renderer\src\stores\aiChatStore.ts - - src\renderer\src\stores\sessionStore.ts - - src\renderer\src\styles\index.css - - src\renderer\tailwind.config.js - - src\shared\types\ai.ts - - src\shared\types\index.ts - - src\shared\types\ipc.ts - - src\shared\types\session.ts -source_files: [] -depends_on: [] -related_to: [] diff --git a/.qoder/repowiki/knowledge/zh/SSH AI Agent 桌面客户端/技术栈.md b/.qoder/repowiki/knowledge/zh/SSH AI Agent 桌面客户端/技术栈.md deleted file mode 100644 index 3adfc43..0000000 --- a/.qoder/repowiki/knowledge/zh/SSH AI Agent 桌面客户端/技术栈.md +++ /dev/null @@ -1,3 +0,0 @@ -- 核心框架:Electron 30 + React 18 + TypeScript。 -- 构建工具:Vite (渲染进程) + tsc (主进程)。 -- 关键依赖:`ssh2` (SSH 协议实现), `openai` (LLM 接口), `zustand` (状态管理), `@xterm/xterm` (终端模拟)。 \ No newline at end of file diff --git a/.qoder/repowiki/knowledge/zh/SSH AI Agent 桌面客户端/架构设计.md b/.qoder/repowiki/knowledge/zh/SSH AI Agent 桌面客户端/架构设计.md deleted file mode 100644 index 5d227c6..0000000 --- a/.qoder/repowiki/knowledge/zh/SSH AI Agent 桌面客户端/架构设计.md +++ /dev/null @@ -1,4 +0,0 @@ -- 采用 Electron 多进程架构,通过 `src/main/index.ts` 启动主进程并注册 IPC 处理器,`src/renderer` 负责 React 界面渲染。 -- 通信层基于 `src/shared/types/ipc.ts` 定义的通道规范,利用 `contextBridge` 在预加载脚本中安全暴露 API。 -- 业务逻辑分层清晰:主进程 `handlers` 处理 IPC 请求,`services` 封装 SSH 连接 (`sshManager`)、AI 模型交互 (`modelProvider`) 及持久化存储。 -- 渲染端采用 Zustand 进行全局状态管理,通过自定义 Hooks 订阅会话状态与 AI 对话流,实现终端输出与聊天界面的实时同步。 \ No newline at end of file diff --git a/.qoder/repowiki/knowledge/zh/SSH AI Agent 桌面客户端/概述.md b/.qoder/repowiki/knowledge/zh/SSH AI Agent 桌面客户端/概述.md deleted file mode 100644 index 4b0dc77..0000000 --- a/.qoder/repowiki/knowledge/zh/SSH AI Agent 桌面客户端/概述.md +++ /dev/null @@ -1 +0,0 @@ -集成 SSH 终端与 AI 助手的桌面应用,支持远程服务器管理、交互式终端及基于 LLM 的智能运维操作。 \ No newline at end of file diff --git a/.qoder/repowiki/knowledge/zh/SSH AI Agent 桌面客户端/特殊配置与命令.md b/.qoder/repowiki/knowledge/zh/SSH AI Agent 桌面客户端/特殊配置与命令.md deleted file mode 100644 index 84a1853..0000000 --- a/.qoder/repowiki/knowledge/zh/SSH AI Agent 桌面客户端/特殊配置与命令.md +++ /dev/null @@ -1,2 +0,0 @@ -- 开发启动:`npm run dev:watch` 使用 `concurrently` 并行执行 TypeScript 编译监听与 Electron 启动。 -- 打包发布:`npm run dist` 依次执行主进程/渲染进程构建,并调用 `electron-builder` 生成 NSIS 安装包。 \ No newline at end of file diff --git a/.qoder/repowiki/knowledge/zh/SSH AI Agent 桌面客户端/编码规范.md b/.qoder/repowiki/knowledge/zh/SSH AI Agent 桌面客户端/编码规范.md deleted file mode 100644 index fbb0c7b..0000000 --- a/.qoder/repowiki/knowledge/zh/SSH AI Agent 桌面客户端/编码规范.md +++ /dev/null @@ -1,4 +0,0 @@ -- IPC 通信遵循严格的类型契约,在 `shared/types/ipc.ts` 中统一定义通道名与载荷类型,确保主渲染进程数据一致性。 -- 状态管理采用轻量级模式,渲染端使用 `zustand` 创建独立 Store (如 `sessionStore`, `aiChatStore`) 隔离不同业务域的状态。 -- 服务层采用单例导出模式 (如 `sshManager`, `modelStore`),在主进程模块间共享有状态的服务实例。 -- AI 交互实现 ReAct 循环模式,在 `aiHandler.ts` 中通过流式响应与工具调用审批机制 (`waitForApproval`) 处理复杂的智能体决策流程。 \ No newline at end of file diff --git a/.qoder/repowiki/knowledge/zh/_index.yaml b/.qoder/repowiki/knowledge/zh/_index.yaml deleted file mode 100644 index 831ef00..0000000 --- a/.qoder/repowiki/knowledge/zh/_index.yaml +++ /dev/null @@ -1,51 +0,0 @@ -# 知识卡导出索引文件 -schema_version: 1 -locale: zh-CN -branch: Q0DeR-MaG1C-BrAnCh-Fo2-NoN-GiT-Or-No-C0MmIt -exported_at: "2026-06-11T10:30:36Z" -modules: - "": - dir_name: SSH AI Agent 桌面客户端 - title: SSH AI Agent 桌面客户端 - scope: - - .gitignore - - package.json - - tsconfig.main.json - - tsconfig.renderer.json - - vite.config.ts - - .assis.json - - src\main\handlers\aiHandler.ts - - src\main\handlers\modelHandler.ts - - src\main\handlers\sessionHandler.ts - - src\main\handlers\terminalHandler.ts - - src\main\index.ts - - src\main\preload.ts - - src\main\services\ai\modelProvider.ts - - src\main\services\ai\toolRegistry.ts - - src\main\services\ssh\sshManager.ts - - src\main\services\storage\modelStore.ts - - src\main\services\storage\sessionStore.ts - - src\renderer\index.html - - src\renderer\postcss.config.js - - src\renderer\src\App.tsx - - src\renderer\src\components\ai\AiChatPanel.tsx - - src\renderer\src\components\ai\ModelSettings.tsx - - src\renderer\src\components\ai\ToolCallCard.tsx - - src\renderer\src\components\layout\ResizablePanel.tsx - - src\renderer\src\components\layout\Sidebar.tsx - - src\renderer\src\components\session\SessionList.tsx - - src\renderer\src\components\terminal\TerminalPanel.tsx - - src\renderer\src\global.d.ts - - src\renderer\src\main.tsx - - src\renderer\src\stores\aiChatStore.ts - - src\renderer\src\stores\sessionStore.ts - - src\renderer\src\styles\index.css - - src\renderer\tailwind.config.js - - src\shared\types\ai.ts - - src\shared\types\index.ts - - src\shared\types\ipc.ts - - src\shared\types\session.ts - source_files: [] - children: [] - depends_on: [] - related_to: [] diff --git a/app_error.log b/app_error.log deleted file mode 100644 index b552268..0000000 --- a/app_error.log +++ /dev/null @@ -1,9 +0,0 @@ -[19736:0612/113223.282:ERROR:cache_util_win.cc(20)] Unable to move the cache: 拒绝访问。 (0x5) -[19736:0612/113223.284:ERROR:cache_util_win.cc(20)] Unable to move the cache: 拒绝访问。 (0x5) -[19736:0612/113223.284:ERROR:cache_util_win.cc(20)] Unable to move the cache: 拒绝访问。 (0x5) -[19736:0612/113223.289:ERROR:disk_cache.cc(208)] Unable to create cache -[19736:0612/113223.294:ERROR:gpu_disk_cache.cc(711)] Gpu Cache Creation failed: -2 -[19736:0612/113223.296:ERROR:disk_cache.cc(208)] Unable to create cache -[19736:0612/113223.297:ERROR:gpu_disk_cache.cc(711)] Gpu Cache Creation failed: -2 -[19736:0612/113223.299:ERROR:disk_cache.cc(208)] Unable to create cache -[19736:0612/113223.301:ERROR:gpu_disk_cache.cc(711)] Gpu Cache Creation failed: -2 diff --git a/app_output.log b/app_output.log deleted file mode 100644 index 8b13789..0000000 --- a/app_output.log +++ /dev/null @@ -1 +0,0 @@ - diff --git a/build.log b/build.log deleted file mode 100644 index 440143e..0000000 --- a/build.log +++ /dev/null @@ -1,50 +0,0 @@ - -> ssh-ai-agent@0.1.0 dist -> npm run build && electron-builder --win --x64 --config.npmRebuild=false - - -> ssh-ai-agent@0.1.0 build -> npm run build:main && npm run build:renderer - - -> ssh-ai-agent@0.1.0 build:main -> tsc -p tsconfig.main.json - - -> ssh-ai-agent@0.1.0 build:renderer -> vite build - -npm.cmd : The CJS build of Vite's Node API is deprecated. See https://vite -.dev/guide/troubleshooting.html#vite-cjs-node-api-deprecated for more details. -[39m -所在位置 行:1 字符: 163 -+ ... = "false"; & 'C:\Program Files\nodejs\npm.cmd' run dist -- --win --x ... -+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - + CategoryInfo : NotSpecified: (The CJS bu...e details. - :String) [], RemoteException - + FullyQualifiedErrorId : NativeCommandError - -vite v5.4.21 building for production... -transforming... -(node:27320) [MODULE_TYPELESS_PACKAGE_JSON] Warning: Module type of file:///D:/ -test_project/src/renderer/postcss.config.js is not specified and it doesn't par -se as CommonJS. -Reparsing as ES module because module syntax was detected. This incurs a perfor -mance overhead. -To eliminate this warning, add "type": "module" to \\?\D:\test_project\package. -json. -(Use `node --trace-warnings ...` to show where the warning was created) -鉁?[39m 1528 modules transformed. -rendering chunks... -computing gzip size... -../../renderer/index.html  0.44 kB 鈹?gzip: 0.33 kB -../../renderer/assets/index-qN8e0yep.css  18.94 kB 鈹?gzip: 5.26 kB -../../renderer/assets/index-2IgjmCyK.js 487.67 kB 鈹?gzip: 133.95 kB -鉁?built in 8.70s - 鈥?electron-builder version=24.13.3 os=10.0.19045 - 鈥?loaded configuration file=package.json ("build" field) - 鈥?skipped dependencies rebuild reason=npmRebuild is set to false - 鈥?packaging platform=win32 arch=x64 electron=30.5.1 appOutDir=release\win-unpacked - 鈥?rcedit skipped (sandbox mode) file=鏅鸿兘SSH缁堢.exe - 鈥?building target=nsis file=release\鏅鸿兘SSH缁堢-0.1.0-x64.exe archs=x64 oneClick=false perMachine=false - 鈥?building block map blockMapFile=release\鏅鸿兘SSH缁堢-0.1.0-x64.exe.blockmap diff --git a/build2.log b/build2.log deleted file mode 100644 index 81b5d92..0000000 Binary files a/build2.log and /dev/null differ diff --git a/build3.log b/build3.log deleted file mode 100644 index c7edf41..0000000 Binary files a/build3.log and /dev/null differ diff --git a/build4.log b/build4.log deleted file mode 100644 index 7e5d019..0000000 Binary files a/build4.log and /dev/null differ diff --git a/build5.log b/build5.log deleted file mode 100644 index 25b1c51..0000000 Binary files a/build5.log and /dev/null differ diff --git a/patch_debug.log b/patch_debug.log deleted file mode 100644 index 5087e0f..0000000 --- a/patch_debug.log +++ /dev/null @@ -1,14 +0,0 @@ -[2026-06-11T12:19:49.325Z] PATCH_ENTRY name=nsis-3.0.4.1 url=https://github.com/electron-userland/electron-builder-binaries/releases/download/nsis-3.0.4.1/nsis-3.0.4.1.7z -[2026-06-11T12:21:37.477Z] PATCH_ENTRY name=nsis-resources-3.4.1 url=https://github.com/electron-userland/electron-builder-binaries/releases/download/nsis-resources-3.4.1/nsis-resources-3.4.1.7z -[2026-06-11T12:25:11.796Z] PATCH_ENTRY name=nsis-3.0.4.1 url=https://github.com/electron-userland/electron-builder-binaries/releases/download/nsis-3.0.4.1/nsis-3.0.4.1.7z -[2026-06-11T12:26:46.516Z] PATCH_ENTRY name=nsis-resources-3.4.1 url=https://github.com/electron-userland/electron-builder-binaries/releases/download/nsis-resources-3.4.1/nsis-resources-3.4.1.7z -[2026-06-12T01:52:22.859Z] PATCH_ENTRY name=nsis-3.0.4.1 url=https://github.com/electron-userland/electron-builder-binaries/releases/download/nsis-3.0.4.1/nsis-3.0.4.1.7z -[2026-06-12T01:53:51.787Z] PATCH_ENTRY name=nsis-resources-3.4.1 url=https://github.com/electron-userland/electron-builder-binaries/releases/download/nsis-resources-3.4.1/nsis-resources-3.4.1.7z -[2026-06-12T02:19:07.095Z] PATCH_ENTRY name=nsis-3.0.4.1 url=https://github.com/electron-userland/electron-builder-binaries/releases/download/nsis-3.0.4.1/nsis-3.0.4.1.7z -[2026-06-12T02:20:45.257Z] PATCH_ENTRY name=nsis-resources-3.4.1 url=https://github.com/electron-userland/electron-builder-binaries/releases/download/nsis-resources-3.4.1/nsis-resources-3.4.1.7z -[2026-06-12T03:30:37.762Z] PATCH_ENTRY name=nsis-3.0.4.1 url=https://github.com/electron-userland/electron-builder-binaries/releases/download/nsis-3.0.4.1/nsis-3.0.4.1.7z -[2026-06-12T03:31:10.415Z] PATCH_ENTRY name=nsis-resources-3.4.1 url=https://github.com/electron-userland/electron-builder-binaries/releases/download/nsis-resources-3.4.1/nsis-resources-3.4.1.7z -[2026-06-12T04:57:25.001Z] PATCH_ENTRY name=nsis-3.0.4.1 url=https://github.com/electron-userland/electron-builder-binaries/releases/download/nsis-3.0.4.1/nsis-3.0.4.1.7z -[2026-06-12T04:58:04.088Z] PATCH_ENTRY name=nsis-resources-3.4.1 url=https://github.com/electron-userland/electron-builder-binaries/releases/download/nsis-resources-3.4.1/nsis-resources-3.4.1.7z -[2026-06-12T05:10:08.225Z] PATCH_ENTRY name=nsis-3.0.4.1 url=https://github.com/electron-userland/electron-builder-binaries/releases/download/nsis-3.0.4.1/nsis-3.0.4.1.7z -[2026-06-12T05:10:46.764Z] PATCH_ENTRY name=nsis-resources-3.4.1 url=https://github.com/electron-userland/electron-builder-binaries/releases/download/nsis-resources-3.4.1/nsis-resources-3.4.1.7z diff --git a/test_patch.js b/test_patch.js deleted file mode 100644 index 609ab34..0000000 --- a/test_patch.js +++ /dev/null @@ -1,11 +0,0 @@ -// Test if binDownload.js patch works -const bd = require('./node_modules/app-builder-lib/out/binDownload.js'); -const fs = require('fs'); -fs.writeFileSync('d:/test_project/patch_debug.log', '[' + new Date().toISOString() + '] test starting\n', { flag: 'a' }); -bd.getBin('winCodeSign').then(p => { - fs.writeFileSync('d:/test_project/patch_debug.log', '[' + new Date().toISOString() + '] patch worked: ' + p + '\n', { flag: 'a' }); - console.log('PATH:', p); -}).catch(e => { - fs.writeFileSync('d:/test_project/patch_debug.log', '[' + new Date().toISOString() + '] patch failed: ' + e.message + '\n', { flag: 'a' }); - console.log('ERR:', e.message); -});