@zhin.js/plugin-60s 3.0.2 → 3.0.4

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.
Files changed (148) hide show
  1. package/agent/tools/60s_news.ts +3 -3
  2. package/agent/tools/bing_image.ts +3 -3
  3. package/agent/tools/douyin_hot.ts +3 -3
  4. package/agent/tools/duanzi.ts +3 -3
  5. package/agent/tools/exchange_rate.ts +3 -3
  6. package/agent/tools/fuel_price.ts +3 -3
  7. package/agent/tools/gold_price.ts +3 -3
  8. package/agent/tools/history_today.ts +3 -3
  9. package/agent/tools/hitokoto.ts +3 -3
  10. package/agent/tools/ip_query.ts +3 -3
  11. package/agent/tools/kfc.ts +3 -3
  12. package/agent/tools/moyu.ts +3 -3
  13. package/agent/tools/toutiao_hot.ts +3 -3
  14. package/agent/tools/translate_60s.ts +3 -3
  15. package/agent/tools/weather.ts +3 -3
  16. package/agent/tools/weibo_hot.ts +3 -3
  17. package/agent/tools/zhihu_hot.ts +3 -3
  18. package/commands/60s.ts +7 -0
  19. package/commands/bing.ts +7 -0
  20. package/commands/douyin/[limit:number=10].ts +7 -0
  21. package/commands/duanzi.ts +7 -0
  22. package/commands/exchange.ts +10 -0
  23. package/commands/fanyi/[text:string].ts +7 -0
  24. package/commands/fuel/[province:string].ts +7 -0
  25. package/commands/gold.ts +7 -0
  26. package/commands/history.ts +7 -0
  27. package/commands/hitokoto/[type:string].ts +7 -0
  28. package/commands/ip/[ip:string].ts +7 -0
  29. package/commands/kfc.ts +7 -0
  30. package/commands/moyu.ts +7 -0
  31. package/commands/toutiao/[limit:number=10].ts +7 -0
  32. package/commands/weather/[city:string].ts +7 -0
  33. package/commands/weibo/[limit:number=10].ts +7 -0
  34. package/commands/zhihu/[limit:number=10].ts +7 -0
  35. package/lib/api.js.map +1 -0
  36. package/lib/{tools/60s-news/handler.js → handlers/60s-news.js} +1 -1
  37. package/lib/handlers/60s-news.js.map +1 -0
  38. package/lib/{tools/bing-image/handler.js → handlers/bing-image.js} +1 -1
  39. package/lib/handlers/bing-image.js.map +1 -0
  40. package/lib/{tools/douyin-hot/handler.js → handlers/douyin-hot.js} +1 -1
  41. package/lib/handlers/douyin-hot.js.map +1 -0
  42. package/lib/{tools/duanzi/handler.js → handlers/duanzi.js} +1 -1
  43. package/lib/handlers/duanzi.js.map +1 -0
  44. package/lib/{tools/exchange-rate/handler.js → handlers/exchange-rate.js} +1 -1
  45. package/lib/handlers/exchange-rate.js.map +1 -0
  46. package/lib/{tools/fuel-price/handler.js → handlers/fuel-price.js} +1 -1
  47. package/lib/handlers/fuel-price.js.map +1 -0
  48. package/lib/{tools/gold-price/handler.js → handlers/gold-price.js} +1 -1
  49. package/lib/handlers/gold-price.js.map +1 -0
  50. package/lib/{tools/history-today/handler.js → handlers/history-today.js} +1 -1
  51. package/lib/handlers/history-today.js.map +1 -0
  52. package/lib/{tools/hitokoto/handler.js → handlers/hitokoto.js} +1 -1
  53. package/lib/handlers/hitokoto.js.map +1 -0
  54. package/lib/{tools/ip-query/handler.js → handlers/ip-query.js} +1 -1
  55. package/lib/handlers/ip-query.js.map +1 -0
  56. package/lib/{tools/kfc/handler.js → handlers/kfc.js} +1 -1
  57. package/lib/handlers/kfc.js.map +1 -0
  58. package/lib/{tools/moyu/handler.js → handlers/moyu.js} +1 -1
  59. package/lib/handlers/moyu.js.map +1 -0
  60. package/lib/{tools/toutiao-hot/handler.js → handlers/toutiao-hot.js} +1 -1
  61. package/lib/{tools/toutiao-hot/handler.js.map → handlers/toutiao-hot.js.map} +1 -1
  62. package/lib/{tools/translate/handler.js → handlers/translate.js} +1 -1
  63. package/lib/handlers/translate.js.map +1 -0
  64. package/lib/{tools/weather/handler.js → handlers/weather.js} +1 -1
  65. package/lib/handlers/weather.js.map +1 -0
  66. package/lib/{tools/weibo-hot/handler.js → handlers/weibo-hot.js} +1 -1
  67. package/lib/handlers/weibo-hot.js.map +1 -0
  68. package/lib/{tools/zhihu-hot/handler.js → handlers/zhihu-hot.js} +1 -1
  69. package/lib/handlers/zhihu-hot.js.map +1 -0
  70. package/lib/index.js +2 -0
  71. package/lib/index.js.map +1 -0
  72. package/package.json +42 -16
  73. package/plugin.ts +18 -0
  74. package/schema.json +12 -0
  75. package/src/index.ts +8 -44
  76. package/lib/agent/tools/60s_news.js +0 -13
  77. package/lib/agent/tools/60s_news.js.map +0 -1
  78. package/lib/agent/tools/bing_image.js +0 -13
  79. package/lib/agent/tools/bing_image.js.map +0 -1
  80. package/lib/agent/tools/douyin_hot.js +0 -13
  81. package/lib/agent/tools/douyin_hot.js.map +0 -1
  82. package/lib/agent/tools/duanzi.js +0 -13
  83. package/lib/agent/tools/duanzi.js.map +0 -1
  84. package/lib/agent/tools/exchange_rate.js +0 -13
  85. package/lib/agent/tools/exchange_rate.js.map +0 -1
  86. package/lib/agent/tools/fuel_price.js +0 -13
  87. package/lib/agent/tools/fuel_price.js.map +0 -1
  88. package/lib/agent/tools/gold_price.js +0 -13
  89. package/lib/agent/tools/gold_price.js.map +0 -1
  90. package/lib/agent/tools/history_today.js +0 -13
  91. package/lib/agent/tools/history_today.js.map +0 -1
  92. package/lib/agent/tools/hitokoto.js +0 -13
  93. package/lib/agent/tools/hitokoto.js.map +0 -1
  94. package/lib/agent/tools/ip_query.js +0 -13
  95. package/lib/agent/tools/ip_query.js.map +0 -1
  96. package/lib/agent/tools/kfc.js +0 -13
  97. package/lib/agent/tools/kfc.js.map +0 -1
  98. package/lib/agent/tools/moyu.js +0 -13
  99. package/lib/agent/tools/moyu.js.map +0 -1
  100. package/lib/agent/tools/toutiao_hot.js +0 -13
  101. package/lib/agent/tools/toutiao_hot.js.map +0 -1
  102. package/lib/agent/tools/translate_60s.js +0 -13
  103. package/lib/agent/tools/translate_60s.js.map +0 -1
  104. package/lib/agent/tools/weather.js +0 -13
  105. package/lib/agent/tools/weather.js.map +0 -1
  106. package/lib/agent/tools/weibo_hot.js +0 -13
  107. package/lib/agent/tools/weibo_hot.js.map +0 -1
  108. package/lib/agent/tools/zhihu_hot.js +0 -13
  109. package/lib/agent/tools/zhihu_hot.js.map +0 -1
  110. package/lib/src/index.js +0 -35
  111. package/lib/src/index.js.map +0 -1
  112. package/lib/tools/60s-news/handler.js.map +0 -1
  113. package/lib/tools/api.js.map +0 -1
  114. package/lib/tools/bing-image/handler.js.map +0 -1
  115. package/lib/tools/douyin-hot/handler.js.map +0 -1
  116. package/lib/tools/duanzi/handler.js.map +0 -1
  117. package/lib/tools/exchange-rate/handler.js.map +0 -1
  118. package/lib/tools/fuel-price/handler.js.map +0 -1
  119. package/lib/tools/gold-price/handler.js.map +0 -1
  120. package/lib/tools/history-today/handler.js.map +0 -1
  121. package/lib/tools/hitokoto/handler.js.map +0 -1
  122. package/lib/tools/ip-query/handler.js.map +0 -1
  123. package/lib/tools/kfc/handler.js.map +0 -1
  124. package/lib/tools/moyu/handler.js.map +0 -1
  125. package/lib/tools/translate/handler.js.map +0 -1
  126. package/lib/tools/weather/handler.js.map +0 -1
  127. package/lib/tools/weibo-hot/handler.js.map +0 -1
  128. package/lib/tools/zhihu-hot/handler.js.map +0 -1
  129. package/plugin.yml +0 -3
  130. /package/lib/{tools/api.js → api.js} +0 -0
  131. /package/{tools → src}/api.ts +0 -0
  132. /package/{tools/60s-news/handler.ts → src/handlers/60s-news.ts} +0 -0
  133. /package/{tools/bing-image/handler.ts → src/handlers/bing-image.ts} +0 -0
  134. /package/{tools/douyin-hot/handler.ts → src/handlers/douyin-hot.ts} +0 -0
  135. /package/{tools/duanzi/handler.ts → src/handlers/duanzi.ts} +0 -0
  136. /package/{tools/exchange-rate/handler.ts → src/handlers/exchange-rate.ts} +0 -0
  137. /package/{tools/fuel-price/handler.ts → src/handlers/fuel-price.ts} +0 -0
  138. /package/{tools/gold-price/handler.ts → src/handlers/gold-price.ts} +0 -0
  139. /package/{tools/history-today/handler.ts → src/handlers/history-today.ts} +0 -0
  140. /package/{tools/hitokoto/handler.ts → src/handlers/hitokoto.ts} +0 -0
  141. /package/{tools/ip-query/handler.ts → src/handlers/ip-query.ts} +0 -0
  142. /package/{tools/kfc/handler.ts → src/handlers/kfc.ts} +0 -0
  143. /package/{tools/moyu/handler.ts → src/handlers/moyu.ts} +0 -0
  144. /package/{tools/toutiao-hot/handler.ts → src/handlers/toutiao-hot.ts} +0 -0
  145. /package/{tools/translate/handler.ts → src/handlers/translate.ts} +0 -0
  146. /package/{tools/weather/handler.ts → src/handlers/weather.ts} +0 -0
  147. /package/{tools/weibo-hot/handler.ts → src/handlers/weibo-hot.ts} +0 -0
  148. /package/{tools/zhihu-hot/handler.ts → src/handlers/zhihu-hot.ts} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"moyu.js","sourceRoot":"","sources":["../../src/handlers/moyu.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAmB,MAAM,WAAW,CAAC;AAEnF,MAAM,CAAC,OAAO,CAAC,KAAK;IAClB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAsB,OAAO,CAAC,CAAC;IAC1D,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,cAAc,IAAI,EAAE,CAAC;IAC1D,MAAM,KAAK,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAC9B,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,IAAI,CAAC,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACjF,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,QAAQ,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACvG,CAAC;IACD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,KAAK,CAAC,WAAW;QAAE,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;IAC7D,IAAI,KAAK,CAAC,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;IACzD,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IACzD,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAClC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAU,EAAE,EAAE;YACpC,KAAK,CAAC,IAAI,CAAC,MAAM,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;QAClF,CAAC,CAAC,CAAC;IACL,CAAC;IACD,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC1C,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,SAAS,CAAC,OAAO,CAAC,CAAC,CAAU,EAAE,EAAE;YAC/B,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACjE,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC;YACjD,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
@@ -3,4 +3,4 @@ export default async function (args) {
3
3
  const data = await fetchApi('/toutiao');
4
4
  return ['🔥 头条热搜', '', formatList(data, args.limit || 10)].join('\n');
5
5
  }
6
- //# sourceMappingURL=handler.js.map
6
+ //# sourceMappingURL=toutiao-hot.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../tools/toutiao-hot/handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAiB,MAAM,WAAW,CAAC;AAEhE,MAAM,CAAC,OAAO,CAAC,KAAK,WAAW,IAAwB;IACrD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAa,UAAU,CAAC,CAAC;IACpD,OAAO,CAAC,SAAS,EAAE,EAAE,EAAE,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxE,CAAC"}
1
+ {"version":3,"file":"toutiao-hot.js","sourceRoot":"","sources":["../../src/handlers/toutiao-hot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAiB,MAAM,WAAW,CAAC;AAEhE,MAAM,CAAC,OAAO,CAAC,KAAK,WAAW,IAAwB;IACrD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAa,UAAU,CAAC,CAAC;IACpD,OAAO,CAAC,SAAS,EAAE,EAAE,EAAE,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxE,CAAC"}
@@ -23,4 +23,4 @@ export default async function (args) {
23
23
  lines.push(`发音: ${asString(target.pronounce)}`);
24
24
  return lines.join('\n');
25
25
  }
26
- //# sourceMappingURL=handler.js.map
26
+ //# sourceMappingURL=translate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"translate.js","sourceRoot":"","sources":["../../src/handlers/translate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAEzD,MAAM,CAAC,OAAO,CAAC,KAAK,WAAW,IAAmC;IAChE,MAAM,MAAM,GAA2B,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IAC3D,IAAI,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;IACjC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrC,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC;IACnD,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpE,MAAM,OAAO,GACX,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;QACrB,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;QACrB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC;QAC1B,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpE,MAAM,KAAK,GAAG;QACZ,SAAS;QACT,EAAE;QACF,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,EAAE;QACjD,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,EAAE;KAClD,CAAC;IACF,IAAI,MAAM,CAAC,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,OAAO,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACtE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
@@ -19,4 +19,4 @@ export default async function (args) {
19
19
  }
20
20
  return lines.join('\n');
21
21
  }
22
- //# sourceMappingURL=handler.js.map
22
+ //# sourceMappingURL=weather.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"weather.js","sourceRoot":"","sources":["../../src/handlers/weather.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAEzD,MAAM,CAAC,OAAO,CAAC,KAAK,WAAW,IAAsB;IACnD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9D,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACjC,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACtC,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACpC,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC;IACvE,MAAM,KAAK,GAAG;QACZ,OAAO,QAAQ,KAAK;QACpB,EAAE;QACF,WAAW,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI;QACtC,UAAU,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE;QACjC,UAAU,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG;QACjC,SAAS,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE;KAChE,CAAC;IACF,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,WAAW,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAChF,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
@@ -3,4 +3,4 @@ export default async function (args) {
3
3
  const data = await fetchApi('/weibo');
4
4
  return ['🔥 微博热搜', '', formatList(data, args.limit || 10)].join('\n');
5
5
  }
6
- //# sourceMappingURL=handler.js.map
6
+ //# sourceMappingURL=weibo-hot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"weibo-hot.js","sourceRoot":"","sources":["../../src/handlers/weibo-hot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAiB,MAAM,WAAW,CAAC;AAEhE,MAAM,CAAC,OAAO,CAAC,KAAK,WAAW,IAAwB;IACrD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAa,QAAQ,CAAC,CAAC;IAClD,OAAO,CAAC,SAAS,EAAE,EAAE,EAAE,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxE,CAAC"}
@@ -3,4 +3,4 @@ export default async function (args) {
3
3
  const data = await fetchApi('/zhihu');
4
4
  return ['🔥 知乎热榜', '', formatList(data, args.limit || 10)].join('\n');
5
5
  }
6
- //# sourceMappingURL=handler.js.map
6
+ //# sourceMappingURL=zhihu-hot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zhihu-hot.js","sourceRoot":"","sources":["../../src/handlers/zhihu-hot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAiB,MAAM,WAAW,CAAC;AAEhE,MAAM,CAAC,OAAO,CAAC,KAAK,WAAW,IAAwB;IACrD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAa,QAAQ,CAAC,CAAC;IAClD,OAAO,CAAC,SAAS,EAAE,EAAE,EAAE,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxE,CAAC"}
package/lib/index.js ADDED
@@ -0,0 +1,2 @@
1
+ export { asArray, asRecord, asString, fetchApi, formatList, } from './api.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,UAAU,GACX,MAAM,UAAU,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@zhin.js/plugin-60s",
3
- "version": "3.0.2",
4
- "description": "60s API aggregation plugin for Zhin.js — news, weather, hot searches, utilities and more",
3
+ "version": "3.0.4",
4
+ "description": "60s API aggregation plugin for Zhin.js — news, weather, hot searches, utilities (Plugin Runtime)",
5
5
  "type": "module",
6
6
  "main": "./lib/index.js",
7
7
  "types": "./lib/index.d.ts",
@@ -14,11 +14,12 @@
14
14
  "./package.json": "./package.json"
15
15
  },
