Commit Graph

80 Commits

Author SHA1 Message Date
YuTengjing
12fb04b88d refactor: move src/config/modelProviders to model-bank 2025-12-25 21:02:19 +08:00
CanisMinor
024aeb2e4e 💄 style: Update i18n microcopy (#10905)
* chore: update i18n

* chore: update i18n

* chore: update i18n

* chore: update i18n

* chore: update i18n

* chore: update i18n

* chore: update i18n

* chore: update i18n translations and placeholders across multiple components

Signed-off-by: Innei <tukon479@gmail.com>

* chore: update i18n translations for consistency in terminology across chat, onboarding, and settings components

Signed-off-by: Innei <tukon479@gmail.com>

* chore: update i18n translations to replace 'assistant' with 'agent' and ensure consistency across all components

Signed-off-by: Innei <tukon479@gmail.com>

* chore: update model descriptions in locales for clarity and accuracy

Signed-off-by: Innei <tukon479@gmail.com>

* feat: extract hard code string

Signed-off-by: Innei <tukon479@gmail.com>

* feat: enhance Chinese localization with new proxy and sync settings, update dialog messages for version checks and OAuth authorization

Signed-off-by: Innei <tukon479@gmail.com>

* chore: flatten

* chore: standardize localization keys by flattening nested structures across multiple languages

Signed-off-by: Innei <tukon479@gmail.com>

* chore: refine i18n documentation by consolidating key naming conventions and workflow guidelines for translation management

Signed-off-by: Innei <tukon479@gmail.com>

* chore: update i18n

* feat: add chat title localization for improved user experience in Chinese

Signed-off-by: Innei <tukon479@gmail.com>

---------

Signed-off-by: Innei <tukon479@gmail.com>
Co-authored-by: Innei <tukon479@gmail.com>
2025-12-24 12:55:12 +08:00
Innei
10e048c9c5 feat: refactor desktop implement with brand new 2.0 2025-12-24 12:54:35 +08:00
Innei
f74befadc9 ♻️ refactor(electron-main): client ipc decorate (#10679)
* refactor: client ipc

* refactor: server ipc

refactor: update IPC method names for consistency

Signed-off-by: Innei <tukon479@gmail.com>

fix: cast IPC return type to DesktopIpcServices for type safety

Signed-off-by: Innei <tukon479@gmail.com>

chore: add new workspace for desktop application in package.json

Signed-off-by: Innei <tukon479@gmail.com>

fix: export FileMetadata interface for improved accessibility

Signed-off-by: Innei <tukon479@gmail.com>

refactor: unify IPC mocking across test files for consistency

Signed-off-by: Innei <tukon479@gmail.com>

feat: enhance type-safe IPC flow with context propagation and service registry

- Introduced `getIpcContext()` and `runWithIpcContext()` for improved context management in IPC handlers.
- Updated `BrowserWindowsCtr` methods to utilize the new context handling.
- Added `McpInstallCtr` to the IPC constructors registry.
- Enhanced README with details on the new type-safe IPC features.

Signed-off-by: Innei <tukon479@gmail.com>

refactor: enhance IPC method registration for improved type safety

- Updated `registerMethod` in `IpcHandler` and `IpcService` to accept variable argument types, enhancing flexibility in method signatures.
- Simplified the `ExtractMethodSignature` type to support multiple arguments.

Signed-off-by: Innei <tukon479@gmail.com>

chore: add global type definitions and refactor import statements

- Introduced a new global type definition file to support Vite client imports.
- Refactored import statements in `App.ts` and `App.test.ts` to remove unnecessary type casting for `import.meta.glob`, improving code clarity.

Signed-off-by: Innei <tukon479@gmail.com>

* refactor: make groupName in BrowserWindowsCtr readonly for better encapsulation

Signed-off-by: Innei <tukon479@gmail.com>

* refactor: update IPC method registration and usage for improved type safety and consistency

- Replaced `@ipcClientEvent` with `@IpcMethod()` in various controllers to standardize IPC method definitions.
- Enhanced the usage of `ensureElectronIpc()` for type-safe IPC calls in service layers.
- Updated `BrowserWindowsCtr` and `NotificationCtr` to utilize the new IPC method structure, improving encapsulation and clarity.
- Refactored service methods to eliminate manual string concatenation for IPC event names, ensuring better maintainability.

Signed-off-by: Innei <tukon479@gmail.com>

---------

Signed-off-by: Innei <tukon479@gmail.com>
2025-12-09 15:01:18 +08:00
Innei
c6aa46a154 🔨 chore: environment variable loading with dotenv-expand (#10590)
fix: environment variable loading with dotenv-expand

Signed-off-by: Innei <tukon479@gmail.com>
2025-12-04 09:46:48 +08:00
YuTengjing
ca2a1a21f6 🐛 fix: user email unique migration error (#10548) 2025-12-02 12:37:42 +08:00
Shinji-Li
871d1416cc 🐛 fix: fixed changelog pages and open again (#10285)
* feat: fixed  changelog pages and open again

* fix: add discover use dynamic import

* fix: update the routers

* fix: change the pre build mts
2025-11-21 17:47:13 +08:00
René Wang
c0542e80a3 🔨 chore: Add CI to Check console.log (#10333)
* lint: Clean breakpoints

* build: Add CI to check

* build: Add `next` branch

* build: Remove markdown files

* fix: CI hang out

* fix: Show warning on GitHub

* feat: Send comment

* fix: CI error

* fix: show file list
2025-11-21 14:18:10 +08:00
Arvin Xu
3785a7109a feat: edit local file render & intervention (#10269)
* support editFile render

* clean and add tests

* improve hover state

* support edit local file

* fix tests

* fix desktop build

* fix desktop build

* Revert "fix desktop build"

This reverts commit 6ce58b2eeb.
2025-11-18 02:07:58 +08:00
Shinji-Li
f445ab013c ♻️ refactor: refactor the root from nextjs router to react-router-dom (#10094)
* feat: change the root path to react-router-dom to render spa

* feat: disable / to /chat rewrite

* feat: change /settings labs image profile changelog to spa mode

* feat: use loading to dynamic loading

* fix: change the goback & knowledge/base url

* feat: change some nextjs router to react-router-dom use

* feat: link replace to react-router-dom

* fix: delete useless code

* feat: fix mobile agent settings page not work problem

* fix: fix the test

* fix: slove the router back

* fix: slove ts problem

* fix: change the router judge by servers

* feat: change AppRouter to Desktop Router & mobile Router to dynamic import

* fix: refactor the memory router to browser router

* feat: /chat delete pages & layouts dir

* feat: change all discover page to the spa

* feat: discover pages layout & pages routers get done

* feat: change all routes to outer routes

* feat: change the :slug to react-router loader to get

* feat: change NextJs Link useRouter useSearchParams change to react-router way

* fix: delete some layout tsx & update the ts

* feat: change local params get use ReactRouter Outlet context

* fix: fix hydrateFallback problem

* fix: fix build problem

* fix: change the changelog pages render

* feat: delete all nuqs

* feat: change the mobile me layout back

* chore: add mobile me layout back

* fix: discover find more  link error fixed

* fix: add nuqs back & useQueryState back in oath

* fix: add files back

* fix: add files back

* feat: use starTransition to navigate url

* fix: close the loading in the layout loading

* chore: update test.ts in TopActions.tsx

* fix: delete useless code

* fix: fix mobile router goback fc

* fix: delete the changelog modal page

* feat: fix a lot router problem

* fix: fix useNav in discover page error problem

* feat: rollback some changes about layout

* fix: fixed the desktop knowledge page router

* fix: fixed usage router error

* fix: fixed router link error

* fix: fixed the url & new url not path problem

* fix: fixed the test

* feat: update the useQueryParams throttleMs params

* feat: use more simple way to update session hydration

* fix: delete useless code

* fix: delete uesless code

* fix: mobile chat settings go back

* fix: fix the reload was loading page problem

* fix: fixed the test error

* fix: add router ErrorBoundary

* test: test the loading error

* fix: try to fixed

* fix: test mobile

* feat: add loading back
2025-11-17 20:54:37 +08:00
Arvin Xu
f2ab2fcef6 ♻️ refactor: remove NEXT_PUBLIC_SERVICE_MODE env and use server by default (#10017)
* remove NEXT_PUBLIC_SERVICE_MODE

* update

* fix tests

* update e2e workflow

* update config

* Rename DATABASE_TEST_URL to DATABASE_URL
2025-11-04 00:34:37 +08:00
Arvin Xu
8abfdecd54 ️ perf: improve db query performance (#9946)
* fix db performance issue

* fix tests
2025-10-31 12:39:59 +08:00
Maple Gao
3eaeb6c531 📝 docs: consolidate image generation docs with server database setup (#9096)
♻️ refactor: consolidate image generation docs with server database setup

- Merge image-generation-setup content into work-with-server-side-database docs
- Remove duplicate image-generation-setup documentation files
- Add server-side database links to setup-development guides
- Add missing .env.development copy step to setup instructions
- Add .env.development to .gitignore for security

The setup script approach has been replaced by Docker Compose configuration
with .env.example.development file, eliminating documentation duplication
and providing a unified server-side development workflow.
2025-09-11 01:16:58 +08:00
YuTengjing
ea819a3421 feat: support mac intel desktop (#9136) 2025-09-08 23:46:57 +08:00
Arvin Xu
ae28f1794c ️ build : Revert "support mac intel chip" (#9134)
Revert "feat(desktop): support mac intel chip (#9084)"

This reverts commit 1a75f4a6b5.
2025-09-06 16:14:42 +08:00
YuTengjing
1a75f4a6b5 feat(desktop): support mac intel chip (#9084) 2025-09-06 14:03:16 +08:00
Arvin Xu
8dedc2d3e1 ♻️ refactor: move utils to separate package (#8889)
* move utils

* move utils

* move utils

* update

* update

* update

* update

* update

* refactor to clean the tests

* fix release workflow

* fix tests

* fix tests

* fix tests

* fix tests

* fix tests

* fix tests

* try to fix client db migration issue

* fix tests
2025-08-22 14:05:01 +08:00
Arvin Xu
af1f71572f ♻️ refactor: move database to packages (#8874)
* move db

* refactor db import

* refactor eval types

* fix tests

* fix tests

* fix tests

* fix db migration issues

* fix docker issue

* fix tests

* update alias

* fix tests

* update db test for client and server

* refactor db

* update codecov

* update codecov

* update codecov

* add docker pr comments
2025-08-22 11:09:03 +08:00
Maple Gao
3ae5134984 📝 docs: Add image generation development environment setup (#8859)
* 🔨 chore: add image generation development environment setup

- Add setup-image-generation-dev.sh script for automated environment configuration
- Add English and Chinese documentation for image generation development setup
- Configure PostgreSQL and MinIO for local development with automatic bucket creation
- Include database migration and S3 environment variable configuration

* Update scripts/setup-image-generation-dev.sh
2025-08-21 23:44:21 +08:00
Arvin Xu
29417d5e18 🔨 chore: fix type in some scripts (#8631)
* upgrade types

* fix types

* fix types
2025-08-01 12:42:55 +08:00
Arvin Xu
416a4b1212 feat: Add MCP marketplace and mcp plugin one-click installation in desktop (#8334)
* move plugin Component

*  feat(wip): Add MCP Discover Market

*  test: Fix test

*  test: Fix test

* 🐛 fix: Fix build

* 🐛 fix: Fix build

* 💄 style: update plugin store

* 💄 style: Update plugin store

*  feat: Update cache control headers and optimize Next.js config for performance

* 💄 style: Update discover markdown

* 💄 style: Update scroes step

* 优化 list 细节

* 优化 list 细节

* 优化 list 细节

* 完成基础 mcp 安装实现

* 完成安装上报

* 新增安装过程

* fix

* 优化插件设置页面配置

* 💄 style: update official icon

* 完善安装错误状态

* 支持取消安装

* fix types

* fix types

* 完成系统依赖检查流程

* 完成系统依赖安装流程上报

* try to fix suspense

* try to fix suspense

* try to fix suspense

* try to fix tests

* upgrade electron

* fix suspense

* fix tool name issue

* fix test

* add i18n

* fix tool call

*  test: fix tests

* move

* fix tests

* refactor plugin install store

* improve old plugin install

* fix

* fix header link

* fix plugin detail

* fix oldPlugin detail

* fix tests

* update i18n

* fix i18n

* 💄 style: improve style

* add debug log

* fix link

* improve

* fix link

* 🚚 refactor: refactor the market runtime to nodejs

* 移除 props.searchParams 调用

*  test: fix tests

* 尝试静态化 discover page

* ♻️ refactor: refactor config to nodejs runtime

* fix min width

* 修正自定义插件的编辑展示区域

* fix i18n

* 调整部分组件目录结构

* 完善 MCP 市场安装流程

* 完善安装上报事件

* test: fix test

*  feat: 实现 m2m oauth 请求

*  feat: 完善 m2m 注册链路

*  feat: 完善 m2m 注册链路

* 🐛 fix: 优化 debug 日志输出问题

*  feat: 支持 call 上报

* 💄 style: 使用更大的版本

* 🐛 fix: tools calling report

* 🐛 fix: try to fix call report

* 🐛 fix: try to use expires cookies

* 🐛 fix: fix cookies expires issue

* test: fix customPluginInfo report

* 🐛 fix: fix connection issue

* 🐛 fix: fix platform report

* 🐛 fix: fix version issue

---------

Co-authored-by: canisminor1990 <i@canisminor.cc>
2025-07-08 19:51:22 +08:00
YuTengjing
780ee82b12 ️ build: integrate tsgo to validate ts (#8331)
* ️ build: integrate tsgo to validate ts

* 📝 docs: add code comment to @ts-ignore

* Update package.json

* Update apps/desktop/package.json

* Update package.json

* Update package.json
2025-07-04 01:01:11 +08:00
𝑾𝒖𝒙𝒉
8953523575 🔧 chore: improve i18n workflow diff script (#8153)
* 🔧 chore: Add writeJSONWithPrettier utility and update locale generation scripts

* 🔧 chore: Implement genRemoveDiff utility for locale diff analysis and update workflow

* chore: update script

* chore: revert

* 🔧 chore: Refactor genDiff to improve diff analysis and streamline locale processing
2025-06-12 14:54:05 +08:00
Arvin Xu
ed97363255 feat: support desktop release framework and workflow (#6474)
* add desktop

fix build

update release desktop ci

improve desktop build for pr workflow

update desktop build workflow

test auto updater

fix

fix release nightly channel

support shortcut framework

improve nightly version rule

add zip release

only add mac publish

fix static file relative issue

support delete files

fix lint

enable asar

add setting open in editor in menu

add electron store framework and locale update flow

fix default searchFCModel

refactor the electron server ipc to stable mode

improve electron dev workflow

improve electron build workflow

make qwen2.5b default

improve comment workflow

fix types

refactor code

improve window size of settings/provider

路由拦截器v3.5

fix RouteIntercept issue

improve log

use productName in package.json

update

add pin list for feature flag

update

sure settings update

make ollama as default provider in desktop

fix desktop close page issue

fix desktop default variants

improve to reduce bundle

improve to reduce bundle again

improve set desktop version workflow

add nightly icons

add prebuild scripts to reduce package size

add to test prebuild

fix workflow

try to add sign and notarize for mac in workflow

try to add sign and notarize

add i18n for menu and main

update menu i18n

add i18n framework

add menu implement and setting

improve layout design for desktop

update Author

fix failed register protocol

fix prod building

fix tests

fix open error of mac and windows
improve lint

update pr comment

add service framework

add fileSearchService

improve

fix release workflow

add header

improve pr workflow fetch

improve client fetch

add linux upload workflow

improve workflow and implement

fix build electron in ci

build the desktop framework

fix build electron in ci

update tsconfig

fix desktop build workflow

finish desktop build workflow

fix workflow build steps

update workflow

test release workflow

refactor

update

update

improve loading state

refactor the 404 error

* 重构存储路径,统一到一个 lobehub-storage 下,方便未来用户自定义存储路径

* fix lint

* update

* try to fix windows open issue

* rename

* fix storage

* refactor the remote server sync

* refactor the request method

* 完成服务端同步实现逻辑

* fix lint

* save size

* refactor to make sure different instance of ipc channel

* clean log

* fix refresh

* fix tools calling

* fix auth callback issue

* update workflow

* add window ico

* push

* update

* add beta release

* fix update issue

* 完成官方实例链接

* fix

* fix stdio
2025-04-27 11:57:06 +08:00
Arvin Xu
0085e639b8 💄 style: support update tool calling params and trigger again (#7476)
* update client ipc

* test web prebuild

* update i18n

* support update tools calling params

* add local files tools

* fix docker build flow

* fix suspense
2025-04-19 14:13:09 +08:00
YuTengjing
6002e823e2 Merge branch 'main' of github.com:lobehub/lobe-chat into tj/feat/guide-message 2025-04-14 11:34:06 +08:00
Arvin Xu
b12b24018e 🔨 chore: add OAuth 2.0 and OIDC core implement (#7380)
* add oidc implement

* add oidc implement

* update

* update

* migration db

* improve

* improve scripts

* update

* 解决 auth 302 跳转的问题

* 完成 policy 实现调试

* improve middleware log

* 初步完成 auth 授权实现

* 初步完成 auth 授权实现

* fix adapter

* add adapter tests

* refactor with http adapter

* refactor for oidc service

* finish oauth 授权基础实现

* 区分 backend 入口与 client 页面入口

* add i18n

* update db schema

* fix lint

* improve

* fix tests and update i18n

* improve db adaptor

* fix tests

* fix tests

* fix tests
2025-04-13 00:49:31 +08:00
Arvin Xu
f57f7af1b8 👷 build: add desktop workflow and pre-merge desktop code (#7361)
* add desktop workflow code

* add desktop relative code

* Update pr-release-body.js
2025-04-10 10:47:05 +08:00
YuTengjing
2e763f808c ♻️ chore: update database schema docs path from developer to development 2025-04-09 20:14:57 +08:00
Arvin Xu
addea48b52 💄 style: support default config for system agent and pre-merge some desktop code (#7296)
* refactor

* update

* improve scripts

* fix changelog issue

* improve system agent config

* fix tests

* update scripts

* update ollama models

* Update ollama.ts
2025-04-06 12:09:57 +08:00
Arvin Xu
773d5dd1f9 ♻️ refactor: add desktop-release workflow and improve code (#7265)
* update

* fix tests

* add Release Desktop workflow

* fix tests

* fix coverage config

* fix coverage config

* fix coverage server test config
2025-04-03 10:52:47 +08:00
Arvin Xu
5c71db6c4e ♻️ refactor: refactor db core (#7245)
* refactor db core

* fix tests
2025-03-31 19:39:57 +08:00
Arvin Xu
849584479a 🔨 chore: visualize db schema with dbdocs (#6950)
* test db schema

* Update sync-database-schema.yml

* Update sync-database-schema.yml

* Update sync-database-schema.yml

* Update package.json

* Update sync-database-schema.yml

* Delete docs/developer/database-schema.dbml

* update workflow

* Update sync-database-schema.yml
2025-03-14 14:24:39 +08:00
Zhijie He
eb6b0b2118 👷 build: add ENABLE_PROXY_DNS env (#6690) 2025-03-04 22:49:08 +08:00
CanisMinor
cc2cd35d65 📝 docs: Update README for 2025 (#6185) 2025-02-16 01:50:41 +08:00
Arvin Xu
57bfa6aa2a 🔨 chore: update vercel build ignore mode (#6189) 2025-02-16 01:16:40 +08:00
Arvin Xu
a53af9f0d6 🔨 chore: add vercelIgnoredBuildStep (#5929)
* add

* add

* fix

* branch

* again

* fix
2025-02-09 14:05:51 +08:00
WindSpiritSR
eb26c79f53 💄 style: add auth support for PROXY_URL (#5304)
Signed-off-by: WindSpiritSR <simon343riley@gmail.com>
2025-01-15 12:17:48 +08:00
Arvin Xu
9b303e0c6c 💄 style: improve model config form modal (#5438)
* improve model config modal

* improve

* format

* improve form rules
2025-01-15 01:03:57 +08:00
CanisMinor
2c3331a591 feat: Update Remark (#5340)
*  feat: Update Remark

* 📝 docs: Update seo

* 🔧 chore: Fix deps

* 🔧 chore: Update ui version

* 📝 docs: Update docs

*  feat: Update @lobehub/ui to 1.163.0
2025-01-08 21:32:57 +08:00
CanisMinor
df3ac87bb3 feat: Add changelog modal (#4800)
*  feat: Add changelog modal

* 💄 style: Update changelog style

*  test: Add test

* 🔧 chore: Add CDN workflow

*  test: Fix test

*  test: Fix test

* 📝 docs: Update changelog

* 📝 docs: Update cdn

* refactor version

* feat: 实现 changelog 初始化入口,新增后端应用层状态初始化入口

* 🐛 fix: Fix useCheckLatestChangelogId

* 🔧 chore: Update types

* 🐛 fix: Fix lint

* upgrade

*  feat: Update env

* 🔧 chore: Rename DOC_S3 env

*  test: Update test

* 👷 ci: Fix build lint error

* ♻️ refactor: Refactor models

* 💄 style: Add feature flag

*  test: Fix test

* 💄 style: Rm mobile modal

* 💄 style: Update canonical url

---------

Co-authored-by: arvinxx <arvinx@foxmail.com>
2024-12-26 11:02:47 +08:00
Arvin Xu
4131f20583 feat: support to use pglite as client db (#4873)
*  feat: pglite 迁移实现

refactor modal name

pin pglite@0.2.13

add serverExternalPackages for pglite

fix tests

update model

remove migration

back previous test file

* 💚 build: fix build with ReactScan

* clean

* refactor with isDBinit

* fix test
2024-12-22 17:20:19 +08:00
CanisMinor
470c186174 🔧 chore: Update Readme Sync Workflow (#5071) 2024-12-18 18:23:02 +08:00
Arvin Xu
871f5b92f6 🔨 chore: improve migrate scripts (#4902) 2024-12-06 20:05:13 +08:00
Arvin Xu
9aa16d4715 ♻️ refactor: move schema and migration folder (#4874)
* move schema folder

* fix tests

* fix vercel build
2024-12-03 14:15:41 +08:00
CanisMinor
19da5e419d 🔧 chore: Add changelog workflow (#4662)
* 🔧 chore: Add changelog workflow

* 🔧 chore: Update schema

* 🔧 chore: Update schema

* 🔧 chore: Update changelog workflow

* 🔧 chore: Update changelog json

* 🔧 chore: Update changelog

* 📝 docs: Update Changelog
2024-11-26 14:48:06 +08:00
Arvin Xu
4c379288e2 💄 style: improve i18n (#4461)
* 🌐 style: improve i18n

* 🌐 style: improve i18n

* 🌐 style: improve i18n

* 🌐 style: improve i18n
2024-10-23 21:41:25 +08:00
Zhijie He
7df27e8a87 👷 build: enhance Self-host CA usage & remove TLS detection (#4223)
* 👷 build: enhance TLS cert checking & Self-host CA usage

* 👷 build: add Wenxin ENV

* 🔨 chore: handle timeout

* Update startServer.js

* 👷 build: remove TLS detection
2024-09-30 20:38:22 +08:00
Zhijie He
8e87a4ae59 👷 build: remove unnecessary SSL judgments (#4219)
* ♻️ refactor: remove unnecessary SSL judgments

* 🔨 chore: handle `ERR_TLS_CERT_ALTNAME_INVALID` error
2024-09-30 11:29:05 +08:00
Zhijie He
fadbc41c01 👷 build: fix zeabur build (#4213)
* 👷 build: add `SKIP_DB_MIGRATION` ENV

* 🔨 chore: change logic

* 💄 style: update error output style

* Update startServer.js

* 👷 build: detect DB_MIGRATION_SCRIPT_PATH, if not exist then skip

* 🔨 chore: improve console log

* 🔨 chore: add skip reason

* 🐛 fix: fix fs calling error

* 🐛 fix: fix `proxychains` conf generate error

* 🔨 chore: fix catch error

* 🐛 fix: fix typo
2024-09-30 02:33:01 +08:00