Token导航 LogoToken导航

Agent Skill · 研究检索

smart-web-components-usage(智能网络组件的使用)

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

smart-web-components-usage 是研究检索类 Agent Skill,可用宿主为 OpenClaw,通过ClawHub获取,权限为需要联网;许可证为 MIT-0,第三方扫描已通过,按安装量在研究检索类的 73,675 个 Skill 里排第 28,195。

总安装 3,259周安装 140GitHub Stars 公开资料未说明下载 1,142核验 2026-05-01

安装说明

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

安装方式

通过对话安装

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

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

命令行安装

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

ClawHubOpenClaw
openclaw skills install smart-web-components-usage

这个 Skill 是做什么的

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

提供 @ht-smart/basic 组件库的 API 参考与使用指南,涵盖表单、表格等控件。当用户询问 HtProTable、HtForm 等组件的配置方式或集成方法时启用。自动提取官方文档中的参数说明、事件回调及最佳实践示例供快速查阅。安装前需确认项目是否已引入该组件库,否则可能无法正确解析接口定义。

建议配合实际代码上下文使用,以确保返回信息与当前框架版本兼容。

上手步骤

4 步
  1. 1

    确认自己的宿主工具

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

  2. 2

    拿到安装命令

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

  3. 3

    安装后重启宿主

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

  4. 4

    按最小权限试用

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

常见问题

6 条

smart-web-components-usage 怎么安装?

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

smart-web-components-usage 支持哪些 AI 工具?

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

smart-web-components-usage 需要什么权限?

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

smart-web-components-usage 是免费的吗?

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

smart-web-components-usage 用的人多吗?

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

smart-web-components-usage 安全吗?

第三方扫描结果为通过,但这只覆盖已知的静态检查项,不能替代自己读一遍源码和安装命令。

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

值得选的地方

  • 专注 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调用外部服务未明确有提醒
smart-web-components-usage

智能网络组件的使用 · 本页

3,259—需要联网MIT-0通过

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

SKILL.md 原文

name
smart-web-components-usage
description
提供 @ht-smart/basic 组件库中所有组件的使用指导和 API 参考。当用户询问如何使用、如何配置或如何集成 HtProTable、HtProTree、HtForm、HtModal、HtDrawer、HtDict、HtCard、HtCascader、HtSelect、HtSearchForm、HtList、HtNiceModal、HtProRegionTree、HtTree、HtColorPicker、HtDescription、HtFileUpload、HtFilePreview、HtFloatButton、HtGrid、HtLayout、HtDrawer、HtException、HtRichTextEditor、HtCopyright、HtDevicePlayer、HtButton、HtTab、HtTableSelect、ScrollLoadSelect、HtFormatTime、ActionSpace 等组件时使用此 skill。

smart-web-components 组件库使用指南

本 skill 覆盖 packages/basic/src/components 目录下所有组件的关键用法、API 和最佳实践。

组件速查索引

组件名导入名分类说明
HtActionSpaceHtActionSpace基础列表操作栏,间隔布局
HtButtonIconButton基础增强按钮,内置常用 icon 配置
HtInputBaseInput基础输入框封装
HtTabBaseTab基础标签页,支持 url 同步和定制样式
HtModalHtModal基础弹窗封装,简化状态管理
HtDrawerHtDrawer基础抽屉封装,支持拖拽宽度/最大化
HtExceptionHtException基础异常页(401/403/404/500/502)
HtCopyrightHtCopyright基础版权信息组件
HtGridHtGrid基础网格布局
HtSearchFormHtSearchForm基础搜索表单
HtRichTextEditorHtRichTextEditor基础富文本编辑器(基于 WangEditor)
HtFormatTimeHtFormatTime基础时间格式转换展示组件
HtFormHtForm高级高级表单,含 Modal/Drawer/Steps 表单
HtProTableHtProTable高级企业级表格,内置搜索/分页/列设置
HtTableSelectHtTableSelect高级弹窗表格选择器
HtCardHtCard高级高级卡片,支持栅格/折叠/统计
HtListHtList高级卡片风格列表,基于 HtProTable
HtCascaderHtCascader / HtRegionCascader高级级联选择,支持区划懒加载
HtSelectHtSelect高级下拉选择,支持 options 或远程请求
ScrollLoadSelectScrollLoadSelect高级远程搜索+滚动加载选择器
HtDict多组件高级字典组件集合(Text/Tag/Badge/Select等)
HtDescriptionHtDescriptions高级高级描述列表,支持远程请求
HtTreeHtTree / HtRegionTree高级树形组件,支持懒加载/搜索
HtProTreeHtProTree高级高级树,支持节点增删改/搜索
HtProRegionTreeHtProRegionTree高级行政区划树,内置接口
HtColorPickerHtColorPicker高级颜色选择器,支持 hex/rgb/hsb
HtDevicePlayerHtDevicePlayer高级设备(摄像头)实时播放组件
HtFileUploadHtProFileUpload高级大文件切片上传,支持断点续传
HtFilePreviewHtFilePreview高级文件预览,通过 fileId 获取地址
HtFloatButtonHtFloatButton基础悬浮按钮,支持受控选中/分组
HtNiceModalHtNiceModal高级API 方式调用弹窗,解决多次渲染问题
HtLayoutHtProLayout高级中后台标准布局

