Skip to content

✨ feat(agent-marketplace): fetch onboarding templates from market API#14286

Merged
Innei merged 10 commits into
canaryfrom
feat/agent-marketplace-picker
Apr 29, 2026
Merged

✨ feat(agent-marketplace): fetch onboarding templates from market API#14286
Innei merged 10 commits into
canaryfrom
feat/agent-marketplace-picker

Conversation

@Innei

@Innei Innei commented Apr 28, 2026

Copy link
Copy Markdown
Member

πŸ’» Change Type

  • ✨ feat
  • ♻️ refactor
  • πŸ› fix

πŸ”— Related Issue

LOBE-7801

πŸ”€ Description of Change

Replace the hard-coded `AGENT_TEMPLATES` snapshot in `@lobechat/builtin-tool-agent-marketplace` with a runtime fetch from the marketplace `/api/v1/agents/onboarding-full` endpoint, so the picker reflects the live curated catalog instead of a stale bundled list.

Architecture (dependency inversion):

  • The package keeps no transport dependency on `@/`. It exports `setAgentTemplatesFetcher` + `AgentTemplateFetcher` + `normalizeAgentTemplate`, plus a default fetcher that throws "not configured".
  • A new server-side TRPC procedure `market.agent.getOnboardingFull` proxies the upstream call and injects the `x-lobe-trust-token` header via `generateTrustedClientToken(userInfo)` (browser never sees `MARKET_TRUSTED_CLIENT_*` secrets).
  • A new client service `src/services/agentMarketplace.ts` wraps the TRPC call and runs items through the package's normaliser.
  • `AgentOnboardingPage` registers the host fetcher in a `useEffect` once on mount.

Latent bug fixed:

The previous bundled snapshot used bare slug IDs (`copywriter`), but `installMarketplaceAgents.ts` passes `selectedTemplateIds` straight to `discoverService.getAssistantDetail({ identifier })`, which expects the marketplace identifier (`agent-template-copywriter`). Switching to API-sourced IDs unblocks installation.

UX changes:

  • Skeleton (sidebar items + grid cards with pulsing animation) replaces `` during initial load β€” matches the real layout to avoid post-load shift.
  • Empty / error states use i18n strings (no more hard-coded English).
  • Avatars now render via `@lobehub/ui` `` (auto-handles emoji vs. URL since the API returns image URLs).
  • Category labels & summary count moved to `tool` namespace (`agentMarketplace.category.`, `agentMarketplace.picker.`).

Backwards-compat note:

`AgentTemplate.description` is now optional, and `MarketplaceCategory` enum / system role slug list remain at the existing 13 values, matching the API's top-level keys.

πŸ§ͺ How to Test

  • Tested locally
  • Added/updated tests
  • No tests needed

Package tests: `cd packages/builtin-tool-agent-marketplace && bunx vitest run` β€” 18 tests pass (helpers + normaliser + ExecutionRuntime). Project type-check clean (only pre-existing `.next/types/validator.ts` noise).

Manual: open onboarding chat β†’ trigger `showAgentMarketplace` β†’ verify skeleton during fetch, real templates render with avatars + descriptions, and selecting an agent installs successfully.

πŸ“ Additional Information

The bundled snapshot (~800 lines) is removed; on auth failure / network error the picker shows an empty state with retry-friendly messaging instead of stale data.

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, we are unable to review this pull request

The GitHub API does not allow us to fetch diffs exceeding 300 files, and this pull request has 617

@vercel

vercel Bot commented Apr 28, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
lobehub Ready Ready Preview, Comment Apr 29, 2026 0:58am

Request Review

@dosubot dosubot Bot added size:XL This PR changes 500-999 lines, ignoring generated files. feature:agent Assistant/Agent configuration and behavior feature:marketplace Agent marketplace related labels Apr 28, 2026
@codecov

codecov Bot commented Apr 28, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 79.26829% with 68 lines in your changes missing coverage. Please review.
βœ… Project coverage is 68.30%. Comparing base (5722b71) to head (2264c38).
⚠️ Report is 22 commits behind head on canary.

