2 Commits

Author SHA1 Message Date
digua
5adb1122d4 chore: 升级到node24 2026-04-08 00:23:00 +08:00
digua
c869383193 release: v0.14.3 2026-04-07 23:55:25 +08:00
8 changed files with 198 additions and 10 deletions

View File

@@ -32,7 +32,7 @@ jobs:
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
node-version: '24'
- name: Setup pnpm
uses: pnpm/action-setup@v4
@@ -99,7 +99,7 @@ jobs:
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
node-version: '24'
- name: Setup pnpm
uses: pnpm/action-setup@v4
@@ -152,7 +152,7 @@ jobs:
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
node-version: '24'
- name: Setup pnpm
uses: pnpm/action-setup@v4

View File

@@ -1,4 +1,32 @@
[
{
"version": "0.14.3",
"date": "2026-04-07",
"summary": "大幅度优化搜索与查询性能,搜索工具支持自动携带上下文消息,并支持 Linux 平台。",
"changes": [
{
"type": "feat",
"items": [
"实验室新增基础调试工具",
"搜索工具支持自动携带上下文消息",
"新增查询缓存以提升访问速度",
"移除旧版提示词系统"
]
},
{
"type": "fix",
"items": ["补全工具调用显示名称的 i18n 翻译"]
},
{
"type": "chore",
"items": ["支持 Linux 平台打包"]
},
{
"type": "docs",
"items": ["更新项目文档内容"]
}
]
},
{
"version": "0.14.2",
"date": "2026-04-07",

View File

@@ -1,4 +1,32 @@
[
{
"version": "0.14.3",
"date": "2026-04-07",
"summary": "This release adds core debugging tools for Lab, improves search context and query performance, fills missing i18n labels, removes legacy prompts, and adds Linux packaging support.",
"changes": [
{
"type": "feat",
"items": [
"Add core debugging tools in Lab.",
"Make the search tool carry conversation context automatically.",
"Add query caching to speed up repeated access.",
"Remove the legacy prompt system."
]
},
{
"type": "fix",
"items": ["Fill in missing i18n labels for tool-call display names."]
},
{
"type": "chore",
"items": ["Add Linux packaging support."]
},
{
"type": "docs",
"items": ["Update project documentation."]
}
]
},
{
"version": "0.14.2",
"date": "2026-04-07",

View File

@@ -1,4 +1,32 @@
[
{
"version": "0.14.3",
"date": "2026-04-07",
"summary": "今回の更新では、Lab の基本デバッグツールを追加し、検索コンテキストとクエリ性能を改善。i18n 表示文言の不足を補い、旧プロンプトを整理し、Linux パッケージングにも対応しました。",
"changes": [
{
"type": "feat",
"items": [
"Lab に基本的なデバッグツールを追加",
"検索ツールが会話コンテキストを自動で引き継ぐよう改善",
"クエリキャッシュを追加し、繰り返しアクセスを高速化",
"旧プロンプトシステムを削除"
]
},
{
"type": "fix",
"items": ["ツール呼び出し表示名の i18n 翻訳不足を修正"]
},
{
"type": "chore",
"items": ["Linux 向けパッケージングに対応"]
},
{
"type": "docs",
"items": ["プロジェクトドキュメントを更新"]
}
]
},
{
"version": "0.14.2",
"date": "2026-04-07",

View File

@@ -1,4 +1,32 @@
[
{
"version": "0.14.3",
"date": "2026-04-07",
"summary": "本次更新新增實驗室基礎除錯工具,優化搜尋上下文與查詢效能,補齊 i18n 顯示文案,並移除舊版提示詞與支援 Linux 打包。",
"changes": [
{
"type": "feat",
"items": [
"實驗室新增基礎除錯工具",
"搜尋工具可自動攜帶上下文訊息",
"新增查詢快取以加速重複存取",
"移除舊版提示詞系統"
]
},
{
"type": "fix",
"items": ["補齊工具呼叫顯示名稱的 i18n 翻譯"]
},
{
"type": "chore",
"items": ["新增 Linux 平台打包支援"]
},
{
"type": "docs",
"items": ["更新專案文件內容"]
}
]
},
{
"version": "0.14.2",
"date": "2026-04-07",

View File

@@ -1,6 +1,6 @@
{
"name": "ChatLab",
"version": "0.14.2",
"version": "0.14.3",
"description": "本地化的聊天记录分析工具,通过 SQL 和 AI Agent 回顾你的社交记忆",
"repository": {
"type": "git",
@@ -8,6 +8,11 @@
},
"author": "",
"main": "./out/main/index.js",
"packageManager": "pnpm@9.15.9",
"engines": {
"node": ">=24 <25",
"pnpm": ">=9 <10"
},
"pnpm": {
"onlyBuiltDependencies": [
"better-sqlite3",
@@ -20,12 +25,12 @@
"format": "prettier --write .",
"lint": "eslint . --ext .js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix",
"build": "electron-vite build",
"build:mac": "npm run build && electron-builder --mac --config electron-builder.yml -p never",
"build:win": "npm run build && electron-builder --win --config electron-builder.yml -p never",
"build:linux": "npm run build && electron-builder --linux --config electron-builder.yml -p never",
"build:mac": "pnpm run build && electron-builder --mac --config electron-builder.yml -p never",
"build:win": "pnpm run build && electron-builder --win --config electron-builder.yml -p never",
"build:linux": "pnpm run build && electron-builder --linux --config electron-builder.yml -p never",
"type-check:web": "vue-tsc --noEmit -p tsconfig.web.json",
"type-check:node": "tsc --noEmit -p tsconfig.node.json",
"type-check:all": "npm run type-check:web && npm run type-check:node",
"type-check:all": "pnpm run type-check:web && pnpm run type-check:node",
"type-check": "vue-tsc --noEmit -p tsconfig.web.json",
"test:agent-context": "node --experimental-strip-types --test electron/main/ai/context/sessionLog.test.mjs",
"test:e2e:launcher": "node --test tests/e2e/helpers/app-launcher.test.js",
@@ -77,6 +82,7 @@
"tailwindcss": "^4.0.0",
"vite": "^6.3.5",
"vue": "^3.5.25",
"vue-router": "^4.6.3"
"vue-router": "^4.6.3",
"vue-tsc": "^3.1.1"
}
}

69
pnpm-lock.yaml generated
View File

@@ -138,6 +138,9 @@ importers:
vue-router:
specifier: ^4.6.3
version: 4.6.4(vue@3.5.27(typescript@5.9.3))
vue-tsc:
specifier: ^3.1.1
version: 3.2.6(typescript@5.9.3)
packages:
@@ -1845,6 +1848,15 @@ packages:
vite: ^5.0.0 || ^6.0.0
vue: ^3.2.25
'@volar/language-core@2.4.28':
resolution: {integrity: sha512-w4qhIJ8ZSitgLAkVay6AbcnC7gP3glYM3fYwKV3srj8m494E3xtrCv6E+bWviiK/8hs6e6t1ij1s2Endql7vzQ==}
'@volar/source-map@2.4.28':
resolution: {integrity: sha512-yX2BDBqJkRXfKw8my8VarTyjv48QwxdJtvRgUpNE5erCsgEUdI2DsLbpa+rOQVAJYshY99szEcRDmyHbF10ggQ==}
'@volar/typescript@2.4.28':
resolution: {integrity: sha512-Ja6yvWrbis2QtN4ClAKreeUZPVYMARDYZl9LMEv1iQ1QdepB6wn0jTRxA9MftYmYa4DQ4k/DaSZpFPUfxl8giw==}
'@vue/compiler-core@3.5.27':
resolution: {integrity: sha512-gnSBQjZA+//qDZen+6a2EdHqJ68Z7uybrMf3SPjEGgG4dicklwDVmMC1AeIHxtLVPT7sn6sH1KOO+tS6gwOUeQ==}
@@ -1886,6 +1898,9 @@ packages:
typescript:
optional: true
'@vue/language-core@3.2.6':
resolution: {integrity: sha512-xYYYX3/aVup576tP/23sEUpgiEnujrENaoNRbaozC1/MA9I6EGFQRJb4xrt/MmUCAGlxTKL2RmT8JLTPqagCkg==}
'@vue/reactivity@3.5.27':
resolution: {integrity: sha512-vvorxn2KXfJ0nBEnj4GYshSgsyMNFnIQah/wczXlsNXt+ijhugmW+PpJ2cNPe4V6jpnBcs0MhCODKllWG+nvoQ==}
@@ -2036,6 +2051,9 @@ packages:
ajv@8.18.0:
resolution: {integrity: sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==}
alien-signals@3.1.2:
resolution: {integrity: sha512-d9dYqZTS90WLiU0I5c6DHj/HcKkF8ZyGN3G5x8wSbslulz70KOxaqCT0hQCo9KOyhVqzqGojvNdJXoTumZOtcw==}
ansi-regex@5.0.1:
resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
engines: {node: '>=8'}
@@ -3669,6 +3687,9 @@ packages:
ms@2.1.3:
resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
muggle-string@0.4.1:
resolution: {integrity: sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==}
nanoid@3.3.11:
resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==}
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
@@ -3848,6 +3869,9 @@ packages:
partial-json@0.1.7:
resolution: {integrity: sha512-Njv/59hHaokb/hRUjce3Hdv12wd60MtM9Z5Olmn+nehe0QDAsRtRbJPvJ0Z91TusF0SuZRIvnM+S4l6EIP8leA==}
path-browserify@1.0.1:
resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==}
path-exists@4.0.0:
resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
engines: {node: '>=8'}
@@ -4738,6 +4762,9 @@ packages:
yaml:
optional: true
vscode-uri@3.1.0:
resolution: {integrity: sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==}
vue-component-type-helpers@3.2.4:
resolution: {integrity: sha512-05lR16HeZDcDpB23ku5b5f1fBOoHqFnMiKRr2CiEvbG5Ux4Yi0McmQBOET0dR0nxDXosxyVqv67q6CzS3AK8rw==}
@@ -4775,6 +4802,12 @@ packages:
peerDependencies:
vue: ^3.5.0
vue-tsc@3.2.6:
resolution: {integrity: sha512-gYW/kWI0XrwGzd0PKc7tVB/qpdeAkIZLNZb10/InizkQjHjnT8weZ/vBarZoj4kHKbUTZT/bAVgoOr8x4NsQ/Q==}
hasBin: true
peerDependencies:
typescript: '>=5.0.0'
vue@3.5.27:
resolution: {integrity: sha512-aJ/UtoEyFySPBGarREmN4z6qNKpbEguYHMmXSiOGk69czc+zhs0NF6tEFrY8TZKAl8N/LYAkd4JHVd5E/AsSmw==}
peerDependencies:
@@ -7252,6 +7285,18 @@ snapshots:
vite: 6.4.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.31.1)(yaml@2.8.2)
vue: 3.5.27(typescript@5.9.3)
'@volar/language-core@2.4.28':
dependencies:
'@volar/source-map': 2.4.28
'@volar/source-map@2.4.28': {}
'@volar/typescript@2.4.28':
dependencies:
'@volar/language-core': 2.4.28
path-browserify: 1.0.1
vscode-uri: 3.1.0
'@vue/compiler-core@3.5.27':
dependencies:
'@babel/parser': 7.29.0
@@ -7324,6 +7369,16 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@vue/language-core@3.2.6':
dependencies:
'@volar/language-core': 2.4.28
'@vue/compiler-dom': 3.5.27
'@vue/shared': 3.5.27
alien-signals: 3.1.2
muggle-string: 0.4.1
path-browserify: 1.0.1
picomatch: 4.0.3
'@vue/reactivity@3.5.27':
dependencies:
'@vue/shared': 3.5.27
@@ -7457,6 +7512,8 @@ snapshots:
json-schema-traverse: 1.0.0
require-from-string: 2.0.2
alien-signals@3.1.2: {}
ansi-regex@5.0.1: {}
ansi-regex@6.2.2: {}
@@ -9262,6 +9319,8 @@ snapshots:
ms@2.1.3: {}
muggle-string@0.4.1: {}
nanoid@3.3.11: {}
napi-build-utils@2.0.0: {}
@@ -9442,6 +9501,8 @@ snapshots:
partial-json@0.1.7: {}
path-browserify@1.0.1: {}
path-exists@4.0.0: {}
path-is-absolute@1.0.1: {}
@@ -10348,6 +10409,8 @@ snapshots:
lightningcss: 1.31.1
yaml: 2.8.2
vscode-uri@3.1.0: {}
vue-component-type-helpers@3.2.4: {}
vue-demi@0.14.10(vue@3.5.27(typescript@5.9.3)):
@@ -10391,6 +10454,12 @@ snapshots:
'@vue/devtools-api': 6.6.4
vue: 3.5.27(typescript@5.9.3)
vue-tsc@3.2.6(typescript@5.9.3):
dependencies:
'@volar/typescript': 2.4.28
'@vue/language-core': 3.2.6
typescript: 5.9.3
vue@3.5.27(typescript@5.9.3):
dependencies:
'@vue/compiler-dom': 3.5.27

View File

@@ -10,6 +10,7 @@
],
"compilerOptions": {
"composite": true,
"types": ["electron-vite/node"]
"types": ["electron-vite/node"],
"moduleResolution": "bundler"
}
}