🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

千川投流工作台 hkshiqi/dsh-qianchuan-workbench

DeepSeek Harness
hkshiqi22 天前有提交已提供中文文档扫描:含敏感能力

一屏查看账户计划素材数据,给出可执行投放建议

34.7/100
综合分
2
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/29 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

自动兼容检查有告警:未发布到 npm registry,仅可从源码安装。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add hkshiqi/dsh-qianchuan-workbench
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么
dsh 原生插件 · other
装得上吗
实装验证未通过(unknown),装前请到仓库确认最近更新与 issue
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 22 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
⚠︎ 实装验证未通过(unknown · 2026/10/29) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查⚠ 装前注意

未发布到 npm registry,仅可从源码安装

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包dsh-qianchuan-workbench(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖要求 >=0.2.0-rc.2 · 最新 0.2.1-rc.5 兼容
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/30 00:34:51

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件读取剪贴板或密钥环境变量发起外部网络请求
查看扫描证据(共 29 处,展示前 23 条)
  • 读取本地文件
    dsh/index.js:54
    if (!existsSync(stateFile)) return JSON.parse(JSON.stringify(defaultState))
  • 读取本地文件
    dsh/index.js:55
    return Object.assign(JSON.parse(JSON.stringify(defaultState)), JSON.parse(readFileSync(stateFile, 'utf8')))
  • 写入本地文件
    dsh/index.js:59
    try { mkdirSync(root, { recursive: true }); writeFileSync(stateFile, JSON.stringify(s, null, 2), 'utf8'); return null }
  • 写入本地文件
    dsh/index.js:59
    try { mkdirSync(root, { recursive: true }); writeFileSync(stateFile, JSON.stringify(s, null, 2), 'utf8'); return null }
  • 发起网络请求
    dsh/index.js:79
    const req = http.get({ host: '127.0.0.1', port, path: pathname, timeout: ms || 3000 }, (res) => {
  • 发起网络请求
    dsh/index.js:138
    const req = https.request({ host: PLATFORM, path: pathname, method: body === undefined ? 'GET' : 'POST', timeout: 25000, headers }, (res) => {
  • 读取本地文件
    dsh/index.js:188
    if (!existsSync(acc.dataRoot)) return { ok: false, error: '采集目录不存在:' + acc.dataRoot + '(请检查路径是否正确)' }
  • 读取本地文件
    dsh/index.js:191
    files = readdirSync(acc.dataRoot)
  • 读取本地文件
    dsh/index.js:194
    .filter((x) => existsSync(x.p))
  • 读取本地文件
    dsh/index.js:195
    .map((x) => ({ d: x.d, p: x.p, m: statSync(x.p).mtimeMs }))
  • 发起网络请求
    lib/client.js:989
    const res = await fetch(RPC + '/' + method, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(args || {}) })
  • 读取密钥环境变量
    dsh/collector.js:125
    const ONEKEY_ACTIONS_ENABLED = process.env.QC_ENABLE_ONEKEY_ACTIONS === "1";
  • 发起网络请求
    dsh/collector.js:464
    const r = await fetch(ep, { method: "POST", credentials: "include", headers: { "content-type": "application/json" }, body: JSON.stringify(b) });
  • 发起网络请求
    dsh/collector.js:544
    const r = await fetch(url, method === "GET"
  • 发起网络请求
    dsh/collector.js:1399
    const r = await fetch(p, { method: "GET", credentials: "include" });
  • 执行外部命令来自配置/变量
    dsh/collector.js:1753
    const t = spawnSync(cand, ['-X', 'utf8', '-c', 'print(1)'], { cwd: ROOT, windowsHide: true, encoding: 'utf8', timeout: 15000 });
  • 执行外部命令来自配置/变量
    dsh/collector.js:1761
    const r = spawnSync(PY, args, {
  • 执行外部命令来自配置/变量
    dsh/collector.js:1797
    const r = spawnSync(process.execPath, [
  • 执行外部命令来自配置/变量
    dsh/collector.js:1841
    const r = spawnSync(process.execPath, [
  • 执行外部命令来自配置/变量
    dsh/collector.js:1901
    const r = spawnSync(process.execPath, [
  • 执行外部命令来自配置/变量
    dsh/collector.js:1950
    const r = spawnSync(process.execPath, [
  • 发起网络请求
    dsh/platform.js:30
    const req = http.request({ host: '127.0.0.1', port, path: p, method: 'GET', timeout: 6000 }, (res) => {
  • 发起网络请求
    dsh/platform.js:100
    const req = https.request({ host: PLATFORM, path: pathname, method, timeout: 30000, headers }, (res) => {
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/dsh
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

千川投流工作台 · DSH 插件:账户/计划/素材/直播间数据看板 + 决策队列 + AI 操作建议

README

由 DeepSeek 最新模型翻译生成
v2.0.0 架构变更(2026-10-12):采集器与平台读写接口已内嵌进插件,不再依赖外部 qc_scripts 目录。 关键实测结论:千川接口不需要签名(a_bogus / msToken / X-Bogus 均 0 次),浏览器只负责提供登录 Cookie。 因此 2100+ 行采集逻辑用「Node 侧 page 垫片」原样搬入 dsh/collector.js,纯 HTTP 运行。 新增:上下级联动计划树(基础→追投/起量/调控,靠 primaryAID 关联)、素材级接口、计划调整(启停/预算/ROI,带三重确认闸)。 dsh-qianchuan-workbench · 千川投流工作台(内容模块) 本包不是框架,是跑在 dsh-workbench-console 工作台框架上的一块内容。 它把自己注册进框架的工作台列表,不单独占侧边栏席位。 给千川投流手的决策工作台——不是又一个报表,而是「现在该动哪条计划」。 装在 DeepSeek Harness 里的侧边栏工作台:账户 / 计划 / 素材 / 直播间数据一屏看完,并直接给出可执行的操作建议。
展开完整文档(README 剩余 1 节)
v2.0.0 架构变更(2026-10-12):采集器与平台读写接口已内嵌进插件,不再依赖外部 qc_scripts 目录。
关键实测结论:千川接口不需要签名(a_bogus / msToken / X-Bogus 均 0 次),浏览器只负责提供登录 Cookie。
因此 2100+ 行采集逻辑用「Node 侧 page 垫片」原样搬入 dsh/collector.js,纯 HTTP 运行。
新增:上下级联动计划树(基础→追投/起量/调控,靠 primaryAID 关联)、素材级接口、计划调整(启停/预算/ROI,带三重确认闸)。

dsh-qianchuan-workbench · 千川投流工作台(内容模块)

本包不是框架,是跑在 dsh-workbench-console 工作台框架上的一块内容。
它把自己注册进框架的工作台列表,不单独占侧边栏席位。

给千川投流手的决策工作台——不是又一个报表,而是「现在该动哪条计划」。

装在 DeepSeek Harness 里的侧边栏工作台:账户 / 计划 / 素材 / 直播间数据一屏看完,并直接给出可执行的操作建议。

安装

必须先装框架(本包依赖它提供的 workbenchConsole 服务):

dsh plugin --profile web add dsh-workbench-console
dsh plugin --profile web add dsh-qianchuan-workbench

装完重启 dsh web,侧边栏出现 📊 千川工作台。

你会得到

| 页签 | 内容 |
| 作战台 | 全账户消耗 / 净成交 / 净ROI vs 目标线、板块拆解、直播间实时 |
| 决策队列 | 按规则筛出「现在该动哪条计划」,每条带数据证据与推演 |
| 计划体检 | 计划级 ROI 排行,按消耗排序,异常置顶 |
| 直播间 | 在线人数、场观、观看→成交率、GPM、订单成本 |
| 素材 | 素材级消耗与 ROI 聚合 |
| 异常雷达 | 烧钱无转化、预算将尽、已达赔付线、数据过期 |
| AI 建议 | 逐条计划给出建议 + 理由 + 把握度 |
| 设置 | 填写你自己的账号(aavid / CDP 端口 / 采集目录) |

第一次使用

插件不预置任何账号数据。装好后进入工作台 → 设置 页签,填写:

- aavid —— 千川账户 ID(浏览器地址栏 aavid= 后面那串)
- CDP 端口 —— 你的浏览器分身调试端口(默认 9222)
- 采集目录 —— 本机已有的采集产物目录,可留空
- roomId / anchorId —— 直播间大屏需要,可留空

保存后即可看到数据。

数据从哪来

- 凭证:通过 CDP 连接你已登录的浏览器分身,只读 cookie,不打开页面、不抢焦点
- 数据(双源):
1. 本机采集产物(如 qc_data_cycle15_*/cycle_snapshot.json)—— 全量、已归一化
2. 平台实时接口(直播大屏)—— 秒级刷新
- 所有请求走纯 HTTP,不使用浏览器渲染

采集目录是可选的。留空时插件只用实时接口,仍可看到直播间数据与异常雷达。

决策队列的规则

| 动作 | 触发条件 |
| 建议关闭 | 消耗 > ¥30 且 净ROI < 目标,连续 2 轮命中 |
| 建议加预算 | 净ROI 达标且预算将尽 |
| 建议复制放量 | 净ROI 显著超标(≥1.5 倍目标) |
| 重点观察 | 有消耗但零成交 |

为什么要「连续 2 轮」:消耗是实时的、成交是滞后回传的,单轮瞬时净ROI 会在「消耗先到、成交后到」的窗口里虚假偏低。两轮确认避免误杀计划。

权限说明

- 读写:仅本机 CDP(127.0.0.1)与 qianchuan.jinritemai.com
- 落盘:仅自身数据目录 <DSH_HOME>/dsh-qianchuan-workbench/
- 不执行子进程、不删除文件、不发送遥测

数据文件

<DSH_HOME>/dsh-qianchuan-workbench/state.json —— 账号配置、阈值、待定命中、动作台账。

License

MIT
预览分享卡片长什么样 ↓hkshiqi/dsh-qianchuan-workbench
分享 · DeepSeek Harness Hub
hkshiqi/dsh-qianchuan-workbench

一屏查看账户计划素材数据,给出可执行投放建议

这是你的仓库?认领条目

回到顶部