1688-item-one-click — 商品一键操作
技能概述
1688 商品一键操作助手。提供商品快速修改能力,支持一键修改商品标题、商品主图和发布会员号动态。采用两步操作流程:先调用 before_check 检查是否可执行(含协议签署),用户确认后再调用 execute 执行修改。
使用场景
- 商品标题确认后需要一键应用修改
- 商品主图优化后需要一键替换
- 商品需要私域营销、上新通知时发布会员号动态
- 批量修改商品标题或主图
- 配合 1688-item-title-optimizer(标题优化)或 1688-item-image-optimizer(图片优化)的结果,直接应用修改
支持的操作类型
| 操作 | spi_code | spi_params | 说明 |
|---|---|---|---|
| 修改标题 | spi_hsf_automatic_title | {"newTitle": "新标题"} | 修改商品标题 |
| 修改主图 | spi_hsf_modify_main_img | {"newMainImg": "图片URL"} | 修改商品主图 |
| 发布会员号动态 | spi_hsf_offer_send_dynamics | {"title": "动态标题", "description": "动态内容"} | 发布会员号动态,用于私域营销、商品上新通知。参数可选,未提供时使用 before_check 返回的推荐值 |
CLI 命令
configure — 配置 AK
# 查看 AK 状态
python {baseDir}/cli.py configure
# 设置 AK
python {baseDir}/cli.py configure YOUR_AK
配置网关鉴权所需的 AK。所有操作命令都依赖 AK,首次使用前需先配置。
before_check — 执行前检查
# 检查修改标题
python {baseDir}/cli.py before_check --item_id <商品ID> --spi_code spi_hsf_automatic_title --spi_params '{"newTitle": "新标题内容"}'
# 检查修改主图
python {baseDir}/cli.py before_check --item_id <商品ID> --spi_code spi_hsf_modify_main_img --spi_params '{"newMainImg": "图片URL"}'
# 检查发布会员号动态(参数可选,不传时使用推荐值)
python {baseDir}/cli.py before_check --item_id <商品ID> --spi_code spi_hsf_offer_send_dynamics --spi_params '{}'
# 检查发布会员号动态(用户指定内容)
python {baseDir}/cli.py before_check --item_id <商品ID> --spi_code spi_hsf_offer_send_dynamics --spi_params '{"title": "动态标题", "description": "动态内容"}'
执行操作前的前置检查,判断是否可以执行、是否有协议需要签署。每次操作前必须先调用此命令。
execute — 执行操作
# 执行修改标题
python {baseDir}/cli.py execute --item_id <商品ID> --spi_code spi_hsf_automatic_title --spi_params '{"newTitle": "新标题内容"}'
# 执行修改主图
python {baseDir}/cli.py execute --item_id <商品ID> --spi_code spi_hsf_modify_main_img --spi_params '{"newMainImg": "图片URL"}'
# 执行设置限时折扣
python {baseDir}/cli.py execute --item_id <商品ID> --spi_code spi_hsf_offer_promotion_dszk --spi_params '{"discountRate": "9.5", "activityDay": "15"}'
# 执行发布会员号动态
python {baseDir}/cli.py execute --item_id <商品ID> --spi_code spi_hsf_offer_send_dynamics --spi_params '{"title": "动态标题", "description": "动态内容"}'
执行实际的修改操作。必须在 before_check 通过且用户确认后才能调用。
⚠️ 重要:Agent 使用规范
规则1:严格两步操作流程
每一个修改操作必须按以下流程执行,不可跳过任何步骤:
Step 1 — 前置检查(调用 before_check)
python {baseDir}/cli.py before_check --item_id <商品ID> --spi_code <操作码> --spi_params '<参数JSON>'
根据返回结果判断:
| 返回情况 | 判断依据 | Agent 行为 |
|---|---|---|
| 可以执行 | markdown 含"让用户确认后可以执行" | 向用户展示修改内容,请求确认 |
| 需签署协议 | markdown 含"协议名称"和"协议链接" | 向用户展示协议信息及链接,请用户阅读并确认协议后继续 |
| 不可执行 | markdown 含"不可执行"或其他拒绝原因 | 向用户展示不可执行的原因,终止流程,不调用 execute |
Step 2 — 用户确认
- 如果 Step 1 返回"可以执行":向用户展示待修改内容,等待用户确认
- 如果 Step 1 返回"需签署协议":向用户展示协议名称和链接,等待用户确认已阅读协议
Step 3 — 执行修改(调用 execute)
仅当 Step 1 判断可执行/协议已确认 且 用户明确确认后,才调用:
python {baseDir}/cli.py execute --item_id <商品ID> --spi_code <操作码> --spi_params '<参数JSON>'
规则2:结果展示规范
before_check 结果展示:
🔍 执行前检查结果:
【商品ID】{item_id}
【操作类型】修改标题 / 修改主图 / 设置限时折扣 / 发布会员号动态
【检查结果】可以执行 / 需签署协议 / 不可执行
【详细信息】{具体说明}
是否确认执行?
execute 成功展示:
✅ 操作成功!
【商品ID】{item_id}
【操作类型】修改标题 / 修改主图 / 设置限时折扣 / 发布会员号动态
【执行结果】{成功信息}
execute 失败展示:
❌ 操作失败
【商品ID】{item_id}
【失败原因】{失败原因}
规则3:设置限时折扣完整示例
用户:"给商品944549591224设置限时折扣,打9.5折,持续15天"
Step 1: Agent 调用 before_check
→ python cli.py before_check --item_id 944549591224 --spi_code spi_hsf_offer_promotion_dszk --spi_params '{"discountRate": "9.5", "activityDay": "15"}'
Step 2: 检查通过,Agent 向用户确认
→ "检查通过,即将为商品设置限时折扣:打9.5折,持续15天,是否确认?"
Step 3: 用户确认后,Agent 调用 execute
→ python cli.py execute --item_id 944549591224 --spi_code spi_hsf_offer_promotion_dszk --spi_params '{"discountRate": "9.5", "activityDay": "15"}'
Step 4: 展示结果
→ "✅ 限时折扣设置成功!折扣:9.5折,活动时长:15天"
规则4:发布会员号动态完整示例
用户:"给商品944549591224发一条会员号动态"
Step 1: Agent 调用 before_check(用户未指定 title/description,传空对象获取推荐值)
→ python cli.py before_check --item_id 944549591224 --spi_code spi_hsf_offer_send_dynamics --spi_params '{}'
Step 2: before_check 返回推荐的 title 和 description,Agent 向用户展示推荐内容并确认
→ "检查通过,推荐动态标题:'xx商品上新',推荐内容:'商品卖点描述...',是否确认发布?"
Step 3: 用户确认后,Agent 使用推荐值调用 execute
→ python cli.py execute --item_id 944549591224 --spi_code spi_hsf_offer_send_dynamics --spi_params '{"title": "xx商品上新", "description": "商品卖点描述..."}'
Step 4: 展示结果
→ "✅ 会员号动态发布成功!"
用户指定内容的场景:
用户:"给商品944549591224发一条动态,标题是'夏季新品上架',内容是'清凉透气面料,限时优惠中'"
Step 1: Agent 调用 before_check
→ python cli.py before_check --item_id 944549591224 --spi_code spi_hsf_offer_send_dynamics --spi_params '{"title": "夏季新品上架", "description": "清凉透气面料,限时优惠中"}'
Step 2: 检查通过,Agent 向用户确认
→ "检查通过,即将发布动态:标题'夏季新品上架',内容'清凉透气面料,限时优惠中',是否确认?"
Step 3: 用户确认后,Agent 调用 execute
→ python cli.py execute --item_id 944549591224 --spi_code spi_hsf_offer_send_dynamics --spi_params '{"title": "夏季新品上架", "description": "清凉透气面料,限时优惠中"}'
Step 4: 展示结果
→ "✅ 会员号动态发布成功!标题:夏季新品上架"
规则5:与优化技能配合
当用户先使用标题优化或图片优化技能后,要求应用优化结果时:
- 从优化结果中提取新标题/新图片 URL
- 调用
before_check检查是否可执行 - 根据检查结果向用户确认
- 用户确认后调用
execute执行修改
规则6:修改标题完整示例
用户:"把商品944549591224的标题改成'轻奢沙发岩板茶几客厅设计师款2025新款茶桌'"
Step 1: Agent 调用 before_check
→ python cli.py before_check --item_id 944549591224 --spi_code spi_hsf_automatic_title --spi_params '{"newTitle": "轻奢沙发岩板茶几客厅设计师款2025新款茶桌"}'
Step 2: 检查通过,Agent 向用户确认
→ "检查通过,即将修改标题为'轻奢沙发岩板茶几客厅设计师款2025新款茶桌',是否确认?"
Step 3: 用户确认后,Agent 调用 execute
→ python cli.py execute --item_id 944549591224 --spi_code spi_hsf_automatic_title --spi_params '{"newTitle": "轻奢沙发岩板茶几客厅设计师款2025新款茶桌"}'
Step 4: 展示结果
→ "✅ 标题修改成功!新标题:轻奢沙发岩板茶几客厅设计师款2025新款茶桌"
安全声明
| 风险级别 | 命令 | Agent 行为 |
|---|---|---|
| 只读 | configure | 可直接执行,无需确认 |
| 只读 | before_check | 可直接执行,无需确认 |
| 写入 | execute | 必须 before_check 通过且用户确认后才能执行 |
全局写入规则(适用于所有写操作):
- 修改标题、主图、设置限时折扣和发布会员号动态属于写入操作,会直接变更商品数据。
- 必须先调用 before_check,不可跳过前置检查。
- 当信息缺失时,先向用户追问补齐后再执行。
- 不擅自修改用户提供的标题、图片 URL、折扣参数或动态内容。
- 如果 before_check 返回需要签署协议,必须展示协议信息并等待用户确认。
- 如果 before_check 返回不可执行,禁止调用 execute,直接终止并告知用户原因。
异常处理
任何命令输出 success: false 时:
- 先输出
markdown字段(已包含用户可读的错误描述) - 再根据关键词追加引导:
| markdown 关键词 | Agent 额外动作 |
|---|---|
| "AK 未配置" 或 "签名无效" 或 "401" | 提示用户当前操作能力所需鉴权未就绪,请补充有效 AK 或检查鉴权配置后重试 |
| "参数缺失" 或 "item_id 不能为空" | 提示用户补充缺失参数后重试 |
| "不可执行" | 向用户展示不可执行的具体原因,终止流程 |
| "限流" 或 "429" | 建议用户等待 1-2 分钟后重试 |
| 其他 | 仅输出 markdown 即可 |
环境变量(.env)
项目根目录的 .env 文件存储 skill 基础信息,供埋点上报等模块读取。发布到不同环境时可直接替换该文件中的变量值。
| 变量 | 默认值 | 说明 |
|---|---|---|
SKILL_NAME | 1688-item-one-click | skill 名称 |
SKILL_VERSION | 1.0.0 | skill 版本号 |
SKILL_CHANNEL | clawhub | 发布渠道 |
已存在的系统环境变量优先级高于
.env,CI/CD 注入的变量不会被覆盖。
埋点上报
每次 CLI 命令执行时,自动向 skill 网关上报一次调用记录,用于统计 skill 调用次数。
-
实现位置:
scripts/_tracker.py→report_skill_usage(),在cli.py的main()中每次命令执行后自动调用 -
上报接口:
POST /api/reportSkillsUsage/1.0.0 -
上报参数:
参数 值来源 说明 apiName固定 null固定传 null skillsName.envSKILL_NAMEskill 名称 version.envSKILL_VERSIONskill 版本号 scene固定 CLI固定值 channel.envSKILL_CHANNEL发布渠道 -
失败处理:上报失败静默忽略,不影响主流程
输出格式
采用标准 JSON 输出:
before_check 输出
可以执行:
{
"success": true,
"markdown": "✅ 检查通过,让用户确认后可以执行",
"data": {
"__msgInfo__": "让用户确认后可以执行",
"__success__": true
}
}
需签署协议:
{
"success": true,
"markdown": "📋 需要签署协议\n\n协议名称:《XX协议》,协议链接:https://terms.alicdn.com/...\n\n让用户确认协议后可以继续执行",
"data": {
"data": "协议名称:《XX协议》,协议链接:https://terms.alicdn.com/...",
"success": true,
"message": "让用户确认协议后可以继续执行"
}
}
不可执行:
{
"success": false,
"markdown": "❌ 不可执行,最近已经操作过",
"data": {
"__msgInfo__": "不可执行,最近已经操作过",
"__success__": true
}
}
execute 输出
执行成功:
{
"success": true,
"markdown": "✅ 执行成功,成功信息是:标题一键优化成功",
"data": {
"__msgInfo__": "执行成功,成功信息是:标题一键优化成功",
"data": "沙发岩板茶几客厅设计师款2025新款茶桌",
"__success__": true
}
}
执行失败:
{
"success": false,
"markdown": "❌ 执行失败,原因是:新标题和原标题一致",
"data": {
"__msgInfo__": "执行失败,原因是:新标题和原标题一致",
"__success__": false
}
}
执行前置(首次命中能力时必须)
- 首次执行
configure前:先完整阅读capabilities/configure.md - 首次执行
before_check前:先完整阅读capabilities/before_check.md - 首次执行
execute前:先完整阅读capabilities/execute.md
Agent 执行检查清单
在执行修改时,请确认:
- 已提取商品ID
- 已提取新标题/新图片URL/折扣参数/动态内容(或使用推荐值)
- 已确定正确的 spi_code 和 spi_params
- 已调用
before_check完成前置检查 - 检查结果为"可执行"或"协议已确认"
- 已向用户展示变更内容/协议信息并获得确认
- 调用
execute执行修改 - 使用标准模板展示操作结果