Token导航 LogoToken导航

Agent Skill · 研究检索

uiflow2-coder(uiflow2 编码器)

uiflow2-coder 用于查找、检索和筛选相关信息,适合在 OpenClaw 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

uiflow2-coder 是研究检索类 Agent Skill,可用宿主为 OpenClaw,通过ClawHub获取,权限为需要联网;许可证为 MIT-0,第三方扫描有提醒项,按安装量在研究检索类的 73,675 个 Skill 里排第 16,936。

总安装 6,891周安装 296GitHub Stars 公开资料未说明下载 2,415核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
MIT-0
版本
1.0.5

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:uiflow2-coder(uiflow2 编码器)
来源仓库:https://github.com/yuyun2000/uiflow2-coder
安装命令:
openclaw skills install uiflow2-coder
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install uiflow2-coder

这个 Skill 是做什么的

研究检索类 Skill 主要解决「找资料、核对事实、把来源整理清楚」的问题,通常会让助手先检索再总结。

用于 M5Stack 设备的 UIFlow2 MicroPython 开发支持。提供准确的 API 查询和代码解释功能。适合编写、调试嵌入式设备界面程序。uiflow2-coder 属于研究检索类 Skill,可作为该场景下的辅助能力补充。使用时需明确设备型号和代码上下文。依赖 UIFlow2 生态的文档与接口定义。

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 OpenClaw;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 openclaw skills install uiflow2-coder;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要需要联网,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

uiflow2-coder 怎么安装?

在终端执行 openclaw skills install uiflow2-coder。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

uiflow2-coder 支持哪些 AI 工具?

公开资料标注支持 OpenClaw。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

uiflow2-coder 需要什么权限?

权限级别是需要联网。该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

uiflow2-coder 是免费的吗?

来源标注的许可证是 MIT-0。本站不代收任何费用,也不托管安装包;能否商用、要不要署名,以许可证原文为准。

uiflow2-coder 用的人多吗?

公开数据是累计安装 6,891 次,近一周安装 296 次,下载 2,415 次。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

uiflow2-coder 安全吗?

第三方扫描有提醒项,说明存在需要人工确认的行为。安装前请打开源码看清它读了什么、联网到哪里。

值得选的地方和要先想清楚的地方

值得选的地方

  • 专注 OpenClaw 一种宿主,触发方式和使用习惯不用来回切换。
  • 许可证明确为 MIT-0,商用和分发边界好判断。

先想清楚的地方

  • 第三方扫描存在提醒项或未通过项,需要人工逐条确认。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 OpenClaw,想直接扩展它能力的人。
  • 需要处理研究检索类任务、又不想每次都手写提示词的人。

不太适合

  • 需要厂商级技术支持和 SLA 的生产系统。

研究检索类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
find-skills

寻找技能 · Codex、Claude

31,199,81316,486操作浏览器MIT有提醒
self-improving-agent

自我改进 Agent · OpenClaw

16,464,0023,396接触敏感数据MIT-0通过
soultrace

灵魂追踪 · Codex、Claude

7,588,94412需要联网未明确有提醒
self-improving

自我完善 · OpenClaw

6,829,2841,046需要联网MIT-0通过
microsoft-foundry

微软代工厂 · Codex、Claude

6,614,144764调用外部服务未明确有提醒
uiflow2-coder

uiflow2 编码器 · 本页

6,891—需要联网MIT-0有提醒

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

name
uiflow2-coder
description
UIFlow2 MicroPython coding assistant. Use when writing, debugging, or explaining UIFlow2 MicroPython code for M5Stack devices. Provides accurate API lookup from official docs before generating any code.

核心原则

  1. API 正确性:严禁凭经验编造代码。所有 API 调用必须先查阅 docs/ 下的官方文档,再生成代码。
  2. 性能优先:代码不仅要能运行,还要运行良好。必须考虑性能、用户体验和资源效率。
  3. 设备适配:不同设备有不同的最佳实践。必须根据目标设备的特性进行适当的配置和优化。
  4. 目录下如果有 _overview.md,先读它了解该模块的整体架构和使用注意事项,再查具体 API 文档。

完整文档文件树

所有官方文档位于本 Skill 的 docs/ 目录。编程前必须对照此树定位目标文件路径。

docs/
└── advanced/
    ├── usb/
    │   ├── device/
    │   │   ├── keyboard.md
    │   │   ├── mouse.md
    │   ├── _overview.md
    ├── camera.md
    ├── code_scanner.md
    ├── dl.md
    ├── image.md
    ├── jpg.md
