QClaw Skill 开发实战:自然语言转 U8c 执行命令
QClaw Skill 开发实战:自然语言转 U8c 执行命令
一、背景
在公司日常工作中,我有一项任务是处理错误的U8c单据,需要根据不同类型执行各种同步命令:
php think order_sync 2025-09-20
php think stock_sync in 2025-10-28 2025-10-31
php think inside_service_order_sync解决方案:由于单据类型复杂又多,用 QClaw + Skill 把自然语言转换成命令。
二、Skill 效果预览
在 QClaw 对话框中直接说:
| 你说 | Skill 输出 |
|---|---|
| "推一下5月28日的销售订单" | php think order_sync 2026-05-28 |
| "同步5月19到31日的入库单" | php think stock_sync in 2026-05-19 2026-05-31 |
| "同步内部交易售后单" | php think inside_service_order_sync |
AI 只输出命令,不执行,用户可以核对后再手动执行,安全可靠。
三、Skill 完整代码
1. 目录结构
~/workspace/AI/skills/u8-sync/
├── SKILL.md # Skill 描述文件
└── scripts/
└── sync.py # 同步脚本(可选,用于扩展)2. SKILL.md
---
name: u8-sync
description: U8数据同步命令生成器。根据自然语言生成对应的 thinkphp 同步命令。当用户说"同步"、"推"、"采购"、"订单"、"售后"、"内部交易"时触发。
allowed-tools: Read
---
# U8 数据同步命令生成器
## 功能
根据用户的自然语言描述,生成对应的 `php think` 同步命令。
## 命令映射表
### 采购相关
| 用户说 | 生成命令 |
|-------|---------|
| "同步采购单 2025-09-08" | `php think purchase_sync 2025-09-08` |
| "同步采购入库单 2025-09-08" | `php think purchase_in_sync 2025-09-08` |
| "同步采购退货单 2025-10-28" | `php think purchase_return_sync 2025-10-28` |
### 订单相关
| 用户说 | 生成命令 |
|-------|---------|
| "同步订单 2025-09-20" | `php think order_sync 2025-09-20` |
| "同步订单出库单 2025-09-07" | `php think out_order_sync 2025-09-07` |
| "同步手工单 2025-09-29" | `php think manual_order_sync 2025-09-29` |
### 售后相关
| 用户说 | 生成命令 |
|-------|---------|
| "同步售后单 2025-10-28" | `php think service_order_sync 2025-10-28` |
| "同步售后入库单 2025-10-28" | `php think out_service_order_sync 2025-10-28` |
### 库存相关
| 用户说 | 生成命令 |
|-------|---------|
| "同步其他出库单 2025-10-28" | `php think out_other_order_sync 2025-10-28` |
| "同步库存其他出库单 9月18到30日" | `php think stock_sync out 2025-09-18 2025-09-30` |
| "同步库存其他入库单 10月28到31日" | `php think stock_sync in 2025-10-28 2025-10-31` |
### 内部交易
| 用户说 | 生成命令 |
|-------|---------|
| "同步内部交易订单 2025-09-29" | `php think inside_order_sync 2025-09-29` |
| "同步内部交易售后单" | `php think inside_service_order_sync` |
| "同步内部交易采购单 2025-09-29" | `php think inside_purchase_order_sync 2025-09-29` |
| "同步内部采购退货单 2025-10-28" | `php think inside_purchase_return_sync 2025-10-28` |
### 档案同步
| 用户说 | 生成命令 |
|-------|---------|
| "同步商品" | `php think goods_sync` |
| "同步测试商品" | `php think goods_sync test` |
## 日期解析规则
- 支持 "5月28日" → `2026-05-28`
- 支持 "2025-09-08" → 直接使用
- 支持 "今天/昨天" 相对日期
## 输出格式
📋 请执行以下命令:
`php think {command} {args}`
> ⚠️ 请核对命令无误后再执行四、安装步骤
步骤1:创建 Skill 目录
mkdir -p ~/workspace/AI/skills/u8-sync/scripts步骤2:创建 SKILL.md
将上面的 SKILL.md 内容复制到文件中:
cat > ~/workspace/AI/skills/u8-sync/SKILL.md << 'EOF'
# 粘贴上面的内容
EOF步骤3:验证目录结构
ls -la ~/workspace/AI/skills/u8-sync/应该看到:
~/workspace/AI/skills/u8-sync/
├── SKILL.md
└── scripts/步骤4:在 QClaw 中加载
在 QClaw 对话框中输入:
/reload-skills或重启 QClaw。
步骤5:验证安装
输入 /list-skills,检查 u8-sync 是否在列表中。
五、使用示例
示例1:同步销售订单
输入:
推一下5月28日的销售订单输出:
📋 请执行以下命令:
php think order_sync 2026-05-28
> ⚠️ 请核对命令无误后再执行示例2:同步库存入库单
输入:
同步5月19到31日的困存入库单输出:
📋 请执行以下命令:
php think stock_sync in 2026-05-19 2026-05-31示例3:同步内部交易售后单
输入:
同步内部交易售后单输出:
📋 请执行以下命令:
php think inside_service_order_sync总结
通过这个 Skill,我们把复杂的命令记忆变成了自然语言对话。
核心价值:
- ✅ 不需要记命令格式
- ✅ 不需要记参数顺序
- ✅ 减少问同事的次数
- ✅ 降低操作出错率
扩展方向:
- 支持更多命令类型
- 添加执行确认机制
- 集成到 CI/CD 流程
参考资料
博客配图
QClaw 对话效果截图 

希望这篇博客对你有帮助!🚀