RelayDeck:以 Flow 组织的多平台内容中继 DSH 插件

前言

在 DeepSeek Harness(DSH)里做内容相关的自动化,常见做法是把「账号、监控、下载、发布」拆成多个功能页,靠人工在页面之间跳转。智能体侧若要串联采集、筛选、落库和通知,往往要反复拼工具调用,执行过程也不易回放。

RelayDeck 把整条链路收成可保存、可调度、可重放的 Flow(source → filters → actions),并在 DSH 侧边栏提供观测型面板;后端自包含在插件内,不额外拉 Python 或独立运行时。下面介绍它的定位、已核实能力、安装方式与典型用法。

这是什么

  • 名称:RelayDeck(插件包名 dsh-relaydeck,面板标签 RelayDeck,入口 id dsh-relaydeck)
  • 维护者:JasonChenccc
  • 分类:工作流(社区目录归类)
  • 一句话:DSH 原生的内容中继工作台——声明一条流,完成采集、收窄、存储与下游动作;每次执行有追踪,可回放。
  • 仓库与目录:GitHub、SkillHub 目录页

截至资料记载 2026-11-09,README 标明 Phase 0–Phase 7 阶段性工作已完成并通过自测(细节见仓库 AGENTS.md)。

核心模型与功能

Flow 而不是功能页

一条 Flow 用一句话描述,例如:「取露营相关、点赞 1000+ 的热门视频,下载并进入发布准备」。结构上是一段 JSON:source、filters[]、actions[],对应可保存、可调度、可重放的实体。

面板定位是 观测面(看什么在跑、产出了什么、在哪一步失败),而不是把所有操作都堆在控件上。

概念表

概念 含义
Capability 某平台、某阶段的一种能力:source / filter / action
Flow source → filters[] → actions[]
Run 一次 Flow 执行
RunStep Run 内某一阶段的输入、输出、详情与错误
Artifact Run 产出并存储的内容项
Binding 平台凭证 / 登录状态(不存密码)

新平台通过 注册 Capability 接入;已有 Flow 可直接引用,无需为新平台单独加页面或改 schema。

已核实能力(README 进度表)

能力 状态
12 个板块原生界面(真实数据) 已完成
抖音:登录、作品提取、监控闭环、账号统计 已完成
链接下载(粘贴链接直下) 已完成
通知(Webhook / 钉钉 / 飞书) 已完成
发布准备(上传素材 + 自动填标题正文,人工点发布) 已完成
评论 / 弹幕采集 机制就绪,未在非空数据上验证
自动评论 仅准备回复,不自动发送
风控汇总 / CSV 导出 已完成
6 项回归 全绿

尚未实现:抖音以外平台(小红书、快手、视频号、TikTok 等)采集仅返回 unsupported。

典型中继链

<platform>.search → core.stat / core.contains / core.limit / core.dedupe
                → core.store → core.download
                → core.publishPlan → <platform>.prepareDraft

prepareDraft 停在平台创作者界面填好字段、挂好素材,不代为点击发布,留给人工审核后提交。

面板视图

看板、流程、运行、素材库、账号、能力、开发调试、关于——分别对应后端健康与统计、Flow 管理、逐步追踪、Artifacts、扫码登录与 Binding、Capability 注册表、开发重载 helper、版本与声明等。

架构要点

插件在 DSH 内挂载自有 Node 后端(默认 127.0.0.1:18731),存储用内置 node:sqlite,HTTP 用 node:http。平台访问通过 CDP 驱动真实浏览器,由页面自身签名请求,插件不复刻各平台签名算法。面板经同源路由 /dsh-relaydeck/proxy 访问后端,不直连 loopback 端口。生命周期由 DSH ctx.subprocess 拉起,卸载插件时回收子进程。

要求:DSH 自带 Node ≥ 22(后端使用 node:sqlite);Windows / macOS / Linux;包体约 111 KB,无 Python。

安装与启用

RelayDeck 是 DSH 的插件包,不是独立应用。先在有 DSH 的环境里安装到指定 profile:

dsh plugin --profile <your-profile> add https://github.com/JasonChenccc/dsh-relaydeck/releases/download/v0.1.1/dsh-relaydeck-0.1.1.tgz

