ROOKIE02314/dsh-browser--packages-browser-tool-browser ↗★ 2
@deepseek-ai/dsh-tool-browser
Model-facing browser tools (browser, browser_help) plus the browser/feed session projection over the browser capability seam 适合让模型操作网页的用户;需配合浏览器后端提供者
같은 패키지 이름의 다른 저장소
설치
검증된 bundle이 없거나 호환성 검사에 실패했습니다. 먼저 저장소 설명을 읽어 주세요. 전체 README 읽기 ↗
@deepseek-ai/dsh-tool-browser
English | 中文
Model-facing browser and browser_help tools over the browser capability seam, plus the browser/feed session projection the web GUI's browser panel renders. This package owns schemas, validation, presentation, and the feed vocabulary — never a concrete backend.
Tools
browser—{ command, args? }: run one playwright-cli verb against this session's CDP browser and return its bounded reply. The backend keeps cookies and page state across calls within the session.snapshotreturns element refs (e.g.e21) forclick/fill/checktargets.browser_help— returns the backend's command reference (the pinned CLI's--helptext, cached by the provider).
Both tools fail with the provider's BrowserError codes when no backend is usable, the browser is missing, a command is unknown, or the CLI exits non-zero; the message carries the CLI's bounded reply so the model self-corrects.
browser/feed projection
Key browser/feed, value { entries, truncated, open }. The unit folds the session log only:
- a
tool/callfor a browser tool prepends arunningrow; - its
tool/resultfinalizes that exact row withok/errorand a bounded reply excerpt; - a settled
tool/code-dispatch(Code Modeawait tools.browser(...)) lands fully formed, so Code Mode calls appear in the feed without native cards; open/attachsetopen: true,close/detachsetopen: false(a heuristic over commands, not a backend query).
Rows are capped at maxFeedEntries (oldest dropped, truncated sticks); excerpts are capped at feedExcerptChars. The value is pure replay mathematics, so the panel renders identically after a reload with or without the provider.
Config
- id: tool-browser
name: '@deepseek-ai/dsh-tool-browser'
config:
enabled: true
maxFeedEntries: 200
feedExcerptChars: 512
timeoutMs: 125000
Model Experience
Request context and condition
What the model sees
Two tool schemas (browser, browser_help) join prompt assembly whenever this row is mounted; their exact model-facing shape lives in the generated tool catalog under this package's name. Per-call, the model sees the backend's bounded reply (or a BrowserError message carrying it).
Token effect
Conditional on call: each command reply is capped at the provider's maxOutputBytes (default 65536) with a truncation marker; failed calls carry the same bound in the error message.
KV Cache effect
Append-only per call: the fixed schema and descriptions stay prefix-stable while the package is mounted; mounting or unmounting the row, or changing its enabled flag, replaces the tool assembly and invalidates reuse.
Known Limitations and Deferred Work
openis a command heuristic — the flag does not reflect tab detach/reload edge cases; a backend query for real page state belongs to a future provider capability.- Feed rows live only while the projection registry is composed — headless assemblies without
dsh-session-projectionsimply omit the feed; the tools keep working. - No per-tool system-prompt guidance section — the tool descriptions carry the workflow (snapshot before click); a dedicated section belongs to a preset that wants stronger steering.