详细 API 参考文档

以下组件有完整的 API 参考文档,当需要精确的属性类型、默认值、方法签名时请阅读:

  • 完整表格 API、valueType 列表、actionRef/tableRef 方法:api-pro-table.md
  • 完整树节点操作 API、NodeExtensions、Ref 方法:api-pro-tree.md
  • 完整表单 API、formRef 方法、所有变体组件、原子组件列表:api-form.md
  • 完整字典 API、所有展示/表单组件、Hooks 用法:api-dict.md

核心组件使用要点

HtProTable — 企业级表格

import { HtProTable } from '@ht-smart/basic';
import type { HtProColumns, HtHocActionType } from '@ht-smart/basic';

const columns: HtProColumns<DataItem>[] = [
  { title: '名称', dataIndex: 'name', search: true },
  { title: '状态', dataIndex: 'status', valueType: 'select', search: true },
];

<HtProTable
  rowKey="id"
  columns={columns}
  actionRef={actionRef}
  request={async (params) => {
    const res = await fetchList(params);
    return { records: res.data, total: res.total };
  }}
/>

关键属性:

  • containerHeight — 容器高度,自动固定表头(推荐替代 scroll.y)
  • actionRef — 调用 reload() / reset() / getLastParams()
  • tableRef — 调用 getSelectedRows() / setSelectedRowKeys() / cleanSelected()
  • renderToolbarLeft/Right — 自定义工具栏
  • searchConfig={false} — 隐藏搜索栏
  • options={{ setting: { cacheKey: 'xxx' }, size: true }} — 列设置缓存 + 尺寸切换
  • memoizedSelected — 分页记忆选中

列配置 HtProColumns 扩展属性:

  • valueType — 19 种搜索表单类型(input/select/date/dateRange/cascader 等)
  • search: true — 声明为搜索项
  • fieldProps — 透传给表单控件的属性
  • ellipsis: 2 — 超出 2 行省略
  • hidden: true — 隐藏列

HtForm — 高级表单

import { HtForm, HtFormText, HtFormDatePicker } from '@ht-smart/basic';

<HtForm
  onFinish={async (values) => {
    await submitApi(values);
    return true; // 返回 true 重置表单
  }}
  initialValues={{ name: '默认值' }}
>
  <HtFormText name="name" label="名称" rules={[{ required: true }]} />
  <HtFormDatePicker name="date" label="日期" format="YYYY-MM-DD" />
</HtForm>

变体组件:

  • HtModalForm — Modal 内表单,通过 trigger 触发,onFinish 返回 true 自动关闭
  • HtDrawerForm — Drawer 内表单,用法同上
  • HtStepsForm — 分步表单

formRef 扩展方法:

  • getFieldsFormatValue() — 获取格式化后所有值
  • validateFieldsReturnFormatValue() — 校验并返回格式化值

HtModal / HtDrawer — 弹窗/抽屉

// 触发器方式
<HtModal trigger={<Button>打开</Button>} title="标题" onOk={async () => true}>
  内容
</HtModal>

// 受控方式
<HtModal open={open} onOpenChange={setOpen} />

// HtDrawer 额外支持
<HtDrawer resizable draggable maximizable defaultMaximize />

