← 返回列表
未验证
把扁平技能编译成可执行因果图并自动修复
尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/9/1 · 已提供中文文档
综合分
29.2
GitHub 分
29.2
用户评分
—
★ Stars
1
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add luyu020816-droid/skill-dag该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
skill-dag · 面向 DeepSeek Harness 的 GraSP 技能 DAG 编译器
把扁平技能编译成类型化可执行 DAG(state/data/order 三类因果边),带节点验证、有界局部修复、记忆条件化检索与置信度路由——DSH 真实 LLM 驱动,零手工标注。
npm
license
stars
首个开源的 GraSP(Tencent 2026)复刻实现,以 DeepSeek Harness 插件 + 零依赖 npm 核心包两种形态交付。
一图流
你在聊天里说一句任务,AI 提取任务 → 联合推断技能谓词(共享词汇表)→ 目标复用 effect → goal-aware 提议 → 编译出图:
src ──→ brainstorming ──→ snk
│ (eff: design_defined, ready(...))
└───→ tdd ──────────→ snk
(eff: failing_test_written, test_passing)
PLAN: [brainstorming → tdd]
(SVG 可拖拽;节点悬停显示 args/pre/eff 详情)
为什么值得 star
| 亮点 | 说明 |
|---|---|
| 首个 GraSP 开源实现 | 论文无官方代码;本仓库精确复现其架构与数字(c_ret 0.4831→0.9009→0.3248、InsertPrereq 有界修复) |
| 零标注桥 | 联合推断让散文技能共享一套谓词词汇表——任何人的技能库无需写 grasp: frontmatter,直接可编译 |
| 真集成 | 接 DSH 真实 LLM(llm.stream)+ 真实技能库(会话+工作区,scope+cwd)+ 工具/槽位/内联 SVG |
| 双形态交付 | ① DSH 插件(市场可装)② skill-dag 零依赖 npm 包(别的 harness 可复用) |
| 可复现 | 18 项回归断言全过,npm test 一键跑 |
快速开始
作为 DSH 插件(聊天即用)
dsh plugin --profile web add skill-dag-dsh # 或从 dsh-market 安装
然后直接在对话里说:"brainstorm a new feature design then write tests for it" —— DAG 以 SVG 直接渲染在工具卡片里。
作为 npm 核心包
npm install skill-dag
const { createGraspCore, memoryStore, manifestSource, createProposer } = require('skill-dag')
// 见 skill-dag/README.md 的完整示例
架构
┌─────────────────────────────────────────┐
│ Layer 3 Client — SVG DAG 可视化(可拖拽) │
└──────────────┬──────────────────────────┘
│ host.call JSON RPC
┌──────────────▼──────────────────────────┐
│ Layer 2 Adapter — ctx.skills/llm/ │
│ storage → SkillSource/Proposer/│
│ Store 接口(换 harness 只改这层) │
└──────────────┬──────────────────────────┘
│ 依赖注入
┌──────────────▼──────────────────────────┐
│ Layer 1 skill-dag 核心(零 harness 依赖) │
│ 绑定→过滤→推边→解环→四约束→拓扑→布局 │
│ 验证(strict/soft) + 5算子本地修复 │
└─────────────────────────────────────────┘
仓库结构
├── skill-dag/ # 零依赖核心 npm 包(createGraspCore + adapters)
│ ├── index.js # 核心引擎
│ ├── index.d.ts # TypeScript 声明
│ └── test/verify.js # 18 项回归断言(npm test)
├── plugins/skill-dag-dsh/ # DSH 插件 bundle(cordis.patch.yml + client + screenshots)
│ └── … # 见 plugins/skill-dag-dsh/README.md
├── docs/ # demo 截图 + awesome-dsh-plugin 条目 + 推广草稿
├── grasp-spec.md # 完整复刻规格(自包含,可独立复刻)
└── LICENSE # MIT
论文对齐
GraSP 四阶段全部实现:记忆条件化检索(Eq.1/2 + 校准置信度)→ DAG 编译(typed edges + 解环 + 目标完备)→ 验证执行(strict/soft 双档)→ 置信度路由(低置信回退 ReAct)。超参数对齐 Appendix C.1;置信度权重 w/b 为自定经验值(论文未公开)。
诚实声明
- 本项目为 unofficial reproduction,未见官方代码(论文仅附录 F 提到 src/esg.py 孤立路径)。
- LLM 推断的谓词是符号性的,未绑定可观测状态;GraSP 形式化编译在手写一致谓词的技能库上价值最大(如 ALFWorld),散文技能 + LLM 推断是 best-effort。
- 检索用 token Jaccard 近似,非 embedding(扩展点:注入 similarity 函数)。
- DAG 假设无环;循环任务不在范围(论文 §6 自身边界)。
Roadmap
- [x] 核心引擎 + 验证 + 五算子修复 + 检索/路由
- [x] DSH 真实 LLM + 真实技能库(会话+工作区,scope+cwd)
- [x] 聊天内联 SVG + 可拖拽可视化
- [ ] 独立 npm 核心包发布(skill-dag ✓ 就绪)
- [ ] DSH 插件 bundle 发布(cordis.patch.yml + dsh.client)
- [ ] LangGraph / MCP adapter(复用同一核心)
- [ ] embedding 检索替换 tokenSim
- [ ] 复现论文一个消融结论(局部修复 vs 全局重规划恢复率)
License
MIT扫码进群