16
16
  "files": [
17
+ "plugin.ts",
18
+ "schema.json",
19
+ "commands",
17
20
  "src",
18
21
  "lib",
19
22
  "agent",
20
- "tools",
21
- "plugin.yml",
22
23
  "README.md"
23
24
  ],
24
25
  "keywords": [
@@ -43,16 +44,28 @@
43
44
  "url": "https://github.com/lc-cn"
44
45
  },
45
46
  "license": "MIT",
47
+ "dependencies": {
48
+ "@zhin.js/command": "1.0.2",
49
+ "@zhin.js/plugin-runtime": "1.1.0",
50
+ "@zhin.js/tool": "1.0.2"
51
+ },
46
52
  "devDependencies": {
47
53
  "typescript": "^6.0.3",
54
+ "vitest": "^4.1.10",
48
55
  "zod": "^4.4.3",
49
- "zhin.js": "4.1.2",
50
- "@zhin.js/agent": "1.0.3"
56
+ "@zhin.js/agent": "1.0.5"
51
57
  },
52
58
  "peerDependencies": {
53
59
  "zod": "^4.0.0",
54
- "zhin.js": "4.1.2",
55
- "@zhin.js/agent": "1.0.3"
60
+ "@zhin.js/agent": "1.0.5"
61
+ },
62
+ "peerDependenciesMeta": {
63
+ "@zhin.js/agent": {
64
+ "optional": true
65
+ },
66
+ "zod": {
67
+ "optional": true
68
+ }
56
69
  },
