Commit Graph
8144 Commits
Author SHA1 Message Date
Tianyi Cui b9e95fd1e5 docs(upgrade): target rc.2 for the unmerged pi-ai upgrade 2026-10-17 22:44:27 +08:00
Tianyi Cui d6398b3c86 chore(llm): upgrade pi-ai to 1.3.0 2026-10-17 22:44:26 +08:00
Tianyi Cui f9cb7ea9f5 fix(desktop): align runtime patch policy with pi-ai 1.2.0 2026-10-17 22:44:26 +08:00
Tianyi Cui 8fd91f311e chore(deps): upgrade pi-ai to 1.2.0 2026-10-17 22:44:26 +08:00
Dudu-0223 894a825c73 fix(subagent): preserve creator identity and admit prompts through Team roots 2026-10-17 21:10:41 +08:00
Dudu-0223 7a8e9c8ccf Merge master and reconcile shared subagent tool registration 2026-10-17 20:26:15 +08:00
Dudu-0223 fc0f34a618 refactor(agent-team): derive roster from subagent catalog 2026-10-17 20:21:03 +08:00
Dudu-0223 09b389cf55 Merge pull request #6345 from deepseek-harness/fix/compact-before-model-switch
fix(compaction): condense history before model switches
2026-10-17 20:18:18 +08:00
creatixchu b4d5ccc416 refactor(cua): own approval presentation and preserve shared UI defaults 2026-10-17 17:12:49 +08:00
Yichen Jiang f34eaf7601 feat(agent): admit Web prompts through the agent controller
Add @deepseek-ai/dsh-agent-controller, composed in the base bundle, as the
entry through which a sender delivers a message from outside an Agent into
its inbox. deliver() runs the sender's content preparation in the Agent's
delivery order, asks the agent-controller/admission waterfall for a
decision, rechecks cancellation and registration, and appends the message
with followup() or steer(). dsh-agent and agent-loop are unchanged.

The Web session/prompt Remote delivers through it: the image model check,
upload receipt resolution, and attachment storage run as prepare, the
receipt binding runs as beforeInsert, and refusals map to
session/prompt-rejected. The Web client keeps its existing echo.

