Back to home@nataliwhite20534-droid

dsh-4-role-workflow

4-agent workflow (PM + Browser + Programmer + DataEng) for complex DSH tasks. Real run in docs/run-example.md.

Stars
1
Language
JavaScript
Created
Sep 2, 2026
Updated
Sep 3, 2026

Introduction

# dsh-4-role-workflow

一个由"产品经理 + 浏览器使用者 + 编程专家 + 数据工程师"4 个角色协作的 AI Agent 工作流。

这是什么

在 DeepSeek Harness (DSH) 中, 一个用户需求往往需要多种能力协作(搜索 / 编程 / 数据提取 / 协调)。 这个工作流把任务拆给 4 个虚拟角色,让他们按 SOP 协作:

       用户需求
         ↓
   ┌──────────────┐
   │  PM (产品经理) │ ← 拆解任务、找工具、向用户请求协助、汇报进度
   └──────┬───────┘
          │
     ┌────┼────┐
     ↓    ↓    ↓
  Programmer  Browser  Data
  (工具准备)  (抓取)  (提取)
         │
         ↓
       报告

4 个角色的职责

🧑‍💼 PM (产品经理)

负责:

  • 解析用户需求,拆为 3 个子任务
  • 用 dsh-need-finder 找需要的工具
  • 协调 3 个角色
  • 失败时向用户请求协助
  • 最终向用户汇报

🌐 Browser User (浏览器使用者)

负责:

  • 用 Playwright / 真实 Chrome 进入特殊数据集
  • 应对反爬虫机制(登录、风控、验证)
  • 探索新数据源
  • 保存原始数据到 cache/

🛠 Programmer (编程专家)

负责:

  • 安装 DSH 插件(pnpm/npm)
  • 安装 Python 包(pip)
  • 编写脚本和工具
  • 集成第三方工具

📊 Data Engineer (数据工程师)

负责:

  • 解析原始数据(JSON / HTML / PDF)
  • 提取符合特征的字段
  • 清洗、转换、格式化
  • 输出结构化数据集

使用

1. PM 调度器(完整工作流)

node pm-dispatcher.mjs "Get 10 XHS posts about Zhuhai tutoring within 7 days"

输出:

{
  "request": "Get 10 XHS posts about Zhuhai tutoring within 7 days",
  "platform": "xiaohongshu",
  "dataType": "posts",
  "filters": {"days": 7, "limit": 10, "keyword": "Zhuhai"},
  "tools": ["playwright@1.48.0:ok", "xiaohongshu-cli:1"],
  "extractedCount": 0,
  "limitations": ["XHS needs web_session cookie on residential IP. ..."]
}

2. 独立使用:网页抓取

node quick-fetch.mjs https://www.baidu.com --save

3. 独立使用:数据提取

node extractor.mjs raw-data.json --days 7 --limit 10 --out extracted.json

4 角色工作流 SOP

阶段 0:需求接收(PM)

用户提出需求
   ↓
PM 用 dsh-need-finder 确认需要哪些插件/工具
   ↓
PM 把需求拆解为 3 个子任务
   ↓
PM 用 dsh-tech-lead 给每个任务分级

阶段 1:Browser User 行动

PM 派出任务:"用浏览器去 X 网站找 Y 数据"
   ↓
Browser User 评估反爬难度:
   - 简单:直接 dsh-scrape-webpage
   - 中等:dsh-web-search-pro 聚合搜索
   - 困难:Playwright 真实浏览器 + 反指纹
   ↓
抓取到原始数据 → 暂存到 cache/
   ↓
汇报:原始数据位置 + 抓取方法 + 遇到的限制

阶段 2:Programmer 介入

PM 评估:是否需要新工具?
   ↓
Programmer 决定:
   - 不需要:直接进入阶段 3
   - 需要 npm 工具:pnpm add <pkg>
   - 需要 Python 工具:pip install <pkg>
   - 需要自定义脚本:编写 Node/Python 脚本
   ↓
Programmer 用 dsh-recipe 打包场景

阶段 3:Data Engineer 提取

PM 派出任务:"从原始数据中提取符合 X 特征的数据"
   ↓
Data Engineer 设计提取规则
   ↓
用 Python/Pandas 提取 → 输出 CSV/JSONL
   ↓
存储到 dsh-knowledge-base 供检索

阶段 4:PM 反馈与协调

PM 整合 3 个角色的输出
   ↓
PM 向用户汇报:任务完成度 / 数据摘要 / 下一步建议
   ↓
PM 用 dsh-auto-memory 记录工作流经验

实战案例:小红书"桂林家教"研究

阶段角色动作产出
0PM接收需求"获取 XHS 桂林家教 10 条"拆为 3 个子任务
1Programmer评估工具xiaohongshu-cli + cn-scraper-mcp 已装
2Browser Userguided_login + search11 个 cookie + 4 关键词 20 条数据
3Data Engineer时间过滤 + 排序精选 10 条
4PM整合报告JSON + Markdown 表格

安装

npm install  # 安装 playwright 等依赖

依赖

  • Node.js >= 18
  • Playwright >= 1.48.0(npm install -g playwright@1.48.0)
  • DSH (DeepSeek Harness) >= v0.1.1
  • 可选:cn-scraper-mcp(用于社媒数据抓取)

设计哲学

  • 不重新造轮子:每个角色使用现成工具,不写新的协调器
  • 失败可恢复:每个阶段都有兜底(fallback)
  • 用户友好:需要用户协助时给清晰请求,不强行执行
  • 可观测:每个阶段有日志,可追溯

关联项目

许可证

MIT — 详见 LICENSE\n


🌏 DSH 生态成员

本项目是 DSH (DeepSeek Harness) 生态的一员,同系列还有:

  • 🎀 dsh-moe-plugin — 萌属性 Persona 系统(10 种预设卡片)
  • 📕 dsh-xhs-collector — 小红书批量抓取工具
  • 📓 dsh-china-research-notes — 中国平台反爬实战笔记

欢迎 Star / Fork / Issue!想参与开发?Fork 后提 PR 即可。

🔗 相关链接


🌏 DSH 生态成员

本项目是 DSH (DeepSeek Harness) 生态的一员,同系列还有:

  • 🎀 dsh-moe-plugin — 萌属性 Persona 系统(10 种预设卡片)
  • 📕 dsh-xhs-collector — 小红书批量抓取工具
  • 📓 dsh-china-research-notes — 中国平台反爬实战笔记

欢迎 Star / Fork / Issue!想参与开发?Fork 后提 PR 即可。

🔗 相关链接