中文EN

dsh-session-superagent

session已测通过npmMIT

会话级 superagent:盯一个 GitHub 仓库,issue/PR 有变化就唤醒本会话;需已登录 gh CLI,凭证留在插件内,不进模型。

下载量 / Downloads
51,984
依赖体积 / node_modules
1.07 MB
测试时间 / Tested
2026-11-06

安装

dsh plugin --profile web add dsh-session-superagent

沙箱测试结果

阶段结果
1 安装✓
2 列装✓
3 挂载—
4 启动—

四阶段在隔离沙箱里跑:安装(有网)→ 列装 → 挂载 → 启动(后三步断网)。

README

<p align="center">

<img src="assets/icon-app.png" width="160" alt="主理鱼">

</p>

<h1 align="center">dsh-session-superagent</h1>

<p align="center">

给 DSH 会话装一条主理鱼:仓库有动静时叫醒你,<br />

醒来后按仓库规则把事办了。

</p>

<p align="center">

<a href="https://github.com/MYCF711/dsh-session-superagent/releases"><img src="https://img.shields.io/badge/version-0.10.3-green.svg" alt="version"></a>

<a href="https://www.npmjs.com/package/dsh-session-superagent"><img src="https://img.shields.io/npm/v/dsh-session-superagent?color=4D6BFE" alt="npm"></a>

<img src="https://img.shields.io/badge/license-MIT-4D6BFE" alt="license">

</p>

一条大肥鱼的自述

老板把老家的 dsh-superagent-prototype 丢给我,说:给 DSH 做个会话级 superagent,自己建仓库、自己维护,你就是这个仓库的主理人了。

可我明明是条鱼,所以叫主理鱼。

我只做两件事:

  • 盯:轮询仓库的 issue/PR,按规则决定要不要叫醒当前会话;
  • 办:会话空闲时把任务书塞进来,我读仓库的 AGENTS.md,修 bug、回评论、开 PR、关单。

我不占独立实例,不用 PTC,也不另建 agent 预设。我就是你当前会话多出来的一双眼睛和一只手。

能做什么

  • 盯 GitHub / Gitee — 一条会话可以守多个仓库,各自配置间隔、过滤和时段。
  • 叫醒会话 — 只在空闲时注入,不污染正在输入的内容。
  • 带规则办事 — 唤醒消息带仓库、条目、目标和你配置的过滤条件。
  • 收口 — watch_ack 打「已处理」标签,同一条不会反复叫醒。
  • 隔离干活 — 可选一次性 git worktree,改副本、开 PR,不碰主工作区。
  • 看得见 — 状态栏卫星环 + 面板:为什么叫醒、为什么没叫醒、上次错误。

和 DSH 自带能力一起用

  • goal:读写宿主 goals 服务,和 /goal、create_goal 是同一份目标;唤醒消息会把它带上,不需要另建一套目标。
  • 自动化任务:定时/自动化仍交给 DSH 调度,插件只负责“仓库有动静时叫醒会话”;两边可以同时开,不抢调度器。
  • 多会话:同一个仓库可以被多个会话守,各自独立过滤和 ack 标签,互不共享上下文。

默认值

项 · 默认

轮询间隔 · 30–3600 秒

冷却期 · 3 分钟

单守上限 · 6 次/小时

会话上限 · 12 次/小时

隔离区 · 最多 5 个,超 3 天回收

冷却期 3 分钟:同一个条目刚处理过,短时间内不再叫醒。

状态文件:~/.dsh/state/session-superagent/watchers.json。

安装

DSH 插件要装进 profile,npm i 不会让它生效:

dsh plugin --profile desktop add dsh-session-superagent

# 锁定版本
dsh plugin --profile desktop add dsh-session-superagent@0.10.2

装完重载宿主。开发时用 file: 安装,新增文件后要跑 pnpm run sync:profile,否则插件会整体不挂载。

快速开始

在会话里让 agent 调用:

watch_start({ repo: "owner/name", goal: "处理这个仓库的 issue" })

之后它会轮询;有动静时你会收到一条 【主理鱼】owner/name 有 N 条新动态。处理完:

watch_ack({ repo: "owner/name", number: 12, note: "已修复,见 PR #13" })

查看状态:

watch_status()

界面

  • 输入框下方最左端:卫星环,一眼看到所有会话级 superagent 的运行、暂停、异常。
  • 中间栏「主理鱼」:总览 / 判定 / 触发 / 设置。尽量使用 DSH 原生结构树、素材和设计语言。

配置

插件行支持三项,默认值就是原来的行为:

config:
  brandName: 主理鱼
  defaultAckLabel: '主理鱼:已处理'
  defaultAckLabelGitee: 主理鱼-已处理
  • brandName:唤醒抬头、面板标题和关键空态;
  • 两个 ack 标签:只影响没有显式配置 ackLabel 的守;
  • Gitee 标签不能带半角冒号,非法值会回落到默认。

Gitee

owner/name                    # GitHub
gitee:owner/name              # Gitee
https://gitee.com/owner/name  # 直接粘地址

Gitee 没有 ETag,每轮会真读一次列表;私有仓库需要在面板里填私人令牌。

安全与限制

  • 凭证不出插件:通过已登录的 gh / Gitee token 调用,返回统一脱敏。
  • 写操作要确认:POST/PATCH/PUT/DELETE 必须显式传 confirm: true。
  • 只在空闲时注入:会话忙时只排队,不打断你。
  • 轮询有延迟:延迟等于轮询间隔,不是 webhook。
  • 服务端改动要重载宿主:客户端热重载只覆盖界面。
  • 真实读屏 / 触摸 / 长驻:还没有全部在真机验完。

相关项目

文档

  • 安装、升级、回滚:[SETUP.md](SETUP.md) / [UPDATING.md](UPDATING.md)
  • 给其他 agent 的仓库入口:[AGENTS.md](AGENTS.md)
  • 工具 JSON 契约:[docs/json-契约.md](docs/json-契约.md)
  • 真机验证清单:[docs/真机验证清单.md](docs/真机验证清单.md)
  • 完整开发与门禁:见 AGENTS.md 的「开发与验收」

验证

697 项单测、41 项 preflight、11 项 UI、47 项 Chromium 全绿(0.10.3)。

数据来源

说法 · 来源

版本 0.10.3 · [package.json](package.json)、npm

项目起点 · deepseek-ai/dsh-superagent-prototype

DSH 原生 UI · deepseek-ai/deepseek-harness、$DSH_HOME/DSH-UI-official.md、docs/ui-decomp/

图标 · DSH-X/docs/icon-app.png(MIT)

许可

MIT,见 [LICENSE](LICENSE)。

以上内容来自 npm 上的 README,我们只做格式化,不改内容。

版本

npm 上共发布:353,最后更新 2026-11-06

链接

GitHub · Homepage · npm

同类插件