get-sspai-rank
Retrieve trending Chinese tech and lifestyle content from SSPAI, including product reviews, app recommendations, and productivity tips, categorized by topic.
Instructions
获取少数派热榜,包含数码产品评测、软件应用推荐、生活方式指南及效率工作技巧的优质中文科技生活类内容
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| tag | No | 分类 | 热门文章 |
| limit | No |
Implementation Reference
- src/tools/sspai.ts:17-46 (handler)The main handler function that executes the tool: parses input, makes HTTP request to SSPAI API, handles errors, maps response data to output format with title, summary, author, timestamps, counts, and link.func: async (args) => { const { tag, limit } = sspaiRequestSchema.parse(args); const resp = await http.get<{ error: number; msg: string; data: any[]; }>('https://sspai.com/api/v1/article/tag/page/get', { params: { tag, limit, }, }); if (resp.data.error !== 0 || !Array.isArray(resp.data.data)) { throw new Error(resp.data.msg || '获取少数派热榜失败'); } return resp.data.data.map((item) => { return { title: item.title, summary: item.summary, author: item.author.nickname, released_time: dayjs.unix(item.released_time).toISOString(), comment_count: item.comment_count, like_count: item.like_count, view_count: item.view_count, link: `https://sspai.com/post/${item.id}`, }; }); },
- src/tools/sspai.ts:4-11 (schema)Zod schema for validating tool inputs: tag (optional category enum, default '热门文章'), limit (optional integer, default 40).const sspaiRequestSchema = z.object({ tag: z .enum(['热门文章', '应用推荐', '生活方式', '效率技巧', '少数派播客']) .optional() .default('热门文章') .describe('分类'), limit: z.number().int().optional().default(40), });
- src/tools/sspai.ts:13-47 (registration)Tool registration via defineToolConfig, defining name 'get-sspai-rank', description, input schema, and handler function.export default defineToolConfig({ name: 'get-sspai-rank', description: '获取少数派热榜,包含数码产品评测、软件应用推荐、生活方式指南及效率工作技巧的优质中文科技生活类内容', zodSchema: sspaiRequestSchema, func: async (args) => { const { tag, limit } = sspaiRequestSchema.parse(args); const resp = await http.get<{ error: number; msg: string; data: any[]; }>('https://sspai.com/api/v1/article/tag/page/get', { params: { tag, limit, }, }); if (resp.data.error !== 0 || !Array.isArray(resp.data.data)) { throw new Error(resp.data.msg || '获取少数派热榜失败'); } return resp.data.data.map((item) => { return { title: item.title, summary: item.summary, author: item.author.nickname, released_time: dayjs.unix(item.released_time).toISOString(), comment_count: item.comment_count, like_count: item.like_count, view_count: item.view_count, link: `https://sspai.com/post/${item.id}`, }; }); }, });