@petercjl/taobao-ai-ops 0.4.4 → 0.4.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -95,12 +95,12 @@ For explicit Boardmix file, media or object operations, select `boardmix-tools`.
|
|
|
95
95
|
|
|
96
96
|
## DMP 商品经营报告
|
|
97
97
|
|
|
98
|
-
用户提供淘宝/天猫商品ID,希望查看竞品经营趋势、推广方式/力度/效果、新老客成交结构或完整商品经营HTML报告时,选择 `dmp-product-report` 节点。独立拥有包为 `@petercjl/dmp-product-report`,逻辑Skill为 `dmp-product-report`;所需能力是 `@petercjl/tbcli` 的 DMP snapshot
|
|
98
|
+
用户提供淘宝/天猫商品ID,希望查看竞品经营趋势、推广方式/力度/效果、新老客成交结构或完整商品经营HTML报告时,选择 `dmp-product-report` 节点。独立拥有包为 `@petercjl/dmp-product-report`,逻辑Skill为 `dmp-product-report`;所需能力是 `@petercjl/tbcli` 的 DMP snapshot v2 与 itemSummary v1。兼容起点分别为报告包0.2.0、tbcli 0.12.0。
|
|
99
99
|
|
|
100
100
|
先运行 `taobao-ai-ops skill source --name dmp-product-report --json`,完整读取返回的当前Skill,按该Skill按需加载知识、适配与tbcli依赖,再运行 `taobao-ai-ops doctor --node dmp-product-report --json`。Doctor检查套件所选报告组件、Python与tbcli合同,不查询经营数据或证明账号权限。缺失/不兼容时保留结构化错误,恢复后回到预检;不借用另一全局tbcli来掩盖依赖问题。
|
|
101
101
|
|
|
102
102
|
通过 `taobao-ai-ops component run dmp-product-report ...` 执行子CLI主线。套件将其已注册tbcli入口传入应用;宿主能力集合的子Skill回执也包含同一依赖入口,任务内保留该版本集合。商品名称、链接、5张主图、店铺、已售、入口价和评价数由橙色淘宝买家浏览器读取;DMP统计由蓝色商家电商浏览器读取,两个角色的会话参数分别保留。登录和验证码由用户在对应窗口处理。
|
|
103
103
|
|
|
104
|
-
输入为目标商品ID
|
|
104
|
+
输入为目标商品ID,可补充报告日与新输出目录;已有证据可按子合同离线build/finalize。接口需要的本店商品参数由tbcli自动从当前账户发现,报告仅采用目标商品侧数据。输出包括自包含HTML、商品资料、近7天/前7天、近30天/前30天及8个完整自然周证据、CSV、ViewModel、分析和校验。run产生draft后继续按子Skill完成分析和finalize;一句结论与编号证据、经营策略解读及最终概览均由子应用的当前知识方法承接。返回套件主线第4步保留成果或第6步交付。
|
|
105
105
|
|
|
106
106
|
报告模板和分析知识继续由独立报告包维护,运行不依赖commerce-ui。套件负责注册、安装更新、精确Skill来源解析、依赖传递和预检。商品资料的页面展示口径与DMP分期统计分别解释;本次可用范围以平台实际返回为准。
|
package/src/runtime.mjs
CHANGED
|
@@ -98,14 +98,14 @@ export async function doctor(id,mode='excel'){
|
|
|
98
98
|
if(n.component==='dmp-product-report'){
|
|
99
99
|
const record=componentRecord(n.component),records=componentRecords();
|
|
100
100
|
const atLeast=(value,min)=>{if(!/^\d+\.\d+\.\d+$/.test(value??''))return false;const a=value.split('.').map(Number),b=min.split('.').map(Number);for(let i=0;i<3;i++)if(a[i]!==b[i])return a[i]>b[i];return true;};
|
|
101
|
-
checks.push({id:'dmp-report-version',ok:atLeast(record.version,'0.
|
|
102
|
-
checks.push({id:'dmp-report-tbcli',ok:atLeast(records.tbcli?.version,'0.
|
|
101
|
+
checks.push({id:'dmp-report-version',ok:atLeast(record.version,'0.2.0'),value:record.version,minimum:'0.2.0'});
|
|
102
|
+
checks.push({id:'dmp-report-tbcli',ok:atLeast(records.tbcli?.version,'0.12.0'),value:records.tbcli?.version??null,minimum:'0.12.0'});
|
|
103
103
|
try{
|
|
104
104
|
const environment=componentEnvironment(n.component);
|
|
105
105
|
const versionRun=spawnSync(process.execPath,[record.entry,'version','--json'],{encoding:'utf8',timeout:15000,env:environment});let version;try{version=JSON.parse(versionRun.stdout);}catch{}
|
|
106
106
|
checks.push({id:'dmp-report-runtime',ok:versionRun.status===0&&version?.package===MANIFEST.components[n.component].package&&version?.version===record.version,value:version?.version??null});
|
|
107
107
|
const result=spawnSync(process.execPath,[record.entry,'doctor','--json'],{encoding:'utf8',timeout:90000,env:environment});let detail;try{detail=JSON.parse(result.stdout||result.stderr);}catch{detail={ok:false,code:'COMPONENT_DOCTOR_FAILED'};}
|
|
108
|
-
checks.push({id:'dmp-report-capabilities',ok:result.status===0&&detail.ok===true&&detail.tbcliSnapshot===
|
|
108
|
+
checks.push({id:'dmp-report-capabilities',ok:result.status===0&&detail.ok===true&&detail.tbcliSnapshot===2&&detail.subjectMode==='target-only'&&detail.tbcliItemSummary===1,value:detail});
|
|
109
109
|
}catch(e){checks.push({id:'dmp-report-dependencies',ok:false,code:e.code??'CAPABILITY_UNAVAILABLE',message:e.message});}
|
|
110
110
|
}
|
|
111
111
|
if(n.component==='competitor-visual-canvas'){
|
package/suite-manifest.json
CHANGED
|
@@ -277,7 +277,7 @@
|
|
|
277
277
|
"skill": "dmp-product-report",
|
|
278
278
|
"component": "dmp-product-report",
|
|
279
279
|
"stage": "competitor-performance-research",
|
|
280
|
-
"method_version": "dmp-product-report@
|
|
280
|
+
"method_version": "dmp-product-report@2",
|
|
281
281
|
"requires_skills": [
|
|
282
282
|
"tbcli"
|
|
283
283
|
],
|
|
@@ -292,7 +292,6 @@
|
|
|
292
292
|
"authorized merchant and buyer browser sessions"
|
|
293
293
|
],
|
|
294
294
|
"optional": [
|
|
295
|
-
"explicit owned anchor ID",
|
|
296
295
|
"report date",
|
|
297
296
|
"new output directory",
|
|
298
297
|
"previous collected run for offline build/finalize"
|
|
@@ -304,8 +303,8 @@
|
|
|
304
303
|
"state": "child owns collection checkpoints, browser-role guards and report artifacts"
|
|
305
304
|
},
|
|
306
305
|
"required_component_contracts": {
|
|
307
|
-
"dmp-product-report": "0.
|
|
308
|
-
"tbcli": "0.
|
|
306
|
+
"dmp-product-report": "0.2.0+; bundled renderer and finalization contract",
|
|
307
|
+
"tbcli": "0.12.0+; dmp snapshot version 2 target-only subject, automatic owned-item execution context and itemSummary version 1"
|
|
309
308
|
},
|
|
310
309
|
"contract_resolution": "Resolve current exact child Skill and CLI capabilities; preserve the selected merchant/buyer endpoints and returned data availability."
|
|
311
310
|
}
|