@@ -297,10 +297,34 @@ Cron 表达式格式:
297297 name : 'openclaw-github-trending' ,
298298 description : 'Fetch GitHub trending repositories and push to Feishu or Email with AI summaries' ,
299299 parameters : {
300- since : z . enum ( [ 'daily' , 'weekly' , 'monthly' ] ) . describe ( 'Time period for trending' ) ,
301- channels : z . array ( z . enum ( [ 'feishu' , 'email' ] ) ) . optional ( ) . describe ( 'Push channels (array: ["email"], ["feishu"], or ["email", "feishu"])' ) ,
302- email_to : z . string ( ) . email ( ) . optional ( ) . describe ( 'Email recipient (overrides config)' ) ,
303- feishu_webhook : z . string ( ) . url ( ) . optional ( ) . describe ( 'Feishu webhook URL (overrides config)' )
300+ type : 'object' ,
301+ properties : {
302+ since : {
303+ type : 'string' ,
304+ enum : [ 'daily' , 'weekly' , 'monthly' ] ,
305+ description : 'Time period for trending (daily/weekly/monthly)'
306+ } ,
307+ channels : {
308+ type : 'array' ,
309+ items : {
310+ type : 'string' ,
311+ enum : [ 'feishu' , 'email' ]
312+ } ,
313+ description : 'Push channels: ["email"], ["feishu"], or ["email", "feishu"]'
314+ } ,
315+ email_to : {
316+ type : 'string' ,
317+ format : 'email' ,
318+ description : 'Email recipient (overrides config)'
319+ } ,
320+ feishu_webhook : {
321+ type : 'string' ,
322+ format : 'uri' ,
323+ description : 'Feishu webhook URL (overrides config)'
324+ }
325+ } ,
326+ required : [ 'since' ] ,
327+ additionalProperties : false
304328 } ,
305329 async execute (
306330 _toolCallId : string , // ✅ First param is tool call ID
@@ -688,7 +712,7 @@ Cron 表达式格式:
688712 const emailChannelConfig = {
689713 from : emailConfig . sender || '' ,
690714 to : emailTo ,
691- subject : `GitHub 热榜 ${ since === 'daily' ? '今日 ' : since === 'weekly' ? '本周 ' : '本月 ' } 推送` ,
715+ subject : `GitHub ${ since === 'daily' ? '今日热榜 ' : since === 'weekly' ? '本周热榜 ' : '本月热榜 ' } 推送` ,
692716 smtp : {
693717 host : emailConfig . smtp_host || 'smtp.qq.com' ,
694718 // 默认使用 587 端口 + STARTTLS,这是更可靠的配置
0 commit comments