Commit Graph
132 Commits
Author SHA1 Message Date
EricMoin 9b2bc5a783 fix(web): 修复手机端模型目录输入框挤压 (#7512)
* fix(web): prioritize model ids in narrow rows

Keep the model ID in the compact row and expose its display name when expanded. Preserve wide layouts and input focus while resizing.

Fixes #7511

* test(desktop): wait for supervised network recovery

* fix(web): keep folding rows visible through the viewport

* test(web): measure fold movement within the viewport

* test(snapshot): await cancelled job settlement before retry

* fix(web): stabilize model name focus across responsive layouts

* revert: remove unrelated CI fixes from model layout PR

Revert d1c8ef1de1a, 1050ece1980, 6f2f0906341 and 8f7efbca6b0. Preserve the responsive model layout and its review fixes.

* test(web): align DeepSeek Messages model row snapshot
2026-10-29 15:20:12 +08:00
07akioni 1552f524f7 fix(i18n): address translation, installer and coverage review findings 2026-10-22 22:14:47 +08:00
07akioni 84edeadc2b feat(i18n): add Spanish French German Russian and Portuguese 2026-10-22 19:53:52 +08:00
Magolor ec387796af fix(settings): address model reorder review findings 2026-10-21 21:57:08 +08:00
Magolor 5d3ea87d28 refactor(web): share workspace drag behavior with model lists 2026-10-21 20:45:12 +08:00
Magolor dae4bfa413 feat(settings): use a three-line model reorder handle 2026-10-21 20:11:39 +08:00
Magolor c10533a6ea feat(settings): support reordering provider models 2026-10-21 18:49:34 +08:00
07akioni 6238020202 fix(locale): type additional dictionaries and complete Japanese registration 2026-10-21 13:42:49 +08:00
07akioni 3f9f36e92d feat(locale): add Japanese client and desktop translations 2026-10-21 11:42:12 +08:00
Stevring 8fe2db10a0 fix(client): address touch interaction review findings 2026-10-20 17:07:57 +08:00
Stevring dbb0d2bd83 Merge origin/master into fix/touch-tooltip-interactions 2026-10-20 14:34:15 +08:00
imccyu 89b9e5b1e8 Merge pull request #6662 from deepseek-harness/fix/iphone-button-outline
fix(client): stabilize shared button outlines in Safari
2026-10-20 14:07:02 +08:00
Stevring dc1bd1c28e fix(client): unify shared button inset outlines 2026-10-20 13:41:45 +08:00
Stevring 94ffdd2377 fix(client): align touch tooltips and hover affordances 2026-10-20 12:50:31 +08:00
Turtle 5c4c743ff3 Merge pull request #6300 from deepseek-harness/turtle/model-picker-defaults-c7775e2d3040
feat(ui-settings-models): open model picker on the configured models
2026-10-20 12:17:05 +08:00
Yichen Jiang f2e0d7db1b feat(llm): raise custom model defaults to 1M context and 128K output 2026-10-19 16:59:30 +08:00
Turtle f150f2178d fix(ui-settings-models): keep model picker selection current and non-empty
Derive the picker's checked state from the list at render so a row drafted
during the fetch is not removed. Disable Update list when it would empty a
non-empty list, because an empty list serves the whole catalog. List a
repeated candidate id once and treat rows without an id as unconfigured.
2026-10-15 20:17:52 +08:00
Turtle 72a607dfee fix(ui-settings-models): open model picker on the configured models
The fetched-model picker now starts with the configured models checked and
Update list adds newly checked candidates and removes unchecked configured
ones. Configured models the provider does not list stay. Select all and
Deselect all change only visible candidates so a hidden configured model is
not removed unseen.

Refs #6290
2026-10-15 19:52:23 +08:00
Yichen Jiang 7d654c9d8a fix(models): drop the reasoning switched-off hint 2026-10-15 15:53:08 +08:00
Yichen Jiang b542292bf9 fix(models): read reasoning levels from the pi-ai schema
The reasoning-level editor hardcoded pi-ai's seven levels, so a level a
pi-ai upgrade adds would be missing from the page and a stored key outside
the list would be dropped by the next edit. The levels now come from the
llm-pi-ai namespace schema, the key union of reasoningEfforts, read the
way protocolChoices reads the protocols, and travel explicitly from the
Models section and the provider editor through the model list to each row.
A stored key the schema does not list keeps its row and stays selectable.
The reasoning control now appears wherever that list is non-empty instead
of being inferred from a missing catalog provider.
2026-10-15 15:31:54 +08:00
Yichen Jiang a0a04158f8 fix(models): keep reasoning edits with their model and mirror pi-ai refusals
The reasoning-level editor kept the levels it switched off, its row order,
and typed text in component state, while the model list keys rows by
position, so deleting a row handed that state to the next model: turning
the survivor's switch on wrote the deleted model's levels into it. The
editor now renders only from the model; rows follow the stored order,
switching on always starts from the defaults, and only the focused field
keeps its typed text until the field is left.

The reasoning check moves out of the shared model validator into the two
cards whose rows edit it, so DeepSeek and catalog routes are untouched,
and it now mirrors every pi-ai refusal: a valueless field, a missing value
on a level besides off, and an empty value. A refused value marks its
field, and leaving that field repairs it with the level name.

The Providers guide now points custom model API users to the page before
the YAML, and both package READMEs describe the new behavior.
2026-10-15 14:53:56 +08:00
Yichen Jiang 02d25c695e docs(models): clarify the reasoning Off copy and level reset rule
The help tooltip now says that Off needs no value but keeps and sends a
value already written in the configuration, matching the disabled field
that shows it. Both READMEs add the rule that a custom value carries over
only between two thinking levels, so changing a row to or from Off resets
it. The Models settings e2e header comment is rewrapped.
2026-10-15 13:54:27 +08:00
Yichen Jiang f61d9982f8 feat(models): edit reasoning levels of custom model API models
A model row on a hand-declared pi-ai route now edits its reasoningEfforts
from the Models settings page instead of only through cordis.patch.yml.
A switch turns the field on or off; when on, each row pairs a level
select with the API value sent for it, which defaults to the level name.
Off only turns reasoning off, so its value field is disabled and a value
already stored for it is kept. Saving refuses a list without a level
besides off, and a help tooltip beside the label explains the values.
Catalog routes and the DeepSeek card are unchanged.

Refs #6260
2026-10-15 12:56:11 +08:00
Magolor 7110b615eb fix(llm): 生成提供方元数据并显示凭据检测状态 (#6106)
* fix(llm): generate provider metadata and clarify credential hints

* fix(settings): shorten credential hints and mark detected sources in green

* fix(llm): verify staged provider metadata and document regeneration

* fix(provider-metadata): reconcile authentication hints and key controls

* test(user-text): calibrate ratio headroom across unmatched workloads

* test(gates): include provider metadata in hygiene expectations

* fix(models): hide authentication hints for entered keys
2026-10-14 12:29:31 +08:00
Magolor 5249d9a4ce fix: prefer saved credentials and use environment keys in headless (#5483)
* ui: show locked API key environment reference

* fix(ui-settings-models): skip unused pi-ai credential reference

* fix(ui-settings-models): show active provider auth source

* test(llm): cover provider auth check failures

* docs(ui-settings-models): clarify active provider authentication

* test(web): update model key copy snapshots

* fix(ui-settings-models): clarify native authentication source hint

* fix: address PR 5483 review feedback

* docs(llm): state empty auth lookup behavior

* fix: refresh auth hints with credential snapshots

* fix: require credential refresh revision

* test: cover auth status projection

* fix: refresh catalog and browser expectations after rebase

* fix: keep auth status projection internal and explicit

* fix: preserve credential source checks with signed-in account rows

* test: pin Models authentication instead of inheriting host keys

* fix: prioritize stored credentials across providers

* fix: use one environment fallback hint

* docs: refresh credential contract

* docs: refresh config catalog

* test: align provider hint verification

* fix: use provider-native auth hints and endpoints

* fix: cover oauth-capable provider auth hints

* fix: show canonical endpoint defaults

* fix: avoid misleading endpoint fallback

* fix: label catalog endpoint defaults

* fix: shorten auth hints with hover details

* fix: clarify native auth resolution

* test: align DeepSeek endpoint hint

* fix: pair help button corner shape

* fix: address credential precedence review

Record the stored-credential precedence in a superseding Agent Note and
an upgrade guide, and align the credentials subsystem page, package
READMEs, and JSDoc with the order file > launch env > $cwd/.env >
$DSH_HOME/.env.

Report each pi-ai route's catalog endpoint and native-auth environment
names through the provider directory, check the names against the
installed pi-ai resolvers, and remove the llm/checkAuth and credential
describe operations that no Models page code calls.

Restore the route-derived key reference and the home expansion that
reads the home directory only for a leading ~.

* fix: clarify model authentication guidance

* fix: explain native provider OAuth requirements

* fix: keep authentication guidance method neutral

* fix: show credential reference source in model editor

* fix: use environment authentication in headless profile

* fix: validate headless authentication and current provider metadata

* test: retain authentication guidance coverage with account catalog updates

* test: retain writable Models credentials with the pinned environment
2026-10-13 10:10:06 +08:00
Yichen Jiang ad23ec9c3f Merge remote-tracking branch 'origin/master' into worktree/deepseek-account-models-ba9235
# Conflicts:
#	docs/module-graph.md
#	docs/module-graph.zh.md
#	packages/client/ui-model-selection/README.i18n.yaml
#	packages/client/ui-model-selection/README.md
#	packages/client/ui-model-selection/README.zh.md
#	packages/client/ui-model-selection/src/client/ModelSelect.tsx
#	packages/client/ui-model-selection/src/client/locales.ts
#	packages/client/ui-model-selection/tests/model-select.client.spec.tsx
#	packages/client/ui-settings-models/README.i18n.yaml
#	packages/client/ui-settings-models/README.md
#	packages/client/ui-settings-models/README.zh.md
#	packages/client/ui-settings-models/src/client/ModelsSection.tsx
#	packages/client/ui-settings-models/src/client/ProviderEditor.tsx
#	packages/client/ui-settings-models/tests/components.client.spec.tsx
#	packages/llm/llm-deepseek-account/README.i18n.yaml
#	packages/llm/llm-deepseek-account/README.md
#	packages/llm/llm-deepseek-account/README.zh.md
#	packages/llm/llm-deepseek-api-key/README.i18n.yaml
#	packages/llm/llm-deepseek-api-key/README.md
#	packages/llm/llm-deepseek-api-key/README.zh.md
#	packages/llm/llm-deepseek-api-key/src/index.ts
#	packages/llm/llm-deepseek-api-key/tests/discovery.spec.ts
#	packages/llm/llm-deepseek/README.i18n.yaml
#	packages/llm/llm-deepseek/tests/account-routing.spec.ts
#	packages/llm/llm-deepseek/tests/runtime.spec.ts
#	pnpm-lock.yaml
2026-10-12 10:40:30 +08:00
Yichen Yan 23c29d067a fix(web): persist authenticated browser preferences on the Host (#4201)
* Persist authenticated browser preferences through the Host
* test(settings): cover recovery and remote preference refresh
* test(settings): read Host preferences from a fresh browser context
* test(settings): verify remote ConfigForm refresh at plugin entry
2026-10-09 19:27:00 +08:00
Tianyi Cui c880291a0b fix(models): wait for current snapshot when retrying setup 2026-10-05 13:19:22 +08:00
Tianyi Cui bd20fc56bb fix(models): gate stale provider actions during refresh 2026-10-05 13:09:14 +08:00
Tianyi Cui 1fb43c6f78 fix(models): await current snapshot before reopening editors 2026-10-05 11:54:31 +08:00
ZiyaZhang 4374c2040a fix(web): apply revised 0.2 preview notice copy 2026-09-28 02:45:16 -07:00
ZiyaZhang 441939eaa4 fix(web): require acknowledgement of the 0.2 preview notice 2026-09-28 01:04:41 -07:00
ZiyaZhang cd57af4925 fix(web): 更新 0.2 中英文预览版说明 2026-09-28 00:47:07 -07:00
zhc 0c7777828c Merge master into desktop analytics review fixes 2026-09-24 19:36:26 +08:00
lsdsjy 62db4c88c9 Merge pull request #5127 from deepseek-harness/fix/account-model-settings
fix(web): 修复账号模型设置的 namespace 识别
2026-09-24 17:43:32 +08:00
zhc 35fa12f2a5 Merge master into desktop product analytics 2026-09-24 17:11:06 +08:00
zhc b1cf871b25 feat(desktop): collect product analytics through OTel 2026-09-24 17:08:31 +08:00
lsdsjy d183c8a8c0 fix(web): 按账号 provider 识别模型编辑器 2026-09-24 16:57:08 +08:00
lsdsjy 7b86b84c2f fix(web): 修复账号模型设置的 namespace 识别 2026-09-24 16:37:07 +08:00
Yichen Jiang 835bf97370 feat(web): show the DeepSeek account row as signed in
The account row lost its only action when the catalog editor was removed
and rendered as a bare name. It now carries a green "Signed in" status;
the store keeps the row only while the account lists models, so the
status holds whenever the row renders. The package README no longer
describes the removed editor.
2026-09-24 16:29:19 +08:00
liukx0205 9827bcfb37 Merge master into fix/focus-ring-brand-primary 2026-09-24 15:38:51 +08:00
yixiangihsiang fdd14a0989 feat(web): unify UI materials and streamline file review 2026-09-24 14:58:54 +08:00
mektpoy 74a0c834f9 Merge remote-tracking branch 'origin/master' into fix/focus-ring-brand-primary
Only the ui-theme README pairing record conflicted; re-recorded. The stylesheet
corpus spec passes over master's new client sheets, so no ring needed realigning.
2026-09-24 14:49:16 +08:00
Yichen Jiang 783d98b78e feat(web): drop the account catalog editor from the Models page 2026-09-24 13:15:30 +08:00
Yichen Jiang 4cc76d04e9 fix(web): suppress saved-password autofill in API key inputs 2026-09-24 12:31:56 +08:00
liukx0205 4f1a1289f5 fix(client): use blue focus rings in light and dark themes 2026-09-24 12:24:47 +08:00
liukx0205 e71fa92030 Merge master into fix/focus-ring-brand-primary 2026-09-24 12:05:19 +08:00
zhc 4fdcaf16b5 merge: integrate desktop shortcuts and refresh onboarding decisions 2026-09-23 23:34:17 +08:00
mektpoy c3cd67a2e8 Merge remote-tracking branch 'origin/master' into fix/focus-ring-brand-primary
Only the bilingual pairing records conflicted. Master moved Agent Note records to
per-heading hashes, so this branch's note record was re-recorded in that format;
the ui-primitives and ui-theme README records were re-recorded unchanged. The
stylesheet corpus spec still passes over master's new client sheets, so no ring
needed realigning this time.
2026-09-23 22:43:43 +08:00
07akioni 93b832f1b0 Merge pull request #4459 from deepseek-harness/feat/desktop-onboarding
feat(desktop): add device-local account onboarding
2026-09-23 22:21:18 +08:00