DeepSeek Harness Hub
← 返回列表

9Ashwin/stream-it

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
未验证

把一整套研发工作流装进你的编码 Agent:需求 → 设计 → 拆解 → 并行实现 → 审查 → 交付。

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/9/15 · 已提供中文文档

一套面向编码代理的从PRD到交付的开发工作流技能集。

综合分
29.8
GitHub 分
29.8
用户评分
★ Stars
0
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add 9Ashwin/stream-it
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

[简体中文]
[English]

stream-it
把一整套研发工作流装进你的编码 Agent:需求 → 设计 → 拆解 → 并行实现 → 审查 → 交付。
技能只负责判断,排序与检查点交给带测试的脚本;实现交给各自隔离在 git worktree 里的子代理。

在线文档 ·
安装 ·
技能 ·
工作流 ·
项目状态

stream-it 是什么

stream-it 是一套研发工作流技能集:26 个技能,把「想法 → 交付」拆成标准步骤——需求、设计、拆解、实现、审查、交付——每一步由一个技能负责。你说想做什么,剩下的交给 Agent:澄清问题、写 PRD、拆成有阻塞关系的 Issue、在隔离的工作树里并行实现、审查、开 PR、合入。

实现节点是子代理,每个节点一个独立 git worktree,职责到「实现 → 跑通项目门禁自证 → commit 到自己分支」为止。泄漏检查、集成、集成后的门禁、评审、交付收成一件事,按波次各做一次:一个 PR 关闭这一波满足的全部 Issue。

排序、分层、环检测、检查点读写这些算术,都在技能自带的 Python 脚本里(纯标准库、带自测)。技能本体只写判断规则——脚本管算术,技能管判断。

快速开始

方式一:作为技能目录安装(推荐)

npx skills add 9Ashwin/stream-it       # 安装到全局(~/.agents/skills)
npx skills update -g                    # 之后按来源更新

技能会落到 ~/.agents/skills,这条装法不必动任何 profile 依赖。

npx skills 递归扫描、安装时把 skills// 拍平成 ~/.agents/skills/——技能根只扫一层,所以必须拍平。手动拷贝时要自己完成这一步:

cp -R /skills/flow/graph ~/.agents/skills/graph   # 拍平,不要连桶一起拷

Codex 也会发现 ~/.agents/skills,所以这条路径同样可用;想按 Codex 原生的四个插件分组安装时用方式二。

方式二:作为 Codex 插件安装

codex plugin marketplace add 9Ashwin/stream-it
codex plugin add stream-it-flow --marketplace stream-it
codex plugin add stream-it-practice --marketplace stream-it
codex plugin add stream-it-meta --marketplace stream-it
codex plugin add stream-it-bonus --marketplace stream-it

四个插件分别对应 flow / practice / meta / bonus 四个桶,按需单独安装即可。仓库里的 .claude-plugin/marketplace.json 和每个桶的 .claude-plugin/plugin.json 同时是 Codex 使用的插件清单,不需要额外维护 .codex-plugin 副本。安装后在 Codex 里用 $graph、$loop-it 这样显式调用技能,而不是 /graph、/loop-it。

方式三:作为 DSH bundle 安装(可选)

还可以作为部署层配置安装(随包携带 preset、toolFilter、persona,可锁定 commit)——安装命令与参数说明见文档站:。

[!TIP]
不记得该用哪个技能?Claude Code / DSH 里直接敲 /ask-flow,Codex 里敲 $ask-flow——它给出下一步该敲什么,以及那一步里哪些决定得你来拍。

完整使用指南(安装、每一步怎么触发、验收标准、FAQ)在 ,会自动按浏览器语言跳转到中文或英文版;仓库内是 docs/index_cn.html 与 docs/index_en.html。

它是怎么跑起来的

三个阶段,作用域互不重叠:

| 作用域 | 做什么 | 不做什么 |
| --- | --- | --- |
| 节点 | 在自己的 worktree 里实现、用项目门禁自证、只 commit 到自己的分支 | 不 push、不开 PR、不合并、不自审 |
| 波次 | 泄漏检查 → 只合并已完成的节点 → 在集成后的树上跑门禁 → 评审一次(逐节点分节,重点看节点之间的结合部)→ 走查一次(改了什么、跑了什么、证明了什么,产出 PR body 与合并清单)→ 交付一次(一个 PR,带逐项证据表) | 不做节点级 PR;不做节点级走查 |
| 批次 | /loop-it 的串行路径同理:一次一个 Issue 内联实现并 commit,批末统一评审、走查与交付 | — |

几个刻意设计的地方:

- /graph 只在真有并行度时用。 一个单元、两个共享文件的单元、或「schema → API → UI」这种链式工作,交给 /loop-it 或直接内联做——/graph 的价值全部来自波内节点的真独立。
- 单节点波不建波分支。 没有可集成的东西,就直接拿该节点分支评审与交付。
- 失败节点先原地重试。 用一条追加消息复用该节点自己的上下文,而不是重开一个全新子代理;重试仍失败就重跑、再失败则从波分支剔除——它的兄弟节点本来就相互独立,其余照常交付。
- 一批多 Issue 共用一个 PR 时必须逐项列证据:commit、关闭的 Issue、证明它的测试名、人工验收状态。squash 之后那些 commit 在 main 上就看不见了,没有这张表就无法单独回滚或审计。

