mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2026-07-03 20:59:22 +08:00
### What this PR does Before this PR: - `@ai-sdk/deepseek` was pinned to `2.0.29`, missing an upstream fix for `deepseek-v4` reasoning content in multi-turn conversations. After this PR: - Bumps `@ai-sdk/deepseek` from `2.0.29` to `2.0.30` (latest stable). - Renames the local patch file to `@ai-sdk__deepseek@2.0.30.patch` and updates the `pnpm.patchedDependencies` key. The patch (which adds the `reasoning_effort` option for `high`/`max`) re-applies cleanly because the patched regions are unchanged in `2.0.30`. Fixes # ### Why we need it and why it was done in this way Upstream `2.0.30` ships a single fix from vercel/ai commit `0498012`: `fix(provider/deepseek): preserve reasoning_content for deepseek-v4 in multi-turn requests`. It threads the `modelId` into `convertToDeepSeekChatMessages`, stops dropping `reasoning` blocks before the last user message for `deepseek-v4`, and ensures `reasoning_content` is at least `""` rather than `undefined` so the field is preserved across turns. Keeping the local patch in sync with upstream prevents drift and unblocks future DeepSeek model rollouts. The following tradeoffs were made: - Patch file content is byte-identical; only the filename and `pnpm.patchedDependencies` key are updated. This avoids gratuitous diff churn while keeping the patch addressable to the new version. The following alternatives were considered: - Wait for a larger DeepSeek change before bumping — rejected; the upstream fix is small, isolated, and there is no reason to delay. - Move to `3.0.0-beta.x` — rejected; betas track AI SDK v6 and are out of scope for the `main` branch hotfix lane. Links to places where the discussion took place: N/A ### Breaking changes None. Public API surface, exported types, and the `reasoning_effort` patch behavior are unchanged. ### Special notes for your reviewer - Verified the patch applied to `2.0.30` in `node_modules` — both the local addition (`reasoning_effort`) and the upstream fix (`isDeepSeekV4`) are present after `pnpm install`. - `pnpm build:check` passes locally (4199 tests, 0 errors). - This change is restricted to `main` per the code-freeze policy and is delivered from a `hotfix/*` branch with no refactoring. ### Checklist - [x] PR: The PR description is expressive enough and will help future contributors - [x] Code: Write code that humans can understand and Keep it simple - [x] Refactor: You have left the code cleaner than you found it (Boy Scout Rule) - [x] Upgrade: Impact of this change on upgrade flows was considered and addressed if required - [ ] Documentation: A user-guide update was considered and is present (link) or not required. Check this only when the PR introduces or changes a user-facing feature or behavior. - [x] Self-review: I have reviewed my own code before requesting review from others ### Release note ```release-note NONE ``` --------- Signed-off-by: suyao <sy20010504@gmail.com>
2.2 KiB
2.2 KiB