better-LVGL-for-dsh
English | 中文
让 DeepSeek Harness(dsh)懂 LVGL 8.4 的知识技能包插件。
它以 Cordis 插件形式向 ctx.skills 注册一套离线 LVGL 8.4 技能库:代理在遇到 LVGL 相关任务时按需加载对应技能,写出正确的 v8 API 代码,并规避训练数据里大量 v9 API 造成的混用问题。
- 插件形态:dsh bundle(
package.json里的dsh.bundle声明 +cordis.patch.yml) - 能力链路:Cordis 插件 →
ctx.skills注册运行时技能 → 内置dsh-tool-skill→ 模型可见的技能目录与skill加载工具 - 技能格式:Agent Skills 标准(
SKILL.md+ YAML frontmatter),纯 ESM、零依赖、无构建步骤
技能列表
| 技能 | 覆盖场景 |
|---|---|
lvgl84 | 总入口与路由器:v8/v9 版本锚点、技能地图、最小骨架 |
lvgl84-core | 对象模型、屏幕管理、创建/删除、坐标对齐尺寸、标志位、滚动 |
lvgl84-widgets | 全部 30+ 内置控件速查:创建函数与专有 API |
lvgl84-style | 样式系统:共享/局部样式、part/state 选择器、主题、过渡动画 |
lvgl84-event | 事件码全表、user_data、冒泡、按键/编码器组、lv_msg |
lvgl84-layout | Flex / Grid 布局完整用法与 CSS 对照 |
lvgl84-porting | lv_conf.h、显示/输入驱动、tick、双缓冲 DMA、线程安全 |
lvgl84-pitfalls | 花屏/卡死/内存/点击无响应/中文字体等故障排查对照表 |
lvgl84-migration | v7→v8.4 迁移:控件改名、样式/事件/驱动重写对照 |
安装
# 从 GitHub 安装
dsh plugin --profile web add github:sa998aaron/better-LVGL-for-dsh
# 或从本地克隆目录安装(推荐先这样验证)
dsh plugin --profile web add <本仓库绝对路径>安装后重启(或重载)对应 profile,在任意会话中问 LVGL 问题即可。模型会自动在技能目录中看到 lvgl84-* 并按需加载;也可以显式 /lvgl84-style 之类的手势直接调用。
验证
装好后问一句:
> 用 LVGL 8.4 写一个带标题栏和三个按钮的界面
如果生成的代码使用 lv_obj_create、lv_obj_set_flex_flow、lv_obj_add_event_cb 而不是 v9 的 lv_display_create,插件就生效了。
结构
better-LVGL-for-dsh/
├── package.json # dsh.bundle 声明
├── cordis.patch.yml # Cordis 组合补丁行
├── index.js # 插件入口:扫描 skills/ 并注册到 ctx.skills
└── skills/<name>/SKILL.md扩展自己的技能
在 skills/ 下新建 <kebab-case-name>/SKILL.md,写 frontmatter:
---
name: my-skill
description: 一句话说明它是什么、什么时候用。
whenToUse: 可选的触发场景描述
---
正文(Markdown)……重载插件即生效(运行时会重新扫描目录)。
License
[MIT](LICENSE)