Yichen Jiang
44484ec5f6
feat(web): declare a provider and its models from the Models page
...
The Models page could name a provider's key and little else. Adding an
OpenAI-compatible gateway meant opening $DSH_HOME/settings.yaml and
knowing the profile shape; correcting a stale context window meant the
same. This layer puts both on the page: a card that declares a route
pi-ai does not ship — id, endpoint, protocol, key, models — and a model
list on the pi-ai editor that can ask the provider what it serves and
adopt the answer.
It follows the DeepSeek catalog editor that landed in #1050 rather than
inventing a second look for the same job. Both editors now share the
section shell and heading, the danger-tinted delete, the add-model
button, the empty state, the per-row validator that names a bad row by
its position, and one K/M capacity vocabulary — 256K and 1M are read and
spelled back, while settings.yaml still stores plain token counts. The
row type is structurally open like that editor's, so a profile field
this card does not edit survives an edit here.
Three of that editor's decisions replaced weaker ones this branch had
made. Inheritance now reads the composition base rather than the
effective value, which would echo an override back the moment a reset
dropped it. Validation names the offending row instead of stating a
blanket problem. And emptying the list is no longer conflated with
handing the catalog back to the adapter — those are separate acts, with
separate affordances.
The create write carries the revision the card opened at, so a route
another tab declared meanwhile is a conflict rather than a silent
overwrite of its profile.
2026-08-06 15:18:17 +08:00
Yichen Jiang
d97e150845
Merge branch 'claude/web-llm-pi-ai-config-385e24' into claude/pi-ai-model-discovery
2026-08-06 15:07:02 +08:00
Yichen Jiang
2abd06f21f
Merge remote-tracking branch 'origin/master' into claude/web-llm-pi-ai-config-385e24
2026-08-06 15:01:19 +08:00
Ziya
cb6fa78c8a
Merge pull request #1533 from deepseek-harness/feat/web-preview-badge
...
feat(web): add preview badge to empty hero
2026-08-05 23:59:28 -07:00
imccyu
a8822494d2
fix: test
2026-08-06 14:50:55 +08:00
imccyu
3c09b86a34
fix: test
2026-08-06 14:39:13 +08:00
Ziya
71e8132e76
Merge branch 'master' into feat/web-preview-badge
2026-08-05 23:29:04 -07:00
Yichen Jiang
2d71c928e6
Merge branch 'claude/web-llm-pi-ai-config-385e24' into claude/pi-ai-model-discovery
2026-08-06 14:26:48 +08:00
ZiyaZhang
7c1ae32e55
fix(web): address preview badge review
2026-08-05 23:26:39 -07:00
Yichen Jiang
c7dbe4c6d9
Merge remote-tracking branch 'origin/master' into claude/web-llm-pi-ai-config-385e24
2026-08-06 14:24:58 +08:00
Yichen Jiang
16ad5f3f86
Merge pull request #1732 from deepseek-harness/worktree/fix-1680-cjk-markdown
...
fix(web): render CJK emphasis and link code URLs
2026-08-06 13:15:50 +08:00
Yichen Jiang
42b9ee7a53
Merge branch 'claude/web-llm-pi-ai-config-385e24' into claude/pi-ai-model-discovery
...
# Conflicts:
# docs/core-data-structures/core.i18n.yaml
# docs/event-producer-consumer.md
2026-08-06 13:05:15 +08:00
Yichen Jiang
98b894f8eb
Merge remote-tracking branch 'origin/master' into claude/web-llm-pi-ai-config-385e24
...
# Conflicts:
# docs/event-producer-consumer.md
2026-08-06 13:03:40 +08:00
CreatixChu
117d6b0224
Merge pull request #1672 from deepseek-harness/worktree/context-forms-remaining
...
feat(web): declare the remaining context forms on every shipped producer
2026-08-06 04:53:35 +00:00
CreatixChu
8c65d2da3d
Merge pull request #1551 from deepseek-harness/worktree/context-source-cards
...
feat(web): split context injection into producer-declared forms
2026-08-06 12:53:03 +08:00
creatixchu
e90e419273
Merge remote-tracking branch 'origin/worktree/context-source-cards' into worktree/context-forms-remaining
2026-08-06 12:03:50 +08:00
creatixchu
851fe793c4
Merge remote-tracking branch 'origin/master' into worktree/context-source-cards
...
# Conflicts:
# packages/client/runtime/src/client/sessions/transcript-adapter.ts
# packages/client/ui-conversation/README.i18n.yaml
2026-08-06 12:03:15 +08:00
imccyu
0865926c38
Merge pull request #1667 from deepseek-harness/feat/add-session-data-preview
...
feat(web): turn ttft/tps speed metrics and context meter
2026-08-06 11:59:42 +08:00
creatixchu
0996611cc2
Merge remote-tracking branch 'origin/worktree/context-source-cards' into worktree/context-forms-remaining
2026-08-06 11:57:49 +08:00
creatixchu
39d585e7ed
Merge remote-tracking branch 'origin/master' into worktree/context-source-cards
...
# Conflicts:
# packages/client/runtime/README.i18n.yaml
# packages/client/ui-conversation/README.i18n.yaml
2026-08-06 11:57:17 +08:00
creatixchu
954dd33242
test(stack): cover synced context regressions
2026-08-06 11:55:14 +08:00
imccyu
53293210e6
Merge remote-tracking branch 'origin/master' into mergebot/pr1667
2026-08-06 11:53:33 +08:00
imccyu
8711a08247
Merge pull request #1703 from deepseek-harness/worktree-conv-split
...
feat(client): inject slot declaration lifetimes
2026-08-06 11:52:51 +08:00
creatixchu
cc06d3c04b
Merge remote-tracking branch 'origin/worktree/context-source-cards' into worktree/context-forms-remaining
...
# Conflicts:
# apps/web/tests/snapshots/queue-actions/layout.expected.md
# docs/cordis-catalog/events.md
# docs/cordis-catalog/services.md
# docs/core-data-structures/core.i18n.yaml
# docs/core-data-structures/goal.i18n.yaml
# docs/core-data-structures/goal.md
# docs/core-data-structures/goal.zh.md
# docs/event-producer-consumer.md
# examples/acp-agent/tests/goal-snapshots/goal-session/session.expected.jsonl
# examples/acp-agent/tests/goal-snapshots/goal-wrapup/session.expected.jsonl
# examples/acp-agent/tests/snapshots/advanced-toolchain/session.1.jsonl
# examples/acp-agent/tests/snapshots/advanced-toolchain/session.2.jsonl
# examples/acp-agent/tests/snapshots/advanced-toolchain/session.jsonl
# examples/acp-agent/tests/snapshots/bash-spill/session.jsonl
# examples/acp-agent/tests/snapshots/bash-tool-turn/session.jsonl
# examples/acp-agent/tests/snapshots/both-mode-turn/session.jsonl
# examples/acp-agent/tests/snapshots/cancel-tool-calls/session.jsonl
# examples/acp-agent/tests/snapshots/cancel/session.jsonl
# examples/acp-agent/tests/snapshots/code-mode-turn/session.jsonl
# examples/acp-agent/tests/snapshots/code-mode-workspace-context/session.jsonl
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/session.jsonl
# examples/acp-agent/tests/snapshots/empty-response-retry/session.jsonl
# examples/acp-agent/tests/snapshots/error-finish/session.jsonl
# examples/acp-agent/tests/snapshots/escalation-approved/session.jsonl
# examples/acp-agent/tests/snapshots/escalation-rejected/session.jsonl
# examples/acp-agent/tests/snapshots/fs-edit/session.jsonl
# examples/acp-agent/tests/snapshots/fs-escalation-approved/session.jsonl
# examples/acp-agent/tests/snapshots/fs-policy-reject/session.jsonl
# examples/acp-agent/tests/snapshots/fs-read-window/session.jsonl
# examples/acp-agent/tests/snapshots/fs-read/session.jsonl
# examples/acp-agent/tests/snapshots/fs-write-overwrite/session.jsonl
# examples/acp-agent/tests/snapshots/fs-write/session.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-invalid-matcher/session.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-posttool-block/session.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-posttool-context/session.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-pretool-ask/session.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-pretool-deny/session.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-promptsubmit-context/session.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-stop-continue/session.jsonl
# examples/acp-agent/tests/snapshots/hook-codex-invalid-matcher/session.jsonl
# examples/acp-agent/tests/snapshots/hook-codex-posttool-block/session.jsonl
# examples/acp-agent/tests/snapshots/hook-codex-posttool-context/session.jsonl
# examples/acp-agent/tests/snapshots/hook-codex-pretool-block/session.jsonl
# examples/acp-agent/tests/snapshots/hook-codex-promptsubmit-context/session.jsonl
# examples/acp-agent/tests/snapshots/hook-codex-stop-continue/session.jsonl
# examples/acp-agent/tests/snapshots/lsp-definition/session.jsonl
# examples/acp-agent/tests/snapshots/missing-sandbox-runner/session.jsonl
# examples/acp-agent/tests/snapshots/multi-turn/session.jsonl
# examples/acp-agent/tests/snapshots/packed-chunks/session.jsonl
# examples/acp-agent/tests/snapshots/parallel-tool-calls/session.jsonl
# examples/acp-agent/tests/snapshots/partial-landlock-child-failure/session.jsonl
# examples/acp-agent/tests/snapshots/pty-tools/session.jsonl
# examples/acp-agent/tests/snapshots/repeat-tool-guard/session.jsonl
# examples/acp-agent/tests/snapshots/session-query-spill/session.jsonl
# examples/acp-agent/tests/snapshots/session-sandbox-root/session.jsonl
# examples/acp-agent/tests/snapshots/session-title-after-turn/session.jsonl
# examples/acp-agent/tests/snapshots/skill-load/session.jsonl
# examples/acp-agent/tests/snapshots/subagent-continuable/session.1.jsonl
# examples/acp-agent/tests/snapshots/subagent-continuable/session.jsonl
# examples/acp-agent/tests/snapshots/subagent-depth-two-rejection/session.1.jsonl
# examples/acp-agent/tests/snapshots/subagent-depth-two-rejection/session.2.jsonl
# examples/acp-agent/tests/snapshots/subagent-depth-two-rejection/session.jsonl
# examples/acp-agent/tests/snapshots/subagent-fork/session.1.jsonl
# examples/acp-agent/tests/snapshots/subagent-fork/session.jsonl
# examples/acp-agent/tests/snapshots/subagent-list-agents/session.1.jsonl
# examples/acp-agent/tests/snapshots/subagent-list-agents/session.jsonl
# examples/acp-agent/tests/snapshots/subagent-mixed/session.1.jsonl
# examples/acp-agent/tests/snapshots/subagent-mixed/session.2.jsonl
# examples/acp-agent/tests/snapshots/subagent-mixed/session.jsonl
# examples/acp-agent/tests/snapshots/subagent-multi/session.1.jsonl
# examples/acp-agent/tests/snapshots/subagent-multi/session.2.jsonl
# examples/acp-agent/tests/snapshots/subagent-multi/session.jsonl
# examples/acp-agent/tests/snapshots/subagent-published-run-failure/session.jsonl
# examples/acp-agent/tests/snapshots/subagent-report/session.1.jsonl
# examples/acp-agent/tests/snapshots/subagent-report/session.jsonl
# examples/acp-agent/tests/snapshots/subagent-spawn/session.1.jsonl
# examples/acp-agent/tests/snapshots/subagent-spawn/session.jsonl
# examples/acp-agent/tests/snapshots/text-turn/session.jsonl
# examples/acp-agent/tests/snapshots/todo-write/session.jsonl
# examples/acp-agent/tests/snapshots/tool-call-turn/session.jsonl
# examples/acp-agent/tests/snapshots/web-fetch/session.jsonl
# examples/acp-agent/tests/snapshots/workflow-run/session.1.jsonl
# examples/acp-agent/tests/snapshots/workflow-run/session.jsonl
# examples/acp-agent/tests/snapshots/workspace-context/session.jsonl
# examples/acp-agent/tests/snapshots/workspace-edit/session.jsonl
# examples/headless-agent/tests/snapshots/goal-tools/stream-json.expected.jsonl
# examples/headless-agent/tests/snapshots/pty-tools/session.jsonl
# examples/headless-agent/tests/snapshots/pty-tools/stream-json.expected.jsonl
# examples/headless-agent/tests/subagent-inheritance-snapshots/parent-override/child.expected.jsonl
# examples/headless-agent/tests/subagent-inheritance-snapshots/parent-override/parent.expected.jsonl
# examples/jsonrpc-agent/tests/snapshots/persistent-tools/notifications.expected.jsonl
# examples/jsonrpc-agent/tests/snapshots/persistent-tools/session.jsonl
# packages/bash/tool-bash/tests/integration.spec.ts
# packages/context/time-context/src/index.ts
# packages/context/tmux-context/src/index.ts
# packages/core/agent-loop/src/agent.ts
# packages/core/system-prompt/src/index.ts
# packages/goal/goal/src/domain.ts
# packages/goal/goal/src/index.ts
# packages/goal/goal/src/render.ts
# packages/plan/plan-mode/src/index.ts
2026-08-06 11:49:03 +08:00
imccyu
e5810d450e
Merge remote-tracking branch 'origin/master' into mergebot/pr1667
2026-08-06 11:42:14 +08:00
Yichen Jiang
178eaf3973
fix(web): link inline-code URLs
2026-08-06 11:41:46 +08:00
Yichen Jiang
1b5f06ed0b
fix(web): render CJK-adjacent strong emphasis
2026-08-06 11:41:46 +08:00
creatixchu
d0d8cd5365
Merge remote-tracking branch 'origin/master' into worktree/context-source-cards
...
# Conflicts:
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/session.jsonl
2026-08-06 11:29:50 +08:00
creatixchu
6747c2d44d
Merge remote-tracking branch 'origin/master' into worktree/context-source-cards
...
# Conflicts:
# .agents/notes/implemented/simplification/2026-07-31-web-ui-no-steer-entry-or-interjection-chrome.i18n.yaml
# .agents/notes/implemented/simplification/2026-07-31-web-ui-no-steer-entry-or-interjection-chrome.md
# .agents/notes/implemented/simplification/2026-07-31-web-ui-no-steer-entry-or-interjection-chrome.zh.md
# apps/web/tests/seeded-history.e2e.ts
# apps/web/tests/snapshots/queue-actions/layout.expected.md
# docs/core-data-structures/core.i18n.yaml
# examples/acp-agent/tests/snapshots/code-mode-workspace-context/session.jsonl
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/session.jsonl
# examples/acp-agent/tests/snapshots/skill-load/session.jsonl
# examples/acp-agent/tests/snapshots/workspace-context/session.jsonl
# examples/headless-agent/tests/snapshots/advanced-toolchain/session.1.jsonl
# examples/headless-agent/tests/snapshots/advanced-toolchain/session.2.jsonl
# examples/headless-agent/tests/snapshots/advanced-toolchain/session.jsonl
# examples/headless-agent/tests/snapshots/pty-tools/session.jsonl
# packages/client/runtime/README.i18n.yaml
# packages/client/runtime/tests/history-fold.spec.ts
# packages/client/ui-conversation/README.i18n.yaml
# packages/client/ui-conversation/src/client/chat/MessageItem.tsx
# packages/client/ui-conversation/tests/chat-branch-tails.spec.tsx
# packages/context/workspace-context/src/index.ts
# packages/context/workspace-context/tests/workspace-context.spec.ts
# packages/skill/tool-skill/README.i18n.yaml
# packages/skill/tool-skill/README.md
# packages/skill/tool-skill/README.zh.md
# packages/skill/tool-skill/src/index.ts
# packages/skill/tool-skill/tests/tool-skill.spec.ts
2026-08-06 11:28:48 +08:00
imccyu
86965b053c
feat(client): inject slot declaration lifetimes
2026-08-06 11:28:46 +08:00
imccyu
bb53e25ed0
Merge pull request #1569 from deepseek-harness/feat/perf-session-load
...
perf(session): accelerate large-session restoration
2026-08-06 11:27:08 +08:00
Yichen Jiang
4bd66d8e7c
Merge branch 'claude/web-llm-pi-ai-config-385e24' into claude/pi-ai-model-discovery
...
# Conflicts:
# docs/cordis-catalog/events.md
# docs/core-data-structures/core.i18n.yaml
# docs/event-producer-consumer.md
# packages/host/apiproxy/README.i18n.yaml
# packages/llm/llm/README.i18n.yaml
2026-08-06 10:50:20 +08:00
Yichen Jiang
17c86bbb25
Merge remote-tracking branch 'origin/master' into claude/web-llm-pi-ai-config-385e24
...
# Conflicts:
# packages/llm/llm-pi-ai/tests/adapter.spec.ts
# packages/llm/llm/README.i18n.yaml
2026-08-06 10:47:36 +08:00
imccyu
c93438e6b3
docs(jsonl): align restore slice interval
2026-08-06 10:40:32 +08:00
imccyu
82eb1dde46
fix(jsonl): avoid duplicate decoder control flow
2026-08-06 10:40:32 +08:00
imccyu
e89b1e612f
fix(session): address restore review feedback
2026-08-06 10:40:32 +08:00
imccyu
2551b757fb
perf(jsonl): shorten cooperative decode slices
2026-08-06 10:40:31 +08:00
imccyu
03bb663966
test(jsonl): cover reusable decoder branches
2026-08-06 10:40:31 +08:00
imccyu
456d4319bf
fix(subagent): skip ordinary forks during child listing
2026-08-06 10:40:31 +08:00
imccyu
02c61d4481
fix(jsonl): preserve private decoder checksum validation
2026-08-06 10:40:31 +08:00
imccyu
28df863bdd
docs(jsonl): refresh generated catalogs
2026-08-06 10:40:31 +08:00
imccyu
d19e598d5e
test(jsonl): cover reusable decoders in node matrix
2026-08-06 10:40:31 +08:00
imccyu
44596dc0a3
docs(session): correct restore pipeline boundaries
2026-08-06 10:40:31 +08:00
imccyu
9cd2a20141
perf(session): streamline restored event admission
2026-08-06 10:40:31 +08:00
imccyu
03983ff986
perf(jsonl): scan decoded frames incrementally
2026-08-06 10:40:31 +08:00
imccyu
353226246e
perf(jsonl): add reusable zstd frame decoders
2026-08-06 10:40:31 +08:00
imccyu
906ab15490
docs(session): record large-session restore pipeline
2026-08-06 10:40:31 +08:00
imccyu
53a17a8491
fix: docs
2026-08-06 10:25:17 +08:00
imccyu
e37aa41f87
fix(session-persistence): close preparation races
2026-08-06 10:19:51 +08:00
imccyu
2f98f29992
fix(session): address restore review feedback
2026-08-06 05:13:26 +08:00