This replaces the Host half of deepseek-harness/deepseek-harness#6178,
whose admission stage lived in dsh-agent.
2026-10-17 17:09:29 +08:00
creatixchu 72047d6ecd docs(cua): document permissions, support limits and APIs 2026-10-17 16:35:13 +08:00
Dudu-0223 72a492fbb7 test(subagent): align depth replay with independent member completion 2026-10-17 16:02:15 +08:00
Dudu-0223 66d9f70255 Merge master and resolve subagent control package metadata 2026-10-17 15:55:44 +08:00
Dudu-0223 87f4233cae Merge master into Agent Team refactor and align the rc.2 upgrade guide 2026-10-17 15:52:39 +08:00
Dudu-0223 9c58a4b89d refactor(subagent): own instances by Team and restore only message targets 2026-10-17 15:49:47 +08:00
Yudong HanandLegGasai fda98dadd2 feat(web): add DeepSeek Search and Fetch APIs behind a settings switch (#6103)
* fix(web-search-deepseek): disable thinking for auxiliary search requests

The provider discards the generated text of the auxiliary Messages turn,
so reasoning tokens have no consumer. DeepSeek enables thinking by default,
which adds latency and output tokens to every search.

Fixes #6099.

* feat(web): add opt-in traditional Search and Fetch APIs

* test(web): verify API settings persistence and refresh Session evidence

* fix(web): require an explicit Search API base with its route prefix

* docs(web): document direct Search and Fetch API decisions

* fix(web): keep Messages search default behind the new Web Search API switch

- Rename useTraditionalApi/traditionalBaseURL to useSearchApi/searchApiBaseURL and
  label the switch "Use the new Web Search API"; Messages search stays the default.
- Default the Search / Fetch API base to https://api.deepseek.com/v1/tools.
- Authenticate the Search API with an API key only: DeepSeek Account tokens
  returned an empty HTTP 404 on /v1/tools/* when probed on 2026-10-16.
- Remove the count setting, which tool-web's maxResults always overrides, and
  the undocumented DeepSeek-API-Version header.
- Name the active API's base URL field and the current settings path in
  endpoint guidance; re-record the endpoint guidance Session.
- Keep WebFetchResult.statusCode required: DeepSeek Fetch reports HTTP 200 and
  drops the page title, so the fetch-metadata widening and its upgrade guide
  are removed.

* fix(web): accept account sign-in on the live Search API

The public Search and Fetch routes went live on 2026-10-16 and accept the
DeepSeek Account token, so account-route Sessions send it to the Search API
as they do for Messages search, and the settings copy no longer says account
sign-in does not apply.

Record the live behavior in the README and Agent Note: summaries of
1,000-2,300 characters, an HTTP 500 for an unresolvable Fetch target, and
migration notes for gateways without /v1/tools routes. Test doubles now use
the live response fields and RFC 3339 offsets.

* feat(web): configure Search API result count and send the triggering question

- Add web-search-deepseek.count (1-50, default 10, the service default) and
  show it as "Results per search" in Search API mode, where "Max searches per
  request" applies only to Messages; a smaller request maxResults still wins.
- Send the initiating Session's latest human prompt as ori_question, with
  whitespace collapsed and cut to the API's 128-character limit; blank or
  absent prompts omit it, and sendOriginalQuestion: false disables it. The
  settings hint states that the question is sent.
- Match the web search double on the request's query field, since
  ori_question now carries every query in the prompt.

* fix(client): unify web search endpoint override controls

* feat(web): configure registered search and fetch providers through shared settings

* feat(web): include Exa and Perplexity in provider settings

* test(web): cover provider settings branches and refresh plugin snapshots

* revert(web): drop the provider dropdown, schema-driven form, and Exa/Perplexity settings

Revert aed8c5cb609, d88c47dcd80, and 036a5a337d3. The Web search settings
page returns to the DeepSeek toggle; the DeepSeek Search and Fetch API split
is reintroduced as one plugin in the following commit.

* feat(web): move the DeepSeek Search and Fetch APIs into web-deepseek-api

The new web-deepseek-api plugin registers deepseek-search-api and
deepseek-fetch-api over one credential and API base, and exports the
authentication and redirect-rejecting transport that web-search-deepseek now
reuses for Messages search only. The web service reads searchProvider and
fetchProvider for each operation, so the Web search settings switch selects
both APIs together on save and restores Messages search with local HTTP fetch
when turned off. The switch hint links to the DeepSeek search and fetch guide.

* refactor(client): keep the web search endpoint fields on the shared override controls

Drop the always-visible reset and the inherited-address placeholder from the
Web search page, restoring ui-primitives to its base. Each endpoint field shows
the selected section's effective value and offers Reset to default only for an
override, like every other settings field.

* refactor(web): keep Messages search independent of web-deepseek-api

Restore dsh-web-search-deepseek to its own credential and transport code,
keeping only the disabled-thinking request and the current settings guidance,
so the Messages plugin no longer depends on the Search and Fetch API package.
dsh-web-deepseek-api keeps its transport internal; the regions that repeat the
Messages helpers carry jscpd:ignore markers, with the rationale recorded in the
Search and Fetch API Agent Note.

* refactor(web): keep the web-deepseek-api request type module-private

---------

Co-authored-by: LegGasai <[email protected]>
2026-10-17 15:08:08 +08:00
Dudu-0223 f98a206b01 docs(subagent): align upgrade guide with released composition 2026-10-17 14:51:25 +08:00
Dudu-0223 1448360b66 refactor(subagent): make model discovery explicitly opt-in 2026-10-17 14:02:01 +08:00
Yichen Jiang 3c937cd0ba feat(web): display a temporary 1017 badge for DeepSeek Flash 2026-10-17 13:33:35 +08:00
Dudu-0223 abf5d650c8 docs(subagent): refresh shared control dependency graph 2026-10-17 13:32:53 +08:00
Dudu-0223 4df09d37d5 refactor(subagent): register shared control tools together 2026-10-17 13:28:17 +08:00
Dudu-0223 34ed76272c Merge Team-wide routing and current catalog names into descendant UI 2026-10-17 12:37:29 +08:00
Dudu-0223 eefd0e1ef4 Merge Team-wide communication into named subagents 2026-10-17 12:31:10 +08:00
Dudu-0223 46144145f4 Merge master into Agent Team refactor and refresh its fixtures 2026-10-17 12:22:57 +08:00
Dudu-0223 27716078ef feat(subagent): discover and message the entire Team 2026-10-17 12:17:12 +08:00
Dudu-0223 590cfe168c Merge master and refresh tool catalog translation pairing 2026-10-17 12:03:03 +08:00
Shigma e821bc31d6 refactor(cordis): reuse TimerService in Client runner 2026-10-16 21:30:57 +08:00
lsdsjy 5ee0f50811 Merge pull request #6384 from deepseek-harness/feat/account-notice-stack
feat(account): 支持通用通知字段和多通知层叠展示
2026-10-16 18:40:03 +08:00
Yichen Jiang 29a497ee5c Merge pull request #6357 from deepseek-harness/worktree/model-label-slot
feat(web): add provider-aware model label slot
2026-10-16 18:12:40 +08:00
lsdsjy 474d7b7989 docs(account): 同步通知元数据类型依赖图 2026-10-16 18:04:16 +08:00
lsdsjy 1f312b6282 fix(account): 保留未校验的通知元数据 2026-10-16 17:58:20 +08:00
lsdsjy 6ac5c103db fix(account): 修复通知空标题和过期队首处理 2026-10-16 17:52:44 +08:00
lsdsjy 2dcd031a8e feat(account): 支持通用通知字段和多通知层叠展示 2026-10-16 17:14:42 +08:00
Dudu-0223 1837928d04 refactor(subagent): register tree names in the root catalog 2026-10-16 16:51:35 +08:00
_Kerman b34679d9de Merge remote-tracking branch 'origin/master' into xtr/session-model-selection 2026-10-16 16:40:11 +08:00
_Kerman 63bc92c3fd docs(module-graph): add the dsh-agent-model package 2026-10-16 15:56:59 +08:00
_Kerman b41a2fff61 docs(agent-model): file the upgrade guide under v0.2.1-alpha.4
Master released 0.2.1-alpha.4, so this unreleased break moves to the
new version directory and the new package takes the current version.
2026-10-16 15:50:44 +08:00
winewill c6d01dcac0 feat(desktop): enrich startup crash diagnostics and reveal reports
Refs #4540. Capture startup state before disposal and make crash reports retrievable from native recovery.
2026-10-16 15:49:24 +08:00
fz 89619e673a fix(sdk): share desktop tools and model context 2026-10-16 15:48:08 +08:00
_Kerman b670701e5a Merge remote-tracking branch 'origin/master' into xtr/session-model-selection 2026-10-16 15:42:50 +08:00
Dudu-0223 3c0bbdfeb1 refactor(subagent): derive agent names from creation records 2026-10-16 15:33:23 +08:00
_Kerman 7b112942ab refactor(agent-model): move Session model selection into its own package
Add @deepseek-ai/dsh-agent-model. It provides ctx.agentModel
(resolveForNextStep, select, applyConfiguredRoute) and owns the
modelSelection projection, which the Agent registry no longer registers.
dsh-agent-loop now injects agentModel; the base and SDK-minimal bundles
and the Python SDK runtime include it.

The provider keeps the projection registered until consumers that are
still unloading finish their cleanup. The model-switch notice becomes an
opt-in per-Agent plugin at @deepseek-ai/dsh-agent-model/notice, and
agent/request now also rejects reasoning-effort changes after step
preparation.

Mount the provider in every composition that loads dsh-agent-loop, and
update consumers, the switch-notice snapshot driver, docs, and the
upgrade guide.
2026-10-16 15:28:59 +08:00
Turtle 40b75d7ef8 fix(web): make fake-IP ranges an opt-in fetch config
Accepting 198.18.0.0/15 unconditionally opened that range to direct
connections on hosts without a fake-IP proxy. Operators now list their
proxy's ranges in fakeIpRanges (IPv4 or IPv6 CIDR, default empty);
invalid entries fail at load.
2026-10-16 14:40:06 +08:00
Dudu-0223 aa68564ff4 fix(compaction): address model-switch review details 2026-10-16 14:30:58 +08:00
Yichen Jiang 919aa5f400 feat(web): add provider-aware model label slot 2026-10-16 14:24:47 +08:00
fz d6adc5d9b9 fix(prompts): restore compatible PTC guidance and SDK persona 2026-10-16 13:14:24 +08:00
Dudu-0223 59588a8cc8 Merge named subagents into descendant Team support 2026-10-16 12:46:25 +08:00
Dudu-0223 7fd0dba80d Add tree-wide names for subagent collaboration 2026-10-16 12:33:15 +08:00
Dudu-0223 321d6362c5 fix(compaction): condense history before model switches 2026-10-16 12:02:31 +08:00
_Kerman 150a0d0842 docs(agent): clarify model-selection behavior 2026-10-16 10:16:18 +08:00