diff --git a/package-lock.json b/package-lock.json index da5afdc..1aaceee 100644 --- a/package-lock.json +++ b/package-lock.json @@ -23,6 +23,7 @@ "better-sqlite3": "^12.8.0", "compressing": "^2.1.0", "cors": "^2.8.5", + "custom-electron-titlebar": "^4.2.8", "dotenv": "^17.2.3", "express": "^5.2.1", "express-ws": "^5.0.2", @@ -49,6 +50,7 @@ "@types/cors": "^2.8.19", "@types/express": "^5.0.6", "@types/express-ws": "^3.0.6", + "@types/graphlib": "^2.1.12", "@types/jsonwebtoken": "^9.0.10", "@types/license-checker": "^25.0.6", "@types/lodash": "^4.17.24", @@ -325,7 +327,6 @@ "version": "2.0.3", "resolved": "https://registry.npmmirror.com/@electron/get/-/get-2.0.3.tgz", "integrity": "sha512-Qkzpg2s9GnVV2I2BjRksUi43U5e6+zaQMcjoJy0C+C5oxaKl+fmckGDQFtRpZpZV0NQekuZZ+tGz7EA9TVnQtQ==", - "dev": true, "license": "MIT", "dependencies": { "debug": "^4.1.1", @@ -347,7 +348,6 @@ "version": "8.1.0", "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-8.1.0.tgz", "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, "license": "MIT", "dependencies": { "graceful-fs": "^4.2.0", @@ -362,7 +362,6 @@ "version": "4.0.0", "resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "dev": true, "license": "MIT", "optionalDependencies": { "graceful-fs": "^4.1.6" @@ -372,7 +371,6 @@ "version": "6.3.1", "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, "license": "ISC", "bin": { "semver": "bin/semver.js" @@ -382,7 +380,6 @@ "version": "0.1.2", "resolved": "https://registry.npmmirror.com/universalify/-/universalify-0.1.2.tgz", "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true, "license": "MIT", "engines": { "node": ">= 4.0.0" @@ -1072,7 +1069,6 @@ "version": "4.6.0", "resolved": "https://registry.npmmirror.com/@sindresorhus/is/-/is-4.6.0.tgz", "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", - "dev": true, "license": "MIT", "engines": { "node": ">=10" @@ -1097,7 +1093,6 @@ "version": "4.0.6", "resolved": "https://registry.npmmirror.com/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", - "dev": true, "license": "MIT", "dependencies": { "defer-to-connect": "^2.0.0" @@ -1121,7 +1116,6 @@ "version": "6.0.3", "resolved": "https://registry.npmmirror.com/@types/cacheable-request/-/cacheable-request-6.0.3.tgz", "integrity": "sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==", - "dev": true, "license": "MIT", "dependencies": { "@types/http-cache-semantics": "*", @@ -1206,11 +1200,17 @@ "@types/node": "*" } }, + "node_modules/@types/graphlib": { + "version": "2.1.12", + "resolved": "https://registry.npmmirror.com/@types/graphlib/-/graphlib-2.1.12.tgz", + "integrity": "sha512-abRfQWMphT2qlXwppQa+CTCtUz/GqxBeozQcMjnOFD/WOKD6sRgxkfG8vq1yagV03447BBzCYhuJ0wiNb+/r+Q==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/http-cache-semantics": { "version": "4.2.0", "resolved": "https://registry.npmmirror.com/@types/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", "integrity": "sha512-L3LgimLHXtGkWikKnsPg0/VFx9OGZaC+eN1u4r+OB1XRqH3meBIAVC2zr1WdMH+RHmnRkqliQAOHNJ/E0j/e0Q==", - "dev": true, "license": "MIT" }, "node_modules/@types/http-errors": { @@ -1235,7 +1235,6 @@ "version": "3.1.4", "resolved": "https://registry.npmmirror.com/@types/keyv/-/keyv-3.1.4.tgz", "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==", - "dev": true, "license": "MIT", "dependencies": { "@types/node": "*" @@ -1305,7 +1304,6 @@ "version": "1.0.3", "resolved": "https://registry.npmmirror.com/@types/responselike/-/responselike-1.0.3.tgz", "integrity": "sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==", - "dev": true, "license": "MIT", "dependencies": { "@types/node": "*" @@ -1345,7 +1343,6 @@ "version": "2.10.3", "resolved": "https://registry.npmmirror.com/@types/yauzl/-/yauzl-2.10.3.tgz", "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==", - "dev": true, "license": "MIT", "optional": true, "dependencies": { @@ -2213,7 +2210,6 @@ "version": "5.0.4", "resolved": "https://registry.npmmirror.com/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==", - "dev": true, "license": "MIT", "engines": { "node": ">=10.6.0" @@ -2223,7 +2219,6 @@ "version": "7.0.4", "resolved": "https://registry.npmmirror.com/cacheable-request/-/cacheable-request-7.0.4.tgz", "integrity": "sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==", - "dev": true, "license": "MIT", "dependencies": { "clone-response": "^1.0.2", @@ -2442,7 +2437,6 @@ "version": "1.0.3", "resolved": "https://registry.npmmirror.com/clone-response/-/clone-response-1.0.3.tgz", "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==", - "dev": true, "license": "MIT", "dependencies": { "mimic-response": "^1.0.0" @@ -2455,7 +2449,6 @@ "version": "1.0.1", "resolved": "https://registry.npmmirror.com/mimic-response/-/mimic-response-1.0.1.tgz", "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", - "dev": true, "license": "MIT", "engines": { "node": ">=4" @@ -2681,6 +2674,15 @@ "node": ">= 8" } }, + "node_modules/custom-electron-titlebar": { + "version": "4.2.8", + "resolved": "https://registry.npmmirror.com/custom-electron-titlebar/-/custom-electron-titlebar-4.2.8.tgz", + "integrity": "sha512-JEFiOKJdSZtMh90FO90FeEqCc463ZZhuh78JxILvO9Nc0H8I9MfKekgCf6jZH6xccd3/tm1OcYOoUJi3JbXR/w==", + "license": "MIT", + "peerDependencies": { + "electron": ">20.0.0" + } + }, "node_modules/debug": { "version": "4.4.3", "resolved": "https://registry.npmmirror.com/debug/-/debug-4.4.3.tgz", @@ -2749,7 +2751,6 @@ "version": "2.0.1", "resolved": "https://registry.npmmirror.com/defer-to-connect/-/defer-to-connect-2.0.1.tgz", "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", - "dev": true, "license": "MIT", "engines": { "node": ">=10" @@ -2958,7 +2959,6 @@ "version": "40.6.1", "resolved": "https://registry.npmmirror.com/electron/-/electron-40.6.1.tgz", "integrity": "sha512-u9YfoixttdauciHV9Ut9Zf3YipJoU093kR1GSYTTXTAXqhiXI0G1A0NnL/f0O2m2UULCXaXMf2W71PloR6V9pQ==", - "dev": true, "hasInstallScript": true, "license": "MIT", "dependencies": { @@ -3093,7 +3093,6 @@ "version": "24.11.0", "resolved": "https://registry.npmmirror.com/@types/node/-/node-24.11.0.tgz", "integrity": "sha512-fPxQqz4VTgPI/IQ+lj9r0h+fDR66bzoeMGHp8ASee+32OSGIkeASsoZuJixsQoVef1QJbeubcPBxKk22QVoWdw==", - "dev": true, "license": "MIT", "dependencies": { "undici-types": "~7.16.0" @@ -3103,7 +3102,6 @@ "version": "7.16.0", "resolved": "https://registry.npmmirror.com/undici-types/-/undici-types-7.16.0.tgz", "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", - "dev": true, "license": "MIT" }, "node_modules/electronmon": { @@ -3240,7 +3238,6 @@ "version": "2.2.1", "resolved": "https://registry.npmmirror.com/env-paths/-/env-paths-2.2.1.tgz", "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", - "dev": true, "license": "MIT", "engines": { "node": ">=6" @@ -3510,7 +3507,6 @@ "version": "2.0.1", "resolved": "https://registry.npmmirror.com/extract-zip/-/extract-zip-2.0.1.tgz", "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", - "dev": true, "license": "BSD-2-Clause", "dependencies": { "debug": "^4.1.1", @@ -3570,7 +3566,6 @@ "version": "1.1.0", "resolved": "https://registry.npmmirror.com/fd-slicer/-/fd-slicer-1.1.0.tgz", "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", - "dev": true, "license": "MIT", "dependencies": { "pend": "~1.2.0" @@ -3894,7 +3889,6 @@ "version": "5.2.0", "resolved": "https://registry.npmmirror.com/get-stream/-/get-stream-5.2.0.tgz", "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dev": true, "license": "MIT", "dependencies": { "pump": "^3.0.0" @@ -4040,7 +4034,6 @@ "version": "11.8.6", "resolved": "https://registry.npmmirror.com/got/-/got-11.8.6.tgz", "integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==", - "dev": true, "license": "MIT", "dependencies": { "@sindresorhus/is": "^4.0.0", @@ -4066,7 +4059,6 @@ "version": "4.2.11", "resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.11.tgz", "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true, "license": "ISC" }, "node_modules/graphlib": { @@ -4205,7 +4197,6 @@ "version": "4.2.0", "resolved": "https://registry.npmmirror.com/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", - "dev": true, "license": "BSD-2-Clause" }, "node_modules/http-errors": { @@ -4246,7 +4237,6 @@ "version": "1.0.3", "resolved": "https://registry.npmmirror.com/http2-wrapper/-/http2-wrapper-1.0.3.tgz", "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==", - "dev": true, "license": "MIT", "dependencies": { "quick-lru": "^5.1.1", @@ -4627,7 +4617,6 @@ "version": "3.0.1", "resolved": "https://registry.npmmirror.com/json-buffer/-/json-buffer-3.0.1.tgz", "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true, "license": "MIT" }, "node_modules/json-parse-even-better-errors": { @@ -4729,7 +4718,6 @@ "version": "4.5.4", "resolved": "https://registry.npmmirror.com/keyv/-/keyv-4.5.4.tgz", "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, "license": "MIT", "dependencies": { "json-buffer": "3.0.1" @@ -5003,7 +4991,6 @@ "version": "2.0.0", "resolved": "https://registry.npmmirror.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz", "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", - "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -5649,7 +5636,6 @@ "version": "6.1.0", "resolved": "https://registry.npmmirror.com/normalize-url/-/normalize-url-6.1.0.tgz", "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", - "dev": true, "license": "MIT", "engines": { "node": ">=10" @@ -5868,7 +5854,6 @@ "version": "2.1.1", "resolved": "https://registry.npmmirror.com/p-cancelable/-/p-cancelable-2.1.1.tgz", "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", - "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -6152,7 +6137,6 @@ "version": "2.0.3", "resolved": "https://registry.npmmirror.com/progress/-/progress-2.0.3.tgz", "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true, "license": "MIT", "engines": { "node": ">=0.4.0" @@ -6302,7 +6286,6 @@ "version": "5.1.1", "resolved": "https://registry.npmmirror.com/quick-lru/-/quick-lru-5.1.1.tgz", "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", - "dev": true, "license": "MIT", "engines": { "node": ">=10" @@ -6553,7 +6536,6 @@ "version": "1.2.1", "resolved": "https://registry.npmmirror.com/resolve-alpn/-/resolve-alpn-1.2.1.tgz", "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", - "dev": true, "license": "MIT" }, "node_modules/resolve-from": { @@ -6579,7 +6561,6 @@ "version": "2.0.1", "resolved": "https://registry.npmmirror.com/responselike/-/responselike-2.0.1.tgz", "integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==", - "dev": true, "license": "MIT", "dependencies": { "lowercase-keys": "^2.0.0" @@ -7396,7 +7377,6 @@ "version": "3.0.1", "resolved": "https://registry.npmmirror.com/sumchecker/-/sumchecker-3.0.1.tgz", "integrity": "sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==", - "dev": true, "license": "Apache-2.0", "dependencies": { "debug": "^4.1.0" @@ -8244,7 +8224,6 @@ "version": "2.10.0", "resolved": "https://registry.npmmirror.com/yauzl/-/yauzl-2.10.0.tgz", "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", - "dev": true, "license": "MIT", "dependencies": { "buffer-crc32": "~0.2.3", diff --git a/scripts/main.ts b/scripts/main.ts index 07ee019..f07436e 100644 --- a/scripts/main.ts +++ b/scripts/main.ts @@ -1,11 +1,8 @@ -import { app, BrowserWindow, protocol,ipcMain } from "electron"; +import { app, BrowserWindow, protocol } from "electron"; import path from "path"; import fs from "fs"; import Module from "module"; -// 默认端口配置 -const defaultPort = 10588; - /** * 将 extraResources 中的 data 目录复制到用户数据目录(跳过已存在的文件,保留用户修改) */ @@ -163,7 +160,10 @@ app.whenReady().then(async () => { const handler = handlers[pathname]; const responseData = handler ? handler() : { error: "未知接口" }; return new Response(JSON.stringify(responseData), { - headers: { "Content-Type": "application/json" }, + headers: { + "Content-Type": "application/json", + "Cache-Control": "no-store", + }, }); }); diff --git a/src/router.ts b/src/router.ts index 72185e4..0afaaf3 100644 --- a/src/router.ts +++ b/src/router.ts @@ -1,4 +1,4 @@ -// @routes-hash 8097a5206252be753261d3f059243260 +// @routes-hash 8dc4df496e2771e0081f32f4d8b2c2ae import { Express } from "express"; import route1 from "./routes/agents/clearMemory"; @@ -71,33 +71,34 @@ import route67 from "./routes/script/getScrptApi"; import route68 from "./routes/script/updateScript"; import route69 from "./routes/scriptAgent/getPlanData"; import route70 from "./routes/scriptAgent/setPlanData"; -import route71 from "./routes/setting/agentDeploy/agentSetKey"; -import route72 from "./routes/setting/agentDeploy/deployAgentModel"; -import route73 from "./routes/setting/agentDeploy/getAgentDeploy"; -import route74 from "./routes/setting/dbConfig/clearData"; -import route75 from "./routes/setting/fileManagement/openFolder"; -import route76 from "./routes/setting/getTextModel"; -import route77 from "./routes/setting/loginConfig/getUser"; -import route78 from "./routes/setting/loginConfig/updateUserPwd"; -import route79 from "./routes/setting/memoryConfig/delAllMemory"; -import route80 from "./routes/setting/memoryConfig/getMemory"; -import route81 from "./routes/setting/memoryConfig/sureMemory"; -import route82 from "./routes/setting/skillManagement/addSkill"; -import route83 from "./routes/setting/skillManagement/deleteSkill"; -import route84 from "./routes/setting/skillManagement/embeddingSkill"; -import route85 from "./routes/setting/skillManagement/generateDescription"; -import route86 from "./routes/setting/skillManagement/getSkillList"; -import route87 from "./routes/setting/skillManagement/scanSkills"; -import route88 from "./routes/setting/skillManagement/updateSkill"; -import route89 from "./routes/setting/vendorConfig/addVendor"; -import route90 from "./routes/setting/vendorConfig/deleteVendor"; -import route91 from "./routes/setting/vendorConfig/getVendorList"; -import route92 from "./routes/setting/vendorConfig/modelTest"; -import route93 from "./routes/setting/vendorConfig/updateVendor"; -import route94 from "./routes/task/getTaskApi"; -import route95 from "./routes/task/getTaskCategories"; -import route96 from "./routes/task/taskDetails"; -import route97 from "./routes/test/test"; +import route71 from "./routes/setting/about/checkUpdate"; +import route72 from "./routes/setting/agentDeploy/agentSetKey"; +import route73 from "./routes/setting/agentDeploy/deployAgentModel"; +import route74 from "./routes/setting/agentDeploy/getAgentDeploy"; +import route75 from "./routes/setting/dbConfig/clearData"; +import route76 from "./routes/setting/fileManagement/openFolder"; +import route77 from "./routes/setting/getTextModel"; +import route78 from "./routes/setting/loginConfig/getUser"; +import route79 from "./routes/setting/loginConfig/updateUserPwd"; +import route80 from "./routes/setting/memoryConfig/delAllMemory"; +import route81 from "./routes/setting/memoryConfig/getMemory"; +import route82 from "./routes/setting/memoryConfig/sureMemory"; +import route83 from "./routes/setting/skillManagement/addSkill"; +import route84 from "./routes/setting/skillManagement/deleteSkill"; +import route85 from "./routes/setting/skillManagement/embeddingSkill"; +import route86 from "./routes/setting/skillManagement/generateDescription"; +import route87 from "./routes/setting/skillManagement/getSkillList"; +import route88 from "./routes/setting/skillManagement/scanSkills"; +import route89 from "./routes/setting/skillManagement/updateSkill"; +import route90 from "./routes/setting/vendorConfig/addVendor"; +import route91 from "./routes/setting/vendorConfig/deleteVendor"; +import route92 from "./routes/setting/vendorConfig/getVendorList"; +import route93 from "./routes/setting/vendorConfig/modelTest"; +import route94 from "./routes/setting/vendorConfig/updateVendor"; +import route95 from "./routes/task/getTaskApi"; +import route96 from "./routes/task/getTaskCategories"; +import route97 from "./routes/task/taskDetails"; +import route98 from "./routes/test/test"; export default async (app: Express) => { app.use("/api/agents/clearMemory", route1); @@ -170,31 +171,32 @@ export default async (app: Express) => { app.use("/api/script/updateScript", route68); app.use("/api/scriptAgent/getPlanData", route69); app.use("/api/scriptAgent/setPlanData", route70); - app.use("/api/setting/agentDeploy/agentSetKey", route71); - app.use("/api/setting/agentDeploy/deployAgentModel", route72); - app.use("/api/setting/agentDeploy/getAgentDeploy", route73); - app.use("/api/setting/dbConfig/clearData", route74); - app.use("/api/setting/fileManagement/openFolder", route75); - app.use("/api/setting/getTextModel", route76); - app.use("/api/setting/loginConfig/getUser", route77); - app.use("/api/setting/loginConfig/updateUserPwd", route78); - app.use("/api/setting/memoryConfig/delAllMemory", route79); - app.use("/api/setting/memoryConfig/getMemory", route80); - app.use("/api/setting/memoryConfig/sureMemory", route81); - app.use("/api/setting/skillManagement/addSkill", route82); - app.use("/api/setting/skillManagement/deleteSkill", route83); - app.use("/api/setting/skillManagement/embeddingSkill", route84); - app.use("/api/setting/skillManagement/generateDescription", route85); - app.use("/api/setting/skillManagement/getSkillList", route86); - app.use("/api/setting/skillManagement/scanSkills", route87); - app.use("/api/setting/skillManagement/updateSkill", route88); - app.use("/api/setting/vendorConfig/addVendor", route89); - app.use("/api/setting/vendorConfig/deleteVendor", route90); - app.use("/api/setting/vendorConfig/getVendorList", route91); - app.use("/api/setting/vendorConfig/modelTest", route92); - app.use("/api/setting/vendorConfig/updateVendor", route93); - app.use("/api/task/getTaskApi", route94); - app.use("/api/task/getTaskCategories", route95); - app.use("/api/task/taskDetails", route96); - app.use("/api/test/test", route97); + app.use("/api/setting/about/checkUpdate", route71); + app.use("/api/setting/agentDeploy/agentSetKey", route72); + app.use("/api/setting/agentDeploy/deployAgentModel", route73); + app.use("/api/setting/agentDeploy/getAgentDeploy", route74); + app.use("/api/setting/dbConfig/clearData", route75); + app.use("/api/setting/fileManagement/openFolder", route76); + app.use("/api/setting/getTextModel", route77); + app.use("/api/setting/loginConfig/getUser", route78); + app.use("/api/setting/loginConfig/updateUserPwd", route79); + app.use("/api/setting/memoryConfig/delAllMemory", route80); + app.use("/api/setting/memoryConfig/getMemory", route81); + app.use("/api/setting/memoryConfig/sureMemory", route82); + app.use("/api/setting/skillManagement/addSkill", route83); + app.use("/api/setting/skillManagement/deleteSkill", route84); + app.use("/api/setting/skillManagement/embeddingSkill", route85); + app.use("/api/setting/skillManagement/generateDescription", route86); + app.use("/api/setting/skillManagement/getSkillList", route87); + app.use("/api/setting/skillManagement/scanSkills", route88); + app.use("/api/setting/skillManagement/updateSkill", route89); + app.use("/api/setting/vendorConfig/addVendor", route90); + app.use("/api/setting/vendorConfig/deleteVendor", route91); + app.use("/api/setting/vendorConfig/getVendorList", route92); + app.use("/api/setting/vendorConfig/modelTest", route93); + app.use("/api/setting/vendorConfig/updateVendor", route94); + app.use("/api/task/getTaskApi", route95); + app.use("/api/task/getTaskCategories", route96); + app.use("/api/task/taskDetails", route97); + app.use("/api/test/test", route98); } diff --git a/src/routes/setting/about/checkUpdate.ts b/src/routes/setting/about/checkUpdate.ts new file mode 100644 index 0000000..a07d70b --- /dev/null +++ b/src/routes/setting/about/checkUpdate.ts @@ -0,0 +1,37 @@ +import express from "express"; +import { success } from "@/lib/responseFormat"; +const router = express.Router(); + +import fs from "fs"; +import path from "path"; + +declare const __APP_VERSION__: string | undefined; + +const APP_VERSION: string = (() => { + if (typeof __APP_VERSION__ !== "undefined") { + return __APP_VERSION__; + } + // 开发环境回退:从 package.json 读取 + const pkgPath = path.resolve(process.cwd(), "package.json"); + const pkg = JSON.parse(fs.readFileSync(pkgPath, "utf8")); + return pkg.version; +})(); + +export default router.post("/", async (req, res) => { + const tagger = "1.1.0"; + const taggerList = tagger.split(".").map(Number); + const currentVersionList = APP_VERSION.split(".").map(Number); + //对比Major + if (taggerList[0] > currentVersionList[0]) { + return res.status(200).send(success({ needUpdate: true, latestVersion: tagger, reinstall: true })); + } + //对比Minor + if (taggerList[1] > currentVersionList[1]) { + return res.status(200).send(success({ needUpdate: true, latestVersion: tagger, reinstall: true })); + } + //Patch + if (taggerList[2] > currentVersionList[2]) { + return res.status(200).send(success({ needUpdate: true, latestVersion: tagger, reinstall: false })); + } + return res.status(200).send(success({ needUpdate: false, latestVersion: tagger, reinstall: false })); +}); diff --git a/src/routes/setting/vendorConfig/modelTest.ts b/src/routes/setting/vendorConfig/modelTest.ts index d4cb2bb..fc8f7a6 100644 --- a/src/routes/setting/vendorConfig/modelTest.ts +++ b/src/routes/setting/vendorConfig/modelTest.ts @@ -70,7 +70,7 @@ export default router.post( if (type == "text") { const resTextData = await u.Ai.Text(`${id}:${modelName}`).invoke({ - prompt: "请调用工具获取北京的天气,并回答我多少气温", + prompt: "请调用工具获取火星的天气,并回答我多少气温", tools: { getWeatherTool }, }); diff --git a/yarn.lock b/yarn.lock index dd924bd..fab5de6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -32,17 +32,10 @@ "@hono/node-server" "^1.13.7" hono "^4.6.14" -<<<<<<< HEAD "@ai-sdk/gateway@3.0.59": version "3.0.59" resolved "https://registry.npmmirror.com/@ai-sdk/gateway/-/gateway-3.0.59.tgz" integrity sha512-MbtheWHgEFV/8HL1Z6E3hOAsmP73zZlNFg0F0nJAD0Adnjp4J/plqNK00Y896d+dWTw+r0OXzyov9/2wCFjH0Q== -======= -"@ai-sdk/gateway@3.0.80": - version "3.0.80" - resolved "https://registry.npmmirror.com/@ai-sdk/gateway/-/gateway-3.0.80.tgz#fbd43e14395f013dea49f427020b882be8840af2" - integrity sha512-uM7kpZB5l977lW7+2X1+klBUxIZQ78+1a9jHlaHFEzcOcmmslTl3sdP0QqfuuBcO0YBM2gwOiqVdp8i4TRQYcw== ->>>>>>> 248dc724d4c0552222a2ddcec19980de82f88997 dependencies: "@ai-sdk/provider" "3.0.8" "@ai-sdk/provider-utils" "4.0.16" @@ -712,7 +705,7 @@ "@rmp135/sql-ts@^2.2.0": version "2.2.0" - resolved "https://registry.npmmirror.com/@rmp135/sql-ts/-/sql-ts-2.2.0.tgz#1027956e82c44bfc59be86664bf034d3caebd45e" + resolved "https://registry.npmmirror.com/@rmp135/sql-ts/-/sql-ts-2.2.0.tgz" integrity sha512-OnZJ0KtNMfR8J81rRXllClkX1ECZNNiREHCjDjrY5Ri6sedma7X61UuAAsTwm/bLX/QI5DHJNT+gXPJl8fK6hw== dependencies: "@types/pluralize" "^0.0.33" @@ -821,7 +814,7 @@ "@types/graphlib@^2.1.12": version "2.1.12" - resolved "https://registry.npmmirror.com/@types/graphlib/-/graphlib-2.1.12.tgz#089d1218bafe2277c98b12597abb24c3b73965aa" + resolved "https://registry.npmmirror.com/@types/graphlib/-/graphlib-2.1.12.tgz" integrity sha512-abRfQWMphT2qlXwppQa+CTCtUz/GqxBeozQcMjnOFD/WOKD6sRgxkfG8vq1yagV03447BBzCYhuJ0wiNb+/r+Q== "@types/http-cache-semantics@*": @@ -1010,19 +1003,11 @@ agent-base@^7.1.0, agent-base@^7.1.2: integrity sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ== ai@^6.0.67: -<<<<<<< HEAD version "6.0.105" resolved "https://registry.npmmirror.com/ai/-/ai-6.0.105.tgz" integrity sha512-rp+exWtZS3J0DDvZIfetpKCIg7D3cCsvBPoFN3I67IDTs9aoBZDbpecoIkmNLT+U9RBkoEial3OGHRvme23HCw== dependencies: "@ai-sdk/gateway" "3.0.59" -======= - version "6.0.138" - resolved "https://registry.npmmirror.com/ai/-/ai-6.0.138.tgz#96bfa9ebdd9748bc72862d14d6c4fc8e28070f10" - integrity sha512-49OfPe0f5uxJ6jUdA5BBXjIinP6+ZdYfAtpF2aEH64GA5wPcxH2rf/TBUQQ0bbamBz/D+TLMV18xilZqOC+zaA== - dependencies: - "@ai-sdk/gateway" "3.0.80" ->>>>>>> 248dc724d4c0552222a2ddcec19980de82f88997 "@ai-sdk/provider" "3.0.8" "@ai-sdk/provider-utils" "4.0.16" "@opentelemetry/api" "1.9.0" @@ -1228,7 +1213,7 @@ basic-auth@~2.0.1: better-sqlite3@^12.8.0: version "12.8.0" - resolved "https://registry.npmmirror.com/better-sqlite3/-/better-sqlite3-12.8.0.tgz" + resolved "https://registry.npmmirror.com/better-sqlite3/-/better-sqlite3-12.8.0.tgz#ec9ccd4a426a35f3b9355c147af6c92a6ddd6862" integrity sha512-RxD2Vd96sQDjQr20kdP+F+dK/1OUNiVOl200vKBZY8u0vTwysfolF6Hq+3ZK2+h8My9YvZhHsF+RSGZW2VYrPQ== dependencies: bindings "^1.5.0" @@ -1299,15 +1284,9 @@ brace-expansion@^2.0.1, brace-expansion@^2.0.2: balanced-match "^1.0.0" brace-expansion@^5.0.2: -<<<<<<< HEAD version "5.0.4" resolved "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-5.0.4.tgz" integrity sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg== -======= - version "5.0.5" - resolved "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-5.0.5.tgz#dcc3a37116b79f3e1b46db994ced5d570e930fdb" - integrity sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ== ->>>>>>> 248dc724d4c0552222a2ddcec19980de82f88997 dependencies: balanced-match "^4.0.2" @@ -1705,7 +1684,7 @@ cross-spawn@^7.0.1, cross-spawn@^7.0.6: custom-electron-titlebar@^4.2.8: version "4.2.8" - resolved "https://registry.npmmirror.com/custom-electron-titlebar/-/custom-electron-titlebar-4.2.8.tgz#8b0d024cf372b10c9758cc512ca55498b69616da" + resolved "https://registry.npmmirror.com/custom-electron-titlebar/-/custom-electron-titlebar-4.2.8.tgz" integrity sha512-JEFiOKJdSZtMh90FO90FeEqCc463ZZhuh78JxILvO9Nc0H8I9MfKekgCf6jZH6xccd3/tm1OcYOoUJi3JbXR/w== debug@2.6.9: @@ -1927,15 +1906,9 @@ electron-publish@26.8.1: mime "^2.5.2" electron@^40.0.0: -<<<<<<< HEAD version "40.6.1" resolved "https://registry.npmmirror.com/electron/-/electron-40.6.1.tgz" integrity sha512-u9YfoixttdauciHV9Ut9Zf3YipJoU093kR1GSYTTXTAXqhiXI0G1A0NnL/f0O2m2UULCXaXMf2W71PloR6V9pQ== -======= - version "40.8.4" - resolved "https://registry.npmmirror.com/electron/-/electron-40.8.4.tgz#91c0591e2ee7377e0a5c80e4fc4680cc26d84c33" - integrity sha512-7AoSakFr+g2CTukHDS79cqNiaWPoD8bQ4kIahwUUVv0O5fy4BfZawVCxOFLc61POq8xDvqMSDKPfeFXK/Coc5g== ->>>>>>> 248dc724d4c0552222a2ddcec19980de82f88997 dependencies: "@electron/get" "^2.0.0" "@types/node" "^24.9.0" @@ -2937,15 +2910,9 @@ keyv@^4.0.0: json-buffer "3.0.1" knex@^3.1.0, knex@^3.2.5: -<<<<<<< HEAD version "3.2.5" resolved "https://registry.npmmirror.com/knex/-/knex-3.2.5.tgz" integrity sha512-eY21Uwq0l0bFW6/+3ARO+NPjlUmcKsd72/Od+iHVFRhY6xwRVKn/nfeBEErtSnvJRVj0d0Jc20LzNnSgRQwMlQ== -======= - version "3.2.6" - resolved "https://registry.npmmirror.com/knex/-/knex-3.2.6.tgz#d6653ebf7961a83ae0014db1a7c56c75ce1ffa00" - integrity sha512-26I1Tvx0D9SOsFBF9jRWT/JdE3FPI52jAwYpXfREEtnoqgjGvAi8/ux8ktjaTC9IQcAVTCrREkOpa7lrjeAcow== ->>>>>>> 248dc724d4c0552222a2ddcec19980de82f88997 dependencies: colorette "2.0.19" commander "^10.0.0" @@ -3216,17 +3183,11 @@ minipass-fetch@^4.0.0: encoding "^0.1.13" minipass-flush@^1.0.5: -<<<<<<< HEAD version "1.0.5" resolved "https://registry.npmmirror.com/minipass-flush/-/minipass-flush-1.0.5.tgz" integrity sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw== -======= - version "1.0.6" - resolved "https://registry.npmmirror.com/minipass-flush/-/minipass-flush-1.0.6.tgz#a3f43e5d588f3bd5f1585cc68504a5f05ebd77a8" - integrity sha512-7Uf5gMJZ2kTkFisE3toGxT991s+cg+vMh42nbZGM2bNxfYVpkpqRudf1QrcOy72a3PwcL4JYqL+4NY7t0Hdd0A== ->>>>>>> 248dc724d4c0552222a2ddcec19980de82f88997 dependencies: - minipass "^7.1.3" + minipass "^3.0.0" minipass-pipeline@^1.2.4: version "1.2.4" @@ -3249,7 +3210,7 @@ minipass@^3.0.0: dependencies: yallist "^4.0.0" -"minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.0.2, minipass@^7.0.3, minipass@^7.0.4, minipass@^7.1.2, minipass@^7.1.3: +"minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.0.2, minipass@^7.0.3, minipass@^7.0.4, minipass@^7.1.2: version "7.1.3" resolved "https://registry.npmmirror.com/minipass/-/minipass-7.1.3.tgz" integrity sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==