Additional details and impacted files
@@            Coverage Diff             @@
##           canary   #14286      +/-   ##
==========================================
+ Coverage   68.27%   68.30%   +0.03%     
==========================================
  Files        2316     2321       +5     
  Lines      200689   200996     +307     
  Branches    21125    20364     -761     
==========================================
+ Hits       137016   137286     +270     
- Misses      63541    63578      +37     
  Partials      132      132              
Flag Coverage Ξ”
app 61.99% <78.90%> (+0.03%) ⬆️
database 92.25% <63.63%> (-0.03%) ⬇️
packages/agent-runtime 79.93% <ΓΈ> (ΓΈ)
packages/context-engine 83.70% <85.71%> (+0.45%) ⬆️
packages/conversation-flow 92.40% <ΓΈ> (ΓΈ)
packages/file-loaders 87.02% <ΓΈ> (ΓΈ)
packages/memory-user-memory 74.74% <ΓΈ> (ΓΈ)
packages/model-bank 99.89% <ΓΈ> (ΓΈ)
packages/model-runtime 84.10% <ΓΈ> (ΓΈ)
packages/prompts 68.36% <ΓΈ> (ΓΈ)
packages/python-interpreter 92.90% <ΓΈ> (ΓΈ)
packages/ssrf-safe-fetch 0.00% <ΓΈ> (ΓΈ)
packages/utils 88.93% <ΓΈ> (ΓΈ)
packages/web-crawler 88.41% <ΓΈ> (ΓΈ)

Flags with carried forward coverage won't be shown. Click here to find out more.

Components Coverage Ξ”
Store 66.37% <28.78%> (-0.08%) ⬇️
Services 53.64% <100.00%> (+0.27%) ⬆️
Server 69.09% <93.10%> (+0.01%) ⬆️
Libs 53.30% <ΓΈ> (ΓΈ)
Utils 80.04% <ΓΈ> (ΓΈ)
πŸš€ New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • πŸ“¦ JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

πŸ’‘ Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 29b69f715c

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with πŸ‘.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@Innei Innei force-pushed the feat/agent-marketplace-picker branch from 29b69f7 to 51a171f Compare April 28, 2026 17:57
@dosubot dosubot Bot added size:XXL This PR changes 1000+ lines, ignoring generated files. and removed size:XL This PR changes 500-999 lines, ignoring generated files. labels Apr 28, 2026
Adds a new builtin tool `@lobechat/builtin-tool-agent-marketplace` that
opens a categorized agent picker UI during web onboarding. The picker
fetches the live curated catalog from the marketplace API
(`/api/v1/agents/onboarding-full`) via a TRPC procedure that injects the
trust-token, and lets the user select template agents to install.

Highlights:

- Self-contained marketplace package with manifest, system role, executor,
  and ExecutionRuntime
- React intervention component with category sidebar, skeleton loading
  state, and avatar/empty/error UI; all user-visible strings i18n-driven
- Dependency-inverted fetcher: package exports `setAgentTemplatesFetcher`,
  app registers a TRPC-backed implementation in AgentOnboardingPage
- New TRPC `market.agent.getOnboardingFull` proxies the upstream API with
  trust-token authentication; client never sees secrets
- Splits the existing `saveUserQuestion` intervention into agent identity
  and user profile cards for clearer onboarding approval UX
- Wires marketplace into `builtin-tools` registry, executor map, and
  onboarding metrics; web-onboarding agent system prompt updated to
  reference the picker

Closes LOBE-7801
…ration in onboarding flow

Signed-off-by: Innei <tukon479@gmail.com>
…pic, and harden onboarding handoff prompts

The summary phase silently skipped the marketplace handoff because the
server toolExecution registry had no runtime for `lobe-agent-marketplace`,
so every `showAgentMarketplace` call returned "not implemented" and the
agent fell through to `finishOnboarding`. The runtime-injected phase
guidance and action hints also instructed the agent to call
finishOnboarding directly after the summary, contradicting the new
system role.

- Register `agentMarketplaceRuntime` in
  `src/server/services/toolExecution/serverRuntimes` so the executor
  can actually run.
- Scope the in-memory `picks` map by `topicId` and reject a second
  `showAgentMarketplace` call in the same conversation with a clear
  "already opened, finish on next turn" message.
- Tighten the success content to instruct the model to STOP the current
  turn after opening the picker and run closing + finishOnboarding on
  the FOLLOWING user turn.
