Weather
一个面向 Data & APIs 场景的 Agent 技能。原始说明:Get current weather and forecasts (no API key required).
一个面向 Data & APIs 场景的 Agent 技能。原始说明:⚠️ 已废弃 - 请使用 salesmartly-api-skills-lite(精简安全版)
name: salesmartly-api
description: ⚠️ 已废弃 - 请使用 salesmartly-api-skills-lite(精简安全版)
此技能已废弃,不再维护。
此版本存在以下安全问题:
推荐使用: salesmartly-api-skills-lite
# 通过 ClawHub CLI
clawhub install salesmartly-api-skills-lite
# 或访问 https://clawhub.ai/Sale-Smartly/salesmartly-api-skills-lite 下载
提供 SaleSmartly 全功能 API 查询与管理能力,支持自动脚本生成
在 api-key.json 中配置:
{
"apiKey": "your_api_key",
"projectId": "your_project_id"
}
# 查询客户
uv run scripts/query-customers.py --days 7 --page-size 20
# 新增客户
uv run scripts/create-customer.py --phone 8613800138000 --remark-name "客户名"
# 更新客户
uv run scripts/update-customer.py --chat-user-id <ID> --remark "备注"
# 批量标签
uv run scripts/batch-tags.py --chat-user-ids <ID1>,<ID2> --tag-ids <TAG_ID>
# 导入订单
uv run scripts/import-orders.py --orders <订单 JSON>
uv run scripts/query-members.py --status active
# 查询聊天记录
uv run scripts/query-messages.py --chat-user-id <用户 ID> --days 7
# 全量记录
uv run scripts/query-all-messages.py --page-size 50
# 分配会话
uv run scripts/assign-session.py --chat-user-id <ID> --member-id <成员 ID>
# 结束会话
uv run scripts/end-session.py --chat-session-id <会话 ID>
# 分流链接
uv run scripts/query-links.py --days 30
# 链接记录
uv run scripts/query-link-records.py --link-id <链接 ID>
# 查询设备
uv run scripts/query-whatsapp-apps.py --status 1
# 新增设备
uv run scripts/add-whatsapp-device.py --name "设备名" --phone 8613800138000
# 获取二维码
uv run scripts/get-whatsapp-qrcode.py --id <设备 ID>
# 设置代理
uv run scripts/set-whatsapp-proxy.py --id <设备 ID> --proxy-host <主机> --proxy-port <端口>
# 删除设备
uv run scripts/delete-whatsapp-device.py --id <设备 ID>
uv run scripts/batch-generate-scripts.py
从 https://salesmartly-api.apifox.cn/llms.txt 自动获取所有 API 并生成脚本。
uv run scripts/generate-query-script.py --api-id 276530997e0
目前支持 17 个 API 端点:
import hashlib
# 1. Token 放最前面
# 2. 参数按字母排序
# 3. 用 & 连接
# 4. MD5 加密(32 位小写)
sorted_params = sorted(params.items(), key=lambda x: x[0])
sign_parts = [api_key]
for k, v in sorted_params:
sign_parts.append(f"{k}={v}")
sign = hashlib.md5("&".join(sign_parts).encode()).hexdigest()
https://developer.salesmartly.com