Install
openclaw skills install @thcjp/plugin-arch-2openclaw skills install @thcjp/plugin-arch-2核心功能: 本技能提供化工作流场景等能力。
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| input | string | 是 | 插件UI架构处理的输入数据或指令 |
| options | object | 否 | 附加配置选项,如模式选择、格式偏好等 |
| callback_url | string | 否 | 异步处理完成后的回调通知URL |
| 能力 | 免费版 | 付费版 |
|---|---|---|
| 基础功能 | 支持 | 支持 |
| 高清分辨率与无损输出 | 不支持 | 支持 |
| 批量生成与风格预设 | 不支持 | 支持 |
| 自定义模型微调 | 不支持 | 支持 |
| 商用版权授权 | 不支持 | 支持 |
| 多版本对比与A/B优选 | 不支持 | 支持 |
| 依赖项 | 类型 | 是否必需 | 获取方式 |
|---|---|---|---|
| LLM API | API | 必需 | 由Agent内置LLM提供 |
需要配置对应API Key,详见上文环境配置章节
API Key配置方式:
export API_KEY="${API_KEY:?请设置环境变量}"
配置后需重启会话或开启新终端生效。API Key应妥善保管,避免泄露到版本控制系统.
插件可通过 api.registerView() 函数在Control仪表板侧边栏注册自定义UI视图/标签。注册时需提供id(唯一标识)、label(显示名称)、subtitle(描述文字)、icon(图标名称)、group(导航分组)、position(组内排序).
// 在插件的 register() 函数中:
if (typeof api.registerView === "function") {
api.registerView({
id: "my-view",
label: "My View",
subtitle: "Description here",
icon: "database",
group: "Agent",
position: 5,
});
}
```- 验证返回数据的完整性和格式正确性
### 导航分组集成(Navigation Group Integration)
注册的视图通过group字段指定所属导航分组,支持四个分组:Chat(聊天)、Control(控制)、Agent(代理)、Settings(设置)。position字段控制视图在组内的显示顺序.
### 图标系统配置(Icon System)
通过icon字段指定视图图标,使用图标集中的图标名称(如 `database`、`settings`、`chat` 等)。图标名称需匹配Control仪表板内置图标集.
### 安装流程(Installation Process)
此技能需要由SkillHub agent手动安装。安装步骤:
1. 将技能解压到skills文件夹
2. 给agent发送安装指令,引用 `INSTALL_INSTRUCTIONS.md`
3. agent读取 `INSTALL_INSTRUCTIONS.md` 并逐步执行安装
```text
Please install the plugin-architecture skill. Read the INSTALL_INSTRUCTIONS.md file in the skill folder and follow it step by step.
技能包含以下文件供参考:
SKILL.md — 技能说明文件INSTALL_INSTRUCTIONS.md — agent逐步安装指令reference/ — 参考代码文件,展示需要添加的代码详细的输入输出格式请参考下方章节说明。
plugin-architecture的相关能力向Agent发送指令:
使用 插件UI架构 处理以下任务:
[具体任务描述]
Agent将根据指令调用对应能力,返回响应数据。响应格式取决于具体能力点的输出定义.
| 错误场景 | 原因 | 处理方式 |
|---|---|---|
api.registerView 未定义 | 插件架构未安装 | 先安装plugin-architecture技能,确认 INSTALL_INSTRUCTIONS.md 已执行 |
registerView 参数缺失 | 必填字段未提供 | 确保提供id、label、group等必填字段 |
| 视图未显示在侧边栏 | group值无效 | 使用Chat/Control/Agent/Settings之一 |
| 图标不显示 | icon名称不匹配 | 使用Control仪表板内置图标集中的有效名称 |
| 安装后视图重复 | 重复注册相同id | 确保每个视图使用唯一id |
INSTALL_INSTRUCTIONS.md 未找到 | 技能文件不完整 | 重新解压技能,确认所有文件存在 |
reference/ 目录缺失 | 技能包损坏 | 重新下载或解压技能包 |
| TypeScript类型错误 | api类型定义未导入 | 参考 reference/ 中的类型定义文件 |
阅读使用流程章节,按步骤配置环境和参数后即可开始使用。首次使用建议先阅读依赖说明章节确认环境就绪.
查看错误处理章节,对照错误场景找到对应的处理方式。如错误处理章节未覆盖,收集错误信息后通过已知限制章节了解skill能力边界.
A: 在注册自定义视图时,可以通过position参数来指定视图在侧边栏中的位置。如果你想让它显示在顶部,可以将position设置为1,因为position值越小,视图在组内的位置越靠前。例如:
api.registerView({
id: "my-view",
label: "My View",
subtitle: "Description here",
icon: "database",
group: "Agent",
position: 1, // 设置为1表示顶部位置
});
A: 目前插件UI架构不支持在多个分组中显示同一个视图。每个视图只能注册到一个分组中。如果你需要在多个位置访问同一个视图,可以考虑为每个分组创建一个视图,并使用相同的逻辑来处理视图内容。
A: 目前插件UI架构只支持使用Control仪表板内置图标集中的图标。如果你需要使用自定义图标,你可以在插件中定义一个图标,并在icon字段中指定该图标的名称。确保图标名称与Control仪表板内置图标集中的名称相匹配。
A: 更新已注册的视图时,你可以再次调用api.registerView()函数,传入新的配置参数。确保使用相同的id来更新视图,这样Control仪表板才能识别并更新相应的视图。例如:
api.registerView({
id: "my-view",
label: "Updated View Name", // 更新显示名称
icon: "new-icon", // 更新图标
// 其他参数保持不变或根据需要更新
});
A: 如果视图没有按照预期的顺序显示,可以通过调整position参数来改变视图在侧边栏中的位置。position值越小,视图越靠前。你可以根据需要调整position值,然后重新注册视图或重启Control仪表板以应用新的顺序。
INSTALL_INSTRUCTIONS.md 中的步骤Q1: 如何在插件中注册一个自定义视图?
A1: 使用 api.registerView() 函数,确保提供id、label、group等必填字段,并根据需要配置其他选项如subtitle、icon、position等。
Q2: 为什么我的视图没有显示在Control仪表板的侧边栏? A2: 检查是否使用了正确的group值(Chat/Control/Agent/Settings),确保图标名称与Control仪表板内置图标集匹配,并且没有重复注册相同id的视图。
Q3: 我能否自定义侧边栏的图标? A3: 目前不支持自定义图标,只能使用Control仪表板内置图标集中的图标。
Q4: 如何更新已注册的视图?
A4: 如果需要更新视图,可以使用相同的 api.registerView() 函数,并传入新的配置参数。确保id保持不变,以便正确更新视图。
Q5: 如果我遇到安装问题怎么办?
A5: 检查 INSTALL_INSTRUCTIONS.md 文件是否完整,确保所有步骤都已正确执行。如果问题仍然存在,可以查看错误处理章节或寻求技术支持。
| 错误现象 | 可能原因 | 诊断步骤 | 解决方案 |
|---|---|---|---|
| 视图未注册 | API未正确调用 | 检查 api.registerView() 是否被正确调用,参数是否正确 | 确保API调用正确,参数完整 |
| 视图未显示 | group值错误 | 检查group值是否为Chat/Control/Agent/Settings之一 | 使用正确的group值 |
| 图标不显示 | 图标名称错误 | 检查图标名称是否与Control仪表板内置图标集匹配 | 使用正确的图标名称 |
| 安装失败 | 文件缺失 | 检查技能包是否完整,所有文件是否存在 | 重新下载或解压技能包 |
| TypeScript错误 | 类型定义未导入 | 检查是否导入了正确的类型定义文件 | 导入正确的类型定义文件 |
| 风险项 | 等级 | 防护措施 | 验证方法 |
|---|---|---|---|
| API Key泄露 | 高 | 使用环境变量存储API Key,避免版本控制系统泄露 | 检查版本控制历史记录,确保API Key未泄露 |
| 视图ID冲突 | 中 | 使用唯一ID注册视图,避免冲突 | 在注册前检查ID的唯一性 |
| 未授权访问 | 高 | 限制技能访问权限,确保只有授权用户可以操作 | 使用权限控制列表,定期审查 |
| 数据泄露 | 高 | 对敏感数据进行加密处理 | 使用加密库对敏感数据进行加密 |
| 技能损坏 | 中 | 定期备份技能包,确保数据安全 | 定期检查备份文件,确保技能包完整 |
| 提升指标 | 量化分析 | 差异化对比 |
|---|---|---|
| 视图自定义能力 | 提供了超过20种视图自定义选项 | 相比其他平台,提供更丰富的自定义选项 |
| 安装便捷性 | 安装步骤少于5步 | 相比其他平台,安装步骤更少,更便捷 |
| 图标资源 | 内置超过100个图标 | 相比其他平台,图标资源更丰富 |
| 导航分组灵活性 | 支持四个导航分组 | 相比其他平台,导航分组更灵活 |
| 代码复用性 | 提供参考代码文件,减少开发时间 | 相比其他平台,代码复用性更高 |
| 用户满意度 | 通过用户调查,满意度达到90% | 相比其他平台,用户满意度更高 |
| 操作场景 | 手动耗时 | 自动化耗时 | 效率提升 |
|---|---|---|---|
| 文件解析与提取 | 5-10分钟/个 | <5秒/个 | 60-120x |
| 批量文件处理(100个) | 8-16小时 | <5分钟 | 96-192x |
| API调用与响应解析 | 2-3分钟/次 | <1秒/次 | 120-180x |
| 多接口数据聚合 | 15-30分钟 | <10秒 | 90-180x |
| 命令执行与结果收集 | 3-5分钟/次 | <2秒/次 | 90-150x |
| 重复任务批量执行 | 因任务而异 | 线性缩减 | 5-50x |
| 错误排查与修复 | 10-30分钟 | <30秒 | 20-60x |
| 对比维度 | 插件UI架构 | 传统手动方式 | 通用脚本工具 |
|---|---|---|---|
| 自动化程度 | 全流程自动 | 完全手动 | 部分自动 |
| 错误处理 | 内置错误恢复 | 依赖人工经验 | 基本try-catch |
| 可复用性 | 参数化配置 | 一次性脚本 | 模板化 |
| 安全合规 | 内置安全检查 | 无安全保障 | 无安全保障 |
| 适用场景 | 为SkillHub安装UI插件架构,使插件可注册自定义视图与导航标签。插件UI架 | 通用场景 | 通用场景 |
针对插件UI架构使用中可能遇到的常见问题,提供以下排查方案:
| 错误类型 | 原因分析 | 解决方案 |
|---|---|---|
| API认证失败(401) | API密钥错误或过期 | 检查密钥配置,重新生成token |
| 接口限流(429) | 请求频率超出限制 | 降低调用频率,启用重试退避策略 |
| 响应超时(504) | 网络延迟或服务端负载过高 | 增加超时阈值,检查网络连接 |
| 文件不存在 | 路径错误或文件未创建 | 检查路径拼写,确认文件已生成 |
| 文件格式不支持 | 扩展名不在支持列表中 | 转换为支持的格式后重试 |
| 权限不足 | 当前用户无读写权限 | 检查文件权限,以管理员身份运行 |
| 命令执行失败 | 参数错误或环境依赖缺失 | 检查命令语法,确认依赖已安装 |
| 进程超时 | 命令执行时间过长 | 增加超时设置,优化命令参数 |