Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
2396 commits
Select commit Hold shift + click to select a range
e14cfae
🔨 chore: use tsc in vercel build (#12201)
arvinxx Feb 8, 2026
35b6d8f
chore: add sync main to dev script (#12202)
rdmclin2 Feb 8, 2026
9fa6253
✅ test: add unit tests for defaultSecurityBlacklist (#12094)
lobehubbot Feb 8, 2026
bd4e253
🐛 fix: enable vertical scrolling for topic list on mobile (#12157)
veeceey Feb 8, 2026
72a85ac
🐛 fix: add end-user info on OpenAI Responses API call (#12134)
antoine-roux Feb 8, 2026
e1599d2
:bookmark: chore(release): v2.1.21 [skip ci]
semantic-release-bot Feb 8, 2026
f55b834
📝 docs(bot): Auto sync agents & plugin to readme
lobehubbot Feb 8, 2026
0e688d0
🌐 chore: translate non-English comments to English in siliconcloud pr…
lobehubbot Feb 8, 2026
be6da39
🐛 fix: register Notebook tool in server runtime (#12203)
arvinxx Feb 8, 2026
6ed5e7b
:bookmark: chore(release): v2.1.22 [skip ci]
semantic-release-bot Feb 8, 2026
044e290
📝 docs(bot): Auto sync agents & plugin to readme
lobehubbot Feb 8, 2026
ee7ae5b
🐛 fix: fix editor content missing when send error (#12205)
arvinxx Feb 8, 2026
40edeb4
:bookmark: chore(release): v2.1.23 [skip ci]
semantic-release-bot Feb 8, 2026
0dbd8d6
🔨 chore(observability-otel): update name to lobehub (#12207)
nekomeowww Feb 8, 2026
bbc1dfc
🔨 chore(userMemories): fetch user persona (#12206)
nekomeowww Feb 8, 2026
dd7d590
:bookmark: chore(release): v2.1.23 [skip ci]
semantic-release-bot Feb 8, 2026
8877bc1
🐛 fix(swr): prevent useActionSWR isValidating from getting stuck (#12…
kingsword09 Feb 9, 2026
c12d022
🤖 style: update i18n (#12025)
lobehubbot Feb 9, 2026
ce8c0c3
🌐 chore: translate non-English comments to English in packages/electr…
lobehubbot Feb 9, 2026
31145c9
🐛 fix: use custom avatar for group chat in sidebar (#12208)
arvinxx Feb 9, 2026
b06b0e5
:bookmark: chore(release): v2.1.23 [skip ci]
semantic-release-bot Feb 9, 2026
788037b
📝 docs(bot): Auto sync agents & plugin to readme
lobehubbot Feb 9, 2026
0b91217
🔨 chore: improve auto agent workflow (#12209)
arvinxx Feb 9, 2026
c41f0af
🔨 chore(memory-user-memory): should not append date & time (#12216)
nekomeowww Feb 9, 2026
4ae9097
🔨 chore(memory-user-memory): will try to capture and create more entr…
nekomeowww Feb 9, 2026
00ff5b9
🐛 fix: fix multimodal content_part images rendered as base64 text (#1…
arvinxx Feb 9, 2026
748e7fd
✅ test: add unit tests for scheduleToolCallReport (#12214)
lobehubbot Feb 9, 2026
fe48875
:bookmark: chore(release): v2.1.24 [skip ci]
semantic-release-bot Feb 9, 2026
146cf2c
📝 docs(bot): Auto sync agents & plugin to readme
lobehubbot Feb 9, 2026
b0def6d
👷 build(database): migrate id using seq and identity to text with nan…
nekomeowww Feb 9, 2026
29fd296
:bookmark: chore(release): v2.1.25 [skip ci]
semantic-release-bot Feb 9, 2026
404ea0d
📝 docs(bot): Auto sync agents & plugin to readme
lobehubbot Feb 9, 2026
37b06c4
🤖 style: update i18n (#12227)
lobehubbot Feb 10, 2026
7a5fc81
:bookmark: chore(release): v2.1.26 [skip ci]
semantic-release-bot Feb 10, 2026
29f886d
📝 docs(bot): Auto sync agents & plugin to readme
lobehubbot Feb 10, 2026
db1f813
🌐 chore: translate non-English comments to English in image store (#1…
lobehubbot Feb 10, 2026
7721261
🔨 chore(model-runtime): add onRouteAttempt callback to RouterRuntime …
tjx666 Feb 10, 2026
3346c07
🔨 chore(userMemories): can render persona even without roles (#12237)
nekomeowww Feb 10, 2026
9cdfff1
🌐 chore: translate non-English comments to English in model-runtime/c…
lobehubbot Feb 11, 2026
e0e158c
✅ test: add unit tests for markdownToTxt utility (#12058)
lobehubbot Feb 11, 2026
a83dc4d
💄 style: add emoji reaction feature for messages (#12004)
arvinxx Feb 11, 2026
07f9c2a
🔨 chore: add auto-tag release workflow and interactive release script…
Innei Feb 11, 2026
95c999e
✨ feat: add full-width view option to menu in agent and page editor h…
Innei Jan 27, 2026
91155fd
🐛 fix: skill detail page icon problem (#11912)
rdmclin2 Jan 27, 2026
8188e2d
♻️ refactor: restructure electron build workflow with i18n codemod
Innei Jan 27, 2026
48dd92c
🔧 chore: simplify electron workflow by removing i18n codemod steps
Innei Jan 27, 2026
641de4c
feat: add intergration Detail Content and skill list
rdmclin2 Jan 28, 2026
943b3e8
📝 update: change copyright year from 2025 to 2026 in onboarding and e…
Innei Jan 28, 2026
b8fdcc3
✨ feat(desktop): enhance desktop menu and navigation system
Innei Jan 28, 2026
e063d09
🐛 fix(desktop): prevent auth modal from showing during onboarding
Innei Jan 28, 2026
6e65d72
🐛 fix(desktop): allow scrolling in read file view and improve new top…
Innei Jan 28, 2026
3626770
chore: use independent swr hook call
rdmclin2 Jan 28, 2026
2d29404
chore: migrate integeration detail to skillstore
rdmclin2 Jan 28, 2026
6c1eadc
chore: refactor skill detail page
rdmclin2 Jan 28, 2026
a8582b0
refactor: skill list
rdmclin2 Jan 28, 2026
07d2231
🐛 fix: skill detail error (#11949)
rdmclin2 Jan 29, 2026
13e0923
chore: update Linear skill description for clarity and usage guidelines
Innei Jan 29, 2026
cd13057
chore: update macOS build configuration to fix hdiutil issues and cle…
Innei Jan 30, 2026
6c34252
✨ feat: add write starter and fix e2e tests (#11992)
rdmclin2 Jan 30, 2026
332c66a
✨ feat: enhance ProviderConfig Checker with static styles
Innei Jan 30, 2026
899cf85
feat: rebrand stable app icon
Innei Jan 31, 2026
390335f
fix: add rs canvas in outputFileTracingIncludes for Docker builds
Innei Jan 31, 2026
501352e
✨ feat: add tool agents in tool detail page (#11993)
rdmclin2 Feb 1, 2026
bebfb46
feat: Polish CMDK (#12011)
rivertwilight Feb 2, 2026
4db3907
✨ feat(electron): refactor RecentlyViewed with Pinned + Recent archit…
Innei Feb 2, 2026
8676c22
✨ feat: GitHub Copilot Provider (#11997)
Innei Feb 2, 2026
dad6108
chore: revert to back to header mode (#12051)
rdmclin2 Feb 2, 2026
6f24e6b
✨ feat(desktop): add proactive token refresh on app startup and activ…
Innei Feb 2, 2026
f829bf7
fix: setting highlight and memerid not responding error
rdmclin2 Feb 3, 2026
b010ab9
♻️ refactor(fileSearch): File/Content Search by Platform (#12074)
Innei Feb 3, 2026
90c88da
✨ feat: add feedback request for community list (#12078)
rdmclin2 Feb 3, 2026
9ecca13
refactor: replace react-diff-view with @lobehub/ui CodeDiff (#12077)
Innei Feb 3, 2026
de1d171
refactor: clean up UpdateIdentityMemoryInspector and enhance ErrorRes…
Innei Feb 3, 2026
046eb72
♻️ refactor(store): migrate to class-based actions with flattenAction…
Innei Feb 3, 2026
96fa203
💄 style: change skills using this skill list style (#12089)
rdmclin2 Feb 4, 2026
83e5f31
♻️ refactor: cleanup duplicate AddTopicButon components and optimize …
Innei Feb 4, 2026
edec250
✨ feat(settings): add auto-scroll option during AI response streaming
Innei Feb 4, 2026
30a69ea
🐛 fix: prevent scroll anchoring during streaming (#12115)
Innei Feb 4, 2026
3ab33e8
chore: remove log
Innei Feb 4, 2026
4674a76
🔧 chore: update @lobehub/ui version and enhance UpdateAgentPromptInsp…
Innei Feb 4, 2026
8dd8ff9
fix: Resource manager (#12040)
rivertwilight Feb 5, 2026
77ec294
feat: Update user guide (#12123)
rivertwilight Feb 5, 2026
2892e8f
✨ feat: add starter suggested questions and recommend agents (#12033)
rdmclin2 Feb 5, 2026
fcdaf9d
🔧 chore: update eslint v2 configuration and suppressions (#12133)
Innei Feb 5, 2026
aaa7b6d
✨ feat(desktop): implement subscription pages embedding with webview …
Innei Feb 5, 2026
e449594
✨ feat: add built in skills management (#12106)
rdmclin2 Feb 6, 2026
397426d
💄 style: update ServerVersionOutdatedAlert styling and logic
Innei Feb 7, 2026
67c403d
🐛 fix(desktop): remove redundant accelerators from menu role items
Innei Feb 7, 2026
d1d46cf
✨ feat: add unread completion indicator for agents and topics
Innei Feb 8, 2026
6029fd3
💄 style: enhance sidebar transition with Vercel-style motion
Innei Feb 8, 2026
1f57d5c
🔧 chore: remove desktop download route move to cloud
Innei Feb 8, 2026
374b8ed
👷 ci: add desktop nightly release workflow
Innei Feb 9, 2026
eefb67e
🔧 chore: update ESLint configuration and dependencies
Innei Feb 9, 2026
8493e20
✅ test(desktop): fix menu accelerator tests to assert role instead of…
Innei Feb 9, 2026
2b17801
🐛 fix: add markdownToTxt alias override in vitest config
Innei Feb 9, 2026
96627b9
chore: fix lint
Innei Feb 9, 2026
9267013
fix: correct type assertion in ConfigGroupModal and update import pat…
Innei Feb 9, 2026
4dc6de6
fix lint
arvinxx Feb 11, 2026
0685069
test: increase timeout for API_AUDIENCE and createOIDCProvider tests …
Innei Feb 11, 2026
0fbb152
chore: update ESLint suppressions with new rules and counts for vario…
Innei Feb 11, 2026
dd47356
🔨 chore: add auto-tag release workflow and interactive release script…
Innei Feb 11, 2026
06440f2
style(nav-panel): simplify motion variants and update type import
Innei Feb 9, 2026
b40fd34
♻️ refactor: replace window.open interception with setWindowOpenHandl…
Innei Feb 10, 2026
8e2009d
♻️ refactor: replace inline stopPropagation/preventDefault with @lobe…
Innei Feb 10, 2026
9db344f
✨ feat: enhance ToolItem and ToolsList components with improved text …
Innei Feb 10, 2026
6016299
🔧 fix: update onSave handler in PageEditor to use passed function ins…
Innei Feb 10, 2026
a33cf6c
update
Innei Feb 10, 2026
1fc833b
🐛 fix: filter stdio MCP tools on web environment (#12235)
Innei Feb 10, 2026
01f927b
🔧 fix: update pre-commit hook to conditionally run type-check on dev …
Innei Feb 10, 2026
047c1ee
fix: accordion action opacity
Innei Feb 10, 2026
6ad1edd
🔧 chore(release): prepare release v2.1.27
Innei Feb 11, 2026
59fb5a7
🔧 fix: update PR build workflows to trigger on release branches (#12249)
Innei Feb 11, 2026
7d19102
🔧 chore: remove unused ESLint suppression for anonymous default expor…
Innei Feb 11, 2026
089ffbe
🐛 fix: correct import path for defaultSecurityBlacklist test (#12255)
Innei Feb 11, 2026
b225820
🚀 release: v2.1.27 (#12248)
arvinxx Feb 11, 2026
d7d186d
🔧 chore(release): bump version to v2.1.27 [skip ci]
lobehubbot Feb 11, 2026
6eee83a
♻️ refactor: imporve agent builder prompt (#12259)
ONLY-yours Feb 11, 2026
9c09160
chore: update sync main to canary workflow
rdmclin2 Feb 11, 2026
e6596e9
🔨 chore: update sync main to canary script (#12264)
arvinxx Feb 11, 2026
5a8911b
🐛 fix: update @lobehub/ui version and refactor dynamic import handlin…
Innei Feb 11, 2026
0acaf01
🐛 chore(hotfix): bump version to v2.1.28 [skip ci]
lobehubbot Feb 11, 2026
d225da9
chore: update secrets token
rdmclin2 Feb 11, 2026
823aa29
Sync main branch to canary branch (#12267)
lobehubbot Feb 11, 2026
0e42ca5
🐛 fix: improve GitHub Copilot auth retry logic (#12250)
Innei Feb 12, 2026
79e146f
🐛 fix: improve RunCommand copy button visibility and ActionBar border…
Innei Feb 12, 2026
2bf0a08
✨ feat: support model detail dropdown (#12275)
rdmclin2 Feb 12, 2026
12d0ec2
fix: setting response error and other bugs (#12265)
rdmclin2 Feb 12, 2026
1bfeeea
🔧 chore: always run E2E tests on main and canary branches (#12268)
arvinxx Feb 12, 2026
e51fbba
✨ feat: redesign Copilot ChatInput with compact action bar layout (#1…
Innei Feb 12, 2026
bbbe3a8
feat: add banner (#12258)
rivertwilight Feb 12, 2026
c11d6de
🔧 build: add canary desktop release workflow (#12286)
Innei Feb 12, 2026
2d1eec4
✨ feat(desktop): configure DMG background image (#12284)
Innei Feb 12, 2026
9a9147c
✨ feat: support image upload in editor with desktop file picker (#12285)
Innei Feb 12, 2026
e112cd6
🗃️ db: add video generation schema changes
tjx666 Feb 13, 2026
d4f72eb
🐛 fix: add missing inferenceId and type fields in test mocks
tjx666 Feb 13, 2026
f12d9fb
🔒 fix: upgrade next-mdx-remote to v6 for CVE-2026-0969 (#12296)
tjx666 Feb 13, 2026
58cf27d
🐛 fix: add the Agent Meta info back into agent advance model (#12302)
ONLY-yours Feb 13, 2026
e17bf4b
Merge remote-tracking branch 'origin/main' into canary
Innei Feb 13, 2026
cfaa911
🔧 ci: add commit prefix gate for hotfix auto-tag (#12304)
Innei Feb 13, 2026
1b905ed
Sync main branch to canary branch (#12297)
Innei Feb 13, 2026
12dc7f9
👷 build: add video generation schema changes (#12293)
tjx666 Feb 13, 2026
baf0b56
🔧 ci: optimize sync-main-to-canary to merge directly when no conflict…
Innei Feb 13, 2026
2ee46b8
Sync main branch to canary branch (#12308)
arvinxx Feb 13, 2026
f46916a
✨ feat(desktop): integrate electron-liquid-glass for macOS Tahoe (#12…
Innei Feb 13, 2026
5ec8994
🐛 fix: bump lobehub/ui and fix workflow (#12313)
Innei Feb 14, 2026
2292008
🐛 chore(hotfix): bump version to v2.1.29 [skip ci]
lobehubbot Feb 14, 2026
7bad876
🐛 fix: slove the execAgent task run error & parse crash problem (#12318)
ONLY-yours Feb 14, 2026
4877133
🔨 chore(userMemories): support to auto calculate the timeout of the m…
nekomeowww Feb 14, 2026
bde1503
🔨 chore(memory-user-memory): support effort & tool permission for con…
nekomeowww Feb 14, 2026
7efcdd2
🐛 fix: resolve tooltip z-index stacking context in ModelSwitchPanel (…
Innei Feb 14, 2026
53e4228
🐛 fix: hotfix v2.1.30 (#12321)
Innei Feb 14, 2026
b767a66
🐛 chore(hotfix): bump version to v2.1.30 [skip ci]
lobehubbot Feb 14, 2026
abe4c96
✨ feat: add video generation feature
tjx666 Feb 13, 2026
57772d1
🐛 fix: add videoGeneration pricing unit and clean up all asset files …
tjx666 Feb 14, 2026
661f1a8
♻️ refactor: improve video generation webhook and type safety
tjx666 Feb 14, 2026
fcf2444
✨ feat: add eval method to RedisClient for Lua script execution
tjx666 Feb 14, 2026
8f2e72d
🐛 fix: update generationBatch tests to match filesToDelete refactor
tjx666 Feb 14, 2026
6002863
✨ feat: add video free quota query endpoint and UI stub
tjx666 Feb 14, 2026
06d65e9
🙈 chore: hide Seedance 2.0 entry from home starter list
tjx666 Feb 14, 2026
6e2ef05
✨ feat: support new badge on sidebar nav items and enable for video
tjx666 Feb 14, 2026
3fbc46b
🔒 feat: add webhook token verification for video generation callbacks
tjx666 Feb 14, 2026
85d5bc9
♻️ refactor: add model parameter to video free quota query
tjx666 Feb 14, 2026
7397d6f
🐛 fix: add type assertion for prechargeResult in video webhook route
tjx666 Feb 14, 2026
43820ee
🐛 fix: improve video generation security and type safety
tjx666 Feb 14, 2026
212348e
🐛 fix: refund precharge when video task submission fails
tjx666 Feb 14, 2026
d5b1ff2
🔧 chore: revert locales/ changes and remove unused locale key
tjx666 Feb 14, 2026
916d484
🔒 chore: hide video nav entry behind enableBusinessFeatures flag
tjx666 Feb 14, 2026
67875bd
✨ feat: add skeleton loading screen for video topic switching
tjx666 Feb 14, 2026
e804773
🌐 chore: translate non-English comments to English in lobehub-skill-s…
lobehubbot Feb 14, 2026
03bda41
chore(ci): add workflows permission to sync-main-to-canary (#12337)
arvinxx Feb 14, 2026
927fe3f
ci: fix sync workflow by using PAT for checkout (#12338)
arvinxx Feb 14, 2026
6419fd3
🔧 chore: revert some lint config
tjx666 Feb 15, 2026
82f9cb4
🔨 chore: add video generation feature (#12312)
tjx666 Feb 15, 2026
2a23fb9
🐛 fix: prevent stale topic ID from persisting in URL on remount
tjx666 Feb 15, 2026
d8c3ef3
🌐 chore: generate latest i18n locales
tjx666 Feb 15, 2026
448cfb2
🐛 fix: prevent stale topic ID from persisting in URL on remount (#12341)
tjx666 Feb 15, 2026
b4bd5b2
Merge remote-tracking branch 'origin/main' into sync/main-to-canary-2…
Innei Feb 15, 2026
1529f31
ci: sync workflow for main to canary branch
Innei Feb 15, 2026
398d8b7
Sync main branch to canary branch (#12339)
arvinxx Feb 15, 2026
918d048
✨ feat: pass latency to chargeAfterGenerate for video generation metrics
tjx666 Feb 15, 2026
335e246
✅ test: add unit tests for video generation feature
tjx666 Feb 15, 2026
5957bd4
🐛 fix: use prompt as video file name instead of generation id
tjx666 Feb 15, 2026
8719354
🐛 fix: use batch config for computePriceParams instead of webhook result
tjx666 Feb 15, 2026
481e5c0
🐛 fix: sanitize prompt for video file name to prevent path traversal
tjx666 Feb 15, 2026
0abde16
🐛 fix: extract sanitizeFileName util to prevent path traversal in gen…
tjx666 Feb 15, 2026
ed076b3
✅ test: add unit tests for sanitizeFileName utility
tjx666 Feb 15, 2026
7df81ff
🐛 fix: add sanitizeFileName alias to vitest config for test resolution
tjx666 Feb 15, 2026
f4bd332
🐛 fix: use batch config for computePriceParams and pass latency (#12348)
tjx666 Feb 15, 2026
502d94b
💄 style: add new MiniMax-M2.5 model (#12289)
sxjeru Feb 15, 2026
c1916a1
Merge remote-tracking branch 'origin/main' into canary
lobehubbot Feb 15, 2026
d2a042c
🐛 fix: scroll ChatInput into view when starter mode activates (#12334)
arvinxx Feb 15, 2026
b43cbae
🐛 fix: remove isDesktop guard from client fetch switch visibility (#1…
Innei Feb 15, 2026
8b0d1ec
👷 ci: improve canary versioning to patch+1 sequential numbering (#12347)
Innei Feb 15, 2026
3f432a4
🐛 fix(ci): use `pull_request_target` to support fork PR secrets (#12350)
arvinxx Feb 16, 2026
abbf53f
Merge remote-tracking branch 'origin/main' into canary
lobehubbot Feb 16, 2026
b3e87f6
♻️ refactor: replace per-item Editing components with singleton Editi…
Innei Feb 16, 2026
8db783b
🔨 chore: add MiniMax 2.5 (#12345)
AmAzing129 Feb 16, 2026
1f1c49f
🐛 fix(tool-ui): fix icon margin and text overflow in FilePathDisplay …
Innei Feb 16, 2026
f91acfc
✨ feat(model-bank): lobehub provider add Claude Sonnet 4.6 support (#…
tjx666 Feb 18, 2026
38e1adb
🌐 chore: add i18n translations for Claude Sonnet 4.6 (#12374)
tjx666 Feb 18, 2026
d9f91fc
Update qwen.ts
hezhijie0327 Jan 22, 2026
989223b
✨ feat: add Qwen image2image endpoint support and refactor image gene…
hezhijie0327 Jan 22, 2026
bf9df04
✨ feat: add model routing logic with multimodal-generation as default
hezhijie0327 Jan 22, 2026
0aea1b0
✨ feat: update Qwen image models info and code formatting
hezhijie0327 Jan 22, 2026
6f08c30
chore: minor code
hezhijie0327 Jan 22, 2026
9312298
✨ feat: support t2i mode in multimodal-generation endpoint
hezhijie0327 Jan 22, 2026
5f10ede
sytle: add i2i models
hezhijie0327 Jan 22, 2026
f018a7b
sytle: update default models
hezhijie0327 Jan 22, 2026
86624e8
✨ feat: improve error messages with model names for better debugging
hezhijie0327 Jan 22, 2026
763352c
chore: apply some suggestion (1,4,6)
hezhijie0327 Feb 11, 2026
5d7ee01
fix: fix edit & i2i models input muti-images
hezhijie0327 Feb 11, 2026
4a29904
chore: add imageUrl & imageUrls input validation (apply suggestion 3)
hezhijie0327 Feb 11, 2026
ea951b7
style: fix height & weight range (apply suggestion 5)
hezhijie0327 Feb 11, 2026
4fba491
fix: fix `multimodal-generation` I2I calling
hezhijie0327 Feb 11, 2026
6a4118c
feat: support switch dashscope URL based on baseURL
hezhijie0327 Feb 11, 2026
9766d20
fix: fix some bugs
hezhijie0327 Feb 18, 2026
a96a557
fix: force fix style
hezhijie0327 Feb 18, 2026
5030177
🌐 chore: translate non-English comments to English in apps/desktop/sr…
lobehubbot Feb 18, 2026
949873a
🐛 fix(docker): Fix the issue of missing `@napi-rs/canvas` platform na…
eaten-cake Feb 18, 2026
1e20ede
🌐 chore: translate non-English comments to English in plugin slice (#…
lobehubbot Feb 18, 2026
a0c4baf
🌐 chore: translate non-English comments to English in src/libs (#12353)
lobehubbot Feb 18, 2026
e512344
✨ feat: Add new provider Straico (#12219)
sxjeru Feb 19, 2026
e28593c
✨ feat: add Gemini 3.1 Pro Preview model support (#12391)
tjx666 Feb 20, 2026
a9d9e7a
🐛 fix: correct mobile header agent selector and topic count (#12204)
Zhouguanyang Feb 20, 2026
bb2d760
💄 style: support more Qwen i2i & t2i models (#11708)
tjx666 Feb 20, 2026
8310c57
Merge remote-tracking branch 'origin/main' into canary
lobehubbot Feb 20, 2026
d8b9478
🐛 chore(hotfix): bump version to v2.1.31 [skip ci]
lobehubbot Feb 20, 2026
b155656
👷 build: add benchmark db schema (#12402)
arvinxx Feb 20, 2026
870638e
Merge remote-tracking branch 'origin/main' into canary
lobehubbot Feb 20, 2026
0674eee
🐛 fix: fix qwen3 embedding error due to batch size limitation (#12382)
hezhijie0327 Feb 20, 2026
5475188
💄 style: add Gemini 3.1 Pro Preview model (#12392)
sxjeru Feb 21, 2026
b799c98
🐛 fix(mcp): fix double APP_URL prefix in image/audio content URLs (#1…
Coooolfan Feb 21, 2026
1e506c5
💄 style: add `qwen3.5` series support (#12364)
hezhijie0327 Feb 21, 2026
086dd15
💄 style: add Claude Sonnet 4.6 model and enhance adaptive thinking lo…
sxjeru Feb 21, 2026
ed4c5d1
✅ test: add unit tests for QueueService.calculateDelay (#12356)
lobehubbot Feb 21, 2026
4260474
👷 build: add build prefix to auto-tag release trigger (#12406)
arvinxx Feb 21, 2026
cc926f2
Merge remote-tracking branch 'origin/main' into canary
lobehubbot Feb 21, 2026
7a1e2b6
👷 chore: enable consistent-type-imports ESLint rule (#12399)
tjx666 Feb 21, 2026
ef474af
✨ feat(nvidia): add new models and simplify payload handling for NVID…
hardy-one Feb 21, 2026
cb688b6
🐛 chore(hotfix): bump version to v2.1.32 [skip ci]
lobehubbot Feb 21, 2026
e32a2fb
🌐 chore: translate non-English comments to English in src/libs/oidc-p…
lobehubbot Feb 21, 2026
9b692c2
♻️ chore(ci): remove unnecessary fetch-depth: 0 from workflows (#12403)
Innei Feb 21, 2026
c228056
💄 style: add `grok-imagine-image` series support via Grok Imagine API…
hezhijie0327 Feb 21, 2026
e7598fe
✨ feat: support agent benchmark (#12355)
arvinxx Feb 21, 2026
508c3ae
Merge branch 'main' into codex/merge-main-into-canary-20260221
arvinxx Feb 21, 2026
093af98
chore: merge main into canary (#12419)
arvinxx Feb 21, 2026
84ecc1e
🚀 release 20260221 (#12420)
arvinxx Feb 21, 2026
4d1508e
👷 build: update auto tag release (#12421)
arvinxx Feb 21, 2026
ef0e4a6
🐛 chore(hotfix): bump version to v2.1.33 [skip ci]
lobehubbot Feb 21, 2026
01e1395
🌐 chore: translate non-English comments to English in src/features/Co…
lobehubbot Feb 21, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
92 changes: 92 additions & 0 deletions .agents/skills/add-provider-doc/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
---
name: add-provider-doc
description: Guide for adding new AI provider documentation. Use when adding documentation for a new AI provider (like OpenAI, Anthropic, etc.), including usage docs, environment variables, Docker config, and image resources. Triggers on provider documentation tasks.
---

# Adding New AI Provider Documentation

Complete workflow for adding documentation for a new AI provider.

## Overview

1. Create usage documentation (EN + CN)
2. Add environment variable documentation (EN + CN)
3. Update Docker configuration files
4. Update .env.example
5. Prepare image resources

## Step 1: Create Provider Usage Documentation

### Required Files

- `docs/usage/providers/{provider-name}.mdx` (English)
- `docs/usage/providers/{provider-name}.zh-CN.mdx` (Chinese)

### Key Requirements

- 5-6 screenshots showing the process
- Cover image for the provider
- Real registration and dashboard URLs
- Pricing information callout
- **Never include real API keys** - use placeholders

Reference: `docs/usage/providers/fal.mdx`

## Step 2: Update Environment Variables Documentation

### Files to Update

- `docs/self-hosting/environment-variables/model-provider.mdx` (EN)
- `docs/self-hosting/environment-variables/model-provider.zh-CN.mdx` (CN)

### Content Format

```markdown
### `{PROVIDER}_API_KEY`

- Type: Required
- Description: API key from {Provider Name}
- Example: `{api-key-format}`

### `{PROVIDER}_MODEL_LIST`

- Type: Optional
- Description: Control model list. Use `+` to add, `-` to hide
- Example: `-all,+model-1,+model-2=Display Name`
```

## Step 3: Update Docker Files

Update all Dockerfiles at the **end** of ENV section:

- `Dockerfile`
- `Dockerfile.database`
- `Dockerfile.pglite`

```dockerfile
# {New Provider}
{PROVIDER}_API_KEY="" {PROVIDER}_MODEL_LIST=""
```

## Step 4: Update .env.example

```bash
### {Provider Name} ###
# {PROVIDER}_API_KEY={prefix}-xxxxxxxx
```

## Step 5: Image Resources

- Cover image
- 3-4 API dashboard screenshots
- 2-3 LobeChat configuration screenshots
- Host on LobeHub CDN: `hub-apac-1.lobeobjects.space`

## Checklist

- [ ] EN + CN usage docs
- [ ] EN + CN env var docs
- [ ] All 3 Dockerfiles updated
- [ ] .env.example updated
- [ ] All images prepared
- [ ] No real API keys in docs
106 changes: 106 additions & 0 deletions .agents/skills/add-setting-env/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
---
name: add-setting-env
description: Guide for adding environment variables to configure user settings. Use when implementing server-side environment variables that control default values for user settings. Triggers on env var configuration or setting default value tasks.
---

# Adding Environment Variable for User Settings

Add server-side environment variables to configure default values for user settings.

**Priority**: User Custom > Server Env Var > Hardcoded Default

## Steps

### 1. Define Environment Variable

Create `src/envs/<domain>.ts`:

```typescript
import { createEnv } from '@t3-oss/env-nextjs';
import { z } from 'zod';

export const get<Domain>Config = () => {
return createEnv({
server: {
YOUR_ENV_VAR: z.coerce.number().min(MIN).max(MAX).optional(),
},
runtimeEnv: {
YOUR_ENV_VAR: process.env.YOUR_ENV_VAR,
},
});
};

export const <domain>Env = get<Domain>Config();
```

### 2. Update Type (if new domain)

Add to `packages/types/src/serverConfig.ts`:

```typescript
import { User<Domain>Config } from './user/settings';

export interface GlobalServerConfig {
<domain>?: PartialDeep<User<Domain>Config>;
}
```

**Prefer reusing existing types** from `packages/types/src/user/settings`.

### 3. Assemble Server Config (if new domain)

In `src/server/globalConfig/index.ts`:

```typescript
import { <domain>Env } from '@/envs/<domain>';

export const getServerGlobalConfig = async () => {
const config: GlobalServerConfig = {
<domain>: cleanObject({
<settingName>: <domain>Env.YOUR_ENV_VAR,
}),
};
return config;
};
```

### 4. Merge to User Store (if new domain)

In `src/store/user/slices/common/action.ts`:

```typescript
const serverSettings: PartialDeep<UserSettings> = {
<domain>: serverConfig.<domain>,
};
```

### 5. Update .env.example

```bash
# <Description> (range/options, default: X)
# YOUR_ENV_VAR=<example>
```

### 6. Update Documentation

- `docs/self-hosting/environment-variables/basic.mdx` (EN)
- `docs/self-hosting/environment-variables/basic.zh-CN.mdx` (CN)

## Example: AI_IMAGE_DEFAULT_IMAGE_NUM

```typescript
// src/envs/image.ts
AI_IMAGE_DEFAULT_IMAGE_NUM: z.coerce.number().min(1).max(20).optional(),

// packages/types/src/serverConfig.ts
image?: PartialDeep<UserImageConfig>;

// src/server/globalConfig/index.ts
image: cleanObject({ defaultImageNum: imageEnv.AI_IMAGE_DEFAULT_IMAGE_NUM }),

// src/store/user/slices/common/action.ts
image: serverConfig.image,

// .env.example
# AI_IMAGE_DEFAULT_IMAGE_NUM=4
```
Loading