Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
4388 commits
Select commit Hold shift + click to select a range
8c0e66b
✨ feat(agent-runtime): persist `ERROR_CODE_SPECS` classification on o…
arvinxx May 27, 2026
b4b1205
♻️ refactor(modal): migrate confirm modals to @lobehub/ui/base-ui (Ph…
Innei May 27, 2026
4c29515
♻️ refactor(locales): split model-runtime errors into modelRuntime na…
arvinxx May 28, 2026
651d1a2
Revert "✨ feat(desktop): support cloud desktop builds (#14498)"
arvinxx May 28, 2026
3e4b81d
✨ chore(channel): register iMessage platform with coming-soon UI gate…
arvinxx May 28, 2026
bcf97d9
💄 style: add DeepSeek V4 Pro to SiliconCloud model list (#15267)
AnotiaWang May 28, 2026
9cc5f9e
✨ feat(model-runtime): classify Cloud-only error codes via numericId …
arvinxx May 28, 2026
8aa075c
✨ feat(model-runtime): add DatabasePersistError code for failed DB qu…
arvinxx May 28, 2026
8949e89
♻️ refactor(agent): run client sub-agent as a normal tool call (#15281)
arvinxx May 28, 2026
403de53
🐛 fix: improve Google image error handling (#15285)
tjx666 May 28, 2026
5e2ef88
🐛 fix(conversation-flow): prevent infinite recursion in assistant cha…
arvinxx May 28, 2026
8459852
🐛 fix(chat-input): keep input mounted while intervention panel is sho…
Innei May 28, 2026
980c2e7
🐛 fix(desktop): expand ~ when opening local files and folders (#15284)
Innei May 28, 2026
1024ee9
🐛 fix(cc-adapter): emit reasoning chunk before text in batch mode (#1…
ONLY-yours May 28, 2026
1b74566
✨ feat(model-runtime): split ProviderBizError into finer codes + recl…
arvinxx May 28, 2026
a7f3811
♻️ refactor(bot): slim iMessage setup schema to user-edited fields (#…
arvinxx May 28, 2026
caa7905
🔨 feat(db): batch topic usage stats, push tokens, tasks editor_data &…
arvinxx May 28, 2026
41172a6
🐛 fix: resolve file access urls via file service (#15295)
tjx666 May 28, 2026
47daf09
Revert "🐛 fix: resolve file access urls via file service (#15295)"
arvinxx May 28, 2026
109545c
✨ feat(desktop): show zoom level HUD on Cmd+/- and Cmd+0 (#15294)
Innei May 28, 2026
6d94635
✨ feat(bot): add iMessage Desktop setup and bridge (#15228)
arvinxx May 28, 2026
671b252
✨ feat(device): device registry TRPC (register / list / update / remo…
arvinxx May 28, 2026
9945cec
✨ feat(portal): editable CodeMirror viewer for LocalFile + Document h…
Innei May 28, 2026
234c87d
🐛 fix: restore file access URL policy (#15305)
tjx666 May 28, 2026
2194b23
🐛 fix: show artifact source while streaming (#15310)
tjx666 May 28, 2026
65113ca
✨ feat(kb): extend BM25 search to file-backed documents (#15247)
Innei May 28, 2026
15cb3be
🐛 fix(conversation): keep open ActionBar popup when hovering another …
Innei May 28, 2026
f042dd3
✨ feat: support Claude Opus 4.8 (#15314)
tjx666 May 28, 2026
2657b66
✨ feat: export agent profiles as Markdown (#15312)
tjx666 May 28, 2026
21aceb6
✨ feat(settings): add Devices settings page behind Execution Device S…
arvinxx May 28, 2026
53e13ea
🚀 release: 20260528 (#15302)
arvinxx May 29, 2026
5609b63
Merge remote-tracking branch 'origin/main' into canary
lobehubbot May 29, 2026
2461709
🐛 fix(desktop): market OAuth expiry triggers wrong re-login modal (#1…
ONLY-yours May 29, 2026
049c81d
🔖 chore(release): release version v2.2.1 [skip ci]
lobehubbot May 29, 2026
94c7fa4
✨ chore(device): add `@lobechat/device-identity` (#15321)
arvinxx May 29, 2026
4248766
🐛 fix(scripts): kill dev child processes on parent shutdown (#15246)
Innei May 29, 2026
50d7b12
🐛 fix: stop transliterating model names in home starter (#15324)
tjx666 May 29, 2026
dc3186a
🐛 fix: preserve empty agent prompt export (#15316)
tjx666 May 29, 2026
063fa61
✨ feat(device): connectionId + channel routing in gateway client & de…
arvinxx May 29, 2026
0139c05
⬆️ chore: update @lobehub/ui to v5.15.5 (#15325)
Innei May 29, 2026
6c58af9
🐛 fix(desktop): upload .blockmap files to S3 for differential updates…
Innei May 29, 2026
1736faf
📝 docs(spa-routes): document .desktop.{ts,tsx} variant pattern (#15327)
Innei May 29, 2026
22c264b
✨ feat(page-share): add document share flow with business slot stubs …
Innei May 29, 2026
1c3e973
🐛 fix(library): refresh folder data on slug switch and dedupe breadcr…
Innei May 30, 2026
e1fe379
feat(cli): add `lh topic view` command (#15340)
arvinxx May 30, 2026
a9d74bb
chore: remove LOBE-XXX auto-link pattern from WelcomeText (#15336)
arvinxx May 30, 2026
c27b62e
💄 style(imessage): wrap BlueBubbles bridge config into a connection c…
arvinxx May 30, 2026
3caa3ef
✨ feat(device): auto-register desktop & CLI devices with stable machi…
arvinxx May 30, 2026
373b5e9
✨ style(device): run remote CC on a configured device (#15343)
arvinxx May 31, 2026
27121a6
💄 style: add `step-3.7-flash` support (#15317)
hezhijie0327 May 31, 2026
e4d5017
✨ feat(device): add recent directory management with drag-to-reorder …
arvinxx May 31, 2026
4bc77fc
🐛 fix(creds): replace hardcoded session_context values with template …
ONLY-yours May 31, 2026
45a6f2b
🐛 fix(agent-runtime): retry empty LLM completions instead of silent d…
arvinxx May 31, 2026
480f6a8
✨ feat(task): support file & image attachments (#15141)
sudongyuer May 31, 2026
7989952
✨ feat(agent-signal): add CLI trigger command + golden snapshot fixtu…
arvinxx May 31, 2026
d75e193
💄 style: add `intern-s2-preview` support, support `thinking_mode` (#1…
hezhijie0327 May 31, 2026
d382df1
♻️ refactor(agent-runtime): persist canonical nested usage/performanc…
arvinxx May 31, 2026
4d840e9
✨ feat(push): add PushChannel, receipt cron, and pushToken tRPC API (…
sudongyuer May 31, 2026
f71be63
📝 docs: add May 26 weekly changelog (#15183)
rivertwilight Jun 1, 2026
e0ead38
♻️ refactor(agent-signal): restore 3 mode-specific self-iteration age…
arvinxx Jun 1, 2026
58c671b
🐛 fix(agent-builder): explicitly sync editing agent ID to chatStore (…
ONLY-yours Jun 1, 2026
7d1086b
🐛 fix(remote-device): preserve content/state across gateway tool call…
arvinxx Jun 1, 2026
e1d6b30
🐛 fix(desktop): relocate visual-ref helpers to @lobechat/const to fix…
arvinxx Jun 1, 2026
650a178
✨ feat(agent-signal): register self-iteration builtin tool package (#…
arvinxx Jun 1, 2026
c3f91f1
✨ feat(database): maintain denormalized topic usage/cost rollup from …
arvinxx Jun 1, 2026
cf5ec7b
✅ test(hetero-agent): use canonical usage fields in persistence fixtu…
arvinxx Jun 1, 2026
e14f2e9
🐛 fix(cli): auto-register device on login, matching desktop (#15377)
arvinxx Jun 1, 2026
818e67d
🐛 fix(gateway): prevent duplicate streaming from stale reconnects (#1…
ONLY-yours Jun 1, 2026
21a73b2
✨ feat: support MiniMax M3 Anthropic video runtime (#15380)
tjx666 Jun 1, 2026
56ce192
🐛 fix: default provider setup in business mode (#15379)
tjx666 Jun 1, 2026
4d030e9
🐛 fix(agent-manager): guard createAgent against LLM double-encoded ar…
ONLY-yours Jun 1, 2026
c50d790
🔨 chore: pin Vitest 3.2.4 (#15383)
tjx666 Jun 1, 2026
5f0fa7b
🐛 fix: block disabling official provider (#15382)
tjx666 Jun 1, 2026
dda5279
✨ feat: support configurable model routing and starters (#15384)
tjx666 Jun 1, 2026
c809659
✨ feat(topic): add group-by-status mode to topic sidebar (#15366)
arvinxx Jun 1, 2026
80c11a0
🐛 fix: stabilize home starter loading (#15386)
tjx666 Jun 1, 2026
fd82f6f
🐛 fix: add restore subscription copy (#15388)
tjx666 Jun 1, 2026
5b25b8d
⚡️ perf: skip user count on api key checks (#15385)
cy948 Jun 1, 2026
1e8b595
♻️ refactor(topic): drop legacy session→agentId compatibility from to…
arvinxx Jun 1, 2026
3e51b87
💄 style(sidebar): group spacer with recents and agents (#15373)
Innei Jun 1, 2026
5119c08
🐛 fix(topic): strip markdown tokens from fallback titles (#15372)
Innei Jun 1, 2026
d2e4833
🐛 fix(chat-input): close skill dropdown before navigating to settings…
Innei Jun 1, 2026
73dd0ef
🔖 chore(cli): bump @lobehub/cli to 0.0.24 (#15393)
arvinxx Jun 1, 2026
09a57d4
🐛 fix: clarify local command session handling (#15389)
cy948 Jun 1, 2026
0208c0a
🐛 fix(chat-input): restore editor focus after file picker closes (#15…
Innei Jun 1, 2026
37db828
♻️ refactor(modal): convert feedback & changelog modals to base-ui im…
Innei Jun 1, 2026
c9ca46e
chore: remove LOBE-XXX annotations from code comments (#15398)
arvinxx Jun 2, 2026
4e91a31
♻️ refactor(modal): convert create custom model modal to base-ui impe…
Innei Jun 2, 2026
857aaf4
✨ feat(chat-input): show execution-device switcher for all agents (#1…
ONLY-yours Jun 2, 2026
66c9339
fix(desktop): resolve CLI tools from shell PATH (#15368)
qybaihe Jun 2, 2026
d1a6ffa
🔨 chore: tighten skill descriptions for triggering (#15397)
tjx666 Jun 2, 2026
ccf33e8
🐛 fix(agent-runtime): classify topic/agent/session FK violations as C…
arvinxx Jun 2, 2026
cbc2590
📝 docs: add Codex & Claude Code agent guides; merge image+video gener…
rivertwilight Jun 2, 2026
0c3450d
✅ test(model-runtime): classify ollamacloud "context window exceeds l…
arvinxx Jun 2, 2026
359b348
✨ feat(agent-builder): add skill priority instruction and server runt…
ONLY-yours Jun 2, 2026
8dee729
✨ feat: add storage pay-as-you-go stubs and locale keys (#13501)
tjx666 Jun 2, 2026
f9eb48f
✨ feat: add limited offer & original price locale keys for top-up (#1…
tjx666 Jun 2, 2026
13ce3c5
♻️ refactor: migrate modals to @lobehub/ui/base-ui (LOBE-9711 + eval …
Innei Jun 2, 2026
2eb9e34
✨ feat(stats): add daily token-usage mode to activity heatmap (#15417)
arvinxx Jun 2, 2026
89c55bf
💄 style(service-model): polish form layout & migrate Switch to base-u…
Innei Jun 3, 2026
1ce4e02
🐛 fix(const): point CHANGELOG_URL to /changelog (#15428)
AmAzing129 Jun 3, 2026
41bccc4
chore: remove LOBE-XXX markers from code comments (#15422)
arvinxx Jun 3, 2026
a5ab99f
📝 docs: add agent code style guidance (#15434)
tjx666 Jun 3, 2026
dd2e32c
💄 style: Add new MiniMax-M3 model (#15403)
sxjeru Jun 3, 2026
d9673c3
♻️ refactor(agent-signal): execAgent migration — serverRuntime bridge…
arvinxx Jun 3, 2026
7a93df9
⚡️ perf(device): preset local device on first LLM request for 本机 targ…
arvinxx Jun 3, 2026
2fb0970
💄 style(stats): add token-usage mode to activity heatmap (#15425)
arvinxx Jun 3, 2026
2a4b6e4
🐛 fix(agent-doc): default new files to .md and preserve IME compositi…
Innei Jun 3, 2026
d81e5e7
✨ feat(remote-device): add client renders for device tool results (#1…
arvinxx Jun 3, 2026
fd3c6cf
🐛 fix(ui): restructure confirmModal title and content across deletion…
Innei Jun 3, 2026
5761d20
✨ feat(db): add workspace and agent share table (#15439)
arvinxx Jun 3, 2026
643ad16
🐛 fix(github): render runCommand tool result card (#15441)
arvinxx Jun 3, 2026
a3a08c2
🐛 fix(chat): re-link orphan tool messages at the raw bucket write bou…
arvinxx Jun 3, 2026
72ea0f9
🐛 fix(cli): preserve content/state for connect local file/shell tools…
arvinxx Jun 3, 2026
54e1b59
✨ feat(agent-management): paginate searchAgent with real totals + wir…
AmAzing129 Jun 4, 2026
6532cd1
🚀 release: 20260604 (#15447)
arvinxx Jun 4, 2026
d3eebd3
Merge remote-tracking branch 'origin/main' into canary
lobehubbot Jun 4, 2026
248a4dc
🔖 chore(release): release version v2.2.2 [skip ci]
lobehubbot Jun 4, 2026
951561f
⚡️ perf(database): add optional statement_timeout to server DB connec…
arvinxx Jun 4, 2026
7f3f127
✨ feat(prompts): use XML format for topic title generation to improve…
hardy-one Jun 4, 2026
e8b914f
♻️ refactor(agent-signal): S6 — migrate skillManagement to execAgent …
arvinxx Jun 4, 2026
133675a
🗃️ db(database): add `workspace_id` columns to existing tables (#15446)
arvinxx Jun 4, 2026
475f391
♻️ refactor(message): prefer dedicated usage column over metadata.usa…
arvinxx Jun 4, 2026
1e2c1aa
🗃️ build(database): add workspace_id FK constraints (#15465)
arvinxx Jun 4, 2026
bab3ff4
🐛 fix: reduce agent document context latency (#15436)
tjx666 Jun 4, 2026
e165b64
📝 docs: clarify drizzle raw sql guidance (#15467)
tjx666 Jun 4, 2026
b9fbad7
♻️ refactor(ai-chat): remove simple turn fast path (#15471)
tjx666 Jun 4, 2026
f35f984
✨ feat(gateway): tunnel stdio MCP tool calls to the device (#15469)
arvinxx Jun 4, 2026
8f19fde
🗃️ build(database): add `workspace_id` indexes (#15468)
arvinxx Jun 4, 2026
92ec067
fix: prefer INTERNAL_APP_URL for ComfyUI server calls (#15387)
xujingli Jun 4, 2026
2bb39f4
✨ feat(gateway): add explicit type discriminator to tunneled tool cal…
arvinxx Jun 4, 2026
ed47d9e
🗃️ build(database): migrate unique constraints to workspace scope (#1…
arvinxx Jun 4, 2026
537c39f
💄 style(chat-input): rework Plus menu with toggle switches and groupe…
rivertwilight Jun 4, 2026
b7e2663
♻️ refactor: expose email harmony options slot (#15477)
tjx666 Jun 4, 2026
cd171d3
🐛 fix: bypass audits for headless tool calls (#15406)
cy948 Jun 4, 2026
f77f31e
🔨 chore(database): re-tighten getBuiltinAgent onConflict after 0109 (…
arvinxx Jun 4, 2026
f7c46a3
✨feat(opencode-go) add MiniMax M3, remove deprecated models, rework m…
hardy-one Jun 4, 2026
f5d78d3
✨ feat(device): switch device cwd handling to structured workingDirs …
arvinxx Jun 4, 2026
25635dd
✨ feat(task): auto-ensure qstash schedule for task system (#14771)
hezhijie0327 Jun 4, 2026
65ba086
🐛 fix(agent-documents): render system docs in editor (#15462)
Innei Jun 5, 2026
95a0cf1
🐛 fix: handle runtime request errors (#15478)
tjx666 Jun 5, 2026
2b9f08a
🐛 fix: timeout Market connection listing (#15487)
tjx666 Jun 5, 2026
5964409
🐛 fix: auto-run required tools in headless mode (#15492)
cy948 Jun 5, 2026
ab7cb07
🐛 fix: type errors in oidc http-adapter test breaking CI lint (#15499)
AmAzing129 Jun 5, 2026
9c4dadd
✨ feat(task-detail): replace inline comment input with ChatInput that…
arvinxx Jun 5, 2026
64b7ab2
💄 style(topic): one-click collapse/expand all topic groups (#15484)
arvinxx Jun 5, 2026
5dc769d
🐛 fix(agent-signal): attribute self-iteration run trace to reviewed a…
arvinxx Jun 5, 2026
b1ada9e
🐛 fix(conversation): hide Usage extra for local hetero agents until m…
arvinxx Jun 5, 2026
485d664
💬 style: rebrand platform agent copy to Connect Agent (#15498)
AmAzing129 Jun 6, 2026
6f5a633
✨ feat(connector): Connectors system — API-level tool permissions wit…
ONLY-yours Jun 6, 2026
32c293f
✨ feat(claude-code): add per-question custom input to askUserQuestion…
arvinxx Jun 6, 2026
ad87e43
✨ feat(agent-tracing): tool-result feedback quality analysis (tq comm…
arvinxx Jun 6, 2026
04700be
✨ feat(agent-runtime): server callSubAgent async suspend/resume (#15481)
arvinxx Jun 6, 2026
5b5794b
♻️ refactor(server): rename deviceProxy → deviceGateway (#15513)
arvinxx Jun 6, 2026
b6ae130
✨ feat(agent): auto-scan project workspace (skills + AGENTS.md) for s…
arvinxx Jun 6, 2026
7b54edc
🐛 fix(database): scope ai-infra upsert conflict targets to workspace …
rdmclin2 Jun 6, 2026
573cc5b
💄 style(desktop): move panel toggle into titlebar top-left (#15515)
arvinxx Jun 6, 2026
28f0117
💄 style(tool-ui): render ANSI escape codes in RunCommand output (#15516)
arvinxx Jun 6, 2026
e7c73bd
💄 style: support show CC subagent metrics chip (#15217)
arvinxx Jun 6, 2026
c711279
✨ feat(tools): show app-fixed tools in the chat-input Pinned section …
arvinxx Jun 7, 2026
a28fd30
✨ feat: suppport sandbox provider (#15184)
Coooolfan Jun 7, 2026
2453fc3
🐛 fix(desktop): skip browser beforeunload guard so auto-update can qu…
arvinxx Jun 7, 2026
78657d4
🐛 fix(desktop): pin electron-builder to 26.14.0 to fix broken macOS u…
arvinxx Jun 7, 2026
20cea3a
✨ feat(page-agent): execute tools server-side via HeadlessEditor (#15…
arvinxx Jun 7, 2026
ee6a74b
🗃️ feat(db): verify delivery-checker schema + ai_providers/ai_models …
arvinxx Jun 7, 2026
e855fcc
♻️ refactor(desktop): move backend URL rewrite into main process (#15…
Innei Jun 7, 2026
df72bc3
🎨 refactor(local-system): preserve ANSI escape codes in command outpu…
arvinxx Jun 7, 2026
fc0daa7
💄 style(conversation): show running indicator after a settled inline …
arvinxx Jun 7, 2026
dbf743c
✨ feat(verify): Agent Run delivery checker system (#15489)
arvinxx Jun 8, 2026
b19008e
💄 style: bring various details for better experience (#15486)
rivertwilight Jun 8, 2026
f0f8ecd
🧹 chore: clean LOBE marker comments from aiInfra schema (2026-06-08) …
arvinxx Jun 8, 2026
419aca2
🐛 fix(skill): stop OAuth connectors duplicating into the Skills tab (…
ONLY-yours Jun 8, 2026
c5c047e
🐛 fix(desktop): misc independent fixes (vite fetch cap, gateway loadi…
arvinxx Jun 8, 2026
927a79c
✨ feat(auth): preserve utm_source through the OIDC sign-in/sign-up fl…
ONLY-yours Jun 8, 2026
91588bf
📝 docs: add June 8 weekly changelog (#15537)
rivertwilight Jun 8, 2026
0ac53b4
🐛 fix(agent-runtime): capture Gemini multimodal content_part/reasonin…
arvinxx Jun 8, 2026
ee65cf2
✨ feat(connector): custom OAuth MCP connectors — onboarding, runtime …
ONLY-yours Jun 8, 2026
235a16f
✨ chore(agent): agencyConfig contract + git-over-RPC backend (#15542)
arvinxx Jun 8, 2026
a2fd98a
🐛 fix: restore file URLs in context prompts (#15549)
tjx666 Jun 8, 2026
9b19ebb
🐛 fix(desktop): unbreak dev cold-start + restore UI language across r…
Innei Jun 8, 2026
9eff025
💄 style(modal): use base-ui Button in custom modal footers (#15444)
Innei Jun 8, 2026
a75eba5
💄 style(chat-input): use compact stats footer for skill tools popover…
arvinxx Jun 8, 2026
ea3ae58
✨ feat(agent): unified per-device working directory + execution-devic…
arvinxx Jun 8, 2026
d2cd9ef
✨ feat(page-editor): enable block plugin with shared inline padding (…
Innei Jun 8, 2026
cca0145
✨ feat(heterogeneous-agents): default Codex exec to bypass approvals/…
arvinxx Jun 8, 2026
dfdf844
🐛 fix(desktop): bump node-gyp to 12.x so Windows build finds Visual S…
arvinxx Jun 8, 2026
eae47f5
✨ feat(markdown): render GitHub / Linear / external links as rich chi…
arvinxx Jun 9, 2026
337e7f2
🐛 fix(market-auth): skip auth flow when LobeChat session is missing (…
Innei Jun 9, 2026
251e2ed
✨ feat(sandbox): sync user-uploaded files into the cloud sandbox (#15…
ONLY-yours Jun 9, 2026
f5458e1
♻️ chore: replace LOBE-XXX markers with inline migration context (#15…
arvinxx Jun 9, 2026
ea246d6
✨ feat(agent): list project skills over device RPC in the sidebar (#1…
arvinxx Jun 9, 2026
3986223
🐛 fix(heterogeneous-agents): show real CLI model on remote-spawned Cl…
arvinxx Jun 9, 2026
7ad6e2a
🐛 fix(agent): make working-directory Clear actually clear legacy / de…
arvinxx Jun 9, 2026
dfb70c1
🐛 fix(skills): inject pinned skill content into the system prompt (#1…
ONLY-yours Jun 9, 2026
5dd0f0c
✨ feat: specialize Market auth modal copy per capability scene (#15569)
ONLY-yours Jun 9, 2026
0a6b02c
💄 style(topic): show error alert icon with tooltip on failed topics (…
arvinxx Jun 9, 2026
441e0c5
🐛 fix(heterogeneous-agents): refine execution target + topic sidebar …
arvinxx Jun 9, 2026
082481c
🔇 chore: silence noisy dev console logs (#15548)
tjx666 Jun 9, 2026
ccb33fa
✨ feat: workspace backend service slice (#15560)
rdmclin2 Jun 9, 2026
1ccc86e
🐛 fix(skill): consolidate add-skill button into header dropdown (#15578)
ONLY-yours Jun 9, 2026
77dbe4b
🔨 chore(google): Support External URL file input with SSRF validation…
sxjeru Jun 9, 2026
23120f2
💄 style: update referral backfill copy (#15583)
tjx666 Jun 9, 2026
434532c
🐛 fix(heterogeneous-agents): emit per-turn usage for batch-mode Claud…
arvinxx Jun 9, 2026
64d3bdb
💄 style: add preserve thinking feature for Qwen3.7 Max model (#13494)
sxjeru Jun 9, 2026
1a4005c
♻️ refactor: extract server into apps/server + root namespaces into p…
Innei Jun 9, 2026
b295265
🐛 fix(hetero): stop cross-message text duplication in server-ingest m…
arvinxx Jun 9, 2026
69cefce
🐛 fix(page-editor): align table bleed with controllers (#15588)
Innei Jun 9, 2026
adf49db
🐛 fix: activator tool discovery for cloud-sandbox and local-system (#…
ONLY-yours Jun 9, 2026
71030c6
♻️ refactor(auth): remove email harmony plugin (#15589)
tjx666 Jun 9, 2026
cdbef3f
🐛 fix(agent): resolve working directory by target device instead of l…
arvinxx Jun 9, 2026
6c6c869
🐛 fix(hetero): forward user images on regenerate so vision input isn'…
arvinxx Jun 9, 2026
3fe5b62
🐛 fix: relax clear todo intervention (#15598)
cy948 Jun 9, 2026
e692448
🔨 chore(deps): pin @lobehub/editor to stable ^4.17.1 (#15600)
Innei Jun 9, 2026
5b534f4
♻️ refactor(chat-input): rename RuntimeConfig→ControlBar, WorkingDire…
arvinxx Jun 9, 2026
ce5833c
✨ feat(file): persist image dimensions into file metadata (#15594)
arvinxx Jun 9, 2026
e01cadb
✨ feat(hetero): add --raw-dump to persist agent raw stream-json for d…
arvinxx Jun 9, 2026
84a7b5c
📝 docs(agents): replace device-gateway with server in apps tree (#15606)
arvinxx Jun 9, 2026
af3f0ea
🐛 fix(desktop): preserve Error cause across IPC so renderer sees real…
arvinxx Jun 9, 2026
aa46864
♻️ refactor(lobe-agent): remove callSubAgents in favor of parallel ca…
arvinxx Jun 9, 2026
4b5e001
🐛 fix(server): restore sub-agent forking in QStash step worker (#15609)
arvinxx Jun 9, 2026
c329696
🐛 fix(hetero): chain step boundary off tool row when tools[] backfill…
arvinxx Jun 9, 2026
991c2f7
🐛 fix(desktop): trace Session Expired cause and resume onboarding at …
Innei Jun 9, 2026
3ce3b53
✅ test(database): raise model/repository coverage to 95%+ and documen…
arvinxx Jun 9, 2026
1d619ad
✨ feat: add user-scoped LobeHub model availability (#15590)
tjx666 Jun 9, 2026
5b4b50e
🐛 fix(page-agent): inject active documentId into context on send (#15…
arvinxx Jun 9, 2026
de1a5c8
✅ test(database): cover more model/repository gaps (client-db 95.4%→9…
arvinxx Jun 9, 2026
cb76953
♻️ refactor: parse Claude model ids for runtime checks (#15601)
tjx666 Jun 9, 2026
1260756
✨ feat(agent): block nested sub-agent calls (#15575)
arvinxx Jun 9, 2026
fdb4f37
♻️ refactor(hetero-agent): shared subagent-run coordinator + fix devi…
arvinxx Jun 9, 2026
437b4c8
💄 style: update referral copy for pay-to-unlock reward (#15614)
arvinxx Jun 9, 2026
4b7ef28
🐛 fix: support fable campaign UI (#15616)
tjx666 Jun 9, 2026
0434953
chore: add home free credit badge business slot (#15615)
arvinxx Jun 9, 2026
004027f
💄 style: update free credit badge copy and add cta/dismiss keys (#15617)
arvinxx Jun 9, 2026
1ed93b6
🐛 fix: type fable starter config (#15618)
tjx666 Jun 9, 2026
9ef7647
💄 style: add fable promo locale keys for plans page (#15622)
arvinxx Jun 9, 2026
7641cda
💄 style: update i18n locales (#15630)
tjx666 Jun 10, 2026
a5f16c1
🐛 fix: import button from ui root (#15599)
tjx666 Jun 10, 2026
5b02563
🐛 fix(cli): skill list/search commands returning empty results (#15632)
ONLY-yours Jun 10, 2026
723c4d6
🐛 fix(cli): handle agent_run_request in `lh connect` so device dispat…
ONLY-yours Jun 10, 2026
8b342c6
✨ feat: land new signups directly on onboarding (#15629)
tjx666 Jun 10, 2026
4c5c879
🐛 fix(model-runtime): emit stop:abort instead of error when stream is…
arvinxx Jun 10, 2026
fdb529d
🐛 fix(agent): deliver sub-agent resume bridge via QStash webhook in q…
arvinxx Jun 10, 2026
3fb732d
💄 style(desktop): keep tab bar new-tab button visible on every route …
arvinxx Jun 10, 2026
c02e572
✨ feat(model-bank): add claude-fable-5 to Anthropic models (#15639)
arvinxx Jun 10, 2026
e8e4b2e
feat: support workspace lobehub (#13977)
rdmclin2 Jun 10, 2026
b8b37cf
✨ feat: refresh topic sharing experience (share page + popover) (#15581)
rivertwilight Jun 10, 2026
c037609
💄 style(chat-input): fix control bar height jump when TokenTag appear…
Innei Jun 10, 2026
b8339ab
🐛 fix: show plan limit upgrade UI on desktop builds (#15628)
tjx666 Jun 10, 2026
94ea3f6
🚀 release: 20260610 (#15647)
arvinxx Jun 10, 2026
553d3d8
🔖 chore(release): release version v2.2.3 [skip ci]
lobehubbot Jun 10, 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.
94 changes: 94 additions & 0 deletions .agents/skills/add-provider-doc/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
---
name: add-provider-doc
description: Add documentation for a new AI provider — usage docs, env vars, Docker config, image resources.
disable-model-invocation: true
argument-hint: '[provider-name]'
---

# 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 LobeHub 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
108 changes: 108 additions & 0 deletions .agents/skills/add-setting-env/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
---
name: add-setting-env
description: Add server-side environment variables that control default values for user settings.
disable-model-invocation: true
argument-hint: '[setting-name]'
---

# 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 `apps/server/src/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>;

// apps/server/src/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