Repository navigation
Replies: 3 comments
|
Nothing can exempt, batch or truncate reviews today: I ran this on 0.2.0-rc.2 with Auto on, a local mock model behind
Without the That also fits your 790k capture: automatic compaction defaults to One caution on truncating arguments (your direction 2, or doing it in your proxy): the policy classes "exact cleanup of an object that retained historical tool-call facts establish the agent created in this same session" as low risk. Those arguments are that evidence, so head/tail truncation could turn legitimate cleanups into denials. I haven't tested that; it's from reading the policy. Sources at rc.5: surface snapshot, cleanup rule, known limitations, threshold default. The same snapshot line is in 0.2.0-rc.2. |
|
Hi! The request attribution data is particularly useful because it separates the main model workload from the automatic reviewer. I would suggest treating review overhead as a measurable feature budget. For each review request, the runtime could record the originating tool call, input tokens, cache usage, estimated cost, and review decision. A possible optimization would be a tiered policy:
Read-only operations should not be exempt automatically, since some can access sensitive data. A useful benchmark would compare cost, latency, and authorization decisions before and after optimization using the same recorded test cases. This would help reduce overhead without silently weakening the permission model. |
|
这么夸张吗?0.o |
Uh oh!
There was an error while loading. Please reload this page.
Environment: DSH Desktop 0.2.0-rc.2 (web) on Windows 11, provider
deepseek-account/deepseek-flash, permission preset Auto. Requests were observed through a local proxy (billion-context 0.1.211) in front ofapi.deepseek.com, so every upstream request is attributable; no DSH-internal instrumentation was used.Related: #11834 (seeded first-turn re-upload) — same observing setup, different finding.
What was measured
Under the Auto preset the reviewer is a separate LLM route call. The proxy namespaces lanes by system-prompt fingerprint, so the reviewer's requests land on their own lane per conversation (
<session-id>|sub:1ee45271ed060930). It is not a special-cased ID: the proxy simply sees a second, distinct instructions string in that session and appends its hash; the string happens to be constant, so every reviewed conversation shares the same suffix. Only sessions in which Auto actually reviewed something have such a lane.Snapshot at 2026-11-04T05:45Z, covering 2026-10-22 → 2026-11-04:
So the reviewer issues ~0.75 model requests per main request, each carrying more input than a main request. Spend is as the proxy reports it (derived from a price table, not from an invoice).
What one review request contains
One captured review request: 1,583,596 characters ≈ 790k tokens.
FILTERED_HISTORYPENDING_ACTIONENVIRONMENT/PROJECT_INSTRUCTIONSInside
FILTERED_HISTORY:tool-call(arguments JSON)user-messagefactsThe reviewer is therefore mostly re-reading the full arguments of every prior tool call — long shell scripts, file bodies, JSON payloads — not the conversation text.
Mechanism (from the shipped bundle)
tools/pre-execute(dsh-experimental-auto-review/lib/index.js:462).:465if (permissionPresets.current(agent.session) !== AUTO_PRESET) return next();— only the Auto preset reviews.(turn, step, callId); there is no step-level batching.README.zh.md:90— "each supported call produces one additional model request; it is not cached, retried, truncated, or compressed, and it has no separate small output budget."lib/index.js:39records that "a production read is medium even though it is read-only".On caching: the 99.2% hit rate means the repeated payload is cheap per token, but the volume still dominates — this is a request-count problem, not a pricing problem.
Why it seems worth a discussion
Reproducing
Any proxy that logs upstream requests can reproduce the volume: group requests by system-prompt hash within a session, then compare request counts against the session's own turn/step count. A cheaper check is to record the token delta per tool call under Auto versus any other preset.
Possible directions (not a demand)
git status, listing).tool-callarguments in the review snapshot — they are 82% of the payload, and head/tail plus a character count would usually suffice.All reactions