dsh-purge
YuJunZhiXue/dsh-purge在设置页编辑 prompt-inject.md、管理 AGENTS.md 或 CLAUDE.md 规则集、检查插件更新,并对本机包做可回滚的应用或还原。
给 DeepSeek Harness 一句话目标:决策服务从带编号的元素表里挑出下一步操作与目标元素,驱动真实浏览器把事办完,一趟多步任务只花一次工具调用。
English | 中文 | Español | Português | हिन्दी
jev-ultrafast 的 DeepSeek Harness 插件实现,在dhs对话中用自然语言驱动真实浏览器,利用jev模型实现浏览器操控。
它给 DeepSeek Harness(下称 DSH)补一条能力:用一句自然语言目标驱动浏览器办事。
常规做法是模型看页面、想一步、点一下。每个点击占一轮对话。这里换了分工:页面先压成一张带编号的控件表(下称元素表)。一次请求同时定「做什么操作」和「对哪个元素」。主模型只在开头出目标、结尾读结果。所以一趟多步任务只花一次工具调用。
它是插件(bundle),不是技能。它注册两个工具和一条斜杠命令:
入口 · 干什么 工具 jev_browser_task · 按一句话目标办事。可以带 expect 核验。跑完带回结果和最终页面的文字 工具 jev_browser_read · 一屏一屏读长页面,去重后拼回整篇。不花决策请求 命令 /jev-ultrafast · 在输入框里直接说要做什么。不必让主模型参与
这是一个移植项目,不是原创。 上游是 jev-ultrafast(MIT,© 2026 Browser Use)。上游是 Python 实现,约 690 行。本项目把它改写成 TypeScript,并打包成 DSH 插件。本项目自己的仓库在 xingzhen199186/dsh-jev-ultrafast。
它不是官方出品。 本项目与 Browser Use、TypeSafe 没有隶属、背书或赞助关系。「Browser Use」「TypeSafe」「Jev」是各自所有者的商标。这里提到它们,只为了说明来源,以及说清插件在调用谁的接口。
从上游搬来的东西,逐件列在 THIRD_PARTY_NOTICES.md。要点如下:
上游文件 · 本项目文件 · 搬了什么 jev_ultrafast/snapshot.js · src/browser/snapshot.js · 页面内的快照脚本,近乎原样 jev_ultrafast/questions.py · src/prompts.ts · 决策用的提示词,近乎原样 jev_ultrafast/model.py · src/decision/* · 元素表、一次请求定操作与目标、答案校验 jev_ultrafast/agent.py · src/loop.ts · 主循环、过期决策的处理、文本值缓存 jev_ultrafast/browser.py · src/browser/* · 新鲜度守卫、动作前的可见性与几何检查
上游依赖 browser-harness。它管浏览器连接、守护进程和权限弹窗。TypeScript 里没有对等物。本项目照 Chrome DevTools Protocol 重写了这一段。
dsh web)或桌面端应用,任一都行。插件对两端都支持,装在你正在用的那一端。要求是 0.2.0-rc.1 一代(插件的依赖声明覆盖 0.1.7-rc.2 到 0.3.0 之前)。网页端:
dsh plugin --profile web add dsh-jev-ultrafast装完重启一次 DSH。
桌面端:
在左侧导航栏点插件进入插件页面,再点添加插件;在输入框里填 dsh-jev-ultrafast(或本项目的仓库地址、本机目录路径),然后点安装。对话框里的「安装源」默认是 npm 官方源,国内网络慢可以换「中国大陆镜像源」。装好后按提示启用,再重启一次应用。
在输入框里直接用自然语言说要做什么:
“用浏览器打开 https://www.example.com 该网页读取内容”
“用jev浏览器搜索美剧《人生复本》”
“调用插件dsh-jev-ultrafast打开这个页面 https://www.example.com ”
或
/jev-ultrafast https://www.example.com 找到价格并说明是多少 —— 句子里有网址。开跑前不调用任何模型。/jev-ultrafast 查一下明天北京的天气 —— 句子里没有网址。若句子里点名了站点,本地就认出来。认得的站点有 13 个:百度、必应、谷歌、知乎、微博、豆瓣、淘宝天猫、京东、小红书、抖音、B 站、维基、GitHub。认不出才问一次文本模型。问不出就从搜索引擎开始,默认用必应。设置页在设置 → Jev 浏览器。
门 · 两条路 · 密钥 决策服务 · TypeSafe 官方直连;或 OpenRouter 的决策通道 · 从 DSH 凭据库读。插件不另存 文本模型 · 七个预设供应商;或 dsh:(DSH 里已配好的模型) · 预设那条路用自己的密钥;DSH 内置那条路由 DSH 自己管
你正在用的浏览器(默认)。它直接用你现在的登录状态。第一次要这样做:
edge://inspect/#remote-debugging(Chrome 用 chrome://inspect/#remote-debugging)。勾过这一次之后,开着关着都能用。关着的时候,插件会替你打开它——一个参数都不传,跟你双击图标等价(2026-10-03 起,「绝不启动你日常档案」那条红线按用户裁决移除)。它自己的调试口会随身带上。
每个浏览器会话只允许一次。 连上后插件一直握着这条连接。跑任务、读页面、开新标签都不再弹框。浏览器整个关掉重开,才算新会话,会再问一次。
插件自己的浏览器。它另开一份数据目录,与你日常那份互不干扰。需要登录的站点,在那个窗口里登录一次,之后一直保留。
选「你正在用的浏览器」时,那一块还有两件事可做:
pnpm install
pnpm typecheck # 类型检查
pnpm test # 单元测试
pnpm build # 构建 lib/
pnpm pack # 打出 tgz真浏览器集成测试默认跳过。要跑就加环境变量:
JEV_BROWSER=1 pnpm testMIT,见 LICENSE。上游版权与第三方说明见 THIRD_PARTY_NOTICES.md。