乐于分享
好东西不私藏

用 OpenClaw,5分钟让你的系统拥有AI助手

用 OpenClaw,5分钟让你的系统拥有AI助手

你的系统是不是还停留在“点页面、找按钮”的 old school 模式。
当接上 OpenClaw,系统就可以变成一个能听懂指令、会自动执行的 AI 助手
这篇文章将告诉你怎么用openclaw插件和skill将你的系统秒变AI助手。
一句话解释:插件负责给 AI 增加能力skill 负责告诉 AI 什么时候用这些能力
01
实现思路
不是重做,而是给现有系统加一层 AI 调用能力
很多人一听“给系统增加 AI 助手”,第一反应是要不要把整个系统推倒重来。其实不用。
更简单的做法是:保留你现在的后台接口和业务逻辑,只额外补一层“可被 AI 调用”的插件能力
插件和 skill 的分工
1. 插件:把“查订单、分析数据、修改数据”这些系统能力暴露给 OpenClaw。
2. skill:告诉 AI,用户说什么话时,该选哪个插件、调哪个工具。
3. 这样你就不用改原有后台交互,也能多出一个对话式入口。
下面我就用“小歪商城”这个例子,带你从零走一遍。
02
开发插件
让你的后台接口先进入 OpenClaw 的能力范围
OpenClaw 的插件文档已经很全了,官方文档在这里:
OpenClaw 官方地址
https://docs.openclaw.ai/tools/plugin
复制到浏览器打开
1
创建 package.json
先把项目名、依赖、构建脚本和 OpenClaw 版本范围写清楚。由于是最新版所以要指定版本号,因为 3.22做了破坏性升级。
{ "name": "shop-admin", "version": "1.0.1", "type": "module", "private": true, "openclaw": {   "extensions": [     "./index.ts"   ] }, "scripts": {   "build": "tsc -p tsconfig.json" }, "dependencies": {   "@sinclair/typebox": "^0.34.48",   "zod": "4.3.6",   "openclaw": ">=2026.3.22" }, "devDependencies": {   "openclaw": "2026.3.23",   "typescript": "^5.9.2" }}
这里有个坑要注意:OpenClaw 3.22 对插件做了破坏性升级,所以在新版的情况下,一定要保证openclaw的版本在3.22之后。
2
创建 openclaw.plugin.json
把插件 ID、说明和配置参数声明完整。尤其是像 token 这种配置项,要在这里先定义好,后面运行时才能正确读取。
{ "id": "shop-admin", "name": "shop-admin", "description": "小歪商城后台的插件", "version": "1.0.1", "configSchema": {   "type": "object",   "additionalProperties": false,   "properties": {     "token": {       "type": "string",       "title": "Access Token",       "description": "调用商城后台接口使用的访问令牌。"     }   } }}
这个文件的关键不是“填完就行”,而是把插件描述写清楚,把配置参数声明完整。这样 AI 后面更容易理解这个插件是干什么的,另外这里由于是测试,所以用token来访问接口,正式环境不建议,考虑更安全的手段。
3
创建入口文件 index.ts
把插件入口、配置 schema 和工具注册逻辑接起来。这一步的作用是让 OpenClaw 真正知道这个插件暴露了哪些能力。
import { definePluginEntry } from "openclaw/plugin-sdk/plugin-entry";import { registerOrderTools } from "./src/api/order.js";import { ICConfigSchema } from "./src/config/config-schema.js";export default definePluginEntry({ id"shop-admin", name"xiaowai", description"小歪商城管理工具", configSchemaICConfigSchema, register(api) {   registerOrderTools(api); }});
这里可以把它理解成插件总入口。你后面写的所有工具,都必须在这里注册之后才能才能被 OpenClaw 用起来
4
写具体工具
把你后台真正能做的事情,拆成一个个可调用的工具。参数怎么定义、接口怎么拼、结果怎么返回,都是在这里完成的。
import { Type } from "@sinclair/typebox";import { textResult } from "openclaw/plugin-sdk/agent-runtime";import type { OpenClawPluginApi } from "openclaw/plugin-sdk";import { getRuntimeConfig, stringifyResult, toToolError } from "../runtime/plugin-runtime.js";export function registerOrderTools(apiOpenClawPluginApi): void { api.registerTool({   name"shop_admin_search_orders",   label"搜索订单列表",   description"按订单号、日期范围或状态等条件搜索订单列表。",   parametersType.Object({     order_numType.Optional(       Type.String({         description"订单号"       })     ),     dateType.Optional(       Type.Tuple([         Type.String({           description"开始日期,格式为 YYYY-MM-DD。"         }),         Type.String({           description"结束日期,格式为 YYYY-MM-D。"         })       ], {         description"日期区间数组,date[0] 为开始日期,date[1] 为结束日期,如果为1天,两个日期一样。"       })     ),     statusType.Optional(       Type.String({         description"订单状态,按后端枚举传值。"       })     ),     pageType.Optional(       Type.Number({         description"页码,从 1 开始。"       })     ),     limitType.Optional(       Type.Number({         description"每页数量。"       })     )   }),   async execute(_id, params) {     try {       const { client } = getRuntimeConfig(api);       const queryRecord<stringunknown> = {         order_num: params.order_num,         status: params.status,         page: params.page,         limit: params.limit       };       if (params.date) {         query["date[0]"] = params.date[0];         query["date[1]"] = params.date[1];       }       const result = await client.request<unknown>("order/fetch", {         query: query as Record<stringstring | number | boolean | undefined>       });       return textResult(stringifyResult("订单搜索结果:", result), result);     } catch (error) {       throw toToolError(error);     }   } });}
这段看着长,但本质并不复杂,就是先定义参数,再把参数映射成你后台接口真正需要的调用。如果你之前写过 LangChain 之类的 tools,会很快上手。
03
安装插件
装完之后先看状态,再看工具有没有被识别
插件写完之后,执行下面这条命令安装,后面参数是你插件的本地路径:
openclaw plugins install ../../openclaw-plug/ic-shop-admin/
接着看插件状态:
openclaw plugins list
这里看到 loaded,说明插件已经正常加载成功。
再进一步看一下工具有没有被注册进去:
openclaw plugins inspect shop-admin
安装后最好顺手检查一次
建议去.openclaw/extensions/shop-admin看一下node_modules是否完整。
如果依赖没装好,执行npm install
04
再做一个 skill
让 AI 知道什么时候该调用这个后台插件
插件装完只能说明“能力已经在”,但 AI 还未必知道什么时候该用它。skill 就是干这个的。
1
手动创建 skill
自己在技能目录里建文件夹,再写一个 `SKILL.MD`。适合你已经很清楚插件能力边界,想自己控制 skill 提示词的时候。
在 `~/.openclaw/workspace/skills/` 下建一个目录,比如 `wai`,再创建一个 `SKILL.MD`:
---name: 小歪商城description: 主要用于查询小歪商城的数据---# 小歪商城 Skill当用户说查询小歪商场数据的时候,调用 shop-admin 插件里面最匹配需求的工具进行查询,插件目录在 ~/.openclaw/extensions/shop-admin
2
让 OpenClaw 自动创建
直接在对话界面里让 AI 帮你生成。
创建完成后,用下面这条命令验证一下:
openclaw skills list
如果后续调用时提示调用是找不到工具,可以把插件路径直接写进 skill,或者把主要工具都在 skill 里说明一下,这样 AI 会更容易匹配到。
05
测试
token 配好,服务重启
开始测试之前,要先把 token 配好。你可以直接改 openclaw.json,也可以用命令行设置:
openclaw config set plugins.entries.shop-admin.config.token xxxxxxxxxxx
设置完成之后,记得重启 OpenClaw:
openclaw gateway restart
在微信中测试:
Openclaw x 微信,最强的AI入口来了
最后一定要留意安全边界
1. 很多后台数据很敏感,不适合直接交给外部模型处理,建议用本地模型。
2. 写入类操作要格外谨慎,AI 的幻觉没法完全避免,最好加二次确认。
3. 对于AI调用建议新建一套路由规则,与现有系统接口隔离
4. 授权方式建议不直接给token,而是通过扫码获其他方式,避免token泄露
一句话结论
如果你已经有一套成熟后台,又想快速的接入AI能力,不是重做一遍界面,而是用插件把核心能力接进 OpenClaw。这样你的系统就能以很低的改造成本,多出一个真正可用的 AI 助手入口。