注意: 弹窗中有表单时,使用 HtModalForm / HtDrawerForm,不要用 HtModal 嵌套 HtForm。


HtProTree — 高级树组件

import { HtProTree } from '@ht-smart/basic';

<HtProTree
  request={fetchTreeData}
  lazy          // 默认 true,懒加载
  expandLevel={1}
  nodeExtensions={{
    add: { onRemoteAdd: async (data, parent) => ({ success: true, data: newNode }) },
    edit: { onRemoteEdit: async (data, node) => ({ success: true, data: updatedNode }) },
    delete: { onRemoteDelete: async (key, node) => api.delete(key) },
    refresh: true,
  }}
/>

Ref 方法: expandAll() / collapseAll() / refreshNode(key?) / refreshRoot() / getLocalTreeData()

节点操作流程: onBeforeAdd/Edit(验证)→ onRemoteAdd/Edit(API 调用,返回 { success, data })→ onSuccess(回调)


HtDict — 字典组件

// 根组件配置请求实例
<HtDictContext.Provider value={{ request: axiosInstance }}>
  <App />
</HtDictContext.Provider>

// 展示组件
<HtDictText code="status" value="1" />      // 文本
<HtDictTag code="status" value="1" />       // 标签
<HtDictBadge code="status" value="1" />     // 徽标

// 表单组件
<HtDictSelect code="status" dictType="system" />
<HtDictRadio code="status" />
<HtDictCheckbox code="status" />

// 表单集成(配合 HtForm)
<HtFormDictSelect name="status" label="状态" code="status" />

// Hooks
const { dictData, loading } = useHtDict('status', 'system');

dictType 可选值:'system'(默认)| 'biz' | 'dynamic'


ScrollLoadSelect / HtSelect — 选择器

// 远程搜索+滚动加载
<ScrollLoadSelect
  request={({ page, size, keyword }) => fetchData({ page, size, keyword })}
  pageSize={30}
  mode="multiple"
  fieldNames={{ label: 'name', value: 'id' }}
  disabledValues={[1, 2]}
  params={{ departmentId: 1 }}
/>

// 静态 options(自动降级为 antd Select)
<HtSelect options={[{ label: '启用', value: 1 }]} />

HtNiceModal — API 弹窗

// 1. 根组件包裹
<HtNiceModal.Provider><App /></HtNiceModal.Provider>

// 2. 创建弹窗组件
const MyModal = HtNiceModal.create<{ name: string }>(({ name }) => {
  const modal = HtNiceModal.useModal();
  return (
    <HtModal
      open={modal.open}
      onOk={async () => { modal.hide(); modal.resolve(); return true; }}
      onCancel={modal.hide}
      afterClose={() => { modal.resolveHide(); modal.remove(); }}
      destroyOnClose={!modal.keepMounted}
    >
      Hello, {name}!
    </HtModal>
  );
});

// 3. 调用
const result = await HtNiceModal.show(MyModal, { name: 'World' });

注意: 禁止嵌套使用 HtNiceModal.Provider,全应用只用一个。


HtTableSelect — 弹窗表格选择器

<HtTableSelect
  title="选择用户"
  value={selected}
  onChange={setSelected}
  columns={columns}
  request={fetchUsers}
  multiple // 多选,默认 true
>
  {(value, actions) => (
    <Button>已选 {value?.length ?? 0} 项</Button>
  )}
</HtTableSelect>

// 带左侧树的布局
<HtTableSelect
  sideContent={({ onChange }) => (
    <HtTree request={fetchDepts} onSelect={(_, { node }) => onChange({ deptId: node.id })} />
  )}
  sideWidth={220}
>
  {(value) => <Button>选择</Button>}
</HtTableSelect>

HtCascader / HtRegionCascader

// 基础级联,单选时 value 为 string|number,多选时为 (string|number)[]
<HtCascader
  request={(params) => fetchCascaderData(params)}
  fieldNames={{ label: 'name', value: 'id' }} // 默认值
/>

// 区划级联,开箱即用(需 GlobalProvider 上下文)
<HtRegionCascader
  regionLevel={RegionLevel.District} // 限制到区县层级
  versionConfig={{ enabled: true, getVersions: fetchVersions }}
/>

HtTree / HtRegionTree