- Update `OnboardingActionHintInjector`, `PHASE_GUIDANCE.summary`,
  `toolSystemRole` and `web-onboarding/systemRole` so all four prompt
  layers agree: open the picker exactly once during summary, do not
  call finishOnboarding in the same turn, and do not call the
  submit/skip/cancel APIs ourselves.
- Stop treating short affirmations like "ε₯½ηš„" / "葌" / "ok" as
  early-exit signals; they are confirmation of the summary and should
  let the picker handoff proceed normally.

Verified end-to-end with `bun run agent-evals run onboarding/web-onboarding-v3
--case-id fe-intj-crud-v1 --model deepseek-v4-pro`: hard assertions all
pass, judge moves from 7/10 (premature finishOnboarding in same turn)
to 8/10 with picker opened once and finishOnboarding deferred to the
next turn.
Auto-generated by pr-dispatcher (task: 01KQBY8GAC1MNQCJ6T6X5DEP2F, attempt: 1).

Co-Authored-By: Claude <noreply@anthropic.com>
…y-opened detection

The marketplace picker confirm flow was sending the user's selection back as a
synthetic user message, and the action hint kept telling the model to open the
marketplace again β€” leading to a death loop where the agent re-opened the
picker instead of summarizing + persisting + finishing onboarding.

Two issues:

1. Pick confirm forwarded the selection as a user message instead of forking
   the agents and resuming from the tool result. Wire `prepareCustomInteractionSubmit`
   into the intervention's submit branch so it runs `installMarketplaceAgents`
   client-side and returns a descriptive `toolResultContent`. Plumb a
   `createUserMessage: false` + `toolResultContent` option through
   `submitToolInteraction` (slice + chat store): when set, skip the synthetic
   user message, override the tool message content, and resume runtime from the
   tool message (`parentMessageType: 'tool'`) so the LLM sees the install
   result and continues from there.

2. `OnboardingActionHintInjector.marketplaceAlreadyOpened` read `msg.tool_calls`,
   but this provider runs in pipeline phase 4.5 (virtual tail guidance) BEFORE
   `ToolCallProcessor` (phase 5) converts DB-shape `tools` β†’ OpenAI-shape
   `tool_calls`. Detection always returned false β†’ the hint kept saying
   "call showAgentMarketplace" β†’ death loop. Fix: match on `tools[].apiName`
   (with `tool_calls` kept as a fallback). Also rewrote the Summary-phase hints
   to reflect the new flow (picker resolves directly via tool result, no
   synthetic user reply needed).

Includes intervention bar portal-target plumbing for approval actions.
…ding page

Mount AnalyticsBridge under AgentOnboardingPage to inject useAnalytics() into
setOnboardingAnalyticsClient, so onboarding_marketplace_shown/picked events
emit through PostHog instead of being silently dropped. Adds spm fields to
align with onboardingFeedback's telemetry shape.
Innei added 4 commits April 29, 2026 19:02
…ce picks and resolutions

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

Signed-off-by: Innei <tukon479@gmail.com>
…Actions and Usage components

Signed-off-by: Innei <tukon479@gmail.com>
@Innei Innei merged commit 990942f into canary Apr 29, 2026
38 of 42 checks passed
@Innei Innei deleted the feat/agent-marketplace-picker branch April 29, 2026 13:25
Innei added a commit that referenced this pull request May 9, 2026
# πŸš€ LobeHub Release (20260509)

**Release Date:** May 9, 2026  
**Since v2.1.56:** 236 merged PRs Β· 19 contributors

> Agent Task System reaches general availability, the Agent Signal
pipeline runs nightly self-review with skill-aware policies, the
heterogeneous-agent runtime crosses replica boundaries, inline documents
become a first-class context source, and bot platforms expand across
Messager, Line, and Telegram.

---

## ✨ Highlights