为什么是 stream-it

- 按波次算成本,而不是按节点。 每个子代理都要为它的整个生命周期付父级的 system prompt、工具 schema 与技能目录;一个节点一次 /review-it + /ship-it 意味着 N 个 PR、N 次 CI、N 次卡在合并冲突上的机会。所以节点止于 commit,评审与交付收在波次上。
- 算术下沉到脚本。 依赖排序、波次分层、scope 冲突串行化、检查点状态机都在 scripts/ 里,每个都带自测;技能写的是「什么时候用、边界在哪」,不是算法复述。
- 为真实约束设计,而不是理想模型。 子代理没有自己的 cwd、每次 shell 都是新 shell、委派深度有上限、技能目录对每个子代理都收费——这些在技能里都落成了硬约束(绝对路径纪律 + 共享检出泄漏检查、节点不得再派子代理、可选的节点瘦身补丁)。

技能

下表用技能短名;Claude Code / DSH 的前缀是 /,Codex 的前缀是 $(例如 $ask-flow、$graph)。

不知道该用哪个?先调用 ask-flow —— 它只回答下一步该敲什么,不替你动手。

| 阶段 | 技能 | 做什么 |
| --- | --- | --- |
| 入口 | /ask-flow | 不知道该用哪个技能、这套流程该怎么走时问它(只路由,不替你动手) |
| 需求与设计 | /prd · /prd-to-spec · /to-design · /design-it | 需求文档 → 技术 SPEC → Go 风格设计提案 → 固定风格的 HTML 设计文档 |
| 拆解与分诊 | /to-issues · /triage | 把自己的 PRD/SPEC 拆成垂直切片 · 把外面进来的原始 issue 分流成可执行卡片 |
| 实现 | /implement · /test-first · /graph · /loop-it | 单个单元内联做完 · 红-绿写测试 · DAG 波次并行(每节点独立 worktree)· issue 依赖序串行(检查点可恢复) |
| 排障 | /diagnose · /conflict | 先拿到一条会变红的命令再推理的排查循环 · 逐 hunk 按意图解 merge/rebase 冲突 |
| 审查与交付 | /review-it · /walkthrough · /ship-it · /note-it | 双轴评审(Spec + 8 维度标准)· 合并前交出「改了什么 + 什么被验证过」的走查件 · 提交/PR/合入/关闭 Issue · 为 Issue 留实现笔记 |
| 代码质量 | /smell · /refactor · /modern-go | 架构坏味道与复杂度热点 · Fowler 重构目录 · Go 1.0→1.27+ 现代化 |
| 逆向与文档 | /code-to-spec · /understand · /insight-diagram | 从代码逆向出 SPEC · 把本次改动变成可交互审阅网页 · UML/架构图 |
| 内容 | /humanize-it · /article-icons · /listenhub-tts | 去 AI 味改写 · 文章配图 · 文本转语音 |

标了 disable-model-invocation 的 5 个技能(ask-flow · insight-diagram · 最后一行三个内容工具)不进模型目录:模型不会主动挑它们,你直接调用就行——省下的是每个会话和每个子代理都要付的那份固定成本。当前 26 个技能、目录总量 5077 字符,模型实际看到 3806 字符。这 5 个技能还各带一份 agents/openai.yaml(policy.allow_implicit_invocation: false)。

/goal 是宿主的命令(不是技能):DSH 与当前 Codex 都由人类在命令行创建一个带自动续跑轮次的持久目标。模型侧是 create_goal / update_goal,但 create_goal 只应在用户明确要求时使用——子代理和编排中途不能自行铸造长期目标。

仓库结构

skills/
├── flow/       # PRD → 交付这条链上的一环,按顺序跑(10 个)
├── practice/   # 流程中途随时单独触发的工程实践(7 个)
├── meta/       # 关于这套技能集本身:路由(1 个)
└── bonus/      # 产出非代码工件:设计文档、图表、规格逆向、内容(8 个)

判据是「它在这条链上扮演什么角色」:flow 是流水线本身;practice 是你在中途因为「出事了 / 要保证质量」伸手拿的(测试方法、排障、冲突、外部分诊、质量巡检);meta 是描述整套技能集自身的(/ask-flow 这个路由);bonus 产生的是非代码工件。

DSH 的技能根只扫一层(//SKILL.md),所以 cordis.patch.yml 把四个桶各列为一个 root,而不是指向 skills/。npx skills add 是递归扫描、安装时拍平,无论走哪条安装路径,得到的技能集完全相同。scripts/check_skills.py 守着两个静默失败面:技能被放回顶层(四个 root 都覆盖不到它),以及某个桶漏进 patch(那一桶会整体消失,且不报错)。

项目状态

License Last Commit Commit Activity Issues Pull Requests

社区与反馈

- 🌐 在线文档 — 中文 / English 使用指南
- 🐛 Issues — 报错、需求、技能改进建议

许可

MIT,全文见 LICENSE。

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

同作者(9Ashwin)的其他插件

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群