Commit Graph
18036 Commits
Author SHA1 Message Date
_Kerman beb5186e36 Merge origin/master into xtr/runtime-context-reminders 2026-11-05 15:23:36 +08:00
Turtle 1e0ca162d9 Merge pull request #7583 from deepseek-harness/turtle/compact-opus-hang-2d6253c47af9
fix(llm-pi-ai): omit Anthropic thinking whose request prefix changed
2026-11-05 15:06:51 +08:00
Yudong Han 6b59aa0053 Merge pull request #7868 from deepseek-harness/feat/web-tool-custom-endpoint
feat(web): DeepSeek Search/Fetch API 支持选择计费方式(自动 / 已登录账号 / API Key)
2026-11-05 14:32:24 +08:00
yudshj 42cf6b1e3e fix(web): 精简网页搜索与获取设置页文案,去掉原理说明 2026-11-05 13:58:38 +08:00
yudshj abd2ec3e2c fix(web): 避免条件 await 导致覆盖率负计数 2026-11-05 13:28:10 +08:00
imccyu 82582b7b40 chore(deps): unify zod to ~4.6.6 (#7502)
* chore(deps): unify zod to 4.6.6

Raise all 88 workspace zod declarations to exact 4.6.6 and move @browserbasehq/stagehand to 4.4.0, which pins the same version, so the lock keeps a single zod copy. Test expectations and the Typert consumer's node types follow the new declarations; pnpm-workspace.yaml records the release-age exemption for [email protected].

* fix(stagehand): drop the deprecated extensionId option

Stagehand 4.4.0 ignores extensionId and discovers the installed extension itself, so the option no longer selects anything. Remove it from the provider config and worker plumbing, update the READMEs and regenerated config catalog, and adjust the attach test fixture.

* test(bench): widen the browser stream overlap window

The input-overlap probe can start after the paced synthetic reply finishes on a loaded runner, so double the per-chunk pace and re-record the README translation hash after the extensionId removal.
2026-11-05 13:09:43 +08:00
Turtle beee3dbe42 Merge pull request #7035 from deepseek-harness/turtle/market-git-update
feat(plugins): update Git-installed plugins from Discover
2026-11-05 12:43:43 +08:00
yudshj 6bcf6ee314 refactor(web): 按有序凭据来源执行 Search/Fetch 认证 2026-11-05 12:06:14 +08:00
涂轶翔 ae24f608a6 Merge pull request #7415 from deepseek-harness/feat/windows-writable-directory-sets
fix(sandbox): keep Windows extra directory grants in file tools
2026-11-05 11:39:50 +08:00
imccyu 6c3285795a test(bench): widen the browser stream overlap window
The input-overlap probe can start after the paced synthetic reply finishes on a loaded runner, so double the per-chunk pace and re-record the README translation hash after the extensionId removal.
2026-11-05 11:27:26 +08:00
imccyu 0e35813b35 fix(stagehand): drop the deprecated extensionId option
Stagehand 4.4.0 ignores extensionId and discovers the installed extension itself, so the option no longer selects anything. Remove it from the provider config and worker plumbing, update the READMEs and regenerated config catalog, and adjust the attach test fixture.
2026-11-05 11:27:26 +08:00
imccyu 6b8d868008 chore(deps): unify zod to 4.6.6
Raise all 88 workspace zod declarations to exact 4.6.6 and move @browserbasehq/stagehand to 4.4.0, which pins the same version, so the lock keeps a single zod copy. Test expectations and the Typert consumer's node types follow the new declarations; pnpm-workspace.yaml records the release-age exemption for [email protected].
2026-11-05 11:27:26 +08:00
Turtle 2099 0f9a7601ce Merge pull request #6888 from deepseek-harness/turtle/icons-plugin-tokens-e20dec90761c
refactor(client): route feature colors through theme aliases
2026-11-05 11:25:51 +08:00
turtle1999 d2bed0238e feat(plugins): update Git-installed plugins from Discover
Discover offers Update for a plugin installed from a pinned Git commit
when the plugin index lists a newer commit of the same repository
directory. The Plugins page update removes the installed copy, installs
the target with an expected-package check that undoes a wrong install
with its modules, and reinstalls the removed commit when the target
fails. A network failure reaching the target's host stops the update
before anything is removed.
2026-11-05 01:38:32 +08:00
Turtle 4d4a7c36ad Merge pull request #7892 from deepseek-harness/turtle/fix-dark-mode-layering-e8ad7a481b97
fix(sidebar-files): layer the dark file-tree card by background instead of shadow
2026-11-05 00:52:36 +08:00
Turtle 7be4511492 Merge pull request #7010 from deepseek-harness/turtle/retry-policy-ui-fb23c6dee798
feat(ui-settings-models): edit the provider retry policy in Models settings
2026-11-05 00:35:41 +08:00
Turtle 38c7a9fbf4 feat(release): publish package source, declaration maps, and documentation (#5884)
* feat(release): publish package source, declaration maps, and documentation

Every release member publishes its TypeScript source and the declaration
maps that resolve into it, and @deepseek-ai/dsh publishes the repository
Markdown documentation staged from docs/ at prepack time.

The ./src/* export most members already declared now resolves for an
installed consumer, and a consumer editor follows a declaration to the
implementation. Bundled JavaScript maps stay unpublished; the vendored
family and the Desktop runtime file policy are unchanged.

Rationale: .agents/notes/implemented/process/2026-10-08-published-source-and-docs.md

* feat(release): publish JavaScript maps and compress bundles

Every emitted JavaScript map ships beside the bundle it describes, and the
workspace build and the client preset compress bundles without mangling
identifiers.

The documentation payload now mirrors the website publication manifest and
is removed again by `postpack`; Desktop and the Python executable exclude
the published source, documentation, and maps; `clean` removes a staged
copy. Typert's publication contract gains the Remote declaration map.

* fix(release): keep node bundles readable for the worker image

The browser worker image lowers `yield*` only as a whole statement and
rewrites `for await` loops by their source layout, so compressed node-side
entries either fail that lowering or lower to unparseable code. Only the
browser bundles keep compression, which removes about a third of their text.

The bundle-purity assertion now matches the module-loader call regardless of
the quote style compression picks, and the release-pack fixture exercises
the installed package's new documentation requirement.

* feat(release): publish the whole documentation tree

`@deepseek-ai/dsh` copies `docs/` in full instead of the website's page
set: the maintainer documents, the generated migration records, the
translation guidelines, and the `*.i18n.yaml` consistency records ship
with the installed package, so the documentation's own links resolve
without a checkout.

* feat(release): publish the upgrade guides with the documentation

The staged documentation keeps the website's page set and adds every
`docs/upgrade-guide/` document, which is what an installed reader consults
when a released change breaks something. The rest of the maintainer tree
stays out.

* test(release): expect source and maps in master's new payload cases

* feat(release): keep installed docs and source readable in Desktop

Desktop keeps the published src/ and docs/ trees inside app.asar, and
every model shell call receives DSH_INSTALL_DIR and DSH_NODE_EXECUTABLE
so an agent can read them through Electron's Node mode. Staging also
generates docs/upgrade-guide/README.md, an index of the upgrade guides
grouped by the release they upgrade from.

Minified client bundles print string literals with backticks: the
worker image packer now recognizes those chunk requests, client license
banners are prepended after minification so their text survives, and
the affected artifact tests accept either quote.

* test(desktop): read archived docs through the Windows PowerShell form

Regenerate the config catalog for the shifted shell-env source line.

* test(desktop): wait for the GUI-subsystem Electron process from PowerShell

* build(release): publish source and maps from the message-quotes package

* build(release): publish source and maps from packages new on master

* build(release): publish source and maps from the tool-office package
2026-11-05 00:22:36 +08:00
9115580c7b Merge branch 'master' into turtle/fix-dark-mode-layering-e8ad7a481b97
Co-authored-by: Yifffan <[email protected]>
Co-authored-by: yudshj <[email protected]>
2026-11-04 23:45:00 +08:00
Turtle 0f8702299d Merge pull request #7896 from deepseek-harness/turtle/remove-session-more-tooltip-87c40ecbaf33
fix(client): drop the tooltip from sidebar row more buttons
2026-11-04 23:12:02 +08:00
24bfeda864 fix(sidebar-files): bind the file-tree card's light hairline to border-l2
Co-authored-by: Yifffan <[email protected]>
Co-authored-by: yudshj <[email protected]>
2026-11-04 22:47:44 +08:00
783f5908b1 fix(sidebar-files): match the file-tree card's hairline and shadow to the menu card
Co-authored-by: Yifffan <[email protected]>
Co-authored-by: yudshj <[email protected]>
2026-11-04 22:21:32 +08:00
yudshj 20efe56054 refactor(office): skill-office 的 pythonEnvironment 显式写出 workspace-dependencies
两个 profile 的三元表达式不再用 undefined 回落 schema 默认值,与 workspace-dependencies 行的挂载条件一一对应;同步注释与 web-app README。
2026-11-04 13:25:24 +00:00
yudshj 9df26413ee refactor(office): Office 技能统一读取包内 assets,移除包外 office-skills 拷贝与 DSH_BUNDLED_OFFICE_SKILLS
- web-app、sdk-app 的 skill-office 不再覆盖 assetRoot;pythonEnvironment 不变
- Desktop 与 Python SDK 打包不再生成 office-skills 资源目录,删除 prepareOfficeSkillAssets 与 skillSource
- Desktop 打包 smoke 校验 4 个 Office 技能可从运行时归档列出并加载
- 同步测试、README、Agent Note,新增升级指南 office-skill-resources
2026-11-04 13:25:24 +00:00
yudshj 3f6cd80c9d feat(office): Office 技能在 Web、SDK 均可加载
- web-app profile 不再限定 Desktop 才加载 skill-office;非 Desktop 时可用 DSH_BUNDLED_OFFICE_SKILLS 指定技能目录,否则使用随包技能,并指引模型使用用户自己的 Python
- sdk-app profile 不再要求 DSH_PRIMARY_RUNTIME 才加载 skill-office;没有 primary runtime 时使用随包技能和用户自己的 Python
- 相应刷新 SDK / Web snapshot 与 golden(首轮注入 Office 技能目录),并更新 README、Agent Note、升级指南和测试
2026-11-04 13:25:24 +00:00
Yudong Han 8b0c85dd11 Merge pull request #7300 from deepseek-harness/fix/issue7209-runtime-missing
fix(office): Office 资源缺失不再阻止 Host 启动,合并为 office-kit 并新增原生 office 工具
2026-11-04 13:25:20 +00:00
yudshj 28b4ccb18b fix(office): keep routing guidance within context budget 2026-11-04 21:07:27 +08:00
yudshj b366ef16bc fix(office): align profile e2e and spreadsheet render guidance 2026-11-04 20:57:01 +08:00
yudshj 483dfc223f feat(web): 计费文案改为明确会产生费用,高级覆盖时显示胶囊并禁用计费方式 2026-11-04 20:07:38 +08:00
Xu Hanxiang 36c44b9b7d Merge pull request #7877 from deepseek-harness/feat/markdown-diff-fence-colors
feat(ui-primitives): render diff fences with row colors and inner-language highlighting
2026-11-04 12:05:57 +00:00
edac13d29c fix(sidebar-files): use layer-1 and a static black shadow for the file-tree card in both themes
Co-authored-by: Yifffan <[email protected]>
Co-authored-by: yudshj <[email protected]>
2026-11-04 19:46:10 +08:00
yudshj ab0be5a4bd fix(office): align tool package with release version 2026-11-04 19:36:10 +08:00
yudshj f3a4643e71 feat(web): DeepSeek Search/Fetch API 支持按能力选择计费方式(自动 / 已登录账号 / API Key) 2026-11-04 19:32:22 +08:00
5320eabb46 test(web): expect the dark file-tree card without a shadow
Co-authored-by: Yifffan <[email protected]>
Co-authored-by: yudshj <[email protected]>
2026-11-04 19:07:01 +08:00
TurtleandYifffan b917986836 test(client): give the row tooltip check its own case
Co-authored-by: Yifffan <[email protected]>
2026-11-04 18:44:44 +08:00
TurtleandYifffan a5b0afda88 fix(client): drop the tooltip from row context-menu buttons
Session and workspace row ellipsis buttons gained a label tooltip when they
moved to the shared contextMenu.button factory. Keep the tooltip only on the
compact toolbar variant.

Co-authored-by: Yifffan <[email protected]>
2026-11-04 18:32:25 +08:00
7461a92d71 fix(sidebar-files): use base-surface scrollbar colors on the dark file-tree card
Co-authored-by: Yifffan <[email protected]>
Co-authored-by: yudshj <[email protected]>
2026-11-04 18:30:54 +08:00
49217016e5 fix(sidebar-files): layer the dark file-tree card by background instead of shadow
Co-authored-by: Yifffan <[email protected]>
Co-authored-by: yudshj <[email protected]>
2026-11-04 18:24:04 +08:00
yudshj 100a0bcc3d test(snapshot): rebase 到最新 master 后刷新 office 场景快照与双语配对记录 2026-11-04 18:18:03 +08:00
yudshj ca3ad0cc85 fix(office): 按 review 意见同步文档事实、Office 行兜底、拒绝用例结构与主运行时默认值归属
- Native Office 工具 Agent Note:移除已删除的 `/locate` 子路径、把「PDF 页数」改为转换器报告的页数、补全输出文件删除条件、把「工具不可用」统一为「不在工具列表中」,中英文与配对哈希同步。
- skill-office / tool-office README:Progressive loading 与 unavailable 提示摘要按实际行为描述,重录 i18n 哈希。
- Office 行:结果只含图片块时不再回退到扁平化输出(避免向用户显示附件引用 JSON),用例随之改为断言没有输出区。
- tool-office 用例:参数拒绝与路径拒绝拆成两组,用 resolve 调用次数显式表达「是否碰文件系统」。
- office-docx / office-xlsx:去掉引导语会让模型把「只做内容检查」误读成「需要渲染」,并刷新内嵌技能正文的 office 快照。
- visual-intent 夹具:用具名 intent 常量代替下标引用。
- Desktop:主运行时「运行时目录旁」的布局假设只保留在 Host 侧,壳传空参数表示使用默认,行为不变。
2026-11-04 18:18:03 +08:00
yudshj 63e99a1f56 refactor(office): Office 技能在 Web 仅随 Desktop 加载、SDK 仅在有 primary runtime 时加载,开放加载移至后续 PR 2026-11-04 18:18:03 +08:00
yudshj 056c970ecc docs(skill-office): 路由技能说明 office_render 可渲染 PDF 页面、office_convert 不接受 PDF 输入 2026-11-04 18:18:02 +08:00
yudshj d348e2267a fix(office): 按各格式库能否验证排版重写渲染指引,pptx 改动幻灯片内容时渲染,新增备注修改用例 2026-11-04 18:18:02 +08:00
yudshj 20915740de fix(office): office-pptx 技能写明文本、数据与备注修改不需要渲染 2026-11-04 18:18:02 +08:00
yudshj 4bcae20f56 fix(office): 重写 office 路由技能正文,回到 200 token 预算内 2026-11-04 18:18:01 +08:00
yudshj c1d9d02138 docs(office): 文档对齐 office_render 卡片暂不显示图库 2026-11-04 18:18:01 +08:00
yudshj 56fb83d47f refactor(ui-tool): office_render 卡片暂不显示图库,撤回 tool.call.office_render.images 与 ToolRow renderImages 2026-11-04 18:18:01 +08:00
yudshj e83cd31770 docs(preview): reconcile pairing after master sync 2026-11-04 18:18:01 +08:00
yudshj a485361411 chore(office): align new package and upgrade guides with current release 2026-11-04 18:18:01 +08:00
yudshj c93d021286 fix(ci): isolate compiler scans and verify Office render results 2026-11-04 18:18:00 +08:00
yudshj 39f2c26d8b refactor(office): office_convert 与 office_recalculate 共用文件输出定义,消除重复代码 2026-11-04 18:18:00 +08:00