<HtTree
  request={fetchTreeData}
  lazy={true}           // 懒加载
  fieldNames={{ title: 'name', key: 'id', children: 'children' }}
  isLeafNode={(node) => node.code?.length >= 6}
/>

// 区划树(需 GlobalProvider)
<HtRegionTree regionLevel={RegionLevel.City} />

HtFileUpload / HtImageUpload

// 文件上传
<HtProFileUpload
  maxCount={5}
  concurrentNumber={3}
  onBeforeUpload={(file) => file.size < 50 * 1024 * 1024}
  beforeRemove={async () => confirm('确认删除?')}
/>

// 图片上传
<HtImageUpload
  directoryType="private"
  maxCount={1}
  previewable
  onChange={(fileId) => console.log(fileId)}
/>

// 表单集成
<HtFormImageUpload name="avatar" label="头像" fieldProps={{ maxCount: 1 }} />

HtCard

// 基础
<HtCard title="卡片" extra={<Button>操作</Button>}>
  内容
</HtCard>

// 栅格布局(子卡片)
<HtCard>
  <HtCard colSpan={12}>左侧</HtCard>
  <HtCard colSpan={12}>右侧</HtCard>
</HtCard>

// 折叠
<HtCard collapsible defaultCollapsed title="可折叠卡片" />

HtList

<HtList
  rowKey="id"
  columns={columns}
  request={fetchList}
  renderItem={(item, index) => <div>{item.name}</div>}
  onItemClick={(item) => console.log(item)}
/>

HtDescriptions

<HtDescriptions
  title="详情"
  request={() => fetchDetail(id)}
  columns={[
    { title: '名称', dataIndex: 'name' },
    { title: '状态', dataIndex: 'status', valueType: 'select', valueEnum: statusEnum },
  ]}
  bordered
  column={3}
/>

HtProRegionTree

// 行政区划树,无需配置 request
const treeRef = useRef();
<HtProRegionTree
  ref={treeRef}
  onSelect={(keys, { node }) => setSelected(node)}
/>

// ref 方法
treeRef.current.refreshRoot();
treeRef.current.expandAll();
treeRef.current.collapseAll();

HtColorPicker

<HtColorPicker
  value={color}
  onChange={(htColor, hex) => setColor(hex)}
  format="hex"
  showText
  allowClear
  presets={[{ label: '推荐色', colors: ['#1677ff', '#52c41a'] }]}
/>

HtFloatButton

<HtFloatButton.Group activeType="single" active={activeKey} onChange={setActiveKey}>
  <HtFloatButton name="edit" tooltip="编辑" icon={<EditOutlined />} />
  <HtFloatButton name="delete" tooltip="删除" icon={<DeleteOutlined />} />
</HtFloatButton.Group>

HtRichTextEditor

// 表单集成(推荐)
<HtFormRichTextEditor
  name="content"
  label="内容"
  fieldProps={{
    request: uploadFile, // 图片上传接口
    style: { height: 300 },
  }}
/>

// 基础用法
<HtRichTextEditor
  request={uploadFile}
  onChange={(html) => setContent(html)}
/>

公共注意事项

  1. 所有组件均从 @ht-smart/basic 导入
  2. 基于 antd@4,不兼容 antd@5
  3. HtRegionCascader / HtRegionTree / HtProRegionTree 必须在 GlobalProvider(来自 @ht-smart/workbench)上下文中使用
  4. HtDict 组件需要在根组件配置 HtDictContext.Provider,提供 axios 请求实例
  5. HtNiceModal 需要在应用根组件包裹 HtNiceModal.Provider,且只能有一个
  6. HtModal / HtDrawer 中有表单 → 用 HtModalForm / HtDrawerForm,勿嵌套 HtForm
  7. 表单默认值 → 使用 initialValues,勿直接绑定 value/onChange
  8. HtProTable request 返回格式:{ records: TData[], total: number }
  9. HtProTree onRemoteAdd/Edit 返回格式:{ success: boolean, data?: any, error?: string }
  10. HtFileUpload 大文件上传 → 自动切片,支持断点续传,可通过 quicklyUpload 方法简单调用

平台分布

OpenClaw

81.52%
按下载量换算931

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

通过

权限和风险

需要联网

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

安装前确认

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

继续浏览同类 Skills