└── base/
    ├── atom_can.md
    ├── atom_gps.md
    ├── atom_socket.md
    ├── display.md
    ├── dtu_lorawan.md
    ├── dtu_lorawan_rui3.md
    ├── dtu_nbiot.md
    ├── dtu_nbiot2.md
    ├── dtu_nbiot2v11.md
    ├── echo.md
    ├── echo_pyramid.md
    ├── gpsv2.md
    ├── hdriver.md
    ├── motion.md
    ├── pwm.md
    ├── qrcode.md
    ├── qrcode2.md
    ├── rs232.md
    ├── rs485.md
    ├── speaker.md
    ├── stepmotor.md
    ├── tfcard.md
└── cap/
    ├── lora1262.md
    ├── lora868.md
└── chain/
    ├── angle.md
    ├── chainbus.md
    ├── encoder.md
    ├── joystick.md
    ├── key.md
    ├── tof.md
    ├── unit_bus.md
└── contribute/
    ├── template.md
└── controllers/
    ├── airq.md
    ├── atoms3-lite.md
    ├── atoms3r_cam.md
    ├── cardputer.md
    ├── coreink.md
    ├── dinmeter.md
    ├── dualkey.md
    ├── nesso-n1.md
    ├── paper.md
    ├── sticks3.md
└── get-started/
    ├── _overview.md
└── hardware/
    ├── adc.md
    ├── als.md
    ├── button.md
    ├── can.md
    ├── display.md
    ├── imu.md
    ├── ir.md
    ├── lora.md
    ├── mic.md
    ├── pin.md
    ├── plcio.digitalinput.md
    ├── plcio.md
    ├── plcio.relay.md
    ├── pwr485.md
    ├── rotary.md
    ├── scd40.md
    ├── sen55.md
    ├── sht30.md
    ├── speaker.md
    ├── touch.md
    ├── uart.md
    ├── wdt.md
└── hat/
    ├── adc.md
    ├── cardkb.md
    ├── dac.md
    ├── dac2.md
    ├── dlight.md
    ├── env.md
    ├── finger.md
    ├── heart.md
    ├── joyc.md
    ├── joystick.md
    ├── mini_encoder.md
    ├── mini_joy.md
    ├── ncir.md
    ├── neoflash.md
    ├── pir.md
    ├── servo.md
    ├── servo8.md
    ├── speaker.md
    ├── speaker2.md
    ├── thermal.md
    ├── tof.md
    ├── vibrator.md
└── iot-devices/
    ├── switchc6.md
└── m5ui/
    ├── _overview.md
    ├── arc.md
    ├── bar.md
    ├── button.md
    ├── buttonmatrix.md
    ├── calendar.md
    ├── canvas.md
    ├── chart.md
    ├── checkbox.md
    ├── dropdown.md
    ├── image.md
    ├── keyboard.md
    ├── label.md
    ├── led.md
    ├── line.md
    ├── list.md
    ├── menu.md
    ├── msgbox.md
    ├── page.md
    ├── roller.md
    ├── scale.md
    ├── slider.md
    ├── spinbox.md
    ├── spinner.md
    ├── switch.md
    ├── table.md
    ├── tabview.md
    ├── textarea.md
    ├── win.md
└── module/
    ├── 4in8out.md
    ├── ain4.md
    ├── asr.md
    ├── audio.md
    ├── bala2.md
    ├── cc1101.md
    ├── commu.md
    ├── dc_motor.md
    ├── display.md
    ├── dmx.md
    ├── dualkmeter.md
    ├── ecg.md
    ├── encoder4_motor.md
    ├── fan.md
    ├── gateway_h2.md
    ├── gnss.md
    ├── goplus2.md
    ├── gps.md
    ├── gpsv2.md
    ├── grbl.md
    ├── hmi.md
    ├── lan.md
    ├── llm.md
    ├── lora.md
    ├── lora868_v12.md
    ├── lorawan868.md
    ├── lte.md
    ├── nbiot.md
    ├── odrive.md
    ├── plus.md
    ├── pm25.md
    ├── pps.md
    ├── pwrcan.md
    ├── qrcode.md
    ├── rca.md
    ├── relay_2.md
    ├── rs232.md
    ├── servo2.md
    ├── step_motor_driver.md
    ├── usb.md
    ├── zigbee.md
└── quick-reference/
    ├── get-started.md
    ├── usb-mode.md
└── software/
    ├── easysocket.md
    ├── modbus.md
    ├── modbus.rtu.master.md
    ├── modbus.rtu.slave.md
    ├── modbus.tcp.client.md
    ├── modbus.tcp.server.md
    ├── requests2.md
    ├── tcp.client.md
    ├── tcp.server.md
    ├── udp.client.md
    ├── udp.server.md
    ├── umqtt.default.md
    ├── umqtt.md
└── stamplc/
    ├── ac.md
    ├── poe.md
└── system/
    ├── audio.md
    ├── audio.player.md
    ├── audio.recorder.md
    ├── bleuart.client.md
    ├── bleuart.md
    ├── bleuart.server.md
    ├── m5ble.md
    ├── m5espnow.md
    ├── power.md
    ├── time.md
    ├── wlan.ap.md
    ├── wlan.sta.md