- **Agent Task System (GA)** β€” End-to-end task execution platform:
templates, tracking, comment tools, parent reassignment, scheduled cron,
and dependency-ordered batch runs. (#14540, #14515, #14517, #14272,
#14246, #14418, #14403, #14488)
- **Agent Signal nightly self-review** β€” Wired self-review loop with
prompt + DB support, exponential-backoff retry on receipt listing,
skill-aware policy, and improved skill-intent detection. (#14543,
#14542, #14281, #14409, #14526, #14437)
- **Inline documents in KB tool** β€” BM25 search and `docs_*` read for
inline document grounding; agent documents usable as VFS. (#14494,
#14222)
- **Inline agent cards in chat** β€” `lobeAgents` markdown tag renders
agent profile cards inline; clickable card after `createAgent`. (#14495,
#14493)
- **Heterogeneous agent runtime** β€” Cloud hetero exec pipeline steps 3+4
land, persistence recovers across Vercel replicas, server-side
ingest/finish handler, and `lh hetero exec` CLI. (#14486, #14539,
#14444, #14431)
- **Bot platforms expand** β€” Messager, Line, DM pair policy, and
messenger DB tables; Telegram API path restored. (#14442, #14207,
#14211, #14496, #14519)
- **Visual analysis tool** β€” New visual understanding tool, with trigger
tracking and flattened schema. (#14378, #14399, #14550)
- **DeepSeek V4 Pro as OSS default** β€” OSS deployments ship with
DeepSeek V4 Pro by default; DeepSeek Anthropic runtime supported.
(#14555, #14312)

---

## πŸ—οΈ Core Agent & Architecture

### Agent Task System

- **Task System GA** β€” End-to-end execution platform now available.
(#14540)
- **Templates, comments, reparenting** β€” Template tracking, comment
tools, and parent reassignment. (#14515, #14517, #14488)
- **Cron + dependency-ordered runs** β€” Scheduled status with cron editor
and dependency-ordered subtask batches. (#14246, #14418, #14272)
- **Inspector + chip UI + batch tasks** β€” Task Inspector/Render
registry, batch `createTasks`/`runTasks`, and chip-based agent-documents
inspector. (#14403, #14404)
- **Recommend templates regardless of brief count** β€” Recommendations no
longer suppressed when briefs are sparse. (#14508)
- **Scheduling resilience** β€” Manual run no longer eats next scheduled
tick; recurring tasks survive brief resolution. (#14304, #14348)
- **Brief synthesis** β€” Auto-synthesize topic briefs; brief actions
revamp; mute resolved-brief icon on home. (#14324, #14228, #14452)
- **Task list & detail polish** β€” Topic operation ID exposed; task
drawer Gateway reconnect. (#14282)

### Agent Signal pipeline

- **Nightly self-review wired** β€” Prompt + DB support for the
self-review loop. (#14543)
- **Self-review activities push to briefs** β€” Activities during nightly
self-reflection now create briefs. (#14437)
- **Skill management policy** β€” New policy for Skill management running
inside Agent Signal. (#14281)
- **Skill intent detection & routing** β€” Improved detection plus direct
intent handling when `hintIsSkill`. (#14409, #14526)
- **Document tool outcome rendering** β€” Decision view restores missing
document tool outcomes. (#14534)
- **Exponential backoff retry** β€” Listing signal receipts retries with
jittered backoff. (#14542)
- **Easier-to-use signals** β€” Structural simplification +
recent-activities surface for receipts. (#14290, #14326, #14407)

### Heterogeneous agent runtime

- **Cloud hetero exec pipeline (steps 3 + 4)** β€” Refactor lands the next
two stages of the cloud hetero agent execution pipeline. (#14486)
- **Persistence recovery on Vercel** β€” Hetero state recovered across
replica boundaries. (#14539)
- **Server-side ingest/finish + persistence** β€” `aiAgent.heteroIngest` /
`heteroFinish` handlers. (#14444)
- **`lh hetero exec` CLI** β€” Standalone heterogeneous agent runs from
CLI. (#14431)
- **Gateway round-trip loading** β€” `execAgentTask` keeps the input box
in loading state through the full round-trip. (#14503)
- **Provider SDK type routing** β€” Provider routing now respects SDK
type. (#14520)
- **DeepSeek reasoning preserved** β€” `reasoning_content` preserved in
OpenAI-compatible runtime for DeepSeek models. (#14546)

### Knowledge & inline docs

- **KB tool BM25 + docs read** β€” BM25 search and `docs_*` read
integrated for inline documents. (#14494)
- **Agent documents as VFS** β€” FS-compatible output for agent documents.
(#14222)
- **`lobeAgents` markdown tag** β€” Inline agent cards rendered from a
markdown tag. (#14495)
- **Clickable agent card after `createAgent`** β€” Mentions and
recommendations become clickable. (#14493)
- **ExplorerTree** β€” Generic tree component built on `@pierre/trees` for
reusable explorer surfaces. (#14094)
- **Local file mention snapshots** β€” Mentions can now snapshot local
files. (#14278)

### Architecture

- **Agent Hono routes** β€” New agent routes added on Hono. (#14535)
- **`/api/agent` migrated to Hono** β€” Remaining `/api/agent` routes
finish their migration. (#14478)
- **Agent marketplace merged into web-onboarding** β€” Reduces package
fragmentation. (#14514)
- **Producer pipeline extracted** β€” Shared package for the producer
pipeline. (#14425)
- **`agentDispatcher.selectRuntimeType`** β€” New runtime selection
abstraction. (#14428)
- **pnpm v11 migration** β€” Workspace consolidated. (#14316)
- **Browser-compatible frontmatter parser** β€” Replaces `gray-matter`.
(#14435)

---

## πŸ“± Platforms & Integrations

- **Messager support** β€” New messager package wired into the chat
surface. (#14442)
- **Messenger DB tables** β€” IM bot integration gains its persistence
layer. (#14496)
- **Line bot** β€” Initial Line support and downstream optimization.
(#14207, #14448)
- **DM pair policy** β€” Group/DM pair-based delivery. (#14211)
- **Telegram API restored** β€” Missing Telegram API path reconnected.
(#14519)
- **xAI Responses tools stabilized** β€” Plus unsupported parameter
handling. (#14462, #14445)
- **Volcengine websearch via ResponseAPI** β€” Built-in websearch for
Volcengine. (#14216)

---

## πŸ€– Models & Providers

- **DeepSeek V4 Pro default for OSS** β€” OSS distribution defaults to
DeepSeek V4 Pro. (#14555)
- **DeepSeek Anthropic runtime** β€” Anthropic-shape runtime support for
DeepSeek. (#14312)
- **GPT-5.5 / GPT-5.5 Pro** β€” New OpenAI tier. (#14142)
- **Grok 4.20 / Grok 4.3 / LobeHub-hosted Grok 4.3** β€” (#14253, #14382,
#14446)
- **Gemma 4 + provider settings normalization** β€” (#13313)
- **gpt-image-2 + step-image-edit-2** β€” (#14253, #14329)
- **Model bank refresh + original-pricing display** β€” Batch model
updates and pricing surfaces. (#14070, #14391)
- **Hunyuan migrated to TokenHub for Hy3 Preview** β€” (#14108)
- **Reject lobehub model ids no longer in the bank** β€” (#14261)
- **Hide runtime-only aliases** β€” Runtime-only model aliases no longer
leak into the model picker. (#14552)

---

## πŸ–₯️ User Experience

### Onboarding

- **Shared prefix steps** β€” Language and privacy extracted as shared
prefix steps. (#14538)
- **Identity intervention card simplified** β€” Plus tool result renders
cleanup. (#14505, #14506)
- **Welcome polish + web-onboarding tool UI** β€” (#14475)
- **Templates fetched from market API** β€” (#14286)
- **Virtual model id for default onboarding model** β€” (#14311)
- **Skip / mode-switch footer behind feature flag** β€” Footer guarded for
desktop and web initialization. (#14560)

### Home & navigation

- **Home recents performance** β€” Recents refresh periodically and inline
task status; brief and task-template fetch overhead trimmed. (#14518,
#14516)
- **Home refactor + skill-connect recommendations** β€” Restructured home
with skill-connect recommendation system. (#14266, #14214)
- **Tasks in agent sidebar** β€” Tasks moved from welcome card into the
sidebar list. (#14500)
- **Sidebar collapse persists** β€” Home sidebar collapse state stored.
(#14473)
- **Agent-specific topic grouping** β€” Plus improved empty state and
agent identity in topic search. (#14225)
- **MentionMenu scroll fix** β€” Mention menu no longer clips inside chat
input. (#14533)

### Conversation & chat

- **Follow-up chips fill input** β€” Clicking a follow-up chip now fills
the input instead of sending immediately. (#14536)
- **Quick-reply chips below assistant messages** β€” (#14350)
- **Inline single-tool assistant group + leading sentence promotion** β€”
(#14244)
- **Assistant-group rendering** β€” Per-segment content overrides flow
into MessageContent. (#14504)
- **Tool call timer fix** β€” Timer no longer resets when tool calls
collapse or expand. (#14513)
- **Streaming re-render reduction** β€” Reference stabilization and
self-subscribing components. (#14470)
- **Topic chat drawer feedback input** β€” (#14392)

### Skills, agents, devtools

- **Managed skill folders** β€” Agent view displays managed skill folders
and aligns delete confirmations. (#14553)
- **Review tab + bulk git diffs** β€” New Review tab with bulk diffs;
gating uses effective working directory. (#14334, #14512)
- **Devtools gallery rebuild** β€” Plus Review polish, queue-tray images.
(#14423)
- **Agent mock devtools** β€” Playback & fixture viewer. (#14436)

### Desktop & CLI

- **App tray visibility setting** β€” (#14463)
- **Notification settings in desktop** β€” (#14491)
- **Multimodal input across CLI / shared spawn / desktop** β€” (#14433)
- **CLI bot + userId guide** β€” (#14258)

---

## πŸ”§ Tooling

- **Visual analysis tool** β€” New visual understanding tool with
flattened schema. (#14378, #14550)
- **GitHub marketplace tool UI** β€” (#14420)
- **Drop "Local" prefix and `____builtin` suffix from tool names** β€”
(#14364, #14289)
- **Sanitize provider tool names** β€” Avoids invalid characters from
external providers. (#14510)
- **Generation moderation context** β€” Moderation context passed through
the generation pipeline. (#14541)
- **Visual analysis trigger tracking** β€” (#14399)
- **Claude thinking signature sanitization** β€” History signatures
sanitized when replaying Claude conversations. (#14499)
- **Responses input media sanitization** β€” Assistant media sanitized in
Responses input. (#14497)

---

## πŸ”’ Security & Reliability

- **Security:** Removed the `/webapi/proxy` route and dead URL-manifest
plugin code to shrink the SSRF surface. (#14549)
- **Security:** Sessions revoked after password reset. (#14424)
- **Reliability:** Added `prompt_cache_key` to OpenAI chat requests for
stable cache hits. (#14349)
- **Reliability:** `onFinish` now fires even when the browser tab is
backgrounded mid-SSE stream. (#14461)
- **Reliability:** Better-auth session refetch preserves user fields
rather than overwriting them. (#14531)
- **Reliability:** User-memory queries sanitize backticks; user-memory
errors now explicitly injected so failures stay visible. (#14524,
#14525)
- **Reliability:** Auth captcha retries handled; input loading unsticks
on `auth_failed` and recoverable `auth_expired`. (#14346, #14419)
- **Reliability:** Trace snapshot finalized on error path. (#14440)
- **Reliability:** Drop `switchTopic` race under rapid sidebar clicks.
(#14115)
- **Reliability:** PDF chunking logic fixed to prevent vectorization
failure. (#14327)
- **Performance:** Marketplace fork uses a batched API for parallel
installs. (#14537)
- **Performance:** Review tab open latency cut ~9Γ— on large dirty trees.
(#14338)

---

## πŸ‘₯ Contributors

Huge thanks to **18 contributors** who shipped **236 merged PRs** this
cycle.

@hezhijie0327 Β· @sxjeru Β· @yueyinqiu Β· @octo-patch Β· @hardy-one Β·
@Coooolfan Β· @CanYuanA Β· @BillionClaw Β· @arvinxx Β· @tjx666 Β· @Innei Β·
@neko Β· @AmAzing129 Β· @rdmclin2 Β· @lijian Β· @sudongyuer Β· @rivertwilight
Β· @cy948

Plus @lobehubbot for i18n and translation maintenance.

---

**Full Changelog**:
v2.1.56...release/weekly-20260509
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature:agent Assistant/Agent configuration and behavior feature:marketplace Agent marketplace related size:XXL This PR changes 1000+ lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant