openclaw-github-trending 1.0.0

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 (75) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +480 -0
  3. package/dist/channels/email.d.ts +61 -0
  4. package/dist/channels/email.d.ts.map +1 -0
  5. package/dist/channels/email.js +599 -0
  6. package/dist/channels/email.js.map +1 -0
  7. package/dist/channels/feishu.d.ts +50 -0
  8. package/dist/channels/feishu.d.ts.map +1 -0
  9. package/dist/channels/feishu.js +322 -0
  10. package/dist/channels/feishu.js.map +1 -0
  11. package/dist/channels/types.d.ts +66 -0
  12. package/dist/channels/types.d.ts.map +1 -0
  13. package/dist/channels/types.js +12 -0
  14. package/dist/channels/types.js.map +1 -0
  15. package/dist/cli.d.ts +2 -0
  16. package/dist/cli.d.ts.map +1 -0
  17. package/dist/cli.js.map +1 -0
  18. package/dist/core/config.d.ts +83 -0
  19. package/dist/core/config.d.ts.map +1 -0
  20. package/dist/core/config.js +145 -0
  21. package/dist/core/config.js.map +1 -0
  22. package/dist/core/fetcher.d.ts +43 -0
  23. package/dist/core/fetcher.d.ts.map +1 -0
  24. package/dist/core/fetcher.js +306 -0
  25. package/dist/core/fetcher.js.map +1 -0
  26. package/dist/core/file-storage.d.ts +62 -0
  27. package/dist/core/file-storage.d.ts.map +1 -0
  28. package/dist/core/file-storage.js +253 -0
  29. package/dist/core/file-storage.js.map +1 -0
  30. package/dist/core/history.d.ts +71 -0
  31. package/dist/core/history.d.ts.map +1 -0
  32. package/dist/core/history.js +133 -0
  33. package/dist/core/history.js.map +1 -0
  34. package/dist/core/summarizer.d.ts +64 -0
  35. package/dist/core/summarizer.d.ts.map +1 -0
  36. package/dist/core/summarizer.js +324 -0
  37. package/dist/core/summarizer.js.map +1 -0
  38. package/dist/index.d.ts +2 -0
  39. package/dist/index.d.ts.map +1 -0
  40. package/dist/index.js +668 -0
  41. package/dist/index.js.map +1 -0
  42. package/dist/models/config.d.ts +93 -0
  43. package/dist/models/config.d.ts.map +1 -0
  44. package/dist/models/config.js +3 -0
  45. package/dist/models/config.js.map +1 -0
  46. package/dist/models/history.d.ts +6 -0
  47. package/dist/models/history.d.ts.map +1 -0
  48. package/dist/models/history.js +7 -0
  49. package/dist/models/history.js.map +1 -0
  50. package/dist/models/repository.d.ts +28 -0
  51. package/dist/models/repository.d.ts.map +1 -0
  52. package/dist/models/repository.js +3 -0
  53. package/dist/models/repository.js.map +1 -0
  54. package/dist/models/service.types.d.ts +87 -0
  55. package/dist/models/service.types.d.ts.map +1 -0
  56. package/dist/models/service.types.js +3 -0
  57. package/dist/models/service.types.js.map +1 -0
  58. package/dist/services/trending.service.d.ts +29 -0
  59. package/dist/services/trending.service.d.ts.map +1 -0
  60. package/dist/services/trending.service.js +306 -0
  61. package/dist/services/trending.service.js.map +1 -0
  62. package/dist/tool.d.ts +47 -0
  63. package/dist/tool.d.ts.map +1 -0
  64. package/dist/tool.js +314 -0
  65. package/dist/tool.js.map +1 -0
  66. package/dist/utils/logger.d.ts +77 -0
  67. package/dist/utils/logger.d.ts.map +1 -0
  68. package/dist/utils/logger.js +214 -0
  69. package/dist/utils/logger.js.map +1 -0
  70. package/dist/utils/markdown.d.ts +9 -0
  71. package/dist/utils/markdown.d.ts.map +1 -0
  72. package/dist/utils/markdown.js +40 -0
  73. package/dist/utils/markdown.js.map +1 -0
  74. package/openclaw.plugin.json +152 -0
  75. package/package.json +78 -0
