dsh-lobsterai-daddy

uitested: passnpmMIT

Turns the LobsterDaddy multi-account console into a floating ball in the DSH window: drag it anywhere and the position persists, and the panel can be set to follow the ball. Clicking it slides out a drawer that renders the console as native DOM (no iframe) from the loopback-only same-origin proxy, s

下载量 / Downloads
1,555
依赖体积 / node_modules
431.0 MB
测试时间 / Tested
2026-11-06
DSH 版本 / Version
0.2.2-rc.1

Install

dsh plugin --profile web add dsh-lobsterai-daddy

Sandbox test results

StageResult
1 install✓
2 list✓
3 mount✓
4 boot—

Four stages run in an isolated sandbox: install (network on) → list → mount → boot (last three with no network).

README

dsh-lobsterai-daddy · LobsterAIDaddy

[!WARNING]
LobsterAIDaddy 已于 2026-10-21 停止维护(End of Life)。
出于作者个人精力与优先级调整,dsh-lobsterai-daddy 不再继续开发与维护:不再新增功能、不再适配 DSH 新版本、不保证修复缺陷。
仓库与 npm 上的包继续保留,已安装的用户可以照常使用,但不会再收到任何更新。
感谢一路以来的使用与反馈。
[!WARNING]
LobsterAIDaddy is no longer maintained (End of Life, 2026-10-21).
Due to a shift in the author's personal priorities, dsh-lobsterai-daddy is discontinued: no new features, no DSH compatibility updates, and no guaranteed bug fixes.
The repository and the npm package remain available; existing installs keep working, but no further updates will be published.
Thanks to everyone who used it and sent feedback.

把 LobsterAI 多账号管理变成 DSH 界面上的悬浮球:可自由拖拽摆放、位置自动记忆;面板可跟随悬浮球一起移动;点开即查看当前登录账号与账号列表,并直接签到、刷新额度、切号——这些能力由插件宿主内置实现,不需要 LobsterDaddy 控制台常驻。