57
70
  "repository": {
58
71
  "type": "git",
@@ -63,17 +76,30 @@
63
76
  "access": "public",
64
77
  "registry": "https://registry.npmjs.org"
65
78
  },
66
- "peerDependenciesMeta": {
67
- "@zhin.js/agent": {
68
- "optional": true
69
- },
70
- "zod": {
71
- "optional": true
72
- }
79
+ "engines": {
80
+ "node": "^20.19.0 || >=22.12.0"
81
+ },
82
+ "zhin": {
83
+ "protocol": 1,
84
+ "type": "plugin",
85
+ "entry": "./plugin.ts",
86
+ "engine": "^1.0.0",
87
+ "runtime": "trusted",
88
+ "features": [
89
+ {
90
+ "package": "@zhin.js/command",
91
+ "api": "^1.0.0"
92
+ },
93
+ {
94
+ "package": "@zhin.js/tool",
95
+ "api": "^1.0.0"
96
+ }
97
+ ],
98
+ "plugins": []
73
99
  },
74
100
  "scripts": {
75
101
  "build": "tsc",
76
102
  "clean": "rimraf lib",
77
- "test": "sh -c 'cd ../../.. && vitest run plugins/utils/60s/tests'"
103
+ "test": "NODE_OPTIONS=--experimental-strip-types vitest run --root ../../.. plugins/utils/60s/tests"
78
104
  }
79
105
  }