@@ -0,0 +1,324 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.AISummarizer = void 0;
7
+ const openai_1 = require("openai");
8
+ const sdk_1 = __importDefault(require("@anthropic-ai/sdk"));
9
+ const logger_1 = require("../utils/logger");
10
+ const logger = logger_1.Logger.get('Summarizer');
11
+ /**
12
+ * AI Summarizer class
13
+ * Generates Chinese summaries for GitHub repositories using OpenAI or Anthropic API
14
+ */
15
+ class AISummarizer {
16
+ /**
17
+ * Create a new AISummarizer instance
18
+ * @param config AI configuration
19
+ */
20
+ constructor(config) {
21
+ this.provider = config.provider;
22
+ this.model = config.model;
23
+ if (config.provider === 'openai') {
24
+ this.openaiClient = new openai_1.OpenAI({
25
+ apiKey: config.apiKey,
26
+ baseURL: config.baseUrl
27
+ });
28
+ }
29
+ else {
30
+ this.anthropicClient = new sdk_1.default({
31
+ apiKey: config.apiKey,
32
+ baseURL: config.baseUrl
33
+ });
34
+ }
35
+ }
36
+ /**
37
+ * Build the prompt for AI summary generation
38
+ * @param repo Repository information
39
+ * @returns Prompt string
40
+ */
41
+ buildPrompt(repo) {
42
+ const { name, full_name, url, stars, description, language, forks, readme_content } = repo;
43
+ let prompt = `请为以下 GitHub 仓库生成一个简洁的中文摘要:
44
+
45
+ 仓库名称: ${name}
46
+ 完整名称: ${full_name}
47
+ 仓库地址: ${url}
48
+ -stars: ${stars}
49
+ `;
50
+ if (language) {
51
+ prompt += `编程语言: ${language}
52
+ `;
53
+ }
54
+ if (forks !== undefined) {
55
+ prompt += `Forks: ${forks}
56
+ `;
57
+ }
58
+ if (description) {
59
+ prompt += `仓库描述: ${description}
60
+ `;
61
+ }
62
+ if (readme_content) {
63
+ prompt += `README 内容:
64
+ ${readme_content}
65
+ `;
66
+ }
67
+ prompt += `
68
+ 请根据以上信息以及你从网络上搜集到的该 github 项目的相关信息,生成一个 200-300 字的中文摘要,包含:
69
+ 1. 仓库的主要功能和用途
70
+ 2. 核心特性
71
+ 3. 适合的使用场景
72
+
73
+ 摘要应该简洁明了,突出重点。`;
74
+ return prompt;
75
+ }
76
+ /**
77
+ * Generate AI summary for a repository using OpenAI
78
+ * @param repo Repository information
79
+ * @returns AI-generated summary in Chinese, or empty string if failed
80
+ */
81
+ async generateSummaryOpenAI(repo) {
82
+ const prompt = this.buildPrompt(repo);
83
+ logger.info('AI Summarizer] Generating summary using OpenAI', {
84
+ fullName: repo.full_name,
85
+ model: this.model,
86
+ provider: this.provider,
87
+ promptLength: prompt.length
88
+ });
89
+ try {
90
+ const startTime = Date.now();
91
+ const response = await this.openaiClient.chat.completions.create({
92
+ model: this.model,
93
+ messages: [
94
+ {
95
+ role: 'system',
96
+ content: '你是一个专业的技术文档撰写者。你的任务是为 GitHub 仓库生成简洁、准确的中文摘要。摘要应该用中文编写,适合开发者快速了解仓库的用途和特点。'
97
+ },
98
+ {
99
+ role: 'user',
100
+ content: prompt
101
+ }
102
+ ],
103
+ temperature: 0.7,
104
+ max_tokens: 300
105
+ });
106
+ const duration = Date.now() - startTime;
107
+ const summary = response.choices[0]?.message?.content || '';
108
+ logger.info('AI Summarizer] ✅ Summary generated successfully', {
109
+ fullName: repo.full_name,
110
+ summaryLength: summary.length,
111
+ durationMs: duration,
112
+ finishReason: response.choices[0]?.finish_reason
113
+ });
114
+ return summary.trim();
115
+ }
116
+ catch (error) {
117
+ logger.error('AI Summarizer] ❌ Failed to generate summary with OpenAI', {
118
+ fullName: repo.full_name,
119
+ error: error instanceof Error ? error.message : 'Unknown error',
120
+ stack: error instanceof Error ? error.stack : undefined
121
+ });
122
+ return '';
123
+ }
124
+ }
125
+ /**
126
+ * Generate AI summary for a repository using Anthropic
127
+ * @param repo Repository information
128
+ * @returns AI-generated summary in Chinese, or empty string if failed
129
+ */
130
+ async generateSummaryAnthropic(repo) {
131
+ const prompt = this.buildPrompt(repo);
132
+ logger.info('AI Summarizer] Generating summary using Anthropic', {
133
+ fullName: repo.full_name,
134
+ model: this.model,
135
+ provider: this.provider,
136
+ promptLength: prompt.length
137
+ });
138
+ try {
139
+ const startTime = Date.now();
140
+ const response = await this.anthropicClient.messages.create({
141
+ model: this.model,
142
+ max_tokens: 300,
143
+ system: '你是一个专业的技术文档撰写者。你的任务是为 GitHub 仓库生成简洁、准确的中文摘要。摘要应该用中文编写,适合开发者快速了解仓库的用途和特点。',
144
+ messages: [
145
+ {
146
+ role: 'user',
147
+ content: prompt
148
+ }
149
+ ]
150
+ });
151
+ const duration = Date.now() - startTime;
152
+ const firstBlock = response.content[0];
153
+ const summary = firstBlock.type === 'text' ? firstBlock.text : '';
154
+ logger.info('AI Summarizer] ✅ Summary generated successfully', {
155
+ fullName: repo.full_name,
156
+ summaryLength: summary.length,
157
+ durationMs: duration,
158
+ usage: response.usage
159
+ });
160
+ return summary.trim();
161
+ }
162
+ catch (error) {
163
+ logger.error('AI Summarizer] ❌ Failed to generate summary with Anthropic', {
164
+ fullName: repo.full_name,
165
+ error: error instanceof Error ? error.message : 'Unknown error',
166
+ stack: error instanceof Error ? error.stack : undefined
167
+ });
168
+ return '';
169
+ }
170
+ }
171
+ /**
172
+ * Generate AI summary for a repository
173
+ * @param repo Repository information
174
+ * @returns AI-generated summary in Chinese, or empty string if failed
175
+ */
176
+ async generateSummary(repo) {
177
+ if (this.provider === 'openai') {
178
+ return this.generateSummaryOpenAI(repo);
179
+ }
180
+ else {
181
+ return this.generateSummaryAnthropic(repo);
182
+ }
183
+ }
184
+ /**
185
+ * Generate AI summary from README content using OpenAI
186
+ * @param fullName Repository full name (owner/repo)
187
+ * @param readmeContent README.md content
188
+ * @returns AI-generated summary in Chinese, or empty string if failed
189
+ */
190
+ async summarizeReadmeOpenAI(fullName, readmeContent) {
191
+ const prompt = `你是一个资深的技术专家。请根据以下 GitHub 项目的 README 内容,用中文简明扼要地总结它的核心功能和使用场景。
192
+
193
+ 项目名称:${fullName}
194
+
195
+ README 内容:
196
+ ${readmeContent}
197
+
198
+ 请生成一个 200-300 字的中文摘要,包含:
199
+ 1. 项目的主要功能和用途
200
+ 2. 核心特性
201
+ 3. 适合的使用场景
202
+
203
+ 摘要应该简洁明了,突出重点。`;
204
+ logger.info('AI Summarizer] Generating README summary using OpenAI', {
205
+ fullName,
206
+ model: this.model,
207
+ provider: this.provider,
208
+ readmeLength: readmeContent.length,
209
+ promptLength: prompt.length
210
+ });
211
+ try {
212
+ const startTime = Date.now();
213
+ const response = await this.openaiClient.chat.completions.create({
214
+ model: this.model,
215
+ messages: [
216
+ {
217
+ role: 'system',
218
+ content: '你是一个专业的技术文档撰写者。你的任务是根据 GitHub 项目的 README 内容生成简洁、准确的中文摘要。摘要应该用中文编写,适合开发者快速了解项目的用途和特点。'
219
+ },
220
+ {
221
+ role: 'user',
222
+ content: prompt
223
+ }
224
+ ],
225
+ temperature: 0.7,
226
+ max_tokens: 300
227
+ });
228
+ const duration = Date.now() - startTime;
229
+ const summary = response.choices[0]?.message?.content || '';
230
+ logger.info('AI Summarizer] ✅ README summary generated successfully', {
231
+ fullName,
232
+ summaryLength: summary.length,
233
+ durationMs: duration,
234
+ finishReason: response.choices[0]?.finish_reason
235
+ });
236
+ return summary.trim();
237
+ }
238
+ catch (error) {
239
+ logger.error('AI Summarizer] ❌ Failed to generate README summary with OpenAI', {
240
+ fullName,
241
+ error: error instanceof Error ? error.message : 'Unknown error',
242
+ stack: error instanceof Error ? error.stack : undefined
243
+ });
244
+ return '';
245
+ }
246
+ }
247
+ /**
248
+ * Generate AI summary from README content using Anthropic
249
+ * @param fullName Repository full name (owner/repo)
250
+ * @param readmeContent README.md content
251
+ * @returns AI-generated summary in Chinese, or empty string if failed
252
+ */
253
+ async summarizeReadmeAnthropic(fullName, readmeContent) {
254
+ const prompt = `你是一个资深的技术专家。请根据以下 GitHub 项目的 README 内容,用中文简明扼要地总结它的核心功能和使用场景。
255
+
256
+ 项目名称:${fullName}
257
+
258
+ README 内容:
259
+ ${readmeContent}
260
+
261
+ 请生成一个 200-300 字的中文摘要,包含:
262
+ 1. 项目的主要功能和用途
263
+ 2. 核心特性
264
+ 3. 适合的使用场景
265
+
266
+ 摘要应该简洁明了,突出重点。`;
267
+ logger.info('AI Summarizer] Generating README summary using Anthropic', {
268
+ fullName,
269
+ model: this.model,
270
+ provider: this.provider,
271
+ readmeLength: readmeContent.length,
272
+ promptLength: prompt.length
273
+ });
274
+ try {
275
+ const startTime = Date.now();
276
+ const response = await this.anthropicClient.messages.create({
277
+ model: this.model,
278
+ max_tokens: 300,
279
+ system: '你是一个专业的技术文档撰写者。你的任务是根据 GitHub 项目的 README 内容生成简洁、准确的中文摘要。摘要应该用中文编写,适合开发者快速了解项目的用途和特点。',
280
+ messages: [
281
+ {
282
+ role: 'user',
283
+ content: prompt
284
+ }
285
+ ]
286
+ });
287
+ const duration = Date.now() - startTime;
288
+ const firstBlock = response.content[0];
289
+ const summary = firstBlock.type === 'text' ? firstBlock.text : '';
290
+ logger.info('AI Summarizer] ✅ README summary generated successfully', {
291
+ fullName,
292
+ summaryLength: summary.length,
293
+ durationMs: duration,
294
+ usage: response.usage
295
+ });
296
+ return summary.trim();
297
+ }
298
+ catch (error) {
299
+ logger.error('AI Summarizer] ❌ Failed to generate README summary with Anthropic', {
300
+ fullName,
301
+ error: error instanceof Error ? error.message : 'Unknown error',
302
+ stack: error instanceof Error ? error.stack : undefined
303
+ });
304
+ return '';
305
+ }
306
+ }
307
+ /**
308
+ * Generate AI summary from README content
309
+ * @param fullName Repository full name (owner/repo)
310
+ * @param readmeContent README.md content
311
+ * @returns AI-generated summary in Chinese, or empty string if failed
312
+ */
313
+ async summarizeReadme(fullName, readmeContent) {
314
+ if (this.provider === 'openai') {
315
+ return this.summarizeReadmeOpenAI(fullName, readmeContent);
316
+ }
317
+ else {
318
+ return this.summarizeReadmeAnthropic(fullName, readmeContent);
319
+ }
320
+ }
321
+ }
322
+ exports.AISummarizer = AISummarizer;
323
+ exports.default = AISummarizer;
324
+ //# sourceMappingURL=summarizer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"summarizer.js","sourceRoot":"","sources":["../../src/core/summarizer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export default function (api: any): void;
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAeA,MAAM,CAAC,OAAO,WAAW,GAAG,EAAE,GAAG,QAqrBhC"}