A draggable floating ball that renders a native-DOM LobsterAI multi-account panel inside DSH: the account LobsterAI is currently signed in as, the full account list with balances and per-account check-in state, check-in-all / refresh-quota / switch-account actions backed by a built-in data layer (reads LobsterAI's SQLite directly), plus a self-hosted board page. Drag it anywhere, let the panel follow it. Only "log in a new account" and "sync gateway into DSH" still need the LobsterDaddy console.


效果图

悬浮球抽屉(完整界面)

⚠️ 截图为旧版本(≤ v0.9.5),仅作界面布局参考,按钮与指示器以正文为准:图中按钮区有 5 个按钮(含已删除的「抓取当前登录账号」),悬浮球右下角还有已被删除的状态圆点。当前实际为 4 个按钮、球上无圆点。

内容自上而下:操作按钮区 → 当前登录账号 → 账号列表(余额 / 套餐 / 今日已用 / 奖励明细 / 签到状态 / token 到期)→ 运行信息(数据目录 / LobsterAI 进程 / 定时自动签到 / 转接 DSH)。

抽屉顶部状态行的圆点为绿色 = LobsterAI 正在运行(该圆点在抽屉内,悬浮球上已不再有圆点);右侧标注「内置 · 账号 N 个」= 数据由插件宿主直读,不依赖任何外部控制台进程。


功能

速览

能力 · 说明

🟠 悬浮球 · 常驻 DSH 界面,可拖到任意位置,坐标自动持久化(重启后原地出现)

🧲 面板跟随悬浮球 · 拖动悬浮球时面板一起走(相对位置不变);面板头部也可单独拖动;「跟随 / 固定」一键切换并记忆

📥 原生渲染面板 · 点球展开/收起。抽屉内容自上而下:操作按钮 → 当前登录账号 → 账号列表 → 运行信息(数据目录 / LobsterAI 进程 / 定时自动签到 / 转接 DSH)

👤 当前登录账号 · 自动读取 LobsterAI 的登录状态并显示昵称;切号后自动更新,无需手动抓取

✅ 签到状态与时间 · 每个账号显示 已签到 / 今日已签到 / 今日未签到,并附最近签到时间

⏱ 定时自动签到 · 宿主内建调度器:启动后 8 秒首跑,之后每 60 分钟一轮(CHECKIN_INTERVAL_MS),状态见抽屉「定时自动签到」行与 GET /health 的 checkinScheduler

💰 积分额度 · 余额、套餐、今日已用、奖励明细(含到期日)

🦞 免退出并行登录 · 「+ 免退出登录新账号」扫码加入(仍需 LobsterDaddy 控制台提供登录流程;控制台未运行时按钮会给出明确提示)

🔁 一键操作 · 立即全部签到 / + 免退出登录新账号 / 刷新额度 / 同步网关到 DSH / 切号(签到、刷新额度为内置直调上游;登录新账号与同步网关仍走控制台)

↔️ 自由调整大小 · 拖动抽屉左下角调整宽高,尺寸自动记忆

🔢 账号数徽标 · 球左上角显示当前账号库数量(读宿主 /local/status,不依赖任何外部进程)

🌐 浏览器打开 / 网页看板 · 头部「浏览器打开」由宿主进程真正拉起系统浏览器,打开插件自建的看板页 /dsh-lobsterai-daddy/board(带签到/刷新额度/抓取/登录/切号按钮)

⭐ Star 直达 · 头部与看板均有「★ Star」,一键打开 GitHub 仓库

🧩 完全自包含 · 账号/额度/签到/切号全部由插件宿主直接实现(读 SQLite + 直调官方接口),不需要 LobsterDaddy 控制台常驻

悬浮球与抽屉

  • 自由摆放:按住球拖到屏幕任意位置,松手即记住坐标(存 localStorage),重启 DSH 后原地出现。
  • 永不越界:拖拽与窗口缩放都会被夹回可视区内,不会把球拖丢。
  • 点击展开:单击球展开/收起抽屉;拖拽不会误触发展开(位移超过 3px 即判定为拖拽)。
  • 状态一眼可见:抽屉状态行显示「LobsterAI:运行中 / 已关闭」+ 数据来源与账号数;球左上角徽标显示账号库数量。(悬浮球上已无状态圆点——原「守护进程在线」指示灯随控制台退场已删除,它恒为灰、只是视觉上的空洞。)
  • 自由缩放:拖抽屉左下角调整宽高,尺寸独立持久化。

面板跟随悬浮球

  • 跟随模式:拖动悬浮球时,已展开的面板按相同位移一起移动,相对位置保持不变——球和面板始终保持在你能看到的同一区域。
  • 固定模式:面板钉在原地不动,只移动悬浮球。
  • 一键切换:面板头部「● 跟随 / ○ 固定」按钮,选择被记住,下次打开保持上次的模式。
  • 面板可独立拖动:拖面板标题栏(避开按钮)即可单独挪动面板。
  • 位置独立记忆:面板坐标与悬浮球坐标分开存储,互不干扰;窗口缩放时自动夹回可见区。

当前登录账号

  • 自动显示:抽屉里有一行蓝色横幅显示 LobsterAI 当前登录的账号昵称。
  • 无需手动抓取:插件每次刷新都会重新读取 LobsterAI 自己的登录记录,所以切号后自动更新,不用点任何按钮。
  • 未登录有提示:LobsterAI 未登录时显示「LobsterAI 未登录」。
  • 安全降级:读取失败时该行自动隐藏,不影响账号列表等其它内容。
实现说明:渲染进程无法打开 SQLite,因此由宿主半边只读访问 %APPDATA%\LobsterAI\lobsterai.sqlite 的 kv 表(auth_tokens / auth_user)并通过 GET /dsh-lobsterai-daddy/current 提供。

签到状态与最近签到时间

每个账号都会显示今天的状态,并且带最近一次签到的日期与时间:

状态 · 含义

已签到 + 09-28 16:21 · 今天签到成功,显示签到时刻

今日已签到 + 时间 · 今天早些时候已经签过(本次是重复调用,幂等)

今日未签到(灰) · 今天还没有签到记录

失败文案(红) · 今天签到时出错,显示面板返回的原因

日期按面板的跨天判断给出,过零点自动归为「今日未签到」,不需要手动清理缓存。

账号与积分额度

每个账号卡片显示:

  • 账号标识:昵称/手机号(脱敏)+ uid 短号
  • 积分余额:当前余额(大字突出)
  • 套餐信息:套餐名(如「免费」「会员」)与今日已用
  • 奖励明细:最多 3 条奖励条目,含剩余量与到期日
  • 更新时刻:余额缓存的刷新时间
  • Token 有效期:到期日期,24 小时内到期会显示 ⚠ 提醒

一键操作

抽屉顶部提供 4 个操作按钮,另外每个账号行有一个「切换」按钮:

按钮 · 作用

立即全部签到 · 用账号库里每个账号的 token 逐个签到,直调 LobsterAI 上游活动接口(内置实现,不需要控制台,也不需要任何"预先同意"开关)

+ 免退出登录新账号 · 打开无痕窗口扫码登录,登录后自动入库,账号数无上限;不动 LobsterAI App 当前登录状态。此功能仍需 LobsterDaddy 控制台提供登录流程;控制台未运行时会明确提示,而不是静默失败

刷新额度 · 重新拉取所有账号的余额/套餐/今日已用(内置实现,绕过缓存强制重拉)

同步网关到 DSH · 把当前网关端口与 token 同步进 DSH 配置。仍需 LobsterDaddy 控制台;控制台未运行时按钮会给出提示(切号链路本身不依赖它)

切换(每个账号行) · 把该账号凭据写回 LobsterAI 的 SQLite 并重启 App,切完立即可用

  • 切换账号会关闭并重启 LobsterAI,因此保留二次确认。
  • 操作进行中按钮自动置灰,完成后自动刷新列表。
  • 登录按钮在面板忙或登录流程进行中被禁用。
  • 已移除的按钮(v0.7.2 / v0.9.5):~~复位登录流程~~、~~自动签到开关(同意)~~、~~守护进程开关~~、~~抓取当前登录账号~~——它们都是 LobsterDaddy 控制台时代的产物。其中「抓取当前登录账号」被删是因为它与「当前登录账号」自动显示完全冗余(/local/capture 与 /current 读的是同一份数据)。旧缓存若还残留这些按钮,点击会看到「该按钮已移除」的提示而不会静默失败。
  • 抽屉里点「浏览器打开」后的网页看板(/board)是独立页面,按钮集合与抽屉不同:立即全部签到 / 刷新额度 / 抓取当前登录账号 / 重新读取 / + 免退出登录新账号 / 每账号 切换 / ★ Star。注意看板上保留了「抓取当前登录账号」(它走内置 /local/capture,只是重读一次当前账号信息),抽屉里那个按钮则已按冗余理由删除。

实时刷新

  • 抽屉打开时每 15 秒自动刷新一次(REFRESH_MS = 15000,定时器在 setOpen(true) 里 startRefresh() 建立)。
  • 抽屉关闭时这条 15 秒轮询确实会停(setOpen(false) → stopRefresh() → clearInterval)。
  • 但「不占用任何资源」是错的:悬浮球上的账号数徽标由一个独立的、无条件的 30 秒定时器维护 —— lib/client.js:1786 setInterval(probe, 30000),它每次拉一遍 /local/status?quota=0(只取 accountsCount)。这条与抽屉开关无关,从挂载起就一直跑。
  • 头部 ⟳ 按钮可随时手动刷新。
ℹ️ 代码里还留着 BACKGROUND_REFRESH_MS = 60000(lib/client.js:265)与 startRefresh() 中「关闭态降频到 60 秒」的分支(:485-490),但那是遗留死代码:startRefresh() 的唯一调用点在 open === true 分支(:455),而 setOpen(false) 会立刻 stopRefresh()(:463),所以定时器回调执行时 open 恒为 true,那个 else 分支永远不会进入。文档按真实可达路径描述,不按注释描述。

兜底

  • 浏览器打开:由宿主进

…(truncated)

Rendered from the README published on npm. Formatted only, not edited.

Versions

Published on npm::11,最后更新 2026-10-21

Links

GitHub · Homepage · npm

Same category