From 549735be7f09bff2c2049da103edb4664edc0941 Mon Sep 17 00:00:00 2001 From: CanisMinor Date: Thu, 16 Apr 2026 22:24:48 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=93=9D=20docs:=20Update=20changelog=20doc?= =?UTF-8?q?s=20and=20release=20skills=20(#13897)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 🔨 chore: update .vscode/settings.json (#13894) * 🐛 fix(builtin-tool-local-system): honor glob scope in local system tool (#13875) Made-with: Cursor * 📝 docs: Update changelog docs and release skills (#13897) - Update changelog documentation format across all historical changelog files - Merge release-changelog-style skill into version-release skill - Update changelog examples with improved formatting and structure Made-with: Cursor --------- Co-authored-by: YuTengjing Co-authored-by: Innei --- .agents/skills/version-release/SKILL.md | 185 ++++++++++++++++++ .../changelog-example/db-migration.md | 23 ++- .../changelog-example/weekly-release.md | 53 ++--- .vscode/settings.json | 10 +- docs/changelog/2023-09-09-plugin-system.mdx | 32 ++- .../2023-09-09-plugin-system.zh-CN.mdx | 29 ++- docs/changelog/2023-11-14-gpt4-vision.mdx | 33 +++- .../2023-11-14-gpt4-vision.zh-CN.mdx | 27 ++- docs/changelog/2023-11-19-tts-stt.mdx | 29 ++- docs/changelog/2023-11-19-tts-stt.zh-CN.mdx | 26 ++- docs/changelog/2023-12-22-dalle-3.mdx | 25 ++- docs/changelog/2023-12-22-dalle-3.zh-CN.mdx | 22 ++- docs/changelog/2024-02-08-sso-oauth.mdx | 47 +++-- docs/changelog/2024-02-08-sso-oauth.zh-CN.mdx | 45 +++-- docs/changelog/2024-02-14-ollama.mdx | 37 +++- docs/changelog/2024-02-14-ollama.zh-CN.mdx | 36 +++- docs/changelog/2024-06-19-lobe-chat-v1.mdx | 57 ++++-- .../2024-06-19-lobe-chat-v1.zh-CN.mdx | 55 ++++-- docs/changelog/2024-07-19-gpt-4o-mini.mdx | 51 ++--- .../2024-07-19-gpt-4o-mini.zh-CN.mdx | 46 +++-- .../2024-08-02-lobe-chat-database-docker.mdx | 41 ++-- ...-08-02-lobe-chat-database-docker.zh-CN.mdx | 35 ++-- ...4-08-21-file-upload-and-knowledge-base.mdx | 46 ++--- ...1-file-upload-and-knowledge-base.zh-CN.mdx | 38 ++-- .../changelog/2024-09-13-openai-o1-models.mdx | 37 ++-- .../2024-09-13-openai-o1-models.zh-CN.mdx | 35 ++-- docs/changelog/2024-09-20-artifacts.mdx | 50 +++-- docs/changelog/2024-09-20-artifacts.zh-CN.mdx | 50 +++-- docs/changelog/2024-10-27-pin-assistant.mdx | 43 ++-- .../2024-10-27-pin-assistant.zh-CN.mdx | 37 ++-- docs/changelog/2024-11-06-share-text-json.mdx | 29 +-- .../2024-11-06-share-text-json.zh-CN.mdx | 30 +-- .../2024-11-25-november-providers.mdx | 34 ++-- .../2024-11-25-november-providers.zh-CN.mdx | 36 ++-- docs/changelog/2024-11-27-forkable-chat.mdx | 29 ++- .../2024-11-27-forkable-chat.zh-CN.mdx | 25 ++- docs/changelog/2025-01-03-user-profile.mdx | 35 ++-- .../2025-01-03-user-profile.zh-CN.mdx | 33 ++-- docs/changelog/2025-01-22-new-ai-provider.mdx | 29 +-- .../2025-01-22-new-ai-provider.zh-CN.mdx | 27 ++- docs/changelog/2025-02-02-deepseek-r1.mdx | 40 ++-- .../2025-02-02-deepseek-r1.zh-CN.mdx | 36 ++-- docs/changelog/2025-03-02-new-models.mdx | 58 ++++-- .../changelog/2025-03-02-new-models.zh-CN.mdx | 56 ++++-- docs/changelog/2025-04-06-exports.mdx | 76 ++++--- docs/changelog/2025-04-06-exports.zh-CN.mdx | 74 +++++-- docs/changelog/2025-05-08-desktop-app.mdx | 67 ++++--- .../2025-05-08-desktop-app.zh-CN.mdx | 69 ++++--- docs/changelog/2025-06-08-claude-4.mdx | 63 ++++-- docs/changelog/2025-06-08-claude-4.zh-CN.mdx | 61 ++++-- docs/changelog/2025-07-08-mcp-market.mdx | 41 ++-- .../changelog/2025-07-08-mcp-market.zh-CN.mdx | 39 ++-- .../changelog/2025-08-08-image-generation.mdx | 46 +++-- .../2025-08-08-image-generation.zh-CN.mdx | 49 +++-- docs/changelog/2025-09-08-gemini.mdx | 32 +-- docs/changelog/2025-09-08-gemini.zh-CN.mdx | 33 ++-- docs/changelog/2025-10-08-python.mdx | 37 ++-- docs/changelog/2025-10-08-python.zh-CN.mdx | 36 ++-- docs/changelog/2025-11-08-comfy-ui.mdx | 32 +-- docs/changelog/2025-11-08-comfy-ui.zh-CN.mdx | 30 +-- docs/changelog/2025-12-20-mcp.mdx | 30 +-- docs/changelog/2025-12-20-mcp.zh-CN.mdx | 29 +-- docs/changelog/2026-01-27-v2.mdx | 29 +-- docs/changelog/2026-01-27-v2.zh-CN.mdx | 29 +-- docs/changelog/2026-02-08-runtime-auth.mdx | 28 +-- .../2026-02-08-runtime-auth.zh-CN.mdx | 26 +-- docs/changelog/2026-03-16-search.mdx | 20 +- docs/changelog/2026-03-16-search.zh-CN.mdx | 20 +- docs/changelog/2026-03-23-media-memory.mdx | 16 +- .../2026-03-23-media-memory.zh-CN.mdx | 16 +- docs/changelog/2026-03-30-agent-tasks.mdx | 27 +-- .../2026-03-30-agent-tasks.zh-CN.mdx | 21 +- docs/changelog/2026-04-06-auto-completion.mdx | 13 +- .../2026-04-06-auto-completion.zh-CN.mdx | 15 +- docs/changelog/2026-04-13-gateway-sidebar.mdx | 31 ++- .../2026-04-13-gateway-sidebar.zh-CN.mdx | 31 ++- .../src/ExecutionRuntime/index.ts | 7 + .../src/executor/index.test.ts | 39 ++++ .../src/executor/index.ts | 4 +- 79 files changed, 1977 insertions(+), 1016 deletions(-) create mode 100644 packages/builtin-tool-local-system/src/executor/index.test.ts diff --git a/.agents/skills/version-release/SKILL.md b/.agents/skills/version-release/SKILL.md index a787f18796..501e74fd18 100644 --- a/.agents/skills/version-release/SKILL.md +++ b/.agents/skills/version-release/SKILL.md @@ -5,6 +5,14 @@ description: "Version release workflow. Use when the user mentions 'release', 'h # Version Release Workflow +## Mandatory Companion Skill + +For every `/version-release` execution, you MUST load and apply: + +- `../microcopy/SKILL.md` + +Changelog style guidance is now fully embedded in this skill. Keep release facts unchanged, and only improve structure, readability, and tone. + ## Overview The primary development branch is **canary**. All day-to-day development happens on canary. When releasing, canary is merged into main. After merge, `auto-tag-release.yml` automatically handles tagging, version bumping, creating a GitHub Release, and syncing back to the canary branch. @@ -150,6 +158,166 @@ All release PR bodies (both Minor and Patch) must include a user-facing changelo - Weekly Release: See `reference/changelog-example/weekly-release.md` - DB Migration: See `reference/changelog-example/db-migration.md` +### Mandatory Inputs Before Writing + +1. Release diff context (`git log main..canary` and/or `git diff main...canary --stat`) +2. Existing release template constraints (title, credits, trigger rules) +3. `../microcopy/SKILL.md` terminology constraints + +### Output Constraints (Hard Rules) + +1. Keep all factual claims accurate to merged changes. +2. Do not invent numbers, scope, timelines, or availability tiers. +3. Keep release title and trigger-sensitive format unchanged. +4. Keep `Credits` section intact (format required by project conventions). +5. Prefer fewer headings and more natural narrative paragraphs. +6. EN/ZH versions must cover the same facts in the same order. +7. Prefer storytelling over feature enumeration. +8. Avoid `Key Updates` sections that are only bullet dumps unless explicitly requested. + +### Editorial Voice (Notion/Linear-Inspired) + +Target a changelog voice that is calm, confident, and human: + +- Start from user reality, not internal implementation. +- Explain why this change matters before listing mechanics. +- Keep tone practical and grounded, but allow a little product warmth. +- Favor concrete workflow examples over abstract claims. +- Write like an update from a thoughtful product team, not a marketing launch page. + +### Writing Model (3-Pass Rewrite) + +#### Pass 1: Remove AI Vocabulary and Filler + +- Replace inflated words with simple alternatives. +- Remove transition padding like "furthermore", "notably", "it is worth noting that". +- Cut generic importance inflation ("pivotal", "testament", "game-changer"). +- Prefer direct verbs like `run`, `customize`, `manage`, `capture`, `improve`, `fix`. + +#### Pass 2: Break AI Sentence Patterns + +Avoid these structures: + +- Parallel negation: "Not X, but Y" +- Tricolon overload: "A, B, and C" used repeatedly +- Rhetorical Q + answer: "What does this mean? It means..." +- Dramatic reveal openers: "Here's the thing", "The result?" +- Mirror symmetry in consecutive lines +- Overuse of em dashes +- Every paragraph ending in tidy "lesson learned" phrasing + +#### Pass 3: Add Human Product Texture + +- Lead with user-visible outcome, then explain mechanism. +- Mix sentence lengths naturally. +- Prefer straightforward phrasing over polished-but-empty language. +- Keep confidence, but avoid launch-ad hype. +- Write like a product team update, not a marketing page. + +### Recommended Structure Blueprint + +Use this shape unless the user asks otherwise: + +1. `# 🚀 release: ...` +2. One opening paragraph (2-4 sentences) that explains overall user impact. +3. 2-4 narrative capability blocks (short headings optional): + - each block = user value + key capability +4. `Improvements and fixes` / `体验优化与修复` with concise bullets +5. `Credits` with required mention format + +### Length and Reading Density (Important) + +Avoid overly short release notes when the diff is substantial. + +- Weekly release PR body: + - Usually target 350-700 English words (or equivalent Chinese length) + - Keep 2-4 narrative sections, each with at least one real paragraph +- Minor release PR body: + - Usually target 500-1000 English words (or equivalent Chinese length) + - Allow richer context and more concrete usage scenarios +- DB migration release PR body: + - Keep concise, but still include context + impact + operator notes +- If there are many commits, increase narrative depth before adding more bullets. +- If there are few commits, stay concise and do not pad content. + +### Storytelling Contract (Major Capabilities) + +For each major capability, write in this order: + +1. Prior context/problem (briefly) +2. What changed in this release +3. Practical impact on user workflow + +Do not collapse major capability sections into one-line bullets. + +### Section Anatomy (Preferred) + +Each major section should follow this internal rhythm: + +1. Lead sentence: what changed and who benefits. +2. Context sentence: what was painful, slow, or fragmented before. +3. Mechanism paragraph: how the new behavior works in practice. +4. Optional utility list (`Use X to:`) for actionable workflows. +5. Optional availability closer when plan/platform constraints matter. + +This pattern increases readability and makes changelogs more enjoyable to read without sacrificing precision. + +### Section and Heading Heuristics + +- Keep heading count low (typically 3-5). +- Weekly release PR body target: + - 1 opening paragraph + - 2-4 major narrative sections + - 1 improvements/fixes section + - 1 credits section +- Never produce heading-per-bullet layout. +- If a section has 4+ bullets, convert into 2-3 short narrative paragraphs when possible. + +### Linear-Style Block Pattern + +Use this pattern when writing major sections: + +```md +## + + + + + + +Use to: +- +- +- + + +``` + +### Notion-Style Readability Moves + +Apply these moves when appropriate: + +- Use one clear "scene" sentence to ground context (for example, what a team is doing when the feature helps). +- Alternate paragraph lengths: one compact paragraph followed by a denser explanatory one. +- Prefer specific nouns (`triage inbox`, `topic switch`, `mobile session`) over broad terms like "experience" or "workflow improvements". +- Keep transitions natural (`Previously`, `Now`, `In practice`, `This means`) and avoid ornate writing. +- End key sections with a practical takeaway sentence, not a slogan. + +### Anti-Pattern Red Flags (Rewrite Required) + +- "Key Updates" followed by only bullets and no narrative context +- One bullet per feature with no prior context or user impact +- Repeated template like "Feature X: did Y" +- Heading-per-feature with no explanatory paragraph +- Mechanical transitions with no causal flow + +### EN/ZH Synchronization Rules + +- Keep section order aligned. +- Keep facts and scope aligned. +- Localize naturally; avoid literal sentence mirroring. +- If one language uses bullets for a section, the other should match style intent. + ### Writing Tips - **User-facing**: Describe changes that users can perceive, not internal implementation details @@ -157,3 +325,20 @@ All release PR bodies (both Minor and Patch) must include a user-facing changelo - **Highlight key items**: Use `**bold**` for important feature names - **Credit contributors**: Collect all committers via `git log` and list alphabetically - **Flexible categories**: Choose categories based on actual changes — no need to force-fit all categories +- **Terminology enforcement**: Ensure wording follows `microcopy` skill terminology and tone constraints +- **Linear narrative enforcement**: Follow capability -> explanation -> optional "Use X to" list +- **Storytelling enforcement**: For major updates, write in "before -> now -> impact" order +- **Depth enforcement**: If the diff is non-trivial, prefer complete paragraphs over compressed bullet-only summaries +- **Pleasure-to-read enforcement**: Include concrete examples and practical scenarios so readers can imagine using the capability + +### Quick Checklist + +- [ ] First paragraph explains user-visible release outcome +- [ ] Heading count is minimal and meaningful +- [ ] Major capabilities are short narrative paragraphs, not only bullets +- [ ] Includes "before -> now -> impact" for major sections +- [ ] No obvious AI patterns (parallel negation, rhetorical Q/A, dramatic reveal) +- [ ] Vocabulary is plain, direct, and product-credible +- [ ] Improvements/fixes remain concise and scannable +- [ ] Credits format is preserved exactly +- [ ] EN/ZH versions align in facts and order diff --git a/.agents/skills/version-release/reference/changelog-example/db-migration.md b/.agents/skills/version-release/reference/changelog-example/db-migration.md index db37005af4..1a5e17e9c2 100644 --- a/.agents/skills/version-release/reference/changelog-example/db-migration.md +++ b/.agents/skills/version-release/reference/changelog-example/db-migration.md @@ -4,16 +4,27 @@ A changelog reference for database migration release PR bodies. --- -This release includes a **database schema migration** involving **5 new tables** for the Agent Evaluation Benchmark system. +This release includes a **database schema migration** for Agent Evaluation Benchmark. We are adding **5 new tables** so benchmark setup, runs, and run-topic records can be stored in a complete and queryable structure. -### Migration: Add Agent Evaluation Benchmark Tables +## Migration overview -- Added 5 new tables: `agent_eval_benchmarks`, `agent_eval_datasets`, `agent_eval_records`, `agent_eval_runs`, `agent_eval_run_topics` +Previously, benchmark-related data lacked a full lifecycle model, which made it harder to track evaluation flow from dataset to run results. This migration introduces the missing relational layer so benchmark configuration, execution, and analysis records stay connected. -### Notes for Self-hosted Users +In practical terms, this reduces ambiguity for downstream features and gives operators a cleaner foundation for troubleshooting and reporting. -- The migration runs automatically on application startup -- No manual intervention required +Added tables: + +- `agent_eval_benchmarks` +- `agent_eval_datasets` +- `agent_eval_records` +- `agent_eval_runs` +- `agent_eval_run_topics` + +## Notes for self-hosted users + +- Migration runs automatically during app startup. +- No manual SQL action is required in standard deployments. +- As with any schema release, we still recommend database backup and rollout during a low-traffic window. The migration owner: @{pr-author} — responsible for this database schema change, reach out for any migration-related issues. diff --git a/.agents/skills/version-release/reference/changelog-example/weekly-release.md b/.agents/skills/version-release/reference/changelog-example/weekly-release.md index fa7693559c..59a948cf22 100644 --- a/.agents/skills/version-release/reference/changelog-example/weekly-release.md +++ b/.agents/skills/version-release/reference/changelog-example/weekly-release.md @@ -4,42 +4,47 @@ A real-world changelog reference for weekly patch release PR bodies. --- -This release includes **82 commits** , Key updates are below. +This weekly release includes **82 commits**. The throughline is simple: less friction when moving from idea to execution. Across agent workflows, model coverage, and desktop polish, this release removes several small blockers that used to interrupt momentum. -### New Features and Enhancements +The result is not one headline feature, but a noticeably smoother week-to-week experience. Teams can evaluate agents with clearer structure, ship richer media flows, and spend less time debugging provider and platform edge cases. -- Added **Agent Benchmark** support for more systematic agent performance evaluation. -- Introduced the **video generation** feature end-to-end, including entry points, sidebar "new" badge support, and skeleton loading for topic switching. -- Expanded memory capabilities: support for memory effort/tool permission configuration and improved timeout calculation for memory analysis tasks. -- Added desktop editor support for image upload via file picker. +## Agent workflows and media generation -### Models and Provider Expansion +Previously, some agent evaluation and media generation flows still felt fragmented: setup was manual, discoverability was uneven, and switching between topics could interrupt context. This release adds **Agent Benchmark** support and lands the **video generation** path end-to-end, from entry point to generation feedback. -- Added a new provider: **Straico**. -- Added/updated support for: - - Claude Sonnet 4.6 - - Gemini 3.1 Pro Preview - - Qwen3.5 series - - Grok Imagine (`grok-imagine-image`) - - MiniMax 2.5 -- Added related i18n copy and model parameter adaptations. +In practice, this means users can discover and run these workflows with fewer detours. Sidebar "new" indicators improve visibility, skeleton loading makes topic switches feel less abrupt, and memory-related controls now behave more predictably under real workload pressure. -### Desktop Improvements +We also expanded memory controls with effort and tool-permission configuration, and improved timeout calculation for memory analysis tasks so longer runs fail less often in production-like usage. -- Integrated `electron-liquid-glass` (macOS Tahoe). -- Improved DMG background assets and desktop release workflow. +## Models and provider coverage -### Stability, Security, and UX Fixes +Provider diversity matters most when teams can adopt new models without rewriting glue code every sprint. This release adds **Straico** and updates support for Claude Sonnet 4.6, Gemini 3.1 Pro Preview, Qwen3.5, Grok Imagine (`grok-imagine-image`), and MiniMax 2.5. -- Fixed multiple video generation pipeline issues: precharge refund handling, webhook token verification, pricing parameter usage, asset cleanup, and type safety. -- Fixed `sanitizeFileName` path traversal risks and added unit tests. -- Fixed MCP media URL generation with duplicated `APP_URL` prefix. +Use these updates to: + +- route requests to newly available providers +- test newer model families without custom patching +- keep model parameters and related i18n copy aligned across providers + +This keeps model exploration practical: faster evaluation loops, fewer adaptation surprises, and cleaner cross-provider behavior. + +## Desktop and platform polish + +Desktop receives a set of quality-of-life upgrades that reduce "death by a thousand cuts" moments. We integrated `electron-liquid-glass` for macOS Tahoe and improved DMG background assets and packaging flow for more consistent release output. + +The desktop editor now supports image upload from the file picker, which shortens everyday authoring steps and removes one more reason to switch tools mid-task. + +## Improvements and fixes + +- Fixed multiple video pipeline issues across precharge refund handling, webhook token verification, pricing parameter usage, asset cleanup, and type safety. +- Fixed path traversal risk in `sanitizeFileName` and added corresponding unit tests. +- Fixed MCP media URL generation when `APP_URL` was duplicated in output paths. - Fixed Qwen3 embedding failures caused by batch-size limits. -- Fixed multiple UI/interaction issues, including mobile header agent selector/topic count, ChatInput scrolling behavior, and tooltip stacking context. +- Fixed several UI interaction issues, including mobile header agent selector/topic count, ChatInput scrolling behavior, and tooltip stacking context. - Fixed missing `@napi-rs/canvas` native bindings in Docker standalone builds. - Improved GitHub Copilot authentication retry behavior and response error handling in edge cases. -### Credits +## Credits Huge thanks to these contributors (alphabetical): diff --git a/.vscode/settings.json b/.vscode/settings.json index 85b9761a1e..32d587d499 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -6,7 +6,11 @@ }, "editor.formatOnSave": true, // don't show errors, but fix when save and git pre commit - "eslint.rules.customizations": [], + "eslint.rules.customizations": [ + { "rule": "simple-import-sort/exports", "severity": "off" }, + { "rule": "perfectionist/sort-interfaces", "severity": "off" }, + { "rule": "simple-import-sort/imports", "severity": "off" } + ], "eslint.validate": [ "json", "javascript", @@ -16,7 +20,7 @@ // support mdx "mdx" ], - "mdx.server.enable": false, + "js/ts.tsdk.path": "node_modules/typescript/lib", "npm.packageManager": "pnpm", "search.exclude": { "**/node_modules": true, @@ -44,9 +48,7 @@ // make stylelint work with tsx antd-style css template string "typescriptreact" ], - "typescript.tsdk": "node_modules/typescript/lib", "vitest.disableWorkspaceWarning": true, - "vitest.maximumConfigs": 10, "workbench.editor.customLabels.patterns": { "**/app/**/[[]*[]]/[[]*[]]/page.tsx": "${dirname(2)}/${dirname(1)}/${dirname} • page component", "**/app/**/[[]*[]]/page.tsx": "${dirname(1)}/${dirname} • page component", diff --git a/docs/changelog/2023-09-09-plugin-system.mdx b/docs/changelog/2023-09-09-plugin-system.mdx index dfe217de57..813593d1de 100644 --- a/docs/changelog/2023-09-09-plugin-system.mdx +++ b/docs/changelog/2023-09-09-plugin-system.mdx @@ -1,9 +1,6 @@ --- -title: LobeHub Plugin Ecosystem - Functionality Extensions and Development Resources -description: >- - Discover how the LobeHub plugin ecosystem enhances the utility and flexibility - of the LobeHub assistant, along with the development resources and plugin - development guidelines provided. +title: 'Plugin System: Extend Your Agents with Community Skills' +description: LobeHub now supports a plugin ecosystem that lets Agents access real-time information, interact with external services, and handle specialized tasks without leaving the conversation. tags: - LobeHub - Plugins @@ -13,12 +10,29 @@ tags: # Supported Plugin System -The LobeHub plugin ecosystem is a significant extension of its core functionalities, greatly enhancing the utility and flexibility of the LobeHub assistant. +LobeHub now supports plugins that extend what your Agents can do. Instead of being limited to built-in capabilities, Agents can now pull live data, interact with external platforms, and handle specialized workflows through community-built extensions.