└── unit/
    ├── ac_measure.md
    ├── accel.md
    ├── acssr.md
    ├── adc.md
    ├── adc_v11.md
    ├── ain4.md
    ├── angle.md
    ├── angle8.md
    ├── asr.md
    ├── audioplayer.md
    ├── bldc_driver.md
    ├── bps.md
    ├── button.md
    ├── buzzer.md
    ├── bytebutton.md
    ├── byteswitch.md
    ├── can.md
    ├── cardkb.md
    ├── cat1cn.md
    ├── catch.md
    ├── co2.md
    ├── co2l.md
    ├── color.md
    ├── dac.md
    ├── dac2.md
    ├── dcssr.md
    ├── dds.md
    ├── digi_clock.md
    ├── dlight.md
    ├── dmx.md
    ├── dualbutton.md
    ├── earth.md
    ├── encoder.md
    ├── encoder8.md
    ├── env.md
    ├── envpro.md
    ├── extencoder.md
    ├── extio.md
    ├── extio2.md
    ├── fader.md
    ├── finger.md
    ├── fingerprint2.md
    ├── flash_light.md
    ├── gateway_h2.md
    ├── glass.md
    ├── glass2.md
    ├── gps_v11.md
    ├── grove2grove.md
    ├── hall_effect.md
    ├── hbridge.md
    ├── heart.md
    ├── id.md
    ├── imu.md
    ├── imupro.md
    ├── ina226.md
    ├── ir.md
    ├── joystick.md
    ├── joystick2.md
    ├── key.md
    ├── kmeter.md
    ├── kmeter_iso.md
    ├── laser_rx.md
    ├── laser_tx.md
    ├── lcd.md
    ├── light.md
    ├── limit.md
    ├── lora_e220.md
    ├── lora_e220_433.md
    ├── lorawan_rui3.md
    ├── midi.md
    ├── minioled.md
    ├── miniscale.md
    ├── mq.md
    ├── mqtt.md
    ├── mqttpoe.md
    ├── nbiot.md
    ├── nbiot2.md
    ├── ncir.md
    ├── ncir2.md
    ├── neco.md
    ├── oled.md
    ├── op180.md
    ├── op90.md
    ├── pdm.md
    ├── pir.md
    ├── puzzle.md
    ├── qrcode.md
    ├── rca.md
    ├── reflective_ir.md
    ├── relay.md
    ├── relay2.md
    ├── relay4.md
    ├── rf433r.md
    ├── rf433t.md
    ├── rfid.md
    ├── rgb.md
    ├── roller485.md
    ├── rollercan.md
    ├── rtc.md
    ├── scales.md
    ├── scroll.md
    ├── servo180.md
    ├── servo360.md
    ├── servos8.md
    ├── ssr.md
    ├── step16.md
    ├── synth.md
    ├── thermal.md
    ├── timerpwr.md
    ├── tmos.md
    ├── tof.md
    ├── tof4m.md
    ├── tof90.md
    ├── tube_pressure.md
    ├── tvoc.md
    ├── uhf_rfid.md
    ├── ultrasonic.md
    ├── ultrasonic_io.md
    ├── uwb.md
    ├── vibrator.md
    ├── watering.md
    ├── weight.md
    ├── weight_i2c.md
    ├── zigbee.md
└── widgets/
    ├── _overview.md
    ├── circle.md
    ├── image+.md
    ├── image.md
    ├── label+.md
    ├── label.md
└── COPYRIGHT.md

不确定路径时,用脚本搜索:

./scripts/find_doc.sh <关键词>

编程流程(强制执行)

第 1 步:分析需求,定位文档

  • 提取关键硬件/功能名称
  • 在上方文件树中锁定目标路径
  • 如不确定,运行 ./scripts/find_doc.sh <关键词>

第 2 步:读取原始 API(强制)

read docs/unit/env.md       # 示例

从中提取:构造函数签名、方法参数、官方示例代码。

第 3 步:生成代码

导入规范:

import M5
from M5 import *          # 必须,初始化设备
# 按需引入,仅导入实际用到的:
from hardware import *    # 硬件抽象:Pin、I2C、UART、ADC 等
from unit import *        # Unit 系列
from module import *      # Module 系列
from base import *        # Base 系列
import m5ui               # LVGL UI 控件
import lvgl as lv         # LVGL 底层(如需直接操作)
  • ❌ from m5stack import *(UIFlow1 旧写法,UIFlow2 不用)
  • ❌ 根据文档路径推断导入(docs/hardware/speaker.md ≠ from hardware import Speaker)
  • ✅ 必须查看文档示例代码中的实际 import 语句(Speaker/Mic 通过 from M5 import * 导入,详见 docs/hardware/speaker.md 和 docs/hardware/mic.md)
  • 禁止在代码头部添加版权注释,直接从 import 开始

