Commit Graph
14175 Commits
Author SHA1 Message Date
imccyu 827acd07b1 docs(client-modules): align resolver contract 2026-08-27 20:10:20 +08:00
imccyu dc1be1334f fix(inspector): address bootstrap review findings 2026-08-27 20:03:17 +08:00
imccyu ac13b16c0c fix(inspector): stabilize client bootstrap identity 2026-08-27 19:35:34 +08:00
lsdsjyandYif 8b09a0be52 feat(ui-conversation): fold turn process before final answer (#2547)
* feat(ui-conversation): fold turn process before final answer

* fix(ui-chat): polish turn-process control row from review

* test(web): drive preset slash catalog with gestures

* fix(ui-chat): keep turn process order stable

* fix(ui-chat): preserve prompt order after pagination

Co-authored-by: Yif <877193178@qq.com>
2026-08-27 10:12:39 +00:00
07akioni 2c9c871eff Merge pull request #3213 from deepseek-harness/docs/cordis-paper-arxiv
docs: link Cordis paper on arXiv
2026-08-27 18:07:01 +08:00
07akioni 35ac64c209 docs: link Cordis paper on arXiv 2026-08-27 17:45:31 +08:00
Wenlu Wang 6720bff936 Merge pull request #1372 from deepseek-harness/style/cjk-latin-autospace
Add global CJK/Latin auto-spacing via text-autospace
2026-08-27 17:37:08 +08:00
fz 1c808341ec Add global CJK/Latin auto-spacing via text-autospace
Progressive enhancement on body in the shell base sheet so mixed
Chinese/English copy gets consistent spacing without content edits;
engines without support ignore the property.
2026-08-27 17:21:40 +08:00
imccyu 631135cc06 Merge pull request #3012 from deepseek-harness/worktree-inspectorcordis
feat(inspector): add cross-realm CDP inspection
2026-08-27 17:10:55 +08:00
imccyu 90cae21deb fix: ci 2026-08-27 16:52:40 +08:00
imccyu 3f4a6a2698 docs: align the module graph translation pair 2026-08-27 16:28:26 +08:00
imccyu 1c1c0adf6e fix(inspector): classify the demo launcher and refresh the module graph 2026-08-27 16:23:21 +08:00
imccyu 15572ddb22 feat(inspector): add the development mount overlay and demo script 2026-08-27 16:16:28 +08:00
imccyu ef712e3006 fix(inspector): serve Cordis DOM levels on demand 2026-08-27 16:16:28 +08:00
imccyu a031b95fdb fix(inspector): preserve responses after caller abort 2026-08-27 16:16:28 +08:00
imccyu 777489dfc5 fix(inspector): print the startup URL 2026-08-27 16:16:28 +08:00
imccyu d6245fc254 fix(inspector): update Cordis DOM incrementally 2026-08-27 16:16:28 +08:00
imccyu c5f34e8ada fix(inspector): preserve event stream replay order 2026-08-27 16:16:27 +08:00
imccyu 5a5d5de948 fix(inspector): address protocol review findings 2026-08-27 16:16:27 +08:00
imccyu 0954bad2bb fix(inspector): render captured event streams 2026-08-27 16:16:27 +08:00
imccyu b1748f0c55 fix(inspector): satisfy CI checks 2026-08-27 16:16:27 +08:00
imccyu daf3858759 fix(inspector): restore client console and response bodies 2026-08-27 16:16:27 +08:00
imccyu 008ae0c01e docs(inspector): record cross-realm architecture 2026-08-27 16:16:24 +08:00
imccyu 6822ad3afc test(inspector): enforce execution-plane boundaries 2026-08-27 16:15:18 +08:00
imccyu 28cc3e930b feat(inspector): expose Cordis trees through CDP DOM 2026-08-27 16:15:18 +08:00
imccyu 7ecd7004eb feat(inspector): project Host fetches through CDP Network 2026-08-27 16:15:18 +08:00
imccyu bcee99e39d feat(inspector): serve Runtime through a CDP Worker 2026-08-27 16:15:18 +08:00
imccyu 19f0076668 feat(inspector): connect Host and Client producers 2026-08-27 16:15:18 +08:00
imccyu 189fb34797 feat(inspector): define shared protocol foundation 2026-08-27 16:15:17 +08:00
CreatixChu c6e1914f2d Merge pull request #3207 from deepseek-harness/fix-3204-ptc-run-code-prompt
fix(tools): keep PTC SDK calls inside run_code
2026-08-27 16:13:22 +08:00
Yichen Jiang efd816c0dd Merge pull request #3182 from deepseek-harness/worktree/web-mention-ux-polish-1bf698
feat(web): trim @ mention rows and cut their discovery cost
2026-08-27 16:12:02 +08:00
creatixchu 520bc3ce75 fix(tools): scope bash SDK example to its schema 2026-08-27 15:54:20 +08:00
Yichen Jiang 317ab06b24 Merge pull request #3176 from deepseek-harness/worktree/web-readable-ask-question-cards
fix(web): render readable ask-user transcripts
2026-08-27 15:45:58 +08:00
Yichen Jiang adca6a8cc3 Merge pull request #3193 from deepseek-harness/perf/process-table-snapshot
fix(subprocess): read the process table once per terminal poll
2026-08-27 15:36:17 +08:00
Yichen Jiang 093048d256 Merge remote-tracking branch 'origin/master' into worktree/web-mention-ux-polish-1bf698 2026-08-27 15:35:28 +08:00
CreatixChu c10be57913 Merge pull request #3111 from deepseek-harness/worktree/3003-instant-pending-submit
feat(web): 图片询问点击发送即回显,压缩与传输转入后台
2026-08-27 15:31:01 +08:00
Yichen Jiang 8e9da9debf refactor(session-reference): label discovery from projections alone
A title now comes from an attached session's live projection cut or a cold
one's durable checkpoint, and from nothing else. Attachment is decided by the
session store at read time, so a session that attached after the listing is no
longer answered from a checkpoint its log has moved past — the stale-title case
`api-session.list` already handles this way.

The log fold and its per-log memo are gone. Folding one title costs a whole
log, and this call sits under every keystroke; a session no projection answers
for is labeled by its id and regains its title the first time it is opened.

`lib` leaves the default exclusions: Ruby gems and many npm packages keep
sources there, and the miss would be silent and total. A traversal whose root
is unreadable now rejects instead of publishing an empty index over entries
that are still good, which is what the stale-while-revalidate path claimed but
could not do while every readdir error was swallowed. A drill marks the menu
drilled only when its edit actually reached the draft.

Refs #3154
Refs #3180
2026-08-27 15:21:08 +08:00
creatixchu f9770e34af fix(tools): keep PTC SDK calls inside run_code 2026-08-27 15:20:03 +08:00
Yichen Jiang 9757224349 fix(subprocess): fence each signal against current process state
Review found the shared observation defeated the very fence it fed:
it carries the original PID-to-start-time pairing forward, so a
recycled PID still matches it and takes a signal meant for the process
that exited. Capturing it outside the per-member try also let one
failed read abort a whole teardown round, breaking the synchronous
host-exit contract, and an empty round paid a read for no members.

signalProcess now reads ProcessInspector.isAlive immediately before
delivering, from the narrowest per-identity source each platform
offers; signalMembers and waitForMembers return before capturing when
a round has no members. snapshot() keeps serving the readiness poll,
whose per-poll table read stays at one.

Windows enumerates Toolhelp32 lazily on the first tree question, so a
snapshot asked only for liveness — the 25 ms teardown poll — performs
no table walk at all.
2026-08-27 15:19:43 +08:00
Yichen Jiang 94d06e23d2 fix(web): preserve mixed ask-user results 2026-08-27 15:11:55 +08:00
lsdsjy ed6ac33a88 Merge pull request #3148 from deepseek-harness/fix/websocket-heartbeat
fix(api-gateway): keep idle websocket alive
2026-08-27 15:07:11 +08:00
lsdsjy af562d3649 fix(api-gateway): keep idle websocket alive 2026-08-27 14:48:13 +08:00
Chinesezjc fb07d6db54 Merge pull request #2887 from deepseek-harness/fix/windows-pnpm-setup-isolation
ci: isolate pnpm setup destination per GitHub run
2026-08-27 14:30:00 +08:00
Dudu-0223 0615d17a82 Merge pull request #3020 from deepseek-harness/fix/subagent-model-switch-plugins
feat(subagent): authorize selectable child models
2026-08-27 14:12:24 +08:00
Yichen Jiang 72f1e19184 Merge pull request #3194 from deepseek-harness/perf/turn-navigator-memo
fix(client): stop rebuilding the turn rail on every chat render
2026-08-27 13:29:22 +08:00
Dudu-0223 2722c202ad fix(subagent): tolerate policy-only preset states 2026-08-27 13:25:51 +08:00
Yichen Jiang 49753b33fa fix(web): keep question card props data-only 2026-08-27 13:21:22 +08:00
Dudu-0223 a7b054b8f6 docs: refresh module dependency graph 2026-08-27 13:09:08 +08:00
Yichen Jiang c873fc9d2e fix(client): stop rebuilding the turn rail on every chat render
TurnNavigator was an unmemoized component rendering one div and one
button per loaded Turn, so every ChatView render rebuilt the whole rail:
143 button rebuilds per commit in a 300-Turn session against 8.4 in a
4-Turn one, while a streaming answer commits dozens of times.

memo alone would not have helped, because navigateToTurn was rebuilt on
every render and broke prop identity, so it moves into useCallback.
2026-08-27 13:08:17 +08:00
Yichen Jiang 32ddfcd89c fix(subprocess): read the process table once per terminal poll
MacProcessInspector answered the descendant tree and every member's
liveness with its own `/bin/ps` fork, so one readiness poll cost N+1
full table reads for N tracked descendants. With execFileSync on that
path and a 50 ms poll interval, any command spawning two or more
children saturated the host event loop until it exited.

ProcessInspector.snapshot() now returns one ProcessSnapshot that
answers tree, session, and alive from a single observation, and
signalProcess takes the caller's observation so its PID-reuse fence
does not re-read the table per member.
2026-08-27 13:06:12 +08:00