Skip to content

feat: Doraemon Skills kit — dt-skill CLI, registry API, and marketplace UISkills kit support#86

Open
TreeTreeDi wants to merge 13 commits into
DTStack:masterfrom
TreeTreeDi:skills-kit-support
Open

feat: Doraemon Skills kit — dt-skill CLI, registry API, and marketplace UISkills kit support#86
TreeTreeDi wants to merge 13 commits into
DTStack:masterfrom
TreeTreeDi:skills-kit-support

Conversation

@TreeTreeDi

Copy link
Copy Markdown
Contributor

提交的变更类型是

  • 添加新功能
  • 修复 bug
  • 代码重构
  • 增加单元测试
  • 增加依赖库/工具

相关链接

(无外部 issue 链接)

需求描述和解决方案

描述

为 Doraemon Skills 市场补齐端到端工具链:服务端 ClawHub 兼容 API、前端技能详情/列表体验、以及独立的 dt-skill CLI。同时统一 skill fingerprint 规则,并移除已无登录入口的 Registry 鉴权残留。

解决方案

服务端(Egg.js)

  • 扩展 clawhub / skills 服务:搜索、安装、发布、指纹解析、composite list cursor 等 /api/v1/* 能力
  • 新增 skillsStorageReady 中间件,在 /api/v1/* 路由层统一 ensureStorageReady,避免各 handler 重复调用
  • 引入 contracts/skill-fingerprint/ 作为 CLI 与服务端共享的 fingerprint 契约(扩展名白名单 + golden vectors)

CLI(dt-skill/

  • 新增独立 npm 包:install / search / publish / sync / inspect / package 浏览与 pack 等命令
  • Registry 请求统一为无 token 的 HTTP client;删除 login/whoami、authToken、browserAuth、deviceAuth 及依赖鉴权的 moderation/transfer/publisher 命令
  • fingerprint 通过 skillFingerprintContract 适配层复用主仓契约

前端

  • 重构 SkillDetailContent 为 shell + 子组件(文件树、文档区、安装面板、Hero)
  • Skill 卡片与详情页样式调整

测试

  • 主仓:clawhub-contractclawhub-integrationskill-fingerprint-contractskills-storage-ready-middleware
  • dt-skill:Vitest 单元测试 + built CLI artifact 测试

变更规模: 8 commits,master...skills-kit-support,117 files(+46k / −1.4k lines)

自查清单

  • 代码遵循这个项目的风格指南
  • 对代码进行了自我审查
  • 已经在难以理解的代码处做了相关注释
  • 更改不会产生新的警告
  • 任何依赖更改都已合并并发布在下游模块中

Test plan

  • node --test test/clawhub-contract.test.js test/clawhub-integration.test.js test/skill-fingerprint-contract.test.js test/skills-storage-ready-middleware.test.js
  • cd dt-skill && npm run build && npm run test:src
  • npm run check-types(前端 TypeScript)
  • 手动:npm run dev 打开技能详情页,验证安装/文件浏览/子 skill 展示
  • 手动:dt-skill search / install / publish 指向本地 registry(--registry http://127.0.0.1:7001

huaiju and others added 13 commits June 17, 2026 17:16
Drop unimplemented OpenClaw package commands, bulk sync workflow, and
clawdbot workspace discovery so the CLI focuses on core skill operations.

Co-authored-by: Cursor <cursoragent@cursor.com>
Align registry discovery, env vars, and local state with dt-skill naming
and rename backend clawhub modules to skillsRegistry.

Co-authored-by: Cursor <cursoragent@cursor.com>
Revert accidental version bump, rename SkillCard styles to style.scss,
and remove internal plan artifact.

Co-authored-by: Cursor <cursoragent@cursor.com>
prettier 2.7.1 cannot parse the satisfies operator, which broke the
prettier CI step and silently masked downstream lint/typecheck/build
failures. Replace satisfies with an explicit Promise<FetchedGitHubSource>
return type, then format the rest of the repo to match the configured
prettier rules.
With the prettier step finally green, eslint, stylelint, and the rest
of the CI pipeline ran for the first time on this branch and surfaced
pre-existing failures. Address them so the pipeline can be green
end-to-end:

- eslint --fix to apply autofixable rules across the repo
- stylelint --fix to normalize hex casing in scss
- ignore dt-skill/dist/ from eslint (build artifacts)
- drop unused imports/vars and a redundant try/catch
- rename Promise constructor params to (resolve, reject)
- silence no-throw-literal where the test deliberately throws a non-Error
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant