Trends Hub

by baranwang
Verified
import { z } from 'zod'; import { dayjs, defineToolConfig, handleSuccessResult, http } from '../utils'; const zhihuTrendingSchema = z.object({ limit: z.number().optional().default(50), }); export default defineToolConfig({ name: 'get-zhihu-trending', description: '获取知乎热榜,包含时事热点、社会话题、科技动态、娱乐八卦等多领域的热门问答和讨论的中文资讯', zodSchema: zhihuTrendingSchema, func: async (args: unknown) => { const { limit } = zhihuTrendingSchema.parse(args); const resp = await http.get<{ data: any[] }>('https://www.zhihu.com/api/v3/feed/topstory/hot-lists/total', { params: { limit, desktop: 'true', }, }); if (!Array.isArray(resp.data.data)) { throw new Error('获取知乎热榜失败'); } return resp.data.data.map((item) => { const data = item.target; return { title: data.title, description: data.excerpt, cover: item.children[0].thumbnail, created: dayjs.unix(data.created).toISOString(), popularity: item.detail_text, link: `https://www.zhihu.com/question/${data.id}`, }; }); }, });