package/plugin.ts ADDED
@@ -0,0 +1,18 @@
1
+ import { definePlugin } from '@zhin.js/plugin-runtime';
2
+
3
+ export interface SixtySConfig {
4
+ readonly apiBase?: string;
5
+ }
6
+
7
+ const DEFAULT_API_BASE = 'https://60s.viki.moe';
8
+
9
+ export default definePlugin<SixtySConfig>({
10
+ name: 'sixty-s',
11
+ metadata: {
12
+ displayName: '60s API',
13
+ },
14
+ setup(context) {
15
+ const apiBase = context.config.get().apiBase?.trim() || DEFAULT_API_BASE;
16
+ process.env.ZHIN_60S_API = apiBase;
17
+ },
18
+ });
package/schema.json ADDED
@@ -0,0 +1,12 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "additionalProperties": false,
5
+ "properties": {
6
+ "apiBase": {
7
+ "type": "string",
8
+ "default": "https://60s.viki.moe",
9
+ "description": "60s API base URL"
10
+ }
11
+ }
12
+ }
package/src/index.ts CHANGED
@@ -1,44 +1,8 @@
1
- /**
2
- * @zhin.js/plugin-60s
3
- *
4
- * 60s API 聚合插件 —— 基于 https://github.com/vikiboss/60s
5
- *
6
- * 提供多种实用 API 功能,每个功能通过 tools/*.tool.md 文件定义:
7
- * - 聊天命令(/60s, /天气 北京, /微博 …)
8
- * - AI 工具(Agent 可通过关键词自动匹配并调用)
9
- *
10
- * 功能列表:
11
- * 60s新闻 · 天气 · 微博热搜 · 知乎热榜 · 抖音热搜 · 头条热搜
12
- * 一言 · 摸鱼日历 · IP查询 · Bing壁纸 · 金价 · 油价
13
- * 汇率 · 翻译 · 历史上的今天 · KFC文案 · 段子
14
- *
15
- * 所有工具定义在 tools/ 目录下,框架自动发现注册。
16
- *
17
- * 配置方式(zhin.config.yml):
18
- * ```yaml
19
- * plugins:
20
- * 60s:
21
- * apiBase: https://60s.viki.moe
22
- * ```
23
- */
24
- import { usePlugin } from 'zhin.js';
25
-
26
- const plugin = usePlugin();
27
- const { root } = plugin;
28
-
29
- // ─── 配置 ────────────────────────────────────────────────────────────────────
30
-
31
- interface Config {
32
- apiBase?: string;
33
- }
34
-
35
- const configService = root.inject('config');
36
- const appConfig = configService?.getPrimary<{ '60s'?: Config }>() || {};
37
- const config: Config = {
38
- apiBase: 'https://60s.viki.moe',
39
- ...appConfig['60s'],
40
- };
41
-
42
- // 将 API 地址写入环境变量,供 tool handler 使用
43
- process.env.ZHIN_60S_API = config.apiBase || 'https://60s.viki.moe';
44
-
1
+ export {
2
+ asArray,
3
+ asRecord,
4
+ asString,
5
+ fetchApi,
6
+ formatList,
7
+ } from './api.js';
8
+ export type { ApiPayload, ListItem } from './api.js';
@@ -1,13 +0,0 @@
1
- import { defineTool } from '@zhin.js/agent/tools';
2
- import { z } from 'zod';
3
- export default defineTool({
4
- description: "获取每日60秒新闻,快速了解今日要闻",
5
- inputSchema: z.object({}),
6
- keywords: ["60s", "新闻", "今日新闻", "60秒", "每日新闻", "读懂世界"],
7
- tags: ["新闻", "资讯", "60s"],
8
- async execute() {
9
- const handler = (await import('../../tools/60s-news/handler.js')).default;
10
- return handler();
11
- },
12
- });
13
- //# sourceMappingURL=60s_news.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"60s_news.js","sourceRoot":"","sources":["../../../agent/tools/60s_news.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAe,UAAU,CAAC;IACxB,WAAW,EAAE,oBAAoB;IACjC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;IACzB,QAAQ,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;IACtD,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC;IACzB,KAAK,CAAC,OAAO;QACX,MAAM,OAAO,GAAG,CAAC,MAAM,MAAM,CAAC,iCAAiC,CAAC,CAAC,CAAC,OAAO,CAAC;QAC1E,OAAO,OAAO,EAAE,CAAC;IACnB,CAAC;CACF,CAAC,CAAC"}
@@ -1,13 +0,0 @@
1
- import { defineTool } from '@zhin.js/agent/tools';
2
- import { z } from 'zod';
3
- export default defineTool({
4
- description: "获取 Bing 每日壁纸图片",
5
- inputSchema: z.object({}),
6
- keywords: ["bing", "必应", "壁纸", "每日壁纸"],
7
- tags: ["图片", "壁纸", "Bing"],
8
- async execute() {
9
- const handler = (await import('../../tools/bing-image/handler.js')).default;
10
- return handler();
11
- },
12
- });
13
- //# sourceMappingURL=bing_image.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bing_image.js","sourceRoot":"","sources":["../../../agent/tools/bing_image.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAe,UAAU,CAAC;IACxB,WAAW,EAAE,gBAAgB;IAC7B,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;IACzB,QAAQ,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC;IACtC,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,OAAO;QACX,MAAM,OAAO,GAAG,CAAC,MAAM,MAAM,CAAC,mCAAmC,CAAC,CAAC,CAAC,OAAO,CAAC;QAC5E,OAAO,OAAO,EAAE,CAAC;IACnB,CAAC;CACF,CAAC,CAAC"}
@@ -1,13 +0,0 @@
1
- import { defineTool } from '@zhin.js/agent/tools';
2
- import { z } from 'zod';
3
- export default defineTool({
4
- description: "获取抖音热搜榜",
5
- inputSchema: z.object({ limit: z.number().optional() }),
6
- keywords: ["抖音", "热搜", "douyin", "dy"],
7
- tags: ["热搜", "短视频", "抖音"],
8
- async execute(input) {
9
- const handler = (await import('../../tools/douyin-hot/handler.js')).default;
10
- return handler(input);
11
- },
12
- });
13
- //# sourceMappingURL=douyin_hot.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"douyin_hot.js","sourceRoot":"","sources":["../../../agent/tools/douyin_hot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAe,UAAU,CAAqB;IAC5C,WAAW,EAAE,SAAS;IACtB,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;IACvD,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC;IACtC,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC;IACzB,KAAK,CAAC,OAAO,CAAC,KAAK;QACjB,MAAM,OAAO,GAAG,CAAC,MAAM,MAAM,CAAC,mCAAmC,CAAC,CAAC,CAAC,OAAO,CAAC;QAC5E,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;CACF,CAAC,CAAC"}
@@ -1,13 +0,0 @@
1
- import { defineTool } from '@zhin.js/agent/tools';
2
- import { z } from 'zod';
3
- export default defineTool({
4
- description: "获取一个段子",
5
- inputSchema: z.object({}),
6
- keywords: ["段子", "笑话", "搞笑", "joke", "duanzi"],
7
- tags: ["娱乐", "笑话", "段子"],
8
- async execute() {
9
- const handler = (await import('../../tools/duanzi/handler.js')).default;
10
- return handler();
11
- },
12
- });
13
- //# sourceMappingURL=duanzi.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"duanzi.js","sourceRoot":"","sources":["../../../agent/tools/duanzi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAe,UAAU,CAAC;IACxB,WAAW,EAAE,QAAQ;IACrB,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;IACzB,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC;IAC9C,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;IACxB,KAAK,CAAC,OAAO;QACX,MAAM,OAAO,GAAG,CAAC,MAAM,MAAM,CAAC,+BAA+B,CAAC,CAAC,CAAC,OAAO,CAAC;QACxE,OAAO,OAAO,EAAE,CAAC;IACnB,CAAC;CACF,CAAC,CAAC"}
@@ -1,13 +0,0 @@
1
- import { defineTool } from '@zhin.js/agent/tools';
2
- import { z } from 'zod';
3
- export default defineTool({
4
- description: "查询货币汇率",
5
- inputSchema: z.object({ from: z.string().optional(), to: z.string().optional() }),
6
- keywords: ["汇率", "兑换", "外汇", "exchange", "rate"],
7
- tags: ["金融", "汇率", "查询"],
8
- async execute(input) {
9
- const handler = (await import('../../tools/exchange-rate/handler.js')).default;
10
- return handler(input);
11
- },
12
- });
13
- //# sourceMappingURL=exchange_rate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"exchange_rate.js","sourceRoot":"","sources":["../../../agent/tools/exchange_rate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAe,UAAU,CAAiC;IACxD,WAAW,EAAE,QAAQ;IACrB,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;IACjF,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC;IAChD,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;IACxB,KAAK,CAAC,OAAO,CAAC,KAAK;QACjB,MAAM,OAAO,GAAG,CAAC,MAAM,MAAM,CAAC,sCAAsC,CAAC,CAAC,CAAC,OAAO,CAAC;QAC/E,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;CACF,CAAC,CAAC"}
@@ -1,13 +0,0 @@
1
- import { defineTool } from '@zhin.js/agent/tools';
2
- import { z } from 'zod';
3
- export default defineTool({
4
- description: "查询今日油价",
5
- inputSchema: z.object({ province: z.string().optional() }),
6
- keywords: ["油价", "汽油", "柴油", "fuel"],
7
- tags: ["生活", "油价", "价格"],
8
- async execute(input) {
9
- const handler = (await import('../../tools/fuel-price/handler.js')).default;
10
- return handler(input);
11
- },
12
- });
13
- //# sourceMappingURL=fuel_price.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fuel_price.js","sourceRoot":"","sources":["../../../agent/tools/fuel_price.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAe,UAAU,CAAwB;IAC/C,WAAW,EAAE,QAAQ;IACrB,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;IAC1D,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC;IACpC,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;IACxB,KAAK,CAAC,OAAO,CAAC,KAAK;QACjB,MAAM,OAAO,GAAG,CAAC,MAAM,MAAM,CAAC,mCAAmC,CAAC,CAAC,CAAC,OAAO,CAAC;QAC5E,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;CACF,CAAC,CAAC"}
@@ -1,13 +0,0 @@
1
- import { defineTool } from '@zhin.js/agent/tools';
2
- import { z } from 'zod';
3
- export default defineTool({
4
- description: "查询今日黄金价格",
5
- inputSchema: z.object({}),
6
- keywords: ["金价", "黄金", "黄金价格", "gold"],
7
- tags: ["金融", "黄金", "价格"],
8
- async execute() {
9
- const handler = (await import('../../tools/gold-price/handler.js')).default;
10
- return handler();
11
- },
12
- });
13
- //# sourceMappingURL=gold_price.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gold_price.js","sourceRoot":"","sources":["../../../agent/tools/gold_price.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAe,UAAU,CAAC;IACxB,WAAW,EAAE,UAAU;IACvB,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;IACzB,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC;IACtC,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;IACxB,KAAK,CAAC,OAAO;QACX,MAAM,OAAO,GAAG,CAAC,MAAM,MAAM,CAAC,mCAAmC,CAAC,CAAC,CAAC,OAAO,CAAC;QAC5E,OAAO,OAAO,EAAE,CAAC;IACnB,CAAC;CACF,CAAC,CAAC"}
@@ -1,13 +0,0 @@
1
- import { defineTool } from '@zhin.js/agent/tools';
2
- import { z } from 'zod';
3
- export default defineTool({
4
- description: "查看历史上的今天发生了什么",
5
- inputSchema: z.object({}),
6
- keywords: ["历史", "历史上的今天", "今天历史", "history"],
7
- tags: ["历史", "知识", "日历"],
8
- async execute() {
9
- const handler = (await import('../../tools/history-today/handler.js')).default;
10
- return handler();
11
- },
12
- });
13
- //# sourceMappingURL=history_today.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"history_today.js","sourceRoot":"","sources":["../../../agent/tools/history_today.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAe,UAAU,CAAC;IACxB,WAAW,EAAE,eAAe;IAC5B,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;IACzB,QAAQ,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC;IAC7C,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;IACxB,KAAK,CAAC,OAAO;QACX,MAAM,OAAO,GAAG,CAAC,MAAM,MAAM,CAAC,sCAAsC,CAAC,CAAC,CAAC,OAAO,CAAC;QAC/E,OAAO,OAAO,EAAE,CAAC;IACnB,CAAC;CACF,CAAC,CAAC"}
@@ -1,13 +0,0 @@
1
- import { defineTool } from '@zhin.js/agent/tools';
2
- import { z } from 'zod';
3
- export default defineTool({
4
- description: "获取一言/每日一句,随机返回一条语句",
5
- inputSchema: z.object({ type: z.string().optional() }),
6
- keywords: ["一言", "每日一句", "语录", "名言", "hitokoto"],
7
- tags: ["语录", "文学", "随机"],
8
- async execute(input) {
9
- const handler = (await import('../../tools/hitokoto/handler.js')).default;
10
- return handler(input);
11
- },
12
- });
13
- //# sourceMappingURL=hitokoto.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hitokoto.js","sourceRoot":"","sources":["../../../agent/tools/hitokoto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAe,UAAU,CAAoB;IAC3C,WAAW,EAAE,oBAAoB;IACjC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;IACtD,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC;IAChD,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;IACxB,KAAK,CAAC,OAAO,CAAC,KAAK;QACjB,MAAM,OAAO,GAAG,CAAC,MAAM,MAAM,CAAC,iCAAiC,CAAC,CAAC,CAAC,OAAO,CAAC;QAC1E,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;CACF,CAAC,CAAC"}
@@ -1,13 +0,0 @@
1
- import { defineTool } from '@zhin.js/agent/tools';
2
- import { z } from 'zod';
3
- export default defineTool({
4
- description: "查询 IP 地址的地理位置信息",
5
- inputSchema: z.object({ ip: z.string().optional() }),
6
- keywords: ["ip", "IP", "IP查询", "ip查询"],
7
- tags: ["网络", "查询", "IP"],
8
- async execute(input) {
9
- const handler = (await import('../../tools/ip-query/handler.js')).default;
10
- return handler(input);
11
- },
12
- });
13
- //# sourceMappingURL=ip_query.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ip_query.js","sourceRoot":"","sources":["../../../agent/tools/ip_query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAe,UAAU,CAAkB;IACzC,WAAW,EAAE,iBAAiB;IAC9B,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;IACpD,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC;IACtC,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;IACxB,KAAK,CAAC,OAAO,CAAC,KAAK;QACjB,MAAM,OAAO,GAAG,CAAC,MAAM,MAAM,CAAC,iCAAiC,CAAC,CAAC,CAAC,OAAO,CAAC;QAC1E,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;CACF,CAAC,CAAC"}
@@ -1,13 +0,0 @@
1
- import { defineTool } from '@zhin.js/agent/tools';
2
- import { z } from 'zod';
3
- export default defineTool({
4
- description: "获取 KFC 疯狂星期四文案",
5
- inputSchema: z.object({}),
6
- keywords: ["kfc", "KFC", "疯狂星期四", "v50", "肯德基"],
7
- tags: ["娱乐", "KFC", "文案"],
8
- async execute() {
9
- const handler = (await import('../../tools/kfc/handler.js')).default;
10
- return handler();
11
- },
12
- });
13
- //# sourceMappingURL=kfc.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"kfc.js","sourceRoot":"","sources":["../../../agent/tools/kfc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAe,UAAU,CAAC;IACxB,WAAW,EAAE,gBAAgB;IAC7B,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;IACzB,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC;IAC/C,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC;IACzB,KAAK,CAAC,OAAO;QACX,MAAM,OAAO,GAAG,CAAC,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC,CAAC,OAAO,CAAC;QACrE,OAAO,OAAO,EAAE,CAAC;IACnB,CAAC;CACF,CAAC,CAAC"}
@@ -1,13 +0,0 @@
1
- import { defineTool } from '@zhin.js/agent/tools';
2
- import { z } from 'zod';
3
- export default defineTool({
4
- description: "获取摸鱼日历,查看今天适不适合摸鱼",
5
- inputSchema: z.object({}),
6
- keywords: ["摸鱼", "摸鱼日历", "moyu"],
7
- tags: ["生活", "摸鱼", "日历"],
8
- async execute() {
9
- const handler = (await import('../../tools/moyu/handler.js')).default;
10
- return handler();
11
- },
12
- });
13
- //# sourceMappingURL=moyu.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"moyu.js","sourceRoot":"","sources":["../../../agent/tools/moyu.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAe,UAAU,CAAC;IACxB,WAAW,EAAE,mBAAmB;IAChC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;IACzB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC;IAChC,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;IACxB,KAAK,CAAC,OAAO;QACX,MAAM,OAAO,GAAG,CAAC,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC,CAAC,OAAO,CAAC;QACtE,OAAO,OAAO,EAAE,CAAC;IACnB,CAAC;CACF,CAAC,CAAC"}
@@ -1,13 +0,0 @@
1
- import { defineTool } from '@zhin.js/agent/tools';
2
- import { z } from 'zod';
3
- export default defineTool({
4
- description: "获取今日头条热搜榜",
5
- inputSchema: z.object({ limit: z.number().optional() }),
6
- keywords: ["头条", "今日头条", "热搜", "toutiao", "tt"],
7
- tags: ["热搜", "资讯", "头条"],
8
- async execute(input) {
9
- const handler = (await import('../../tools/toutiao-hot/handler.js')).default;
10
- return handler(input);
11
- },
12
- });
13
- //# sourceMappingURL=toutiao_hot.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"toutiao_hot.js","sourceRoot":"","sources":["../../../agent/tools/toutiao_hot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAe,UAAU,CAAqB;IAC5C,WAAW,EAAE,WAAW;IACxB,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;IACvD,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC;IAC/C,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;IACxB,KAAK,CAAC,OAAO,CAAC,KAAK;QACjB,MAAM,OAAO,GAAG,CAAC,MAAM,MAAM,CAAC,oCAAoC,CAAC,CAAC,CAAC,OAAO,CAAC;QAC7E,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;CACF,CAAC,CAAC"}
@@ -1,13 +0,0 @@
1
- import { defineTool } from '@zhin.js/agent/tools';
2
- import { z } from 'zod';
3
- export default defineTool({
4
- description: "翻译文本",
5
- inputSchema: z.object({ text: z.string().min(1), to: z.string().optional() }),
6
- keywords: ["翻译", "英文", "中文", "日文", "translate", "译"],
7
- tags: ["工具", "翻译", "语言"],
8
- async execute(input) {
9
- const handler = (await import('../../tools/translate/handler.js')).default;
10
- return handler(input);
11
- },
12
- });
13
- //# sourceMappingURL=translate_60s.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"translate_60s.js","sourceRoot":"","sources":["../../../agent/tools/translate_60s.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAe,UAAU,CAAgC;IACvD,WAAW,EAAE,MAAM;IACnB,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;IAC7E,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,CAAC;IACpD,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;IACxB,KAAK,CAAC,OAAO,CAAC,KAAK;QACjB,MAAM,OAAO,GAAG,CAAC,MAAM,MAAM,CAAC,kCAAkC,CAAC,CAAC,CAAC,OAAO,CAAC;QAC3E,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;CACF,CAAC,CAAC"}
@@ -1,13 +0,0 @@
1
- import { defineTool } from '@zhin.js/agent/tools';
2
- import { z } from 'zod';
3
- export default defineTool({
4
- description: "查询指定城市的当前天气信息",
5
- inputSchema: z.object({ city: z.string() }),
6
- keywords: ["天气", "气温", "温度", "下雨", "晴天", "阴天", "weather"],
7
- tags: ["天气", "生活", "查询"],
8
- async execute(input) {
9
- const handler = (await import('../../tools/weather/handler.js')).default;
10
- return handler(input);
11
- },
12
- });
13
- //# sourceMappingURL=weather.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"weather.js","sourceRoot":"","sources":["../../../agent/tools/weather.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAe,UAAU,CAAmB;IAC1C,WAAW,EAAE,eAAe;IAC5B,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;IAC3C,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;IACzD,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;IACxB,KAAK,CAAC,OAAO,CAAC,KAAK;QACjB,MAAM,OAAO,GAAG,CAAC,MAAM,MAAM,CAAC,gCAAgC,CAAC,CAAC,CAAC,OAAO,CAAC;QACzE,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;CACF,CAAC,CAAC"}
@@ -1,13 +0,0 @@
1
- import { defineTool } from '@zhin.js/agent/tools';
2
- import { z } from 'zod';
3
- export default defineTool({
4
- description: "获取微博热搜榜",
5
- inputSchema: z.object({ limit: z.number().optional() }),
6
- keywords: ["微博", "热搜", "weibo", "wb"],
7
- tags: ["热搜", "社交", "微博"],
8
- async execute(input) {
9
- const handler = (await import('../../tools/weibo-hot/handler.js')).default;
10
- return handler(input);
11
- },
12
- });
13
- //# sourceMappingURL=weibo_hot.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"weibo_hot.js","sourceRoot":"","sources":["../../../agent/tools/weibo_hot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAe,UAAU,CAAqB;IAC5C,WAAW,EAAE,SAAS;IACtB,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;IACvD,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC;IACrC,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;IACxB,KAAK,CAAC,OAAO,CAAC,KAAK;QACjB,MAAM,OAAO,GAAG,CAAC,MAAM,MAAM,CAAC,kCAAkC,CAAC,CAAC,CAAC,OAAO,CAAC;QAC3E,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;CACF,CAAC,CAAC"}
@@ -1,13 +0,0 @@
1
- import { defineTool } from '@zhin.js/agent/tools';
2
- import { z } from 'zod';
3
- export default defineTool({
4
- description: "获取知乎热榜",
5
- inputSchema: z.object({ limit: z.number().optional() }),
6
- keywords: ["知乎", "热榜", "zhihu", "zh"],
7
- tags: ["热搜", "社交", "知乎"],
8
- async execute(input) {
9
- const handler = (await import('../../tools/zhihu-hot/handler.js')).default;
10
- return handler(input);
11
- },
12
- });
13
- //# sourceMappingURL=zhihu_hot.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"zhihu_hot.js","sourceRoot":"","sources":["../../../agent/tools/zhihu_hot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAe,UAAU,CAAqB;IAC5C,WAAW,EAAE,QAAQ;IACrB,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;IACvD,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC;IACrC,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;IACxB,KAAK,CAAC,OAAO,CAAC,KAAK;QACjB,MAAM,OAAO,GAAG,CAAC,MAAM,MAAM,CAAC,kCAAkC,CAAC,CAAC,CAAC,OAAO,CAAC;QAC3E,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;CACF,CAAC,CAAC"}
package/lib/src/index.js DELETED
@@ -1,35 +0,0 @@
1
- /**
2
- * @zhin.js/plugin-60s
3
- *
4
- * 60s API 聚合插件 —— 基于 https://github.com/vikiboss/60s
5
- *
6
- * 提供多种实用 API 功能,每个功能通过 tools/*.tool.md 文件定义:
7
- * - 聊天命令(/60s, /天气 北京, /微博 …)
8
- * - AI 工具(Agent 可通过关键词自动匹配并调用)
9
- *
10
- * 功能列表:
11
- * 60s新闻 · 天气 · 微博热搜 · 知乎热榜 · 抖音热搜 · 头条热搜
12
- * 一言 · 摸鱼日历 · IP查询 · Bing壁纸 · 金价 · 油价
13
- * 汇率 · 翻译 · 历史上的今天 · KFC文案 · 段子
14
- *
15
- * 所有工具定义在 tools/ 目录下,框架自动发现注册。
16
- *
17
- * 配置方式(zhin.config.yml):
18
- * ```yaml
19
- * plugins:
20
- * 60s:
21
- * apiBase: https://60s.viki.moe
22
- * ```
23
- */
24
- import { usePlugin } from 'zhin.js';
25
- const plugin = usePlugin();
26
- const { root } = plugin;
27
- const configService = root.inject('config');
28
- const appConfig = configService?.getPrimary() || {};
29
- const config = {
30
- apiBase: 'https://60s.viki.moe',
31
- ...appConfig['60s'],
32
- };
33
- // 将 API 地址写入环境变量,供 tool handler 使用
34
- process.env.ZHIN_60S_API = config.apiBase || 'https://60s.viki.moe';
35
- //# sourceMappingURL=index.js.map