← 返回列表
未验证
记住站点操作脚本,下次直接调用省去重新摸索
尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/9/9 · 已提供中文文档
为 dsh 打造的 ego lite 浏览器自动化,具备记忆能力——回想某个网站已学会的工具,将可用的脚本提升为新工具,把键盘真正交给用户。7 个工具,仅限主机,MIT 许可。
综合分
30
GitHub 分
30
用户评分
—
★ Stars
1
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add dshworks/dsh-ego-browser该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery@deepseek-ai/cordis@deepseek-ai/dsh-subprocess@deepseek-ai/dsh-tools用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
___ __ _ ___
/ _ \/ _ |/ _ \ dsh-ego-browser
| __/ (_| | (_) |
\___|\__, |\___/ ego lite for DeepSeek Harness,
|___/ with a memory it keeps
给 dsh 浏览器 agent 的站点技能记忆。
7 个工具 · 用 ego lite 自己的 learnings/ 格式存 · 在 dsh 0.1.1-rc.2 上验证过 · 74 个测试,不需要浏览器 · 纯 host 插件 · MIT
= 20">
它做什么 ·
60 秒上手 ·
凭据 ·
什么时候别用 ·
相关工作 ·
llms.txt ·
English
ego lite 是一个人和 agent 共用的浏览器:agent 在自己的 Space 里干活,复用你真实的登录态,你的标签页还是你的。这个插件把它接进 dsh —— 并补上 ego 自己 README 里仍标着「即将推出」的那一半。
「Experience accumulation that makes your agent faster the more you use it (coming soon)」 —— ego lite README
读的那半边其实已经发布了:site.learnContext、site.runTool、site.runBrowserTool 会从 EGO_BROWSER_AGENT_WORKSPACE 指向的目录里加载 learnings/。缺的是写的那半边。
ego_recall ──▶ ego_run ──▶ ego_learn ──▶ ego_site_run
这个 agent 一次浏览器 把跑通的那 下次一次调用,
已经学到的 任务写一段 一步固化 而不是重新摸
关于该站点 脚本 一遍页面
的东西
│
└──▶ ego_handoff —— 页面需要真人时,
真的去问,然后再把控制权拿回来
闭环就成立了。第二次抓同一个后台时,agent 调的是它上周自己写的工具,而不是重新摸一遍页面。
它做什么
- 动手前先回忆 —— ego_recall 直接从磁盘返回某个 hostname 的笔记与工具签名。不开浏览器、不加载页面、不花 token 重新摸索上个月已经跑通过的东西。
- 一次任务一段脚本 —— ego_run 把整个浏览器任务交给 ego 运行时的一段脚本,这正是 ego 自己 benchmark 所依据的设计。
- 把跑通的固化下来 —— ego_learn 把有效的一步变成真正的站点工具,用 ego 的格式存,并拒收那些活不到明天的。
- 调用学过的东西 —— ego_site_run 按名字调用已存工具并计数,于是没人用的工具一眼可见。
- 真的把键盘交给你 —— ego_handoff 弹出真正的 dsh Continue / Finish task 提示 —— 这正是 ego 自己的 hard-stop 文案在向 harness 要的东西 —— 你说继续,它才把控制权拿回来。
- 告诉模型你装的是哪一代 ego —— ego_doctor 探测已安装的命令,而不是相信文档,因为同一个命令名后面有两套互不兼容的运行时。
- 一开始就不是空的 —— 首次启动时,store 会继承你机器上已有 ego skill 的 learnings/。
它怎么工作(30 秒)
dsh agent
│ ego_run / ego_site_run ego_recall / ego_learn
▼ │
┌──────────────────────────────┐ ▼
│ dsh-ego-browser(host 半边) │ ┌──────────────────────────┐
│ · argv 与 helper 表面探针 │ │ learnings// │
│ · 脚本包装与结果归类 │─────────────▶│ manifest.json │
│ · 晋升闸 │ 写入 │ notes/.md │
└──────────────┬───────────────┘ │ tools/.js │
│ stdin heredoc │ browser-tools/.js │
▼ └──────────┬───────────────┘
ego-browser │ EGO_BROWSER_
│ │ AGENT_WORKSPACE
▼ ▼
ego lite 应用 ◀────────── 同一份 store,ego 自己也读得回去
(你的登录态,它自己的 Space)
唯一的那根线就是 ego lite 应用装的 ego-browser 命令。这里不内嵌、不打补丁、也不启动任何浏览器。
上手(60 秒)
需要运行 dsh 的机器上已安装并完成 ego lite 引导(lite.ego.app),使 ego-browser 在 PATH 上。
1. 安装
dsh plugin --profile web add -w @dshworks/dsh-ego-browser
2. 重启 dsh
3. 确认装上了 —— 七个名字;如果是 [] 就是没装上
curl -s localhost:8090/dsh-ego-browser/memory | jq .tools
add 会顺手把 bundle 登记进 profile 花名册。然后让 agent 先跑一次 ego_doctor —— 它就是这样弄清楚该给你装的这一代 ego 写 cliLog() 还是 console.log() 的:
command: ego-browser invoked as: ego-browser
store 用的是 ego 的格式,不是我们的
/learnings//manifest.json id、name、domains、notes、tools
/learnings//notes/.md agent 摸清楚的东西,用散文写
/learnings//tools/.js node 工具:export async function f(ctx, args)
/learnings//browser-tools/.js 页面工具:在标签页里求值
这里学到的东西,在 dsh 之外的原版 ego-browser skill 里同样能加载,指向同一个 workspace 的其它 agent 也一样。没有私有格式,也没有需要迁出的东西。
首次启动时,如果找得到已有的 ego skill workspace,会把它的 learnings/ 继承过来一次。只继承一次;你删掉的站点不会自己回来。
一切都在写入前校验,被拒的晋升不会改动 store 分毫:manifest 形状、域名模式、参数与返回 schema、声明的导出,以及源码语法 —— 用 node --check 在进程外解析,绝不 import,因为那段代码是写给浏览器运行时的,没有理由在 harness 进程里执行。
随时读 store:
sh
curl -s localhost:8090/dsh-ego-browser/memory | jq
配置
所有字段可选。
| 字段 | 默认 | 含义 |
|---|---|---|
| bin | ego-browser | 命令。不在 PATH 上时填绝对路径。 |
| workspace | ~/.dsh/ego-browser/workspace | 学到的站点存放处。指向已有的 ego skill 目录即可共用同一份 store。 |
| seed | true | 首次启动时继承已有 ego workspace 的 learnings/。 |
| cwd | harness cwd | ego-browser 进程的工作目录。 |
| extraArgs / env | [] / {} | 追加到每次调用。 |
| timeoutMs | 120000 | 单次脚本的时限。 |
| probeTimeoutMs | 20000 | 能力探针的时限。 |
| maxOutputBytes | 1048576 | 保留的脚本输出;超出保留尾部。 |
| route | true | 在 /dsh-ego-browser/memory 提供 store。 |
| trustedHosts | [] | 除 loopback 外允许读该路由的 authority。 |
只有 subprocess 是硬依赖。tools 和 webServer 存在时才接管,所以 headless profile 也能干净加载,只是没有路由。
handoff 的完整流程
ego 自己的 hard-stop 文案,几乎是逐字在向 harness 要这个能力:
「Offer the user choices like "Continue" or "Finish task" if your harness supports it」
dsh 支持。ego_handoff 交出任务空间,弹出一个带这两个选项的真实 dsh 提问,选 Continue 后把控制权拿回来,下一次 ego_run 直接续上 —— 不用「你回一句 continue 我再试试」,也不会在用户还在输密码时把键盘抢走。
如果根本没人可问 —— headless、没有提问 UI,或者调用方是子 agent(harness 会用 DELEGATED_CALLER 拒绝而不是永远阻塞)—— 它会直说,而不是假装收到了答案。
相关工作
已经有两位先把 ego 接进了 dsh,两个都值得一看:
- Fisfzy/dsh-ego-browser —— 32 个细粒度 ego_* 工具,外加一个可以直接点击操作的实时观察窗,并自带 ego 运行时的 Linux 移植,没有 macOS 应用也能跑。是真下了功夫的作品,对自身局限也很坦诚;如果你要的是看着 agent 浏览,选它。本插件不与之竞争,也不提供观察窗。
- Da1dr1em/dsh-ego-browser —— 围绕 Windows 预览宿主的三个工具:run、help、status。能跑起来的最小诚实实现。
两者都没有往 learnings store 里写东西,也都没有把 ego 的 hard stop 变成真正的提示框。这个插件补的就是这块。
还有东西本身:ego lite(CitroLabs 出品)才是这里的好点子 —— 人和 agent 共用一个浏览器,而不是用框架去驱动另一个。store 格式、临时 ref 规则、handoff 协议全是他们的;这个插件只是把它们填满。
贡献 · 安全 · 许可
CONTRIBUTING.md —— 哪些需要真实浏览器,哪些不需要。如果你手上有装了 ego lite 的 Mac,真机上的 ego_doctor 输出是你能提供的最有用的东西。
SECURITY.md —— agent 操作的是你真实的登录会话。安装前值得花两分钟看看。
MIT。ego lite 是独立发布的免费下载,遵循它自己的 MIT 许可;本仓库未内嵌其任何代码。与 DeepSeek、CitroLabs 均无关联。扫码进群