dsh plugin add 在 profile 不存在时会创建,并把插件写入该 profile 的 dsh.profile.bundles,无需手改配置。重启 DSH 后,侧边栏出现 RelayDeck 入口。

确认插件层已挂载:

dsh --profile <your-profile> --dump-config | findstr "# == dsh-relaydeck"

说明:--profile desktop 由 Electron 应用独占,会拒绝 --dump-config;CLI 检查请换用其他 profile 名。

安装时 pnpm 可能对 @deepseek-ai/cordis、dsh-tools、schemastery 报 unresolved peer——属预期,由 DSH 运行时解析。也可用本地下载的 .tgz 路径安装,但 profile 会记录绝对 file: 路径,资料建议优先用上述 release URL。

当前包版本 0.1.1,许可证 MIT(见 package.json)。

配置项

在 profile 中插件 id 为 dsh-relaydeck,常见字段如下:

- id: dsh-relaydeck
  config:
    port: 18731              # loopback 后端端口
    dataDir: ""              # 默认 ~/.relaydeck
    autostart: true          # 随插件启动后端
    startTimeoutMs: 30000
    requestTimeoutMs: 30000
    devMode: false           # 开启 /dsh-relaydeck/dev/* 路由
    allowHostRestart: false

通过 link 方式加载开发包时,devMode 会自动打开。

典型用法

1. 用 spec 表达一条 Flow

资料中的结构示例(字段含义:来源 → 按点赞筛选 → 存储并通知):

{
  "source":  { "capability": "core.manual", "params": { "items": [ ] } },
  "filters": [ { "capability": "core.stat", "params": { "field": "like_count", "op": ">=", "value": 1000 } } ],
  "actions": [ { "capability": "core.store" }, { "capability": "notify", "params": { "message": "done" } } ]
}

在面板「流程」中创建、运行;在「运行」里点进单次 Run 查看逐步 RunStep。

2. 账号与抖音链路

在「账号」用各平台二维码登录,形成 Binding。抖音侧可按 README 已测能力做作品提取、监控闭环与统计;下载可走链接直下或 Flow 中的 core.download;发布准备走 core.publishPlan 与 prepareDraft,最后人工确认发布。

3. 智能体工具(relaydeck_*)

只读:relaydeck_ping、relaydeck_config_get、relaydeck_status、relaydeck_capabilities、relaydeck_flow_list、relaydeck_run_list、relaydeck_run_get、relaydeck_artifact_list、relaydeck_binding_list、relaydeck_platform_list、relaydeck_login_list。

写入:relaydeck_start、relaydeck_stop、relaydeck_flow_create、relaydeck_flow_run、relaydeck_flow_delete、relaydeck_run_retry、relaydeck_login_start、relaydeck_login_status、relaydeck_plan_review。

适合让 Agent 在 DSH 会话里查询状态、触发 Flow 或登录流程,与面板观测互补。

适用场景与注意

适合:已在用 DSH、希望把「搜 / 筛 / 存 / 下 / 通知 / 发布准备」收成可追溯 Flow 的开发者或小团队;当前主力场景是 抖音,并需要 Webhook / 钉钉 / 飞书通知与 CSV 导出。

注意:

  1. 插件以后端子进程和(按需)浏览器自动化运行,权限与当前 DSH 进程 一致;安装前宜阅读源码、LICENSE 与 README 免责声明。
  2. 非抖音平台采集在现有版本中明确未实现,勿假设小红书、快手等可用。
  3. 自动评论 deliberately 只准备文案、不发送,属于风险限制。
  4. 社区目录 SkillHub 为独立生态站点,与 DeepSeek / 幻方无官方从属关系;DSH 生态理念是「一切皆插件」,RelayDeck 是其中一员。

结尾

RelayDeck 把内容自动化从分散的功能页,收敛为可声明、可重放的 Flow,并在 DSH 内自带轻量后端与观测面板。若你要在 Harness 里做抖音侧采集、监控、下载与发布准备,可按 release v0.1.1 安装验证。

  • 目录页:https://www.skillhub.cn/plugins/JasonChenccc/dsh-relaydeck
  • GitHub:https://github.com/JasonChenccc/dsh-relaydeck
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