oc-browser-relay 1.0.20 → 1.0.21
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/index.js +1 -1
- package/package.json +1 -1
- package/skills/oc-browser-relay-alimama/SKILL.md +3 -10
package/index.js
CHANGED
|
@@ -100,7 +100,7 @@ Supports Taobao (item.taobao.com) and Tmall (detail.tmall.com) product URLs.
|
|
|
100
100
|
\u517C\u5BB9\u65E7\u5DE5\u5177\u540D wechat_get_article\uFF0C\u4F46\u5DF2\u652F\u6301\u901A\u7528 http/https \u6587\u7AE0\u94FE\u63A5\u3002
|
|
101
101
|
\u9002\u7528\u4E8E\u8FD9\u4E9B\u610F\u56FE\uFF1A\u83B7\u53D6\u6587\u7AE0\u5185\u5BB9\u3001\u4FDD\u5B58\u8FD9\u7BC7\u6587\u7AE0\u3001\u6253\u5F00\u6587\u7AE0\u5E76\u4FDD\u5B58\u3001\u6D4F\u89C8\u5668\u6253\u5F00\u6587\u7AE0\u5E76\u4FDD\u5B58\u3002
|
|
102
102
|
\u6CE8\u610F\uFF1A\u5BFC\u51FA\u65F6\u8BF7\u4FDD\u7559\u539F\u59CB\u6570\u636E\uFF0C\u4E0D\u8981\u5BF9\u91C7\u96C6\u5230\u7684\u6570\u636E\u505A\u4EFB\u4F55\u4FEE\u6539\u3001\u683C\u5F0F\u5316\u6216\u4E8C\u6B21\u52A0\u5DE5\u3002\u8BF7\u76F4\u63A5\u8F93\u51FA\u539F\u59CB\u6570\u636E\u6216\u544A\u77E5\u6587\u4EF6\u4FDD\u5B58\u8DEF\u5F84\uFF0C\u4E0D\u8981\u5BF9\u6570\u636E\u8FDB\u884C\u5206\u6790\u3001\u603B\u7ED3\u3001\u89E3\u8BFB\u6216\u63D0\u51FA\u5EFA\u8BAE\u3002`,parameters:{type:"object",properties:{url:{type:"string",description:"\u6587\u7AE0\u9875\u9762 URL\uFF08\u4EFB\u610F http/https \u94FE\u63A5\uFF09"},runtimeId:{type:"string",description:"\u53EF\u9009\u7684runtime clientId\u3002\u5982\u679C\u7701\u7565\uFF0C\u81EA\u52A8\u9009\u62E9\u7B2C\u4E00\u4E2A\u5728\u7EBF\u7684runtime\u3002"},returnHostPatterns:{type:"array",items:{type:"string"},description:"\u53EF\u9009\uFF0C\u91C7\u96C6\u5B8C\u6210\u5E76\u5173\u95ED\u6807\u7B7E\u9875\u540E\u4F18\u5148\u5207\u56DE\u7684 URL \u5173\u952E\u8BCD\u5217\u8868\u3002"},wait:{type:"boolean",description:"\u662F\u5426\u7B49\u5F85\u4EFB\u52A1\u5B8C\u6210 (\u9ED8\u8BA4: true)",default:!0},saveToFile:{type:["string","boolean"],default:!0,description:"\u4FDD\u5B58\u6587\u7AE0\u5230\u6587\u4EF6\u3002\u9ED8\u8BA4\u4FDD\u5B58\u4E3A Markdown\u3002\u4F20true\u81EA\u52A8\u751F\u6210\u6587\u4EF6\u540D (article_{timestamp}.md)\uFF0C\u4FDD\u5B58\u5230workspace\u7684articles\u76EE\u5F55\u4E0B\uFF0C\u6216\u4F20\u81EA\u5B9A\u4E49\u6587\u4EF6\u8DEF\u5F84 (\u4F8B\u5982: ./article.md \u6216 ./article.html)\u3002\u4F20false\u8DF3\u8FC7\u4FDD\u5B58\u3002"}},required:["url"],additionalProperties:!1},async execute(t,r){try{if(!O2(r.url))return I({success:!1,error:"url must be a valid http or https URL"});let n=r.wait!==!1,a=r.saveToFile===void 0?!0:r.saveToFile,i={url:r.url};Array.isArray(r.returnHostPatterns)&&r.returnHostPatterns.length>0&&(i.returnHostPatterns=r.returnHostPatterns);let o=await fe(e,{toolName:"wechat_wechat_get_article",input:i,runtimeId:r.runtimeId,wait:n});if(!n||a===!1)return I(o);let u=M2(o);if(!u)return I({success:!1,error:"No article HTML found in relay result",result:o});let d=H2(u,r.url);if(a!==!1&&a!=null){let x;if(typeof a=="string")x=Cr.isAbsolute(a)?a:Cr.resolve(process.cwd(),a);else{let y=new Date,_=[y.getFullYear(),String(y.getMonth()+1).padStart(2,"0"),String(y.getDate()).padStart(2,"0"),"_",String(y.getHours()).padStart(2,"0"),String(y.getMinutes()).padStart(2,"0"),String(y.getSeconds()).padStart(2,"0")].join(""),m=process.env.OPENCLAW_WORKSPACE_DIR||Cr.join(R2.homedir(),".openclaw","workspace");x=Cr.resolve(m,"articles",`article_${_}.md`)}let b=Cr.dirname(x);await k2(b,{recursive:!0});let C=Cr.extname(x).toLowerCase(),M=C===".html"||C===".htm";return await L2(x,M?u:d,"utf-8"),I({...o,html:u,markdown:d,savedToFile:x,savedFormat:M?"html":"markdown",message:`Saved article to ${x}`})}return I({...o,html:u,markdown:d})}catch(n){return I({success:!1,error:String(n?.message||n)})}}})}import{writeFile as B2,mkdir as P2}from"fs/promises";import bn from"path";import U2 from"os";var j2=process.env.OPENCLAW_WORKSPACE_DIR||bn.join(U2.homedir(),".openclaw","workspace");function V2(e){let t=[e?.task?.result,e?.result,e];for(let r of t){let n=Array.isArray(r?.nodes)?r.nodes:[];for(let a of n){let i=a?.result?.observation?.data;if(i&&typeof i=="object"&&Array.isArray(i.cards))return i}}return null}function tf(e){e.registerTool({name:"pinduoduo_capture_home_overview",description:`\u91C7\u96C6\u62FC\u591A\u591A\u5546\u5BB6\u540E\u53F0\u9996\u9875\u6982\u89C8\u5361\u7247 DOM \u6570\u636E\u3002\u6253\u5F00\u5546\u5BB6\u540E\u53F0\u9996\u9875\uFF0C\u8BFB\u53D6\u9996\u9875\u7ECF\u8425\u5361\u7247\u7684 key/value/yesterday \u4FE1\u606F\uFF0C\u5E76\u8FD4\u56DE\u539F\u59CB JSON\u3002\u9002\u7528\u4E8E\u8FD9\u4E9B\u610F\u56FE\uFF1A\u91C7\u96C6\u62FC\u591A\u591A\u540E\u53F0\u9996\u9875\u6570\u636E\u3001\u83B7\u53D6\u9996\u9875\u6982\u89C8\u5361\u7247\u3001\u8BFB\u53D6\u6210\u4EA4\u91D1\u989D/\u8BA2\u5355\u6570/\u8BBF\u5BA2\u6570\u3001\u5BFC\u51FA\u62FC\u591A\u591A\u540E\u53F0\u7ECF\u8425\u770B\u677F\u3002
|
|
103
|
-
\u6CE8\u610F\uFF1A\u5BFC\u51FA\u65F6\u8BF7\u4FDD\u7559\u539F\u59CB\u6570\u636E\uFF0C\u4E0D\u8981\u5BF9\u91C7\u96C6\u5230\u7684\u6570\u636E\u505A\u4EFB\u4F55\u4FEE\u6539\u3001\u683C\u5F0F\u5316\u6216\u4E8C\u6B21\u52A0\u5DE5\u3002\u8BF7\u76F4\u63A5\u8F93\u51FA\u539F\u59CB\u6570\u636E\u6216\u544A\u77E5\u6587\u4EF6\u4FDD\u5B58\u8DEF\u5F84\uFF0C\u4E0D\u8981\u5BF9\u6570\u636E\u8FDB\u884C\u5206\u6790\u3001\u603B\u7ED3\u3001\u89E3\u8BFB\u6216\u63D0\u51FA\u5EFA\u8BAE\u3002`,parameters:{type:"object",properties:{url:{type:"string",description:"\u62FC\u591A\u591A\u5546\u5BB6\u540E\u53F0\u9996\u9875\u94FE\u63A5",default:"https://mms.pinduoduo.com/home/?msfrom=mms_sidenav"},runtimeId:{type:"string",description:"\u53EF\u9009\u7684 runtime clientId\uFF0C\u4E0D\u6307\u5B9A\u65F6\u81EA\u52A8\u9009\u62E9\u5728\u7EBF\u7684 runtime"},wait:{type:"boolean",description:"\u662F\u5426\u7B49\u5F85\u4EFB\u52A1\u5B8C\u6210\uFF08\u9ED8\u8BA4 true\uFF09",default:!0},returnHostPatterns:{type:"array",items:{type:"string"},description:"\u53EF\u9009\uFF0C\u4EFB\u52A1\u7ED3\u675F\u540E\u82E5\u5B58\u5728\u5339\u914D\u8FD9\u4E9B host \u6216 URL \u7247\u6BB5\u7684\u6807\u7B7E\u9875\uFF0C\u5219\u5207\u56DE\u8BE5\u6807\u7B7E\u9875\u3002"},saveToFile:{type:["string","boolean"],description:"\u5C06\u91C7\u96C6\u7ED3\u679C\u4FDD\u5B58\u5230 JSON \u6587\u4EF6\u3002\u4F20 true \u81EA\u52A8\u751F\u6210\u6587\u4EF6\u540D\u5230 workspace pinduoduo-mms/ \u76EE\u5F55\uFF0C\u4F20\u5B57\u7B26\u4E32\u6307\u5B9A\u81EA\u5B9A\u4E49\u8DEF\u5F84\uFF0C\u4F20 false \u4E0D\u4FDD\u5B58\u3002",default:!0}},additionalProperties:!1},async execute(t,r){try{let n=await ur(e,{taskType:"browser_action",platform:"pinduoduo",context:{siteId:"pinduoduo_mms"},payload:{url:r.url||"https://mms.pinduoduo.com/home/?msfrom=mms_sidenav",...Array.isArray(r.returnHostPatterns)&&r.returnHostPatterns.length>0?{returnHostPatterns:r.returnHostPatterns}:{}},runtimeId:r.runtimeId,wait:r.wait!==!1});if(r.wait===!1||r.saveToFile===!1)return I(n);let a=V2(n),i=a||n,o;if(typeof r.saveToFile=="string")o=bn.isAbsolute(r.saveToFile)?r.saveToFile:bn.resolve(process.cwd(),r.saveToFile);else{let u=new Date,d=[u.getFullYear(),String(u.getMonth()+1).padStart(2,"0"),String(u.getDate()).padStart(2,"0"),"_",String(u.getHours()).padStart(2,"0"),String(u.getMinutes()).padStart(2,"0"),String(u.getSeconds()).padStart(2,"0")].join("");o=bn.resolve(j2,"pinduoduo-mms",`pinduoduo-mms-home-overview_${d}.json`)}return await P2(bn.dirname(o),{recursive:!0}),await B2(o,JSON.stringify(i,null,2),"utf-8"),I({...n,homeOverview:a,savedToFile:o,savedFormat:"json"})}catch(n){return I({success:!1,error:String(n?.message||n)})}}})}var wd=rc(Mf()),Sd=rc(Ed());import{mkdir as Sg,readdir as Ng,readFile as Ag,writeFile as Cg}from"fs/promises";import Mr from"path";import _d from"os";async function vd(e,t,r){let n=Fe(e),a=await Yt(`${n.baseUrl}/api/file/content/${encodeURIComponent(t)}`);if(!a?.ok||!a?.content)throw new Error(`Failed to fetch file content: ${JSON.stringify(a)}`);let i=Buffer.from(a.content,"base64");await Sg(r,{recursive:!0}),new wd.default(i).extractAllTo(r,!0);let u=await Ng(r);for(let d of u){let x=d.toLowerCase();if(x.endsWith(".csv")||x.endsWith(".zip.csv")){let b=Mr.join(r,d),C=await Ag(b),M=Sd.default.decode(C,"gbk");await Cg(b,M,"utf-8")}}return u.map(d=>Mr.join(r,d))}function Td(e){let r=(e?.task?.result?.nodes??e?.result?.nodes??e?.nodes??[]).find(n=>n.nodeId==="s8");return r?.result?.observation?.fileId??r?.result?.fileId??null}function Nd(e){e.registerTool({name:"taobao_alimama_download_keyword_report",description:"\u4E0B\u8F7D\u76F4\u901A\u8F66\u5173\u952E\u8BCD\u62A5\u8868,\u4E0B\u8F7D\u963F\u91CC\u5988\u5988\u5173\u952E\u8BCD\u62A5\u8868\u3002\u5DE5\u5177\u4F1A\u6253\u5F00\u8D26\u6237\u62A5\u8868\u9875\uFF0C\u6355\u83B7 checkAccess \u9274\u6743\u4FE1\u606F\uFF0C\u521B\u5EFA\u5F02\u6B65\u4E0B\u8F7D\u4EFB\u52A1\uFF0C\u5148\u7B49\u5F85 30 \u79D2\uFF0C\u518D\u6BCF 5 \u79D2\u8F6E\u8BE2\u4E0B\u8F7D\u94FE\u63A5\uFF0C\u6700\u540E\u5C06\u6587\u4EF6\u5185\u5BB9\u56DE\u4F20 relay \u5B58\u50A8\u3002",parameters:{type:"object",properties:{startTime:{type:"string",description:"\u62A5\u8868\u5F00\u59CB\u65E5\u671F\uFF0C\u683C\u5F0F YYYY-MM-DD"},endTime:{type:"string",description:"\u62A5\u8868\u7ED3\u675F\u65E5\u671F\uFF0C\u683C\u5F0F YYYY-MM-DD"},splitType:{type:"string",description:"\u62A5\u8868\u65F6\u95F4\u7C92\u5EA6\uFF1Asum(\u6C47\u603B)\u3001day(\u5206\u5929)\u3001week(\u5206\u5468)\u3001month(\u5206\u6708)\u3001calendarmonth(\u5206\u81EA\u7136\u6708)\uFF0C\u9ED8\u8BA4\u6C47\u603B",enum:["sum","day","week","month","calendarmonth"],default:"sum"},runtimeId:{type:"string",description:"\u53EF\u9009 runtime clientId\uFF0C\u4E0D\u4F20\u5219\u81EA\u52A8\u9009\u62E9\u5728\u7EBF runtime"}
|
|
103
|
+
\u6CE8\u610F\uFF1A\u5BFC\u51FA\u65F6\u8BF7\u4FDD\u7559\u539F\u59CB\u6570\u636E\uFF0C\u4E0D\u8981\u5BF9\u91C7\u96C6\u5230\u7684\u6570\u636E\u505A\u4EFB\u4F55\u4FEE\u6539\u3001\u683C\u5F0F\u5316\u6216\u4E8C\u6B21\u52A0\u5DE5\u3002\u8BF7\u76F4\u63A5\u8F93\u51FA\u539F\u59CB\u6570\u636E\u6216\u544A\u77E5\u6587\u4EF6\u4FDD\u5B58\u8DEF\u5F84\uFF0C\u4E0D\u8981\u5BF9\u6570\u636E\u8FDB\u884C\u5206\u6790\u3001\u603B\u7ED3\u3001\u89E3\u8BFB\u6216\u63D0\u51FA\u5EFA\u8BAE\u3002`,parameters:{type:"object",properties:{url:{type:"string",description:"\u62FC\u591A\u591A\u5546\u5BB6\u540E\u53F0\u9996\u9875\u94FE\u63A5",default:"https://mms.pinduoduo.com/home/?msfrom=mms_sidenav"},runtimeId:{type:"string",description:"\u53EF\u9009\u7684 runtime clientId\uFF0C\u4E0D\u6307\u5B9A\u65F6\u81EA\u52A8\u9009\u62E9\u5728\u7EBF\u7684 runtime"},wait:{type:"boolean",description:"\u662F\u5426\u7B49\u5F85\u4EFB\u52A1\u5B8C\u6210\uFF08\u9ED8\u8BA4 true\uFF09",default:!0},returnHostPatterns:{type:"array",items:{type:"string"},description:"\u53EF\u9009\uFF0C\u4EFB\u52A1\u7ED3\u675F\u540E\u82E5\u5B58\u5728\u5339\u914D\u8FD9\u4E9B host \u6216 URL \u7247\u6BB5\u7684\u6807\u7B7E\u9875\uFF0C\u5219\u5207\u56DE\u8BE5\u6807\u7B7E\u9875\u3002"},saveToFile:{type:["string","boolean"],description:"\u5C06\u91C7\u96C6\u7ED3\u679C\u4FDD\u5B58\u5230 JSON \u6587\u4EF6\u3002\u4F20 true \u81EA\u52A8\u751F\u6210\u6587\u4EF6\u540D\u5230 workspace pinduoduo-mms/ \u76EE\u5F55\uFF0C\u4F20\u5B57\u7B26\u4E32\u6307\u5B9A\u81EA\u5B9A\u4E49\u8DEF\u5F84\uFF0C\u4F20 false \u4E0D\u4FDD\u5B58\u3002",default:!0}},additionalProperties:!1},async execute(t,r){try{let n=await ur(e,{taskType:"browser_action",platform:"pinduoduo",context:{siteId:"pinduoduo_mms"},payload:{url:r.url||"https://mms.pinduoduo.com/home/?msfrom=mms_sidenav",...Array.isArray(r.returnHostPatterns)&&r.returnHostPatterns.length>0?{returnHostPatterns:r.returnHostPatterns}:{}},runtimeId:r.runtimeId,wait:r.wait!==!1});if(r.wait===!1||r.saveToFile===!1)return I(n);let a=V2(n),i=a||n,o;if(typeof r.saveToFile=="string")o=bn.isAbsolute(r.saveToFile)?r.saveToFile:bn.resolve(process.cwd(),r.saveToFile);else{let u=new Date,d=[u.getFullYear(),String(u.getMonth()+1).padStart(2,"0"),String(u.getDate()).padStart(2,"0"),"_",String(u.getHours()).padStart(2,"0"),String(u.getMinutes()).padStart(2,"0"),String(u.getSeconds()).padStart(2,"0")].join("");o=bn.resolve(j2,"pinduoduo-mms",`pinduoduo-mms-home-overview_${d}.json`)}return await P2(bn.dirname(o),{recursive:!0}),await B2(o,JSON.stringify(i,null,2),"utf-8"),I({...n,homeOverview:a,savedToFile:o,savedFormat:"json"})}catch(n){return I({success:!1,error:String(n?.message||n)})}}})}var wd=rc(Mf()),Sd=rc(Ed());import{mkdir as Sg,readdir as Ng,readFile as Ag,writeFile as Cg}from"fs/promises";import Mr from"path";import _d from"os";async function vd(e,t,r){let n=Fe(e),a=await Yt(`${n.baseUrl}/api/file/content/${encodeURIComponent(t)}`);if(!a?.ok||!a?.content)throw new Error(`Failed to fetch file content: ${JSON.stringify(a)}`);let i=Buffer.from(a.content,"base64");await Sg(r,{recursive:!0}),new wd.default(i).extractAllTo(r,!0);let u=await Ng(r);for(let d of u){let x=d.toLowerCase();if(x.endsWith(".csv")||x.endsWith(".zip.csv")){let b=Mr.join(r,d),C=await Ag(b),M=Sd.default.decode(C,"gbk");await Cg(b,M,"utf-8")}}return u.map(d=>Mr.join(r,d))}function Td(e){let r=(e?.task?.result?.nodes??e?.result?.nodes??e?.nodes??[]).find(n=>n.nodeId==="s8");return r?.result?.observation?.fileId??r?.result?.fileId??null}function Nd(e){e.registerTool({name:"taobao_alimama_download_keyword_report",description:"\u4E0B\u8F7D\u76F4\u901A\u8F66\u5173\u952E\u8BCD\u62A5\u8868,\u4E0B\u8F7D\u963F\u91CC\u5988\u5988\u5173\u952E\u8BCD\u62A5\u8868\u3002\u5DE5\u5177\u4F1A\u6253\u5F00\u8D26\u6237\u62A5\u8868\u9875\uFF0C\u6355\u83B7 checkAccess \u9274\u6743\u4FE1\u606F\uFF0C\u521B\u5EFA\u5F02\u6B65\u4E0B\u8F7D\u4EFB\u52A1\uFF0C\u5148\u7B49\u5F85 30 \u79D2\uFF0C\u518D\u6BCF 5 \u79D2\u8F6E\u8BE2\u4E0B\u8F7D\u94FE\u63A5\uFF0C\u6700\u540E\u5C06\u6587\u4EF6\u5185\u5BB9\u56DE\u4F20 relay \u5B58\u50A8\u3002",parameters:{type:"object",properties:{startTime:{type:"string",description:"\u62A5\u8868\u5F00\u59CB\u65E5\u671F\uFF0C\u683C\u5F0F YYYY-MM-DD"},endTime:{type:"string",description:"\u62A5\u8868\u7ED3\u675F\u65E5\u671F\uFF0C\u683C\u5F0F YYYY-MM-DD"},splitType:{type:"string",description:"\u62A5\u8868\u65F6\u95F4\u7C92\u5EA6\uFF1Asum(\u6C47\u603B)\u3001day(\u5206\u5929)\u3001week(\u5206\u5468)\u3001month(\u5206\u6708)\u3001calendarmonth(\u5206\u81EA\u7136\u6708)\uFF0C\u9ED8\u8BA4\u6C47\u603B",enum:["sum","day","week","month","calendarmonth"],default:"sum"},runtimeId:{type:"string",description:"\u53EF\u9009 runtime clientId\uFF0C\u4E0D\u4F20\u5219\u81EA\u52A8\u9009\u62E9\u5728\u7EBF runtime"}},required:["startTime","endTime"],additionalProperties:!1},async execute(t,r){try{let n=await fe(e,{toolNames:["taobao_alimama_report_download_keyword_report","alimama_report_download_keyword_report"],input:{startTime:r.startTime,endTime:r.endTime,splitType:typeof r.splitType=="string"&&r.splitType.trim()?r.splitType.trim():"sum"},runtimeId:r.runtimeId}),a=Td(n);if(a){let i=process.env.OPENCLAW_WORKSPACE_DIR||Mr.join(_d.homedir(),".openclaw","workspace"),o=Mr.join(i,"alimama",`keyword_${r.startTime}_${r.endTime}`);try{let u=await vd(e,a,o);return I({...n,extractedFiles:u,extractDir:o})}catch(u){return I({...n,extractError:String(u?.message||u),fileId:a})}}return I({...n,fileId:null})}catch(n){return I({success:!1,error:String(n?.message||n)})}}}),e.registerTool({name:"taobao_alimama_download_crowd_report",description:"\u4E0B\u8F7D\u76F4\u901A\u8F66\u4EBA\u7FA4\u62A5\u8868,\u4E0B\u8F7D\u963F\u91CC\u5988\u5988\u4EBA\u7FA4\u62A5\u8868\u3002\u5DE5\u5177\u4F1A\u6253\u5F00\u8D26\u6237\u62A5\u8868\u9875\uFF0C\u6355\u83B7 checkAccess \u9274\u6743\u4FE1\u606F\uFF0C\u521B\u5EFA\u5F02\u6B65\u4E0B\u8F7D\u4EFB\u52A1\uFF0C\u5148\u7B49\u5F85 30 \u79D2\uFF0C\u518D\u6BCF 5 \u79D2\u8F6E\u8BE2\u4E0B\u8F7D\u94FE\u63A5\uFF0C\u6700\u540E\u5C06\u6587\u4EF6\u5185\u5BB9\u56DE\u4F20 relay \u5B58\u50A8\u3002",parameters:{type:"object",properties:{startTime:{type:"string",description:"\u62A5\u8868\u5F00\u59CB\u65E5\u671F\uFF0C\u683C\u5F0F YYYY-MM-DD"},endTime:{type:"string",description:"\u62A5\u8868\u7ED3\u675F\u65E5\u671F\uFF0C\u683C\u5F0F YYYY-MM-DD"},splitType:{type:"string",description:"\u62A5\u8868\u65F6\u95F4\u7C92\u5EA6\uFF1Asum(\u6C47\u603B)\u3001day(\u5206\u5929)\u3001week(\u5206\u5468)\u3001month(\u5206\u6708)\u3001calendarmonth(\u5206\u81EA\u7136\u6708)\uFF0C\u9ED8\u8BA4\u6C47\u603B",enum:["sum","day","week","month","calendarmonth"],default:"sum"},runtimeId:{type:"string",description:"\u53EF\u9009 runtime clientId\uFF0C\u4E0D\u4F20\u5219\u81EA\u52A8\u9009\u62E9\u5728\u7EBF runtime"}},required:["startTime","endTime"],additionalProperties:!1},async execute(t,r){try{let n=await fe(e,{toolNames:["taobao_alimama_report_download_crowd_report","alimama_report_download_crowd_report"],input:{startTime:r.startTime,endTime:r.endTime,splitType:typeof r.splitType=="string"&&r.splitType.trim()?r.splitType.trim():"sum"},runtimeId:r.runtimeId}),a=Td(n);if(a){let i=process.env.OPENCLAW_WORKSPACE_DIR||Mr.join(_d.homedir(),".openclaw","workspace"),o=Mr.join(i,"alimama",`crowd_${r.startTime}_${r.endTime}`);try{let u=await vd(e,a,o);return I({...n,extractedFiles:u,extractDir:o})}catch(u){return I({...n,extractError:String(u?.message||u),fileId:a})}}return I({...n,fileId:null})}catch(n){return I({success:!1,error:String(n?.message||n)})}}})}function Dg(e){e.registerService&&e.registerService({id:"chromeagent-relay",start:async t=>{if(mi())return;let r=Fe(e);r.autoStart&&(r.preferBundledRelay&&!r.relayCommand&&await gi(),bi(r,t),await Xr(r))},stop:async t=>{let r=mi();r&&(lc(null),r.kill("SIGTERM"),await new Promise(n=>r.on("close",n)),t.logger.info("[relay] stopped"))}}),dc(e),pc(e),hc(e),mc(e),gc(e),Lc(e),Tc(e),Ac(e),Ic(e),tf(e),Nd(e),ef(e)}export{Dg as default};
|
|
104
104
|
/*! Bundled license information:
|
|
105
105
|
|
|
106
106
|
@mixmark-io/domino/lib/style_parser.js:
|
package/package.json
CHANGED
|
@@ -34,10 +34,7 @@ description: 通过本地 ChromeAgent Relay 的 OpenClaw 插件工具下载阿
|
|
|
34
34
|
|
|
35
35
|
- `startTime` 必填,格式 YYYY-MM-DD
|
|
36
36
|
- `endTime` 必填,格式 YYYY-MM-DD
|
|
37
|
-
- `
|
|
38
|
-
- `vsType` 可选,支持 week/month,默认 week
|
|
39
|
-
- `searchValue` 可选,关键词过滤,空表示全部
|
|
40
|
-
- `wait` 默认 true,等待任务完成后返回结果
|
|
37
|
+
- `splitType` 可选,报表时间粒度:sum(汇总)、day(分天)、week(分周)、month(分月)、calendarmonth(分自然月),默认 sum(汇总)
|
|
41
38
|
|
|
42
39
|
### 人群报表
|
|
43
40
|
|
|
@@ -53,16 +50,12 @@ description: 通过本地 ChromeAgent Relay 的 OpenClaw 插件工具下载阿
|
|
|
53
50
|
|
|
54
51
|
- `startTime` 必填,格式 YYYY-MM-DD
|
|
55
52
|
- `endTime` 必填,格式 YYYY-MM-DD
|
|
56
|
-
- `
|
|
57
|
-
- `vsType` 可选,支持 week/month,默认 week
|
|
58
|
-
- `searchValue` 可选,人群名称过滤,空表示全部
|
|
59
|
-
- `wait` 默认 true,等待任务完成后返回结果
|
|
53
|
+
- `splitType` 可选,报表时间粒度:sum(汇总)、day(分天)、week(分周)、month(分月)、calendarmonth(分自然月),默认 sum(汇总)
|
|
60
54
|
|
|
61
55
|
## 参数策略
|
|
62
56
|
|
|
63
57
|
- 用户没有提供日期时,先询问报表的开始和结束日期,不要猜测
|
|
64
|
-
-
|
|
65
|
-
- 用户没有明确说过滤关键词/人群时,searchValue 传空字符串
|
|
58
|
+
- 用户没有明确说时间粒度时,使用默认 splitType=sum(汇总)
|
|
66
59
|
- 不要根据上一轮参数擅自改变本轮的日期范围
|
|
67
60
|
|
|
68
61
|
## 输出约定
|