Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
4162 commits
Select commit Hold shift + click to select a range
929d23a
✨ feat(cc): task tools + AskUserQuestion freeform note + waitingForHu…
arvinxx May 17, 2026
70097ad
🌐 chore: translate non-English comments to English in agent-tasks (#1…
lobehubbot May 17, 2026
e50e685
⚡️ perf(agent-signal,prompts): better prompts and explicit rules (#14…
nekomeowww May 17, 2026
0e46085
💄 style: share branded inspector between CC MCP and built-in Linear s…
arvinxx May 17, 2026
43b0b5e
🐛 fix(agent-runtime): honor per-tool timeout end-to-end for client to…
arvinxx May 17, 2026
2d088ca
🐛 fix(local-system): forward all grepContent params + move executor t…
arvinxx May 17, 2026
1cc92db
💄 style(tab-bar): add Chrome-style divider between inactive tabs (#14…
arvinxx May 17, 2026
04e9f7f
♻️ refactor(agent-signal): adapt response language for prompts (#14890)
nekomeowww May 17, 2026
73fa3b1
✨ feat: agent-documents index — hide web crawls + new table format (#…
arvinxx May 17, 2026
6281ca4
🐛 fix(agent-signal): route hinted skill documents (#14895)
nekomeowww May 17, 2026
7ab111f
🐛 fix(onboarding): restore FullNameStep back button to the shared pre…
Innei May 17, 2026
4766bb3
✨ feat(hetero): surface project skills in working sidebar + markdown …
arvinxx May 17, 2026
b52ff52
🐛 fix(hetero-agent): restore tools/model from DB at ingest refresh to…
arvinxx May 17, 2026
6434ee9
🐛 fix(agent): stop auto-collapsing right working panel on chat mount …
arvinxx May 17, 2026
f3f2bda
💄 style: add `ernie-5.1` support (#14643)
hezhijie0327 May 17, 2026
7e514ac
🐛 fix: use JSON object for video image reference (#14900)
tjx666 May 17, 2026
eb39f19
♻️ refactor(chat-input): adopt native submenu header/footer slots for…
Innei May 17, 2026
654035e
🐛 fix(google): add magic thoughtSignature to all functionCall parts, …
arvinxx May 17, 2026
7798e4b
💄 style(chat-input): switch action tag chips to icon + colored label …
arvinxx May 17, 2026
469a8e6
🐛 fix(conversation): animate only the last markdown block + drop clea…
arvinxx May 18, 2026
e566688
💄 style(pricing): restore DeepSeek models to official pricing (#14911)
tjx666 May 18, 2026
d6b5e81
🐛 fix(agent-signal): persist memory receipt routing metadata (#14912)
AmAzing129 May 18, 2026
46818e9
🚀 release: v2.2.0 (#14915)
arvinxx May 18, 2026
1792752
Merge remote-tracking branch 'origin/main' into canary
lobehubbot May 18, 2026
694a258
🔖 chore(release): release version v2.2.0 [skip ci]
lobehubbot May 18, 2026
6f42386
🐛 fix: sidebar new agent (#14920)
rdmclin2 May 18, 2026
27f97b2
🐛 fix(agent-tasks): prevent schedule pill from wrapping in Kanban car…
sudongyuer May 18, 2026
652005e
🐛 fix(agent-signal): isolate memory-agent messages into a child threa…
arvinxx May 18, 2026
519e755
📝 docs: LobeHub Your Chief Agent Operator (#14924)
canisminor1990 May 18, 2026
d359a83
🐛 fix: wire server-side exec_task/exec_tasks for callAgent async mode…
ONLY-yours May 18, 2026
8a2d05d
🐛 fix(market): map getUserByUsername 404 to NOT_FOUND instead of 500 …
ONLY-yours May 18, 2026
ae4145b
🐛 fix(desktop): restore route after update restart (#14922)
Innei May 18, 2026
c6d3633
🐛 fix(desktop): prevent frequent logout from token refresh retry (#14…
Innei May 18, 2026
c9505f7
✨ feat(follow-up): allow scene-specific model config for follow-up ac…
Innei May 18, 2026
b3a31ec
💄 refactor(ToolTag): always use filled variant regardless of dark mod…
Innei May 18, 2026
c21076e
🐛 fix(tasks): preserve agent context in task routes (#14926)
AmAzing129 May 18, 2026
2dc812a
♻️ refactor(onboarding): group chat input feature switches (#14943)
Innei May 18, 2026
c68eb07
🐛 fix(sidebar): restore home nav for task workspace (#14945)
AmAzing129 May 18, 2026
62187d5
🐛 fix(portal): make markdown preview scrollable in LocalFile portal (…
arvinxx May 19, 2026
8ddd8e2
🌐 chore: translate non-English comments to English in tests-utils and…
lobehubbot May 19, 2026
500a02b
🔒 chore: remove compromised actions-cool/issues-helper@v3 (#14956)
arvinxx May 19, 2026
fd0d208
💄 style(subscription): update budget recovery copy (#14875)
tjx666 May 19, 2026
97ea30e
💬 fix(messenger): standardize platform preposition copy (#14959)
AmAzing129 May 19, 2026
391b16e
⚡️ perf: optimize chat bootstrap persistence (#14934)
tjx666 May 19, 2026
d35ee84
chore: streamline issue triage to core business labels (1-3 per issue…
arvinxx May 19, 2026
48ac768
🐛 fix: normalize Anthropic-compatible base URLs (#14960)
tjx666 May 19, 2026
d6dae46
🐛 fix(document): reject unsupported file parser types (#14966)
Innei May 19, 2026
cf16737
🐛 fix(local-file-shell): auto-enable hidden matching for dot-prefixed…
arvinxx May 19, 2026
03c79bf
🐛 fix: surface stderr in errorOutput fallback and add `UNKNOWN_EXEC_E…
arvinxx May 19, 2026
e5c9a1a
🐛 fix(hetero-agent): fire IM bot-callback webhook from heteroFinish (…
ONLY-yours May 19, 2026
1285f60
🔨 chore: skip branded provider llm retries (#14975)
tjx666 May 19, 2026
a91385a
🐛 fix: nano banana 4K resolution dropped when aspect ratio is auto (#…
tjx666 May 19, 2026
6a7a201
🐛 fix(agent-builder): open builder panel after prompt creation (#14978)
AmAzing129 May 19, 2026
6ab1fb2
✨ feat(onboarding): add Market Agent Picker as a classic onboarding s…
Innei May 19, 2026
d3973a5
✨ feat: add chat cost estimate support (#14876)
tjx666 May 19, 2026
632c1e6
📝 docs: add May 19 weekly changelog (#14973)
rivertwilight May 19, 2026
e7524c4
🐛 fix(nav): align home sidebar layout (#14974)
Innei May 19, 2026
d2d3888
🐛 fix(command-menu): promote inline type filters from setSearch (#14986)
tjx666 May 19, 2026
29623c4
✨ feat(profile): optimistic interests update + clickable auth logo (#…
tjx666 May 19, 2026
f9b611b
🐛 fix(agent-signal,app): anchor agent signal receipts to messages (#1…
nekomeowww May 19, 2026
2a66071
♻️ refactor(onboarding): streamline discovery to a single profession …
Innei May 19, 2026
0195f42
🐛 fix: onboarding im integration (#14988)
rdmclin2 May 19, 2026
7144e9d
🐛 fix: resolve desktop visual media urls (#14989)
tjx666 May 19, 2026
3bcf6a8
♻️ refactor(agent-settings): consolidate Chat tab into Params popover…
arvinxx May 20, 2026
61f4bda
🐛 fix(desktop): prevent App Nap from dropping gateway WebSocket durin…
arvinxx May 20, 2026
3740791
📝 docs: add ph #1 badge (#15007)
canisminor1990 May 20, 2026
c38e6db
🐛 fix(market-auth): add prompt=consent to OIDC authorization URL to f…
ONLY-yours May 20, 2026
621b36e
🐛 fix(hetero-finish): use heteroCurrentMsgId for lastAssistantContent…
ONLY-yours May 20, 2026
7cf5616
🐛 fix(chat-input): persist unsent input drafts across tab switches (#…
Innei May 20, 2026
63ced81
💄 style: add new Gemini 3.5 Flash model (#15001)
sxjeru May 20, 2026
e87eb8c
✨ feat(cli): integrate OpenClaw/Hermes hetero-agent dispatch with per…
ONLY-yours May 20, 2026
71dd287
♻️ refactor(creds): remove getPlaintextCred tool to prevent plaintext…
arvinxx May 20, 2026
b68760d
💄 style: add Gemini 3.5 Flash to LobeHub provider (#15017)
tjx666 May 20, 2026
3b3632b
🐛 fix(chat-input): prevent repeated draft restore (#15024)
Innei May 20, 2026
2eb860b
🐛 fix: discourage redundant visual tool calls (#15025)
tjx666 May 20, 2026
2b2abca
✨ feat(analytics): track create agent modal source (#15028)
AmAzing129 May 20, 2026
c261c06
✨ feat(onboarding): adapt agent onboarding UI for mobile (#15019)
Innei May 20, 2026
67cd059
🔨 chore: replace husky with native git hooks (#14941)
Innei May 20, 2026
95c27bd
fix: add LaTeX extensions (.tex, .sty, .cls, .bib, .bbl) to recognize…
algojogacor May 20, 2026
55623c5
🐛 fix(onboarding): restore mobile padding on Classic steps (#15032)
Innei May 20, 2026
45e07a9
🐛 fix(onboarding): skip pro settings without Klavis (#15033)
AmAzing129 May 20, 2026
c7976ce
🐛 fix: return bad request for malformed auth JSON (#15038)
tjx666 May 20, 2026
7b7690f
♻️ refactor(desktop): unify TabBar registration into a cross-platform…
Innei May 20, 2026
b8c4df5
✨ feat(onboarding): prefetch agent marketplace templates (#15041)
AmAzing129 May 20, 2026
1698b7e
✨ feat: support bot attachments across all platforms (#15029)
rdmclin2 May 20, 2026
fc08877
🐛 fix: configure anthropic client timeout (#15042)
tjx666 May 20, 2026
0911c2a
♻️ refactor: load models through model bank slot (#14877)
tjx666 May 21, 2026
516a265
💬 chore(onboarding): refine agent setup copy (#15048)
AmAzing129 May 21, 2026
ba358bf
🐛 fix: support DeepSeek generateObject tool choice (#15054)
tjx666 May 21, 2026
1466d6e
✨ feat: support thinking params for structured output (#15051)
tjx666 May 21, 2026
9a4c8d5
🐛 fix: hetero agent cloud credential alert flash and width misalignme…
ONLY-yours May 21, 2026
3859b7c
🐛 fix(desktop): open settings via main window navigation on Windows/L…
Innei May 21, 2026
e78cbaf
💄 style(space-panel): split agent resources into Skills / Documents /…
arvinxx May 21, 2026
3680e5e
🐛 fix: guard system agent model config (#15058)
tjx666 May 21, 2026
56cbf7a
🐛 fix: prevent scrollbar from overlapping ScrollArea content (#15060)
Innei May 21, 2026
d96912d
🔨 chore: add DeepSeek payload diagnostics (#15062)
tjx666 May 21, 2026
9fb3038
🐛 fix(onboarding): enforce response language in server runtime (#14793)
Innei May 21, 2026
b358b0b
🐛 fix: handle deprecated runtime models (#15064)
tjx666 May 21, 2026
b22ac0f
✨ feat: drag folders into chat input as @localFile mentions on deskto…
Innei May 21, 2026
f8142de
✨ feat(chat-input): add installed skills to slash menu with mid-line …
Innei May 21, 2026
d3b6f74
♻️ refactor(agent-document): derive category server-side, drop fronte…
arvinxx May 21, 2026
874cf39
🐛 fix: add signup email review trigger (#15079)
tjx666 May 21, 2026
7e78453
🐛 fix: preserve current turn with zero history (#15080)
tjx666 May 21, 2026
869f10a
💄 style(skills-list): use colorTextSecondary by default with hover sw…
arvinxx May 21, 2026
af78546
🐛 fix: add signup email review spend locale (#15082)
tjx666 May 21, 2026
736eb57
🐛 fix: sanitize DeepSeek surrogate payloads (#15086)
tjx666 May 21, 2026
b45cb41
🐛 fix(agent-builder): open panel after blank agent creation (#15085)
AmAzing129 May 21, 2026
aca724c
🐛 fix: resolve browser model config import (#15089)
tjx666 May 21, 2026
c056760
✨ feat(tool): archive oversized tool results to VFS instead of trunca…
Innei May 21, 2026
e37cca7
✨ chore(agent-tracing): resolve partial op id by _remote/ cache prefi…
arvinxx May 21, 2026
83b8aa5
🐛 fix(agent-document): propagate sourceType and dedupe web crawls (#1…
arvinxx May 22, 2026
422ccc9
🐛 fix: bound redis command timeout (#15091)
tjx666 May 22, 2026
029d442
✨ feat(onboarding): simplify first screen and defer topic creation to…
Innei May 22, 2026
8c40ff9
♻️ refactor: rename proLLM locale key to advancedLLM (#15093)
tjx666 May 22, 2026
066c77f
🐛 fix: disable reasoning for Responses structured outputs (#15092)
tjx666 May 22, 2026
bf294e2
✨ feat(onboarding): show agent welcome guidance (#15098)
AmAzing129 May 22, 2026
99ec113
💄 style(community): use landing URL for agent share link (#15099)
ONLY-yours May 22, 2026
219f44c
🐛 fix(agent-tasks): show 404 fallback when task does not exist (#14893)
arvinxx May 22, 2026
97111fc
🐛 fix(context-engine): guard placeholder log preview against undefine…
arvinxx May 22, 2026
16b9322
🐛 fix(chat): persist topic status when run completes after agent swit…
arvinxx May 22, 2026
063c0b7
🐛 fix(command-menu): order topic/message search results by recency (#…
arvinxx May 22, 2026
6953f18
✨ feat(platform-agent): openclaw/hermes agent creation UI, device gua…
ONLY-yours May 22, 2026
875e2ff
🐛 fix(i18n): add provider description fallbacks (#15103)
AmAzing129 May 22, 2026
a27ea18
💄 style(builtin-tool): switch Task inspector copy by phase (#15104)
arvinxx May 22, 2026
a41fd95
✨ feat(skills): drag skill chips + register agent-document skills (#1…
arvinxx May 22, 2026
902eb9f
🐛 fix: add pre-flight tool-limit check for GitHub Copilot (#14909)
arvinxx May 22, 2026
eb1ba56
♻️ refactor(heterogeneous-agents): align CC adapter preset with actua…
arvinxx May 22, 2026
1a340de
♻️ refactor(local-file-shell): sink desktop search modules into share…
arvinxx May 22, 2026
cec7219
🐛 fix(onboarding): prevent agent identity from using user name (#15112)
Innei May 22, 2026
fd985d0
🐛 chore(builtin-tool-memory): missing sourceIds in manifest causing m…
nekomeowww May 22, 2026
d15651b
🐛 fix(hetero): fix cloud CC agent execution failures and improve erro…
ONLY-yours May 22, 2026
a35877f
✨ feat(platform-agent): improve device selection UX with actionable g…
ONLY-yours May 22, 2026
a0fac0b
✨ feat(skills): recognize project-level skills in the homogeneous age…
arvinxx May 22, 2026
7cad53d
🐛 fix(agent-runtime): inject local-system template vars for regular c…
arvinxx May 22, 2026
acd3da8
🐛 fix: guard restricted default provider selection (#15118)
AmAzing129 May 22, 2026
857cf95
💄 style(workflow): show check with warning badge for partial-success …
arvinxx May 22, 2026
5fe9afc
🐛 fix: preserve Gemini image diagnostics (#15120)
tjx666 May 22, 2026
b09d744
🐛 fix(cli): catch promise error to avoid agent run crash in WS mode …
cy948 May 22, 2026
94bd7b2
🐛 fix: preserve topic pagination state after topic actions and new to…
AnotiaWang May 22, 2026
55452cd
🐛 fix(web-crawler): support Jina CN domains (#14916)
AnotiaWang May 22, 2026
0e346c5
♻️ refactor: add shared guard helpers (#15122)
tjx666 May 22, 2026
b01e4dc
🔨 feat(db): add `llm_generation_tracing` and `agent eval experiment` …
arvinxx May 22, 2026
6770d8f
fix(github): support both runCommand and run_command in render matching
arvinxx May 22, 2026
de9f7e0
✨ feat(follow-up): extend follow-up chip suggestions to general chat …
Innei May 22, 2026
8a6545f
🐛 fix(docker): make prepare script tolerant when git is unavailable (…
Innei May 22, 2026
8cd03c8
⚡️ perf: warm route chunks after idle (#15109)
Innei May 22, 2026
d3faa70
Revert "fix(github): support both runCommand and run_command in rende…
arvinxx May 22, 2026
b50acac
🐛 fix: pin baseline-browser-mapping (#15130)
tjx666 May 22, 2026
a22ea78
🧹 chore(analytics): remove unused PostHog component (#15131)
AmAzing129 May 22, 2026
1c24b9e
✨ feat(analytics): track onboarding step events (#15133)
AmAzing129 May 23, 2026
36cc836
💄 style(settings): clean up settings page copy and entries (#15117)
AmAzing129 May 23, 2026
7eee016
🌐 chore: translate non-English comments to English in agent-skills-id…
lobehubbot May 23, 2026
f685d5c
✨ feat(agent-explorer): support multi-select delete in document tree …
Innei May 23, 2026
ddb5794
chore: clean up LOBE-XXX code annotations (#15135)
arvinxx May 23, 2026
cce1491
✨ feat: per-call llm_generation_tracing observability (#15124)
arvinxx May 23, 2026
b3d2d2f
✨ feat(review-panel): group review changes by submodule (#15148)
arvinxx May 23, 2026
538195d
🐛 fix(agent-runtime): route context engine payload out of the events …
arvinxx May 23, 2026
930344a
✨ feat(agent-runtime): push UIChatMessage snapshot at gateway step bo…
arvinxx May 23, 2026
0fa2e23
🐛 fix(desktop): route gateway agent runs through lh hetero exec (#15132)
arvinxx May 23, 2026
2f265a9
🐛 fix(conversation): only swap model name for remote hetero agents in…
arvinxx May 24, 2026
775be47
🐛 fix(agent): align settings defaults and locale state (#15163)
AmAzing129 May 24, 2026
5f6f053
🐛 fix(agent): hide community publish for heterogeneous agents (#15166)
AmAzing129 May 24, 2026
837a3da
✨ feat(chat): consume gateway uiMessages snapshot as SoT at step boun…
arvinxx May 24, 2026
1921118
💄 style(workflow): normalize block spacing (#15169)
Innei May 24, 2026
ff61f4b
💄 style: add Qwen3.7 Max locale (#15150)
tjx666 May 24, 2026
eedf46a
♻️ refactor(agent-runtime): route desktop callers through device-gate…
arvinxx May 24, 2026
44e69af
🐛 fix(desktop): preview .cjs/.mjs/no-ext files instead of binary fall…
arvinxx May 24, 2026
63d8e07
chore: clean up LOBE-xx comment (2026-05-24) (#15158)
arvinxx May 24, 2026
a8faccf
🐛 fix(agent-runtime): preserve streamed content across mid-stream can…
arvinxx May 24, 2026
be62847
🐛 fix: support Bedrock structured generation (#15174)
tjx666 May 24, 2026
f16c280
🐛 fix(agent): surface projectSkills regardless of activeDeviceId (#15…
arvinxx May 24, 2026
d71686b
🐛 fix: normalize image MIME from bytes (#15172)
tjx666 May 24, 2026
f3d5d03
♻️ refactor(userMemories): support resolving agent config from Servic…
nekomeowww May 24, 2026
26aa28c
chore: clean up LOBE-XXX code annotations (2026-05-25) (#15182)
arvinxx May 25, 2026
8d4c487
✨ feat(agent-signal): add execAgent plumbing for self-iteration migra…
arvinxx May 25, 2026
3c52998
✨ feat(hetero-agent): execution target switcher in composer (#15179)
arvinxx May 25, 2026
0fcc218
🧹 chore(skills): audit pass — normalize, dedupe, and fix project-over…
arvinxx May 25, 2026
46f884d
chore(llm-generation-tracing): pre-allocate tracingId + recordFeedbac…
arvinxx May 25, 2026
bb4924f
🐛 fix(image): explain text-only image responses (#15181)
tjx666 May 25, 2026
47b6f35
✨ feat(hermes): implement hermes agent chain logic (#15189)
ONLY-yours May 25, 2026
e4ad195
🐛 fix: silence Turbopack project-wide glob warning (#15194)
arvinxx May 25, 2026
82cc885
🐛 fix(llm-generation-tracing): backfill task_brief / task_brief_judge…
arvinxx May 25, 2026
eea9464
🌐 fix(locale): add missing follow-up i18n keys (#15201)
Innei May 25, 2026
3027550
⚡️ perf(vite): prewarm more route chunks (#15142)
Innei May 25, 2026
924ae8b
🐛 fix: pass assistantMessageId through sandbox env to eliminate heter…
ONLY-yours May 25, 2026
506b96a
🐛 fix(agent-runtime): strip heavy fields off finalState in stream eve…
arvinxx May 25, 2026
4c6a399
🐛 fix(agent): hold per-agent working directory in store (#15204)
Innei May 25, 2026
d4e8d6d
🐛 fix: desktop device hetero task — correct notify URL, auth header, …
ONLY-yours May 25, 2026
248d6ec
✨ feat(observability): instrument Agent Runtime with OTel GenAI seman…
arvinxx May 25, 2026
8b96d14
💄 style(explorer-tree): align file icons with folder icons (#15205)
Innei May 25, 2026
2ee53bc
⬆️ chore(deps): bump @lobehub/ui to 5.15.1 (#15214)
Innei May 25, 2026
d6e641b
🐛 fix(model-runtime): capture useful errorCode from generateObject fa…
arvinxx May 25, 2026
6859ee2
✨ feat(page-agent): preview initPage streaming arguments (#15039)
Innei May 25, 2026
362d137
🐛 fix(model-runtime): preserve usage cost in custom streams (#15218)
tjx666 May 25, 2026
cce2741
🐛 fix(chat-input): disable automatic URL highlighting (#15219)
Innei May 25, 2026
5cd02b9
✨ feat(topics): add per-agent topic management page (#15207)
arvinxx May 26, 2026
e295f80
🐛 fix: restore userId in gateway dispatch, gate local-system by execu…
ONLY-yours May 26, 2026
b3cbc9a
🐛 fix(prompts): keep input_completion system prompt stable across inv…
arvinxx May 26, 2026
d452576
🐛 fix(sidebar): respect customize sidebar order across the bottom spa…
Innei May 26, 2026
1d4d5c1
🐛 fix(library): add CTA in folder hierarchy empty state (#15220)
Innei May 26, 2026
1c80146
🐛 fix(auth): prompt account selection for Google OAuth (#15234)
tjx666 May 26, 2026
5f27cd8
💄 polish(agent-topic-manager): lighter bulk-bar shadow, transparent t…
arvinxx May 26, 2026
3e0a396
:recycle: refactor: + run command observation timeout (#15195)
cy948 May 26, 2026
0561a1d
🐛 fix(hetero-agent): skip LOADING_FLAT placeholder when restoring acc…
ONLY-yours May 26, 2026
14357a3
🐛 fix(create-platform-agent): wrap long version string in capability …
ONLY-yours May 26, 2026
be81c35
🐛 fix(exec-agent): gate CREDS_LIST/KLAVIS substitution on manifestMap…
ONLY-yours May 26, 2026
202f062
✨ feat(portal): embed thread chat in document preview portal (#15216)
Innei May 26, 2026
60f08f5
🐛 fix(electron-tab): update inactive tab title when topic is auto-nam…
Innei May 26, 2026
72d3404
🐛 fix(tabbar): debounce route meta publish to avoid tab item flicker …
Innei May 26, 2026
bcc31ca
✨ feat(bot): add hidden iMessage backend foundation (#15227)
arvinxx May 26, 2026
5eee6d2
🐛 fix(hetero-agent): hide sandbox selector when device switcher is vi…
ONLY-yours May 27, 2026
1f6d350
🐛 fix(copy): unescape markdown escapes when copying user messages (#1…
ONLY-yours May 27, 2026
f0eded2
✨ feat(onboarding): skip redirect when landing on agent/inbox with me…
ONLY-yours May 27, 2026
718096e
💄 style(settings): unify select width and migrate to base-ui Select o…
Innei May 27, 2026
c8ff3ac
✨ feat: gate agent document floating chat panel (#15260)
Innei May 27, 2026
0c5ccc8
✨ feat(desktop): support cloud desktop builds (#14498)
Innei May 27, 2026
3505241
chore: clean up LOBE-XXX code annotations (#15249)
arvinxx May 27, 2026
49d191d
🐛 fix: unify TypeScript peer resolution on 6.x (#15263)
Innei May 27, 2026
e8275a9
🐛 fix(hetero-agent): hide device switcher in regular agent chat input…
arvinxx May 27, 2026
347e2ee
💄 style(desktop/overlay): replace native select with @base-ui/react p…
Innei May 27, 2026
1d2b32b
🔖 chore(cli): bump @lobehub/cli to 0.0.22 (#15254)
arvinxx May 27, 2026
b14f1db
🌐 chore: translate non-English comments to English in openapi-types-c…
lobehubbot May 27, 2026
81fc1aa
🐛 fix: telegram messager attachments (#15268)
rdmclin2 May 27, 2026
5fb1f33
✨ feat(opencode-go): align model configs with models.dev API, add Dee…
hardy-one May 27, 2026
c4b1475
♻️ refactor(model-runtime): unify error codes into spec + pattern reg…
arvinxx May 27, 2026
1ae8498
✨ feat(agent-document): render non-markdown docs as readonly highligh…
Innei May 27, 2026
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
53e13ea
🚀 release: 20260528 (#15302)
arvinxx May 29, 2026
049c81d
🔖 chore(release): release version v2.2.1 [skip ci]
lobehubbot May 29, 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 `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