主循环规范:

while True:
    M5.update()        # 必须,否则触摸/按键事件无响应
    # 业务逻辑...
    time.sleep_ms(50)  # 用 sleep_ms() 替代 sleep()

内置设备 vs 外接模块(强制区分,否则系统崩溃):

设备类型判断依据访问方式禁止操作
内置设备(IMU/触摸/电源/音频/显示)集成在主板上M5.Imu.* / M5.Touch.* / Power.* / Speaker.*禁止初始化 I2C/SPI(系统已占用)
外接模块(Unit/HAT/Module)Grove/I2C/SPI 连接初始化 I2C + 创建设备对象-
  • 判断流程:查设备文档 → 检查 docs/system/ 和 docs/hardware/ 是否有系统 API → 有则用 M5.*,无则按 Unit/HAT/Module 文档初始化
  • 详细说明和示例见 docs/system/power.md(Power API 与内置电源监测芯片的关系)
  • 调试提示:I2C.scan() 返回 []、SDIO 错误、ETIMEDOUT → 检查是否触碰了系统总线

m5ui 控件规范:

  • ✅ 所有控件必须传 parent=page0,否则 screen_load() 后黑屏(详见 docs/m5ui/page.md)
  • ❌ 禁止假设参数通用:每个控件必须先读 docs/m5ui/[widget].md 验证构造函数参数(如 M5Label 不支持 w/h,详见 docs/m5ui/label.md)
  • ❌ 禁止凭感觉选 LVGL 常量(字体、颜色等),只使用文档示例中出现的值

API 返回值验证:

  • 检查文档 :returns: 标记 → tuple 必须解包或索引访问,禁止写 result.x
  • 触摸 API 详细返回值和坐标转换规则见 docs/hardware/touch.md
  • 单点触控用 getX()/getY()(已自动旋转),多点触控用 getTouchPointRaw(i) + 手动坐标转换

LCD 渲染规范:

  • ❌ 禁止在 loop() 中 Lcd.clear() 或 fillScreen()(全屏闪烁,详见 docs/hardware/display.md)
  • ✅ 静态背景只在 setup() 绘制一次,动态内容用 fillRect() 局部擦除+重绘
  • ⚠️ 分层重绘:重绘底层后必须重绘被覆盖的上层元素(如钢琴黑键叠在白键上)
  • 代码生成后检查所有函数调用是否有对应定义,确保无 NameError

MicroPython 性能优化(数据处理/高频刷新场景强制):

优化点❌ 错误模式✅ 正确做法
批量解包循环逐个 struct.unpack_from()单次 struct.unpack('<hh'*N, buf)
缓冲区复用loop() 中反复创建 bytearray/列表setup() 预分配,loop() 复用
零拷贝buf[start:end] 切片拷贝memoryview(buf)[start:end]
图表刷新set_series_values() 全量替换set_next_value() + SHIFT 模式(详见 docs/m5ui/chart.md)
Mic DMA短缓冲频繁 Mic.record()加大缓冲至 50-100ms 降低启停开销

第 4 步:质量检查清单

检查项问题模式正确做法
显示性能循环中 fillScreen() 全屏重绘fillRect() 局部更新
设备配置硬编码屏幕尺寸 1280x720Lcd.width()/height() 动态获取
屏幕旋转横屏应用未设置旋转Lcd.setRotation(1) 或 setRotation(3)
资源管理循环中重复 Speaker.begin()setup() 中初始化一次
算法效率循环中 item in list 查找改用字典/集合
用户体验操作无即时视觉反馈操作后立即更新 UI

禁止行为

  1. 禁止凭空编造 API:未读文档前不得生成复杂 API 调用
  2. 禁止主循环缺少 M5.update()
  3. **禁止使用 from m5stack import ***(UIFlow1 旧写法)
  4. 禁止根据文档路径推断导入路径:必须查看文档示例代码
  5. 禁止为非 CoreS3 设备生成摄像头代码:UIFlow2 摄像头 API 仅支持 CoreS3
  6. 禁止假设控件参数通用:每个 m5ui 控件必须单独验证参数
  7. 禁止凭感觉选 LVGL 常量:只用文档示例中出现的值
  8. 禁止假设 API 返回对象:检查 :returns: tuple 标记
  9. 禁止在循环中全屏重绘:用 fillRect() 局部更新
  10. 禁止硬编码屏幕尺寸:用 Lcd.width()/height()
  11. 禁止在循环中重复初始化硬件
  12. 禁止分层重绘时遗漏上层元素

平台分布

OpenClaw

76.26%
按下载量换算1,842

安全审计

VirusTotal

通过

ClawScan

可疑

Static analysis

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在提醒或未通过项,安装前请自行复核。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills