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
yudshj
b366ef16bc
fix(office): align profile e2e and spreadsheet render guidance
2026-11-04 20:57:01 +08:00
yudshj
63e99a1f56
refactor(office): Office 技能在 Web 仅随 Desktop 加载、SDK 仅在有 primary runtime 时加载,开放加载移至后续 PR
2026-11-04 18:18:03 +08:00
yudshj
e90954631e
refactor(desktop): primaryRuntime 保持 Host argv 传入,由 desktop-host 写入 DSH_PRIMARY_RUNTIME,不再升级 Host 协议版本
...
- main.ts / host-process.ts / host-protocol.ts 恢复 master 的 argv 布局与协议版本 4
- desktop-host 在环境快照和 profile 求值前把 argv[4] 写入 DSH_PRIMARY_RUNTIME
- 相关测试、smoke 脚本与 fixture 恢复按构造参数传入 primaryRuntime
- 删除 README 与升级指南中「内置终端继承 DSH_PRIMARY_RUNTIME」的不实说明(子进程会清除 DSH_* 变量)
2026-11-04 18:18:02 +08:00
yudshj
edd38f1d66
refactor(office): office 工具拆成 office_render/office_convert/office_recalculate,加载 Office 技能后按需声明
...
- tool-office 注册三个工具,参数规则由各自 schema 表达,运行时拒绝其他工具的参数
- 三个工具共用 when:本 agent 成功加载过 activationSkills 中的技能(内存标记),或上一次请求头已声明 office_*;加载后下一步声明,之后不移除
- Office 技能改用新工具名,加入工具不可用时重新加载 office 的说明和旧格式先转换的说明
- Client 卡片按工具名分派,图片子槽改为 tool.call.office_render.images
- 删除未发布 office 工具的两份升级指南,新增 office-operation-tools 指南,只记录已发布版本的变化
- 刷新 catalog、snapshot、SDK expected 与 Agent Note
2026-11-04 18:17:59 +08:00
yudshj
012088543a
fix(office): PDF 导出后不再渲染,合并 DSH_BUNDLED_PRIMARY_RUNTIME 到 DSH_PRIMARY_RUNTIME
...
- office 路由技能:PDF 导出写明验收(复制的文件非空且以 `%PDF-` 开头)并在此停止;保留排版类任务主动渲染。office 工具让渲染只差一次调用后,模型常在导出后渲染 result.pdf 验收,e2e「exports PDF」因此失败。
- office-pptx / office-xlsx 删去不提供操作的免责句。
- Desktop、SDK 与 web-app 配置只读 DSH_PRIMARY_RUNTIME,空值视为未设置;SDK 启动器在用户未设置时才填入下载缓存路径。
- e2e 断言附带工具调用诊断;render 检测改用记录的 office 调用,新增 render-context.spec.ts。
- 同步 office 快照、README 与升级指南。
2026-11-04 18:17:58 +08:00
yudshj
78da437976
refactor(office): 移除 render/recalculate/export-pdf 技能,改为直接调用 office 工具
2026-11-04 18:17:58 +08:00
yudshj
50ba635949
feat(office): Office 操作改为常驻的原生 office 工具
...
- 新包 @deepseek-ai/dsh-tool-office 提供常驻的 office 工具(render / convert / recalculate),由 office-kit 在 Host 中直接调用 Kit 的 JS API;标准模式与 PTC 通过同一个工具调用
- render 的页面图片直接进入工具结果(有数量、像素与字节上限);convert / recalculate 的结果写入 office-kit 按 Session 划分的私有输出目录,由模型用 shell 复制到工作区,fs 与 Host 代码不写用户工作区
- 删除为 shell 执行 Kit CLI 而存在的代码:skill-office 的 node / cli / kitRoot、resolveKitCli、DSH_BUNDLED_OFFICE_CLI / DSH_BUNDLED_OFFICE_NODE / DSH_BUNDLED_RUNTIME_ROOT 与 Electron 下的独立 Node 检查;打包 smoke 改为经 office-kit 真实渲染、转换与重算
- office 由 web-app 的 standard / ptc 预设与 sdk-app 挂载,minimal 不挂载;操作技能正文与目录描述指向 office 工具
- 新增 Agent Note,部分取代 progressive-office-skills 的 shell 执行决定;同步 README、子系统页、catalog 与升级指南(含已保存预设的迁移步骤)
本 PR 的 snapshot 统一在这个提交里重新生成,前 4 个提交中的 snapshot 不一定和那一步的代码对应。
2026-11-04 18:17:58 +08:00
yudshj
a220e017b5
refactor(office): 合并为 office-kit,Kit 缺失时降级而非加载失败
...
- Kit CLI 由 office-kit/locate 在 Host 中定位(含 ASAR 映射与可选 root 越界检查),删除 Desktop 壳的 office-cli 与诊断文件;生产版 Desktop 由壳通过 DSH_BUNDLED_RUNTIME_ROOT 显式传入 Kit 根目录,开发版与 Web 不检查
- office-to-pdf 与 office-kit-resolver 合并为 @deepseek-ai/dsh-office-kit,由同一包定位 Kit 并提供转换服务
- Kit 缺失时 provider 照常注册,转换请求以 OfficeKitError unavailable 拒绝,之后安装 Kit 无需重载
- 类型统一使用 OfficeKit 前缀(OfficeKitRequest/Result/Priority/Key),同步消费方、文档、升级指南与 catalog
- 处理 ds-review-bot 意见,并更新 unknown 断言基线
本 PR 的 snapshot 统一在这个提交里用 keyless refresh 重新生成,前 3 个提交中的 snapshot 不一定和那一步的代码对应。
2026-11-04 18:17:57 +08:00
yudshj
4a41d3ad1f
feat(office): Office 技能在 Desktop、Web、SDK 均可用
...
- Office 技能从 Desktop 专属改为在 Web、SDK 与 Desktop profile 中均可挂载
- skill-office 新增 pythonEnvironment 配置,按部署显式选择内置依赖或用户已有的 Python
- Python 类技能末尾追加固定的 Python 环境说明,技能正文不再写死 load_workspace_dependencies
- 去掉 node:sea 探测,避免 Web 预览镜像依赖 webworker stub
2026-11-04 18:17:57 +08:00
yudshj
ee06bf3f9b
fix(office): 升级 LibreOffice Kit 到 0.2.3,Kit CLI 定位失败时隔离并保留技能
...
- 将 Kit 引擎包解析提取为 office-engine-resolver,并与 master 的发布配置对齐
- LibreOffice Kit 升级到 0.2.3 正式版
- Desktop 的 Office CLI 改由 skill-office 解析 Kit,去掉 desktop-host 对 Kit 的依赖
- Kit 缺失时给出可操作错误;Office CLI 定位失败时隔离错误并保留 Office 技能
- 按 Kit 0.2.3 的 helper 授予 macOS JIT 权限,并按新 Host 签名转发夹具参数
2026-11-04 18:17:57 +08:00
yudshj
498d436db5
fix(office): 技能文件缺失时不再阻止 Desktop Host 启动,Office 改由 Desktop profile 挂载
...
- skill-office 在技能文件缺失或元数据解析失败时降级为持久失败,不再阻止 Desktop Host 启动
- Office 改由 Desktop profile 的 yaml 挂载,载体路径由 Desktop 壳通过 Host 环境传入
- 升级 LibreOffice Kit 到 rc.4,移除 Desktop Host 的引擎钩子,runtimeArchivePath 内联到 cli.ts 并删除 office-engine.ts
- 按平台原生路径和当前 Host 参数布局更新 web-app 与 desktop-host 测试夹具
2026-11-04 18:17:57 +08:00
imccyu
abc0e7092b
Merge remote-tracking branch 'origin/release/dsh-0.2.2' into merge/release-dsh-0.2.2-rc.1-to-master
...
# Conflicts:
# packages/client/ui-agent-team/package.json
# packages/client/ui-brand-official/package.json
# packages/client/ui-open-in-app/package.json
# packages/client/ui-settings-web-search/package.json
# packages/experimental/agent-team-profile/package.json
# packages/team/agent-team/package.json
# packages/web/web-search-exa/package.json
# packages/web/web-search-perplexity/package.json
2026-11-04 15:59:50 +08:00
imccyu
2f97f60455
release(dsh): 0.2.2-rc.1
2026-11-04 15:50:06 +08:00
Dudu-0223
7b2d7841dd
Merge master into subagent naming fixes
2026-11-03 15:52:55 +08:00
imccyu
f590c13c92
Merge master into worktree-sync-dsh-0.2.2-to-master-1103b
2026-11-03 15:10:23 +08:00
Dudu-0223
19e5a95802
Merge pull request #7773 from deepseek-harness/feat/sdk-team-mode
...
feat(team): support enabling Team mode through SDK Cordis patches
2026-11-03 14:32:04 +08:00
Dudu-0223
9f57925000
Merge remote-tracking branch 'origin/master' into feat/subagent-catalog-names
...
# Conflicts:
# docs/persistence-schema.json
# docs/tool-catalog.i18n.yaml
2026-11-03 13:49:18 +08:00
gengruilin
d9d3b80fe3
Merge remote-tracking branch 'origin/master' into feat/mcp-manager-core
2026-11-03 13:37:58 +08:00
imccyu
1c78d475bf
release(dsh): 0.2.2-alpha.3
2026-11-03 13:37:26 +08:00
imccyu
70d9b57f5c
Merge pull request #7565 from deepseek-harness/feat/web-search-fetch-settings
...
feat(web): 网页搜索与获取设置页分开选择 Search 与 Fetch,Search 默认改为 DeepSeek Search API
2026-11-03 13:31:41 +08:00
gengruilin
df078ddc82
Merge remote-tracking branch 'origin/master' into feat/mcp-manager-core
2026-11-03 13:31:23 +08:00
Dudu-0223
a3baa4d6e4
Merge remote-tracking branch 'origin/master' into feat/sdk-team-mode
...
# Conflicts:
# docs/persistence-schema.json
2026-11-03 13:29:41 +08:00
yudshj
3859913c68
feat(web): 网页搜索与获取设置页分开选择 Search 与 Fetch,Search 默认改为 DeepSeek Search API
2026-11-03 13:04:26 +08:00
winewill
5b6366f5bf
Type the canonical CLI module import
2026-11-03 12:51:08 +08:00
winewill
cbe275fe99
Keep embedded CLI imports on the carrier module tree
2026-11-03 12:51:08 +08:00
winewill
8632896e84
Resolve Windows CLI entry aliases before loading runtime modules
2026-11-03 12:51:08 +08:00
Dudu-0223
e180fce05a
feat(team): enable new root Team mode through Cordis configuration
2026-11-03 12:09:30 +08:00
imccyu
ef5f28d0fb
Merge master into worktree-sync-dsh-0.2.2-to-master
2026-11-03 11:47:40 +08:00
Dudu-0223
6644a234a5
Merge master into feat/subagent-catalog-names
2026-11-02 17:46:04 +08:00
gengruilin
62c6a2658d
Merge remote-tracking branch 'origin/master' into feat/mcp-manager-core
2026-11-02 17:11:12 +08:00
creatixchu
3def5c9e24
test(fs): pin recorded patch tool and cover configurable defaults
2026-11-02 16:38:56 +08:00
Dudu-0223
a7f21a8dd6
fix(subagent): persist task owner names and simplify receipts
2026-11-02 16:01:05 +08:00
Dudu-0223
fbfc91bcba
test(cli): follow agent names in profile e2e expectations
2026-11-02 15:12:56 +08:00
Dudu-0223
ff563d07e0
feat(subagent): name subagents in their creator catalog
...
Models coordinate subagents through send_message, interrupt_agent, list_agents,
and Team task owners, but every one of those addressed a member by a
36-character Session id. Each new child now has a name, unique among its
creator's children, recorded as a field of the subagent/catalog entry the
creator already appends (payload version 3).
The Session id stays the only execution identity for routing, authorization,
persistence, task ownership, and navigation. A name is a model-facing
reference: 1-32 lower-case letters, digits, or hyphens starting with a letter,
never `lead`, so a UUID never parses as one. Omission selects the first free
`agent-N`; an explicit duplicate or invalid name fails before startup. The
creator reserves the name synchronously at admission and releases it when the
catalog entry commits or startup fails, so no second write, rollback protocol,
or optional naming service exists.
The root is `lead`, and a descendant's full name is its path from the root
without a `lead/` prefix, such as `reviewer/checker`. Sibling-unique segments
make full names tree-unique without a root registry, and cold resume rebuilds
a member's path from the catalogs along its creation chain. A member below an
unnamed historical creator keeps its Session id as its name. resolveName()
reads only the catalogs along the path and grants no authority.
Tools, runtime-authored text, and the Web client consume names: delegation
takes an optional name and returns { kind, subagentId, name }; send_message and
interrupt_agent take `agent`; list_agents rows carry name, status, and
description; Team task results report the owner's name while storage keeps
ownerId; identity runtime context, message framing, and settlement notices use
full names. Recorded sessions, CLI and Web expectations, the Python runtime
snapshots, bilingual docs, an upgrade guide, and an Agent Note follow.
2026-11-02 14:58:32 +08:00
creatixchu
7d9bc01a50
Merge updated master and helper identity into bundled Computer Use
2026-11-02 14:58:31 +08:00
gengruilin
be167ec989
Merge remote-tracking branch 'origin/master' into feat/mcp-manager-core
2026-11-02 11:43:57 +08:00
Dudu-0223 and imccyu
0487699ae4
feat(subagent): share ID-based identity and collaboration guidance ( #7519 )
...
* feat(subagent): share identity and collaboration guidance
* fix(subagent): complete shared guidance snapshot expectations
* fix(subagent): match task descriptions to the user language
* refactor(subagent): retain shared guidance with Session ids
* test(subagent): recognize parent ids in shared identity
* Checkpoint ID collaboration guidance generated expectations
* Preserve historical Web schema sidecars
* fix(test-support): preserve job references during snapshot refresh
* test(subagent): refresh ID-only collaboration guidance outputs
* fix(subagent): rely on list_agents tool description
* fix(subagent): keep collaboration guidance consistent with live identity
* test(team): parse parent identity from shared guidance
* test(subagent): address parent from shared identity context
* test(subagent): refresh compiled Web guidance snapshots
* test(subagent): refresh browser collaboration context fixtures
* docs(subagent): attribute required identity to standard controls
* fix(subagent): clarify collaboration identity prompts
* test(subagent): remove duplicate PowerShell collaboration context
* refactor(subagent): match unavailable-root errors by name and code
---------
Co-authored-by: imccyu <[email protected] >
2026-10-31 22:38:07 +08:00
Dudu-0223
9656ecb162
Merge commit '0f434d505aba1220d92015d61cc64e39442f6304' into refactor/restack-id-polish
2026-10-30 16:04:30 +08:00
creatixchu
5744837ef5
Merge master updates into bundled Computer Use
2026-10-30 15:58:02 +08:00
Dudu-0223
59689da92d
test(team): assert ID-only headless collaboration records
2026-10-30 15:57:35 +08:00
Dudu-0223
454374be98
Merge current master through ID-only Team UI into polish
2026-10-30 15:16:28 +08:00
Dudu-0223
43c4919f86
merge: refresh ID-only Team UI from core master updates
2026-10-30 15:13:05 +08:00
Dudu-0223
71676cbc21
Merge master into the ID-only subagent and Team core
2026-10-30 14:57:57 +08:00
Dudu-0223
dcc3bde068
test(ui): refresh ID-only teamwork and subagent expectations
2026-10-30 14:52:15 +08:00
Dudu-0223
0eb1bb52e2
refactor(team): keep session UI and task tools keyed by IDs
2026-10-30 14:25:27 +08:00
creatixchu
99b59d73de
Merge updated desktop helper packaging and permission guide
2026-10-30 10:48:42 +08:00
sjw1231
cc2718bede
fix(fs): address review of the shipped mutation defaults
...
A new Agent Note owns the shipped defaults and the original apply_patch note
keeps its opt-in decision with a supersession link; the policy README, the
tool-catalog note, the filesystem page, and the fs group README state the
current defaults without evaluation figures. The PTC overlay sets
`applyPatch: false` so the SDK and Desktop PTC tool sets match without a
parity exception; the fixed-budget compaction scenarios pin the tool set in
their live patches too; the apply-patch composition drops its no-op override.
The upgrade guide scopes the change to base-backed profiles, the README
refusal example is one every composition can produce, the integration suite
names its deployments by guard, and the keyless SDK smoke edits a file the
model never read through the shipped profile.
2026-10-29 21:19:14 +08:00
sjw1231
c9970438d3
Merge branch 'feat/apply-patch' into feat/apply-patch-default-on
...
Takes master's re-recorded plan-review, creation-recommendations, and
plugin-recommendations scenarios from the base and refreshes their headers
and schema sidecar for the enabled apply_patch tool.
2026-10-29 18:57:53 +08:00