编程导航AI热点监控平台话题讨论

AI热点监控平台

4 参与
分享

快来分享你的内容吧~

点击登录,快来和大家讨论吧~
表情
图片
话题
打卡
综合
交流
文章
问答

AI 热点监控平台项目 VibeCoding 项目

# 需求 作为一名程序员,为了与时俱进,想要第一时间获取一些热点信息,不依赖人工搜索, 而是利用工具自动发现,指定的热点变化,或者最新热点,并且及时给用户发送通知,让我能走在信息获取的第一线 💡由于是一个比较轻量化的小需求(工具类项目),所以打算采用较为捷敏的开发方式,不用过多的人工介入和工程化 具体功能: + 用户输入要监控的关键词,当这个关键词内容出现,(注意利用 AI识别假冒的内容),并第一时间发送通知 + 每隔一段时间,自动收集用户输入的指定范围,(比如AI 编程)内的热点,并且能够让用户看到 产品的形式: + 响应式兼容 web 页面 + 封装成 Agent Skills 技能,能够交给其他 AI agent 来监控和发现热点 # 环境准备 + Vscode + claude code /codex + claude sonnet/gpt5.4 大模型 + 扩展 MCP (mcp 就是让 ai 获取外部的数据,操作外部的系统,增强 ai 的能力 ) - codex 内置浏览器 - context7 获取最新的文档,防止 AI 使用过时代码 + 需要安装的 skills(skill 就是 给 ai 快速学各种专业技能,各种技能生成包,本质是一份代码脚本和说使用明书) - - UI UX Pro Max 专门用来美化前端页面的技能,因为我们要开发 web 页面 - Skills Creator 专门能帮你制作新的技能,也我们要把工具封装成 Agent Skills 技能,所以可以用它来开发规范技能,让各种 AI 工具能识别 - mcp= 食材 + skills= 配方 ==> 结果 - 在 skill.sh ,找到 find skills 这个技能的安装地址进行安装,安装以后可以用这个 skill 安装其他 skills - 找不到直接手动安装 * npx skills add anthropics/skills --skill skill-creator -g -y * 在 终端里 `<font style="color:rgb(245, 245, 244);background-color:rgb(28, 25, 23);">npx ctx7@latest setup</font>` + 跟着一步步往下走,需要先去官网注册 # 方案设计 由于项目不复杂,不写专业提示词,让 AI 帮我们根据需求设计方案就好,提示词中一定要包含“人工确认”这四个字 ```markdown 你是一位专业的程序员,现在请你根据需求,帮我设计方案,人工确认,分步骤完成开发,执行测试,帮我验收 ## 需求 作为一名程序员,为了与时俱进,想要第一时间获取一些热点信息,不依赖人工搜索, 而是利用工具自动发现,指定的热点变化,或者最新热点,并且及时给用户发送通知,让我能走在信息获取的第一线 💡由于是一个比较轻量化的小需求(工具类项目),所以打算采用较为捷敏的开发方式,不用过多的人工介入和工程化 具体功能: - 用户输入要监控的关键词,当这个关键词内容出现,(注意利用 AI识别假冒的内容),并第一时间发送通知 - 每隔一段时间,自动收集用户输入的指定范围,(比如AI 编程)内的热点,并且能够让用户看到 产品的形式: - 响应式兼容 web 页面 - 封装成 Agent Skills 技能,能够交给其他 AI agent 来监控和发现热点 ## 注意事项 1. 前端页面足够独特,不要千篇一律 2. 你需要先完成网页版,确保功能正常使用之后,再开发 Agent skills 3. 项目需要利用 AI 来识别热点,请你理由 Openrouter 来对接 AI 服务,帮我快速把 AI 接入到项目中 ``` 把需求给了 ai 以后,问了我 4 个问题,我如下回答 ```markdown Plan阶段共问了 4 个问题(同一组问题触发了 3 次,可能是页面重试): 1. [通知方式] 你希望使用哪种通知方式?- 浏览器推送通知 / 邮件通知 / 应用内通知 2. [API密钥] 你是否已有 OpenRouter API 密钥? - 已有密钥 / 需要注册 / 使用其他AI服务 3. [部署] 项目部署方式? - 本地运行 / 云服务器部署 / 暂不考虑 4. [数据源] 你最关注哪些数据源? - Hacker News / Reddit / GitHub Trending / RSS订阅 ``` 然后在生成文档中,我修改了一下技术方案,要求要用 vue 做前端,以及要用 python 做后端,因为个人比较熟悉,以及告知了,项目热点查询频率为 30 分钟,以及把 twitter 源去除了,因为本人没有买 twitter 的 api,最后生成了以下方案 ```markdown # AI热点监控工具 - 技术方案设计 ## Context 用户希望构建一个轻量级的AI热点监控工具,能够自动跟踪关键词和行业热点,并及时发送通知。这是一个工具类项目,采用敏捷开发方式,需要较少的人工介入。项目分为两个阶段:先开发Web版本验证功能,再封装成Agent Skills供AI agent使用。 ## 技术架构选型 ### 前端技术栈 - **框架**: Vue 3 + Vite(快速启动,轻量级) - **样式**: 原生CSS(手工打造独特视觉风格,符合design_sense中的warm paper风格) - **状态管理**: Vue Composition API(项目简单,无需Pinia) - **UI风格**: - 温暖的纸质背景色调(#F6F1E8) - 琥珀色强调色(#C8853F) - 粗体slab衬线标题 + Inter正文 - 卡片式布局,带柔和阴影 ### 后端技术栈 - **框架**: Python + FastAPI - **数据存储**: SQLite(轻量级,无需额外数据库服务) - **ORM**: SQLAlchemy - **定时任务**: APScheduler - **爬虫**: httpx + beautifulsoup4(或playwright用于复杂页面) - **通知**: - 邮件通知(aiosmtplib)- 首选通知方式 - Web推送通知(pywebpush)- 浏览器实时通知 ### AI服务集成 - **提供商**: OpenRouter(用户已有API密钥) - **用途**: 1. 识别假冒/无关内容(过滤噪音) 2. 提取热点摘要 3. 评估内容相关性 4. 多信息源数据聚合去重 ### 热点数据源 - **网页搜索爬虫**: Google搜索(httpx + beautifulsoup4,控制频率) - **Twitter(X) API**: 通过twitterapi.io接入 - **免费API**: Hacker News, GitHub Trending - **可选**: RSS订阅(技术博客) - **查询频率**: - 关键词监控: 每30分钟执行一次 - 热点收集: 每30分钟执行一次 ## 项目结构 ``` ai_trending_tool/ ├── frontend/ # Vue前端 │ ├── src/ │ │ ├── components/ # 组件 │ │ ├── views/ # 页面视图 │ │ ├── services/ # API调用 │ │ ├── assets/ # 静态资源 │ │ └── styles/ # 样式文件 │ ├── public/ # 公共资源 │ ├── package.json │ └── vite.config.js ├── backend/ # Python FastAPI后端 │ ├── app/ │ │ ├── api/ # API路由 │ │ ├── services/ # 业务逻辑 │ │ │ └── scrapers/ # 数据源爬虫 │ │ ├── jobs/ # 定时任务 │ │ ├── db/ # 数据库模型 │ │ ├── ai/ # AI服务集成 │ │ └── main.py # 应用入口 │ ├── requirements.txt │ └── .env ├── skills/ # Agent Skills(第二阶段) │ └── trending-monitor.json └── README.md ``` ## 核心功能实现 ### 1. 关键词监控 **流程**: 1. 用户在Web界面输入关键词和监控范围 2. 后端定时任务(每30分钟)抓取数据源 3. 使用OpenRouter AI判断内容是否真实相关 4. 匹配成功则存储并触发通知 **AI Prompt示例**: ``` 判断以下内容是否真正与关键词"{keyword}"相关, 排除标题党、假冒、无关内容。 返回JSON: {relevant: boolean, reason: string, confidence: number} ``` ### 2. 热点收集 **流程**: 1. 用户设置监控领域(如"AI编程") 2. 定时任务(每30分钟)从多个数据源抓取 3. AI聚合、去重、排序热点 4. 生成热点摘要存入数据库 5. 前端展示热点列表(按时间/热度排序) **AI Prompt示例**: ``` 从以下内容中提取"{domain}"领域的前10个热点, 排除重复、过时、无关内容。 返回JSON数组: [{title, summary, source, score, tags}] ``` ### 3. 通知系统 - **邮件通知**: aiosmtplib发送即时通知和每日摘要(首选) - **Web推送**: pywebpush + Service Worker(浏览器实时通知) - **应用内通知**: WebSocket实时推送(FastAPI WebSocket) ### 4. 数据持久化 **数据表设计**: - `keywords`: 关键词配置 - `trending_items`: 热点内容 - `notifications`: 通知记录 - `user_settings`: 用户配置 ## 开发步骤 ### 阶段1: Web版本(MVP) 1. **初始化项目结构** - 创建前后端项目 - 配置构建工具 - 设置开发环境 2. **后端核心开发** - 数据库schema设计和初始化 - OpenRouter集成(ai/openrouter.py) - 数据源爬虫(services/scrapers/) - RESTful API(api/routes.py) - 定时任务(jobs/scheduler.py,每30分钟执行) 3. **前端核心开发** - 响应式布局(支持桌面/移动) - 关键词管理页面 - 热点展示页面 - 通知设置页面 - 独特的视觉设计实现 4. **集成与测试** - 前后端联调 - AI识别准确性测试 - 通知功能测试 - 响应式适配测试 ### 阶段2: Agent Skills封装 1. **Skills定义** - 监控关键词技能 - 获取热点技能 - 配置管理技能 2. **Skills实现** - 复用后端API - 定义skill schema - 编写skill prompt - 测试skill调用 ## 技术细节 ### OpenRouter集成 ```python # backend/app/ai/openrouter.py import httpx import os async def analyze_content(prompt: str, content: str) -> str: async with httpx.AsyncClient() as client: response = await client.post( 'https://openrouter.ai/api/v1/chat/completions', json={ 'model': 'anthropic/claude-sonnet-4.6', 'messages': [ {'role': 'system', 'content': prompt}, {'role': 'user', 'content': content} ] }, headers={ 'Authorization': f"Bearer {os.getenv('OPENROUTER_API_KEY')}", 'HTTP-Referer': os.getenv('APP_URL'), 'X-Title': 'AI Trending Monitor' } ) return response.json()['choices'][0]['message']['content'] ``` ### 数据源爬虫示例 **1. Hacker News** ```python # backend/app/services/scrapers/hackernews.py import httpx async def fetch_hn_trending(): async with httpx.AsyncClient() as client: top_stories = await client.get('https://hacker-news.firebaseio.com/v0/topstories.json') ids = top_stories.json()[:30] stories = [] for story_id in ids: story = await client.get(f'https://hacker-news.firebaseio.com/v0/item/{story_id}.json') stories.append(story.json()) return stories ``` **2. Google搜索爬虫** ```python # backend/app/services/scrapers/google.py import httpx from bs4 import BeautifulSoup from urllib.parse import quote async def search_google(keyword: str): async with httpx.AsyncClient() as client: headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36' } url = f'https://www.google.com/search?q={quote(keyword)}&tbm=nws' response = await client.get(url, headers=headers) soup = BeautifulSoup(response.text, 'html.parser') results = [] for item in soup.select('.SoaBEf'): title = item.select_one('.mCBkyc') link = item.select_one('a') snippet = item.select_one('.GI74Re') if title and link: results.append({ 'title': title.get_text(), 'link': link.get('href'), 'snippet': snippet.get_text() if snippet else '' }) return results ``` **3. Twitter(X) API** ```python # backend/app/services/scrapers/twitter.py import httpx import os async def search_twitter(keyword: str, limit: int = 20): async with httpx.AsyncClient() as client: response = await client.get( 'https://api.twitterapi.io/v1/tweets/search', params={'query': keyword, 'max_results': limit}, headers={'Authorization': f"Bearer {os.getenv('TWITTER_API_KEY')}"} ) return response.json().get('data', []) ``` ### 关键词匹配AI判断 ```python import json async def is_relevant_to_keyword(keyword: str, item: dict) -> bool: prompt = f'判断以下内容是否真正与关键词"{keyword}"相关...' result = await analyze_content(prompt, json.dumps(item)) parsed = json.loads(result) return parsed['relevant'] and parsed['confidence'] > 0.7 ``` ## 验证计划 ### 功能测试 1. **关键词监控测试** - 添加关键词"Claude" - 等待30分钟触发监控任务 - 验证AI能正确识别相关内容 - 验证通知是否送达 2. **热点收集测试** - 配置"AI编程"领域 - 手动触发热点收集 - 验证AI提取的热点质量 - 验证前端展示效果 3. **响应式测试** - 桌面浏览器(1920x1080) - 平板(768x1024) - 手机(375x667) ### 性能测试 - 爬虫任务执行时间 - AI响应时间 - 前端加载速度 ## 环境变量 ```env # OpenRouter(用户已有) OPENROUTER_API_KEY=your_openrouter_key # Twitter API (twitterapi.io) TWITTER_API_KEY=your_twitter_api_key # 邮件通知(必需) SMTP_HOST=smtp.gmail.com SMTP_PORT=587 SMTP_USER=your_email@gmail.com SMTP_PASS=your_app_password NOTIFICATION_EMAIL=your_notification_email@gmail.com # Web Push(可选) VAPID_PUBLIC_KEY= VAPID_PRIVATE_KEY= VAPID_SUBJECT=mailto:your_email@example.com # 应用配置 APP_URL=http://localhost:5173 BACKEND_PORT=8000 FRONTEND_PORT=5173 # 定时任务配置 MONITOR_INTERVAL_MINUTES=30 ``` ## 关键文件清单 ### 需要创建的核心文件 1. `backend/app/ai/openrouter.py` - OpenRouter集成 2. `backend/app/services/scrapers/google.py` - Google搜索爬虫 3. `backend/app/services/scrapers/twitter.py` - Twitter API集成 4. `backend/app/services/scrapers/hackernews.py` - Hacker News爬虫 5. `backend/app/services/scrapers/__init__.py` - 数据源聚合器 6. `backend/app/services/notifier.py` - 通知服务(邮件+Web Push) 7. `backend/app/jobs/scheduler.py` - 定时监控任务(每30分钟) 8. `backend/app/db/models.py` - 数据库模型 9. `backend/app/db/database.py` - 数据库连接 10. `backend/app/main.py` - FastAPI应用入口 11. `frontend/src/views/Dashboard.vue` - 主仪表盘 12. `frontend/src/views/Keywords.vue` - 关键词管理 13. `frontend/src/components/TrendingCard.vue` - 热点卡片组件 14. `frontend/src/styles/theme.css` - 独特视觉风格(warm paper主题) ## 风险与挑战 1. **AI识别准确性**: 需要调优prompt,可能需要多轮测试 2. **数据源限流**: - Google搜索爬虫易被检测,需要添加延迟和User-Agent伪装 - Twitter API有rate limit,需要实现请求队列 3. **通知可靠性**: - Web Push需要用户授权 - 邮件可能进垃圾箱,需要配置SPF/DKIM 4. **成本控制**: - OpenRouter API调用需要监控用量 - twitterapi.io收费(需确认套餐) 5. **多信息源聚合**: 需要AI有效去重和排序 ## 下一步行动 待用户确认方案后,按以下顺序执行: 1. 初始化项目结构和依赖 2. 实现后端核心功能 3. 实现前端界面 4. 集成测试 5. 部署并收集反馈 6. 开发Agent Skills(第二阶段) ``` 根据一下 todo list 来完成 ```markdown 1. 初始化项目结构 [已完成] - 创建前后端项目目录、配置文件、依赖管理 2. 实现后端数据库层 [已完成] - SQLAlchemy 模型、数据库连接、初始化 3. 实现OpenRouter AI集成 [已完成] - AI 内容分析、相关性判断、热点提取、摘要生成 4. 实现数据源爬虫 [已完成] - Hacker News、GitHub、Google News、Twitter 爬虫 5. 实现后端API和定时任务 [已完成] - RESTful API 路由、APScheduler 定时任务(每30分钟) 6. 实现通知系统 [已完成] - 邮件通知(aiosmtplib)和 Web Push(pywebpush) 7. 实现前端界面 [已完成] - Vue 3 页面、组件、API 调用、warm paper 主题样式 8. 集成测试和验收 [已完成] - 前后端联调、AI 准确性测试、通知测试 ``` 我开了,全自动模式,不要求 ai 每次编辑都询问,但在每次做完一个 task,都要询问我是否继续,我会手动的压缩一下上下文,/compact 去节约 token 用量,中途有些比较需要权限的 bash 任务 AI 也会顺问我,完成以后 我给 AI 提出了, 最后 ai 完成了,我让他写一个启动和对那些东西进行配置的文档,语句如下, “我想知道该如何启动项目,以及我哪些需要配置,写在一个 markdown 文档里” ```markdown # 启动指南 ## 环境要求 - Python 3.10+ - Node.js 18+ - pip / npm --- ## 1. 配置环境变量 编辑 `backend/.env`,填入以下配置: ```env # ✅ 必填 —— 没有这个 AI 分析和摘要功能无法运行 OPENROUTER_API_KEY=sk-or-... # ⚙️ 必填(如果启用邮件通知) SMTP_HOST=smtp.gmail.com SMTP_PORT=587 SMTP_USER=your_email@gmail.com # Gmail 账号 SMTP_PASS=xxxx xxxx xxxx xxxx # Gmail 应用专用密码(不是登录密码) NOTIFICATION_EMAIL=you@example.com # 接收通知的邮箱 # 🐦 可选 —— Twitter 数据源(当前已停用,保留字段兼容旧配置) TWITTER_API_KEY= # 🔔 可选 —— Web Push 浏览器推送(不填则禁用) VAPID_PUBLIC_KEY= VAPID_PRIVATE_KEY= VAPID_SUBJECT=mailto:you@example.com # 🔧 通常不需要改 APP_URL=http://127.0.0.1:5173 BACKEND_PORT=8000 MONITOR_INTERVAL_MINUTES=30 ``` 建议本地开发时前后端统一使用同一种主机名,推荐全部使用 `127.0.0.1`,避免 `localhost` / `127.0.0.1` 混用导致代理或 CORS 判断不一致。 ### Gmail 应用专用密码获取方式 1. 打开 Google 账号 → 安全性 → 两步验证(需先开启) 2. 搜索"应用专用密码" → 选择"邮件" → 生成 3. 将生成的 16 位密码填入 `SMTP_PASS` --- ## 2. 启动后端 ```bash cd backend # 首次运行:安装依赖(建议在虚拟环境中) pip install -r requirements.txt # 启动服务(默认端口 8000) uvicorn app.main:app --reload --port 8000 ``` 启动成功后会看到: ``` INFO: Uvicorn running on http://0.0.0.0:8000 INFO: Scheduler started ``` 数据库文件 `trending_monitor.db` 会自动创建。 --- ## 3. 启动前端 新开一个终端窗口: ```bash cd frontend # 首次运行:安装依赖 npm install # 启动开发服务器(默认端口 5173) npm run dev ``` 打开浏览器访问:**http://127.0.0.1:5173** --- ## 4. 功能验收 | 页面 | 验证项 | |------|--------| | 热点页 | 空列表正常显示,"触发监控"按钮可点击 | | 关键词页 | 添加 / 暂停 / 删除关键词 | | 设置页 | 保存邮箱配置,发送测试邮件 | 添加关键词后,点击"触发监控"可立即测试(无需等待 30 分钟定时任务)。 --- ## 5. 功能开关说明 | 功能 | 依赖配置 | 未配置时的行为 | |------|---------|--------------| | AI 内容分析 | `OPENROUTER_API_KEY` | 监控任务报错,内容不会被分析 | | 邮件通知 | `SMTP_*` + 设置页开启 | 发送静默失败,不影响其他功能 | | Twitter 数据源 | `TWITTER_API_KEY` | 当前已停用,不参与采集 | | Web Push | `VAPID_*` | 禁用,不影响邮件和应用内通知 | | Hacker News | 无需配置 | 始终可用 | | Bing 新闻 | 无需配置 | 始终可用(注意频率限制) | --- ## 6. 常见问题 **后端启动报 `ModuleNotFoundError`** → 确认已激活虚拟环境,或重新执行 `pip install -r requirements.txt` **前端访问报 `502 Bad Gateway` / API 请求失败** → 确认后端已在 8000 端口运行 **测试邮件发送失败** → 检查 `SMTP_PASS` 是否为应用专用密码(非 Gmail 登录密码);确认 Gmail 已开启两步验证 **`OPENROUTER_API_KEY` 未填时触发监控** → 后端日志会显示 API 错误,热点列表保持空,属于正常降级行为 **Bing 新闻抓不到内容** → 先确认关键词本身有相关新闻;如果页面结构变动,日志里会看到 Bing 解析错误,后端会返回空列表 # 展示初步完成效果 <!-- 这是一张图片,ocr 内容为:AI热点监控 热点 关键词 设置 热点动态 立即采集 全部来源 9小时前 9小时前 HACKERNEWS HACKERNEWS ZCODE与GLM-5.2引发新一轮AI编码工具关注 从零构建并可生长分裂的合成细胞 研究人员首次实现由头设计的细胞能够生长和分裂,这是合成生物 围绕GLM-5.2的编程工具链ZCODE获得高度讨论,反映出开发者 对新一代代码生成,推理辅助和AI开发环境的持续关注. 学的重要里程碑,可能重塑生物工程,药物研发与人工生命研究. BIOTECH SYNTHETIC BIOLOGY DEVELOPER TOOLS 100 AL CODING 94 LLM RESEARCH 9小时前 9小时前 HACKERNEWS HACKERNEWS 开源自组装机器人吸尘器OOMWOO走红 FFMPEG9.1新AAC编码器发布 可自行组装的开源机器人吸尘器OOMWOO 受到关注,体现消费级机 FFMPEG 9.1的新AAC编码器成为音视频技术热点,显示开源多媒 体基础设施在压缩效率,音质和工具链升级上的持续进展. 器人,DIY 硬件和开源家庭自动化的结合趋势. DIY ROBOTICS OPEN SOURCE HARDWARE AUDIOPEN SOURCE FFMPEG 92 89 HACKERNEWS 9小时前 HACKERNEWS 9小时前 ANDROID恶意软件事件引发供应链与平台安全担忧 CLOUDFLARE 推出 X402 MONETIZATION GATEWAY 一则关于ANDROID恶意软件的热门讨论推动了对移动平台安全,应 CLOUDFLARE的MONETIZATION GATEWAY 支持对受保护资源直接收 用分发信任链以及大厂生态治理能力的重新审视. 费.展示了API计费,机器支付和WEB基础设施商业化的新方... CLOUDFLARE 87 CYBERSECURITYANDROID 88 API ECONOMY PAYMENTS MALWARE 9小时前 9小时前 HACKERNEWS HACKERNEWS GOOGLE开放零知识证明技术用于年龄验证隐私保护 图形程序员学习路径成为开发者热议话题 GOOGLE推动零知识证明在年龄验证场景中的应用,强调在合规与用 关于如何成为图形程序员的内容获得高关注,说明图形学,GPU编 程,渲染管线与游戏/可视化基础能力仍是技术社区重点方向. 户隐私之间寻找更优平衡,推动隐私计算落地. PRIVACY KNOWLEDGE PROOF GPU GRAPHICS PROGRAMMING SECURITY 85 83 RENDERING --> ![](https://pic.code-nav.cn/post_picture/1823318305287487489/yjMC5rvhNq5Q8zOy.webp) <!-- 这是一张图片,ocr 内容为:AI热点监控 关键词 设置 热点 关键词管理 添加关键词 输入关键词,如:CLAUDE AI,大模型,GPT-5 BING NEWS HACKER NEWS 添加 ANTHROPIC 7月1日 监控中 BING HACKERNEWS --> ![](https://pic.code-nav.cn/post_picture/1823318305287487489/iCxUDaWL5wucwC3U.webp) <!-- 这是一张图片,ocr 内容为:AI热点监控 设置 热点 关键词 设置 通知设置 启用邮件通知 每日热点摘要(每天9:00) 保存设置 通知测试 发送测试邮件 发送测试 验证邮件配置是否正常 触发每日摘要 立即发送 立即生成并发送今日热点摘要 --> ![](https://pic.code-nav.cn/post_picture/1823318305287487489/luT5Ai9qhykTIWsM.webp) # 前端美化 从这里开始我换了模型 用 codex gpt5.4 写的,因为 claude 太贵了 Ai 设计前端千篇一律,使用前端美化技能,并人工指定UI风格,让界面更新颖 + 前端美化技能UI UX pro max + 人工提示词,指定风格 + Aceternity UI 组件库,做酷炫效果, 因为大模型训练时,看到大量 自然背景,圆角卡片,通用图标,所以形成了一种默认审美,要消除核心思路是约束 1. 指定色彩方案 2. 指定 UI 库 3. 注入情感和场景,告诉 AI 产品调性,如科技感,极客风 4. 使用前端美化技能:让AI 参考专业的 UI/UX 设计规范 写给 AI 的提示词 ```plain 目前的界面风格过于死板(米白配色+传统布局),请在保证功能易用的前提下,帮我优化前端页面。 你需要利用前端美化技能(ui ux pro max)进行设计开发,并且必须采用 Aceternity UI 组件库(通过 Context7 插件来获取最新的用法),来增强网站的科技感,但注意不要过于花里胡哨,影响了页面的正常加载或使用 我自己是一位 AI 编程程序员,最求简介高效,直观酷炫,充满科技感的页面,我急切地想要发现热点,想要第一时间给大家分享有价值的内容,你需要感受我的情绪,让前端页面体现出来 ``` 如果ai卡住了,报错了,可能是重构的代码量较多,可能会出现网络中断的情况,如果一直中断,最好换个模型,或者让 ai 拆分一下任务再继续执行 <!-- 这是一张图片,ocr 内容为:FILES CHANGED, 1557 INSERTIONS(+), DELETIONS(-) 640 +), 前端已经重做成更偏[实时信号台]的方向了,不再是米白传统后台.基于CONTEXT7 查到的官方信息,ACETERNITYUI 当前核心是 REACT+TAILWIND 体系,所以我没有 硬把这个 VUE项目改栈,而是按它官方的 SPOTLIGHT,BACKGROUND BEAMS,BENTO GRID,HOVERBORDER这些模式,在VUE里做了等价组件,保留科技感和动效语言, 同时不牺牲加载和维护成本.核心入口在FRONTEND/SRC/APP.VUE:1,全局视觉系统在 新增的 ACETERNITY 风格组件在FRONTEND/SRC/ FRONTEND/SRC/STYLES/THEME.CSS:1, COMPONENTS/ACETERNITYSPOTLIGHT.VUE:1. FRONTEND/SRC/COMPONENTS/ ACETERNITYBEAMS.VUE:1. FRONTEND/SRC/COMPONENTS/ACETERNITYBENTOCARD.VUE:1. FRONTEND/SRC/COMPONENTS/ACETERNITYGLOWBUTTON.VUE:1. 页面层面我重点改了三块:FRONTEND/SRC/VIEWS/DASHBOARD.YUE:L现在有更强的首屏 情绪,实时指标,精选热点和更利落的信号卡片;FRONTEND/SRC/VIEWS/ KEYWORDS.VUE:1 变成更像"监控规则面板",信息密度更高;FRONTEND/SRC/VIEWS/ :1则统一成同一套玻璃面板和操作节奏.INDEX.HTML也顺手改了站点 SETTINGS.VUE:1 则 标题和主题色:FRONTEND/INDEX.HTML:1. 校验方面,我用@VUE/COMPILER-SFC做了内存级SFC编译检查,8个 文件都 VUE 通过了.VITEBUILD没法在当前沙箱里完整跑完,不是代码报错,而是环境禁止创建 临时/输出目录;源码转换阶段已经开始执行,阻塞点是文件写入权限. WORKED FOR 16M 43S --> ![](https://pic.code-nav.cn/post_picture/1823318305287487489/ms5lCitthoRzkWge.webp) 以下是优化后的效果 <!-- 这是一张图片,ocr 内容为:采集节奏 TREND RADAR AI 热点追踪 关键词 系统设置 EVERY 30 MIN AI热点雷达 LIVE SIGNAL BOARD 当前信号 覆盖来源 先看到趋势,再决 2 12 定要不要追. 已加载热点条目 实时活跃数据源 为高频分享者设计的AL热点监控台.把HACKERNEWS,GITHUB和新闻流压缩成高密度信 最新捕获 高分内容 号,帮你更快判断什么值得立刻阅读,整理,转发和输出. 11 14H AGO 来源筛选 最新一条入库时间 全部来源 评分80+的热点 立即采集 刷新列表 FILTER FEATURED HACKER NEWS SCORE 100 当前最值得打开的内容 当前筛选 从零构建并可生长分裂的合成细胞 未限制来源,保持全局扫描视角. 研究人员首次实现由头设计的细胞能够生长和分裂,这是合成生物学的重要里程碑,可能重望生物工 程,药物研发与人工生命研究. 原文缺失 ALL SOURCES MOMENTUM 标签热度 最近内容里最频繁出现的标签. LLM DEVELOPER TOOLS AL CODING OPEN SOURCE --> ![](https://cdn.nlark.com/yuque/0/2026/png/28393899/1783005103876-f754ea45-bbca-4144-a81a-7be7c26b0a32.png)<!-- 这是一张图片,ocr 内容为:HOT LIST 值得立刻读的热点 保留足够强的信息层级,但不把你拖进复杂操作里.内容优先,动作第二,装饰最后. 14H AGO 14H AGO 14H AGO SCORE 100 SCORE 92 SCORE 94 HACKER NEWS HACKER NEWS HACKER NEWS 从零构建并可生长分裂的合成细胞 ZCODE与GLM-5.2引发新一轮AI编码工具 FFMPEG9.1新AAC编码器发布 关注 研究人员首次实现由头设计的细胞能够生长和分 FFMPEG9.1的新AAC编码器成为音视频技术热 裂,这是合成生物学的重要里程碑,可能重塑生物 点,显示开源多媒体基础设施在压缩效率,音质和 围绕GLM-5.2的编程工具链ZCODE 获得高度讨 工程,药物研发与人工生命研究. 工具链升级上的持续进展. 论,反映出开发者对新一代代码生成,推理辅助和 AI开发环境的持续关注. 原文缺失 原文缺失 原文缺失 FFMPEG AL CODING DEVELOPER TOOLS OPEN SOURCE BIOTECH SYNTHETIC BIOLOGY LLM AUDIO MEDIA TECH GLM ARTIFICIAL LIFE RESEARCH 14H AGO 14H AGO 14H AGO HACKER NEWS SCORE 88 SCORE 89 HACKER NEWS SCORE 87 HACKER NEWS 开源自组装机器人吸尘器0OMWOO走红 ANDROID恶意软件事件引发供应链与平台安 CLOUDFLARE 推出 X402 MONETIZATION 全担忧 GATEWAY 可自行组装的开源机器人吸尘器OOMWOO受到关 注,体现消费级机器人,DIY硬件和开源家庭自动 CLOUDFLARE 的 MONETIZATION GATEWAY 支持对受保 一则关于ANDROID恶意软件的热门讨论推动了对移 化的结合趋势. 护资源直接收费,展示了API计费,机器支付和 动平台安全,应用分发信任链以及大厂生态治理能 力的重新审视. WEB 基础设施商业化的新方向. 原文缺失 原文缺失 原文缺失 OPEN SOURCE HARDWARE ROBOTICS PAYMENTS CLOUDFLARE CYBERSECURITY ANDROID DIY MALWARE API ECONOMY MOBILE SECURITY SMART HOME INFRASTRUCTURE 14H AGO 14H AGO 14H AGO HACKER NEWS SCORE 82 HACKER NEWS HACKER NEWS SCORE 85 SCORE 83 KIMI K2.7 CODE 正式进入 GITHUB COPILOT 图形程序员学习路径成为开发者热议话题 GOOGLE 开放零知识证明技术用于年龄验证隐 私保护 KIMI K2.7 CODE 接入GITHUB COPILOT,反映 AI编程 关于如何成为图形程序员的内容获得高关注,说明 助手平台竞争升级,多模型并存正成为开发工具的 图形学,GPU编程,渲染管线与游戏/可视化基础 GOOGLE推动零知识证明在年龄验证场景中的应 新常态. 能力仍是技术社区重点方向. 用,强调在合规与用户隐私之间寻找更优平衡,推 动隐私计算落地. 原文缺失 原文缺失 原文缺失 AL CODING GITHUB COPILOT LLM PRIVACY GRAPHICS PROGRAMMING GPU ZERO-KNOWLEDGE PROOF DEVELOPER TOOLS DEVELOPER EDUCATION LDENTITY SECURITY RENDERING --> ![](https://cdn.nlark.com/yuque/0/2026/png/28393899/1783005103979-dbcb2a14-3d74-4708-86de-37489660f25c.png)<!-- 这是一张图片,ocr 内容为:采集节奏 TREND RADAR 热点追踪 系统设置 关键词 AI AI热点雷达 EVERY 30 MIN KEYWORD WATCHLIST 把你的注意力,绑定 到会爆发的话题上. 关键词不是"存挡,而是你的长期雷达.把你最想抢先输出的概念放进去,系统会稳定追踪并在热点发生时给 你信号. 覆盖来源 活跃规则 关键词总数 CREATERULE 1ACTIVE 添加监控关键词 2 1 关键词 当前关键词涉及 正在持续推送热 当前WATCHLIST 例如:CLAUDECODE,MCP,AGENTS,GPT-5 的数据源数量 中的关键词条目 点的监控规则 追踪来源 OPERATOR NOTES 更有效的关键词策略 HACKER NEWS BING NEWS 优先填"会引发讨论"的概念,而不是泛泛的行业词. 加入监控队列 新模型,新工具,新协议,用英文名和缩写一起监控. 默认每30分钟自动扫描一次. 保持数量克制,关键词过多会稀释真正值得看的信号. WATCHLIST 已建立的热点雷达 启用状态,来源覆盖和创建时间保持在同一层视线里,不需要点进去才知道规则是否正常工作. 监控中 ANTHROPIC 暂停 7月1日 删除 HACKER NEWS BING NEWS --> ![](https://cdn.nlark.com/yuque/0/2026/png/28393899/1783005104153-8aa13fd0-c6a5-4a99-83cb-28391d7d6455.png)<!-- 这是一张图片,ocr 内容为:采集节奏 TREND RADAR 系统设置 关键词 热点追踪 AI EVERY 30 MIN AI热点雷达 DELIVERY CONTROLS 让重要热点更快到你 面前,也更稳地发出 去. 邮件通知未开启 每日摘要已关闭 OPERATIONS NOTIFY NO INBOX YET 通知测试 通知设置 发送测试邮件 启用邮件通知 发送测试 当监控到热点时,通过邮件把信号推到你的收件箱. 验证SMTP配置,收件箱和模板是否正常. 触发每日摘要 每日热点摘要 立即发 立即发送一封模拟当日摘要,检查最终交付体 每天09:00自动发送当日精选热点,适合回顾和二次整理. 送 验. 保存设置 SYSTEM NOTE 这套通知流的目标 平时用关键词和热点流筛掉噪声,真正有价值的内容再用邮件和摘要 送出来.即时性和可回顾性都要有,但谁也不能压过主界面的判断效 率. --> ![](https://pic.code-nav.cn/post_picture/1823318305287487489/vkt8h8qJdYsuu8ri.webp) # 优化信息获取来源 ## 现在的问题 1. 包含了很多不知名的 weibo 回复信息,比如有些帖子的回复寥寥无几,可能是随便发一个,就被抓进来 2. 信息来源比较单一,几乎全是 twitter,需要扩展一下信息来源,从多个搜索引擎来获取 所以总结下来 一个是质量不好,一个是广度度不够,说一拓宽信息源,再通过规律规则控制质量,像一个漏斗,开口要大,出口要精 ## 解决方案 我们应该让 AI 关注一些官方和大博主,比如你想知道 claude 有没有更新,应该优先去关注官方的人,或者官方文档 这些要关注的人/账号/官方应该是动态的,比如你的关键词填写的是“科技”,那么输入完关键词,就应该自动关注科技领域的大 V; 如果你输入的是“艺术运动” 那么应该自动关注“艺术运动”相关的大 V。**先不要局限于自己的思路,说不定 AI 有更好的方法,所以输入提示词** ```markdown 现在的后端问题是 1. 包含了很多不知名的 weibo 回复信息,比如有些帖子的回复量寥寥无几,可能是随便发了一个,就被抓了进来 2. 信息源比较单一,基本都是 hackernews 需要扩展一下信息来源,从多个搜索引擎来获取 请你合理的实现方案,让我的信息源更可靠,注意,必须等我人工确认方案后,你才能开始执行,如果你有任何不确定的内容,必须通过提问我人工确认 ``` AI 编程中 “先问 AI”策略,很多时候我们有自己的想法,但未必是最优解,可以先问问 AI,这是好的 AI 编程习惯 1. AI 可能有更好的方案,他见过更多实现方式 2. 避免思维局限 3. 节省沟通成本,让 AI 出方案,再在这个基础上改 最后决定权在人手在,AI 给方案后 还是需要人工确认和调整的 ## 在和 ai 长时间对话上下文太满,解决方案 上下文太满了,消耗太多 token,省钱,提升效果,开个新的窗口 写入以下提示词 ### 方案一 直接 /compact 然后继续发送当前需求,如果用的 AI 工具有这个功能 ### 方案二 开个新的窗口,然后发送以下提示词 ```markdown 你是一位专业程序员,现在请你根据我的需求和方案,以及已经开发完成的前端和后端项目,在此基础上进行优化和功能扩展 ## 提供给你的资料 @需求文档 AGENTS.md @项目交互文档 STARTUP.md 必须 完整分析前端和后端已有代码 ## 本次需求 @当前需求 ``` 我选择方案一 因为工具有这个功能,省力,压缩后,窗口大小只占用了百分之一、 压缩完后我把提示词发给 ai ,ai 给出了如下方案 <!-- 这是一张图片,ocr 内容为:我先不执行,只给方案.当前问题我已经定位到两处: 1,微博低质量内容会进库 原因在 BACKEND/APP/SERVICES/SCRAPERS/WEIBO.PY:1 里,SEARCH.WEIBOO 现在只要 搜到帖子就返回,基本没有"质量筛选". 在 BACKEND/APP/JOBS/MONITOR.PY:121 里,后续 AI 只判断"和关键词相关不相关不相关", 不判断"值不值得收". 2多源聚合还不够强 关键词监控现在实际只接了 HACKERNEWS+BING+WEIBO,见BACKEND/APP/IOBS/ MONITOR.PY:126. 其中 BING是一个搜索入口,但还没有形成"多搜索引擎交又验证"的机制;趋势采集也 HACKER NEWS + GITHUB, 见 BACKEND/APP/JOBS/MONITOR.PY:170. 只有 我建议这样做,分两层改: 方案A:先把微博质量门槛补上 -给微博结果增加 QUALITY_SCORE,综合看: REPOSTS_COUNT + COMMENTS_COUNT + ATTITUDES_COUNT 是否是转发/回复型噪音内容 -文本长度是否过短 是否包含明显无信息量模板文案 -设一个预过滤门槛,低于门槛的微博在进入AI前就丢掉. -加一个"每个关键词最多保留前N条微博"的限流,避免微博把结果池淹没. -AI过滤从"只看相关性"改成"相关性+信息价值",比如要求: RELEVANT - TRUE CONFIDENCE >: 0.6 QUALITY_SCORE >; THRESHOLD 我建议默认规则偏保守,优先提高准确率,不追求把所有提到关键词的微博都抓进来. --> ![](https://pic.code-nav.cn/post_picture/1823318305287487489/Ne6uZCjeD0mQxeQB.webp) <!-- 这是一张图片,ocr 内容为:方案B:把关键词监控扩成真正的多源搜索 我建议第一阶段先接这4个源: WEIBO BING_NEWS GOOGLE_NEWS HACKERNEWS 原因: GOOGLE NEWS RSS和 BING NEWS 实现成本低,稳定性通常比直接爬音通搜索页更高 NEWS适合技术圈早期信号 HACKER WEIBO适合中文社区热度 实现方式: 新增 GOOGLE_NEWS.PY,走 RSS 检索 保留现有BING.PY,但把它明确定位成 BING_NEWS 在 BACKEND/APP/JOBS/MONITOR.PY:121 增加统一聚合层: 每个源单独抓取 统一标准化字段 URL/标题去重 按源分配配额,避免单一来源霸榜 如果同一主题被多个源同时命中,给它加权 聚合策略 同主题被多个源命中时,提高可信度 单源孤立命中但质量很低时,不入库 通知时优先发"多源同时提到"的条目 趋势榜和关键词命中分开处理: 关键词命中:允许单条高质量内容入库 趋势榜:尽量要求多源支撑 我准备改动的文件范围 BACKEND/APP/SERVICES/SCRAPERS/WEIBO.PY:1 新增BACKEND/APP/SERVICES/SCRAPERS/GOOGLE_NEWS.PY BACKEND/APP/SERVICES/SCRAPERS/BING.PY:1 BACKEND/APP/JOBS/MONITOR.PY:1 可能少量更新: --> ![](https://pic.code-nav.cn/post_picture/1823318305287487489/axWATw0jUjnQBwiU.webp) <!-- 这是一张图片,ocr 内容为:在你确认前,我不会动代码. 但这里有3个需要你拍板的点,我不想替你擅自决定: 1.微博筛选策略你要偏"准"还是偏"全"? 我推荐偏"准",宁可漏掉一些低热度帖子,也不要把杂音收进来. 2.多搜索源第一阶段是否按我推荐的 GOOGLE NEWS+BING NEWS+HACKER NEWS+WEIBO 来做? 我不建议第一版就上百度/搜狗,抓取更脆,更容易变. 3,低质量微博的处理方式你要哪种? 我推荐"直接不入库",而不是"入库但前端隐藏". 者把这3点改掉,我再开始实现. 你回复我一句"按这个方案执行"或者把这3 WORKED FOR 1M 25S WEIBO的策略偏准所以允许"方案 A"落地 1.我希望 2.可以按照你的"方案B"来做,但是对于方案B我觉得只加入GOOGLENEWS和BING NEWS就可以并不需要你去对关键词加权,和分配优先级, 3.是的"直接不入库",你把方案修改好,再给我确认一下 --> ![](https://pic.code-nav.cn/post_picture/1823318305287487489/toX3LhS5BSlcYcqM.webp) <!-- 这是一张图片,ocr 内容为:我把方案收敛成下面这版,先不执行. 修订后的方案 A.WEIBO 质量过滤,直接在入库前拦掉 在 BACKEND/APP/SERVICES/SCRAPERS/WEIBO.PY:1 增加微博结果质量判定. 过滤规则偏"准": 互动量过低的帖子丢弃 文本过短,明显口水化/无信息量内容丢弃 转发痕迹重,像随手回复/闲聊的内容丢弃 输出时给每条微博带一个内部QUALITY-SCORE 在 BACKEND/APP/JOBS/MONITOR.PY:1里先做微博质量过滤,再做 AI 相关性判断 低质量微博直接不入库 和BING NEWS B,关键词来源扩展,只加 GOOGLE NEWS 保留现有WEIBO 新增 GOOGLE NEWS 抓取器,优先走 RSS 现有 BING.PY 明确作为 BING NEWS 使用 关键词监控改成支持这些来源的并行抓取,统一字段,基础去重 不做关键词加权 不做来源优先级分配 不做多源命中加权 C.我会保留的最小聚合能力 URL去重 标题近似去重 统一字段结构,保证后续AI和入库逻辑一致 预计改动范围 BACKEND/APP/SERVICES/SCRAPERS/WEIBO.PY:1 新增 BACKEND/APP/SERVICES/SCRAPERS/GOOGLE_NEWS.PY BACKEND/APP/SERVICES/SCRAPERS/BING.PY:1 BACKEND/APP/JOBS/MONITOR.PY:1 可能少量更新: BACKEND/APP/API/SCHEMAS.PY:1 前端来源选项文案 现在只剩1个我必须向你确认的点: 你要不要保留HACKERNEWS在"关键词监控"里继续作为可选来源? 如果保留,在你要求"不做优先级分配"的前提下,它仍然可能继续占一部分结果. 你回复我以下其一即可: --> ![](https://pic.code-nav.cn/post_picture/1823318305287487489/grS8lb53HaXlQXW4.webp) 这里我选了保留 hackernews <!-- 这是一张图片,ocr 内容为:已经按你确认的方案落地了,没有加你不想要的"来源加权/优先级分配". 微博这边现在先做质量过滤,再进入AT相关性判断.低互动,短文本,口水化,明显转发型内容 会直接被拦掉,不入库.核心逻辑在 BACKEND/APP/SERVICES/SCRAPERS/WEIBO.PY:140和 BACKEND/APP/SERVICES/SCRAPERS/WEIBO.PY:169. 多源这边新增了 GOOGLE NEWS RSS RSS 抓取器 BACKEND/APP/SERVICES/SCRAPERS/GOOGLE_NEWS.PY:1. LE_NEWS+WEIBO,同时只做基础去重, 并把关键词监控默认来源扩成HACKERNEWS BING + GOOGLE_NE 不做权重分配.见 BACKEND/APP/JOBS/MONITOR.PY:16,BACKEND/APP/JOBS/MONITOR.PY:97. BACKEND/OPP/JOBS/MONITOR.PY:154.趋势采集也补进了 BING NEWS +GOOGLE NEWS, 不再基本只 BACKEND/APP/JOBS/MONITOR.PY:209. 靠HN,见 前端来源选项也同步了,关键词页和仪表盘都能直接选 GOOGLE NEWS,见 FRONTEND/SRC/VIEWS/ KEYWORDS.VUE:154 和 FRONTEND/SRC/VIEWS/DASHBOARD.VUE:21. 我做了这些本地校验: 后端 APP 通过 PYTHON -M COMPILEALL 前端 NPM RUN BUILD 通过 -用本地构造样例验证了微博质量过滤和去重逻辑 这轮我没有做真实外网抓取验证,因为当前会话环境网络受限.如果你要,我下一步可以直接帮 你: 1.用你的本地环境把前后端跑起来 2.手动触发一次MONITOR 的实际入库结果 3.检查数据库里WEIBO/BING/GOOGLE_NEWS HACKERNEWS --> ![](https://pic.code-nav.cn/post_picture/1823318305287487489/k6Xie14r2IeLLrzd.webp) ## 增加国内源 ```markdown 帮我增加国内可用的搜索源,注意,不需要让我填写 API Key, 并且如果搜索的关键词本身是一个博主/官方/账号的话, 应该直接获取这个账号的信息 ``` <!-- 这是一张图片,ocr 内容为:帮我增加国内可用的搜索源,注意,不需要让我填写APTKEY,并且如果搜索的关键词本身是一 个博主/官方/账号的话,应该直接获取这个账号的信息 我先看现有抓取链路和关键词处理逻辑,整理一版可落地方案给你确认;这次我先不改代码,等你 人工确认后再执行. EXPLORED LIST T SCRAPERS SEARCH WEIBOLBINGLGOOGLE-NEWS HACKERNEWSLGITHUBLKEYWORDLMONITORISCRAPERISOURCE IN APP :我已经确认当前链路是WEIBO+BING+GOOGLE_NEWS+HACKERNEWS+GITHUB.下一步我读 MONITOR和WEIBO实现,给你一版"只提方案,不动代码"的改造设计. EXPLORED ID MONITOR.PY, SCHEMAS.PY,MODELS.PY,WEIBO.PY READ 现在可以给你方案了,不过我还想补一眼前端关键词源选项和现有搜索源实现,避免给你一个落不 到UI的方案.之后我会只给确认清单,不直接改. EXPLORED BING.PY READ DASHBOARD.VUE,KEYWORDS.VUE,GOOGLE_NEWS.PY, 先不给你动代码,我把可执行方案收敛成这一版,等你确认后我再开始改. 方案 新增BAIDU_NEWS:抓 :抓百度新闻搜索结果,适合中文媒体,快讯,公告类内容. 新增 SOGOULWEIXIN:抓搜狗微信文章搜索结果,适合公众号,行业号内容. 保留现有 WEIBO/ HACKERNEWS/GITHUB/ BING/ GOOGLE_NEWS,这是"增加来源", 不是替 换. BAIDU_NEWS 进入"关键词监控+全局热点". SOGOULWEIXIN只进入"关键词监控",不进入"全局热点",因为它更像定向内容源,不适合做通. 用TRENDING. 账号关键词直达 --> ![](https://pic.code-nav.cn/post_picture/1823318305287487489/4BKznG5vwdFxuNBt.webp) <!-- 这是一张图片,ocr 内容为:已经改好了,当前版本做了这几件事: 新增国内可用搜索源:BAIDU NEWS 和 SOG API KEY. 和SOGOUWEIXIN,都不需要 微博关键词改成"账号优先": 如果关键词更像账号名/官方号/博主名,会先搜微博账号;命中强匹配后,直接返回该账号卡片 和最近内容;否则回退到普通帖子搜索. 关键词默认来源扩成:HACKERNEWS +BING +GOOGLE_NEWS + - BAIDU_NEWS + SOGOU_WEIXIN + WEIBO 为了兼容你库里以前的默认关键词配置,后端会自动把旧默认来源升级到新组合,不需要你手工 逐条重配. 核心改动在这些文件: BACKEND/APP/JOBS/MONITOR.PY BACKEND/APP/SERVICES/SCRAPERS/WEIBO.PY BACKEND/APP/SERVICES/SCRAPERS/BAIDU_NEWS.PY BACKEND/APP/SERVICES/SCRAPERS/SOGOU_WEIXIN.PY FRONTEND/SRC/VIEWS/KEYWORDS.VUE FRONTEND/SRC/VIEWS/DASHBOARD.VUE 我已经做过本地检查: 后端 PYTHON -M COMPILEALL BACKEND/APP 通过 前端 NPM RUN BUILD 通过 还没做"真实外网抓取结果"的验证,因为这一步要依赖当前环境的真实出网和目标站点返回.如果 你要,我下一步可以直接帮你跑一轮采集,检查 BAIDULNEWS/SOGOULWEIXIN/WEIBO账号直达 实际抓到了什么. --> ![](https://pic.code-nav.cn/post_picture/1823318305287487489/abZpHTZvlC42JFSv.webp) <!-- 这是一张图片,ocr 内容为:账号关键词直达 我建议先做"微博账号直达"这一版,稳定性最高. ,逻辑是:当关键词像账号名/官方名/博主名时,先跑微博账号搜索,不先跑普通站子搜索. -如果命中高相似账号,就直接抓这个账号的资料卡片+最近若干条内容. 如果没命中,再回退到普通关键词搜索. 账号资料会作为普通结果入库,但在RAW_DATA里标记成 ENTITY_TYPE-ACCOUNT,这样前端后面 要单独展示也容易. 我会改的地方 后端新增两个 SCRAPER:BAIDU_NEWS.PY,SOGOU_WEIXIN.PY -扩展BACKEND/APP/JOBS/MONITOR.PY的SOURCE分发和账号识别分支 扩展 FRONTEND/SRC/VIEWS/KEYWORDS.VUE的来源选项 适当补去重和低质量过滤,避免公众号目录页,无效落地页,低信息量结果入库 需要你确认的点 做WEIBOACCOUNT,不先做"公众号账号页直达",因为公众号主页抓 我建议"账号直达"第一步只做 取稳定性明显更差.你是否同意? 如果同意,我就按这版开始执行. --> ![](https://pic.code-nav.cn/post_picture/1823318305287487489/XZhmf6fRHKbK9nNf.webp) <!-- 这是一张图片,ocr 内容为:已经改好了,当前版本做了这几件事: 新增国内可用搜索源:BAIDU NEWS 和 SOG API KEY. 和SOGOUWEIXIN,都不需要 微博关键词改成"账号优先": 如果关键词更像账号名/官方号/博主名,会先搜微博账号;命中强匹配后,直接返回该账号卡片 和最近内容;否则回退到普通帖子搜索. 关键词默认来源扩成:HACKERNEWS +BING +GOOGLE_NEWS + - BAIDU_NEWS + SOGOU_WEIXIN + WEIBO 为了兼容你库里以前的默认关键词配置,后端会自动把旧默认来源升级到新组合,不需要你手工 逐条重配. 核心改动在这些文件: BACKEND/APP/JOBS/MONITOR.PY BACKEND/APP/SERVICES/SCRAPERS/WEIBO.PY BACKEND/APP/SERVICES/SCRAPERS/BAIDU_NEWS.PY BACKEND/APP/SERVICES/SCRAPERS/SOGOU_WEIXIN.PY FRONTEND/SRC/VIEWS/KEYWORDS.VUE FRONTEND/SRC/VIEWS/DASHBOARD.VUE 我已经做过本地检查: 后端 PYTHON -M COMPILEALL BACKEND/APP 通过 前端 NPM RUN BUILD 通过 还没做"真实外网抓取结果"的验证,因为这一步要依赖当前环境的真实出网和目标站点返回.如果 你要,我下一步可以直接帮你跑一轮采集,检查 BAIDULNEWS/SOGOULWEIXIN/WEIBO账号直达 实际抓到了什么. --> ![](https://pic.code-nav.cn/post_picture/1823318305287487489/A2I3hOOoQAcbkvbg.webp) 这里 我犯了个错误,同意了 改 weibo 那个,先搜索,关键词账号,如果搜到了,就不搜鱼关键词有关的帖子了。所以我又让 ai 改回去了,但忘记截图了。 ### 新鲜度过滤 新鲜度过滤是了点监控的一个关键策略,本项目设置了7 天的时间窗口,超过 7 天内容会自动丢弃,原因是 + 热点有强烈的时效性,超过 7 天不再是热点 + 搜索引擎可能包含很多旧的文章 + 过滤旧的内容可以减少 ai 负担,减少 api 调用成本 这边我没写提示词,直接问 AI 当前项目有没有做 7 天过滤 <!-- 这是一张图片,ocr 内容为:>目前项目,筛选有没有对文章发布时间,有要求 我先确认一下后端有没有"按文章发布时间过滤"的硬规则,重点看抓取器,监控任务和查询接口. 目前没有"统一的文章发布时间硬过滤". 现在的实际情况是: 后端入库前,没有写"只保留最近24小时/7天"的规则. 关键代码在 BACKEND/APP/IOBS/MONITOR.PY:183.这里只做相关性,质量,去重,不看发布时 间. 列表接口也不是按"文章发布时间"排,而是按"入库时间 CREATED_AT"倒序排. 在 BACKEND/APP/API/TRENDING.PY:31. 部分抓取源会带发布时间字段,但现在只是拿到了,没拿来做过滤: GOOGLE-NEWS 有 PUBLISHEDLAT, 见 BACKEND/APP/SERVICES/SCRAPERS/GOOGLE_NEWS.PY:58 BING 有 PUBLISHED_AT, 见 BACKEND/APP/SERVICES/SCRAPERS/BING.PY:199 有 WEIBO CREATED_AT 原始字段,见 BACKEND/APP/SERVICES/SCRAPERS/WEIBO.PY:210 S 有 TIME,见 BACKEND/APP/SERVICES/SCRAPERS/HACKERNEWS.PY:29 HACKERNEWS 所以结论是: 有"源站天然偏新"的倾向 例如 GITHUB TRENDING DAILY,GOOGLE NEWS / BING/百度新闻搜索结果本身通常偏近期 但系统自己没有额外加一道"发布时间必须足够新"的门槛 如果你要,我可以下一步给你设计一版"按来源分别做发布时间过滤"的方案,先给你确认,再改. --> ![](https://pic.code-nav.cn/post_picture/1823318305287487489/p00MKS6vnaonxpZZ.webp) <!-- 这是一张图片,ocr 内容为:我的意思是,对所以获取的信息,有没有去查验信息是否是最近的,没有过时 没有. 目前项目对"信息是不是最近的,有没有过时"并没有做统一查验,只有这几层比较弱的间接约束; 某些源天然偏新. 比如 GITHUB TRENDING DAILY 在 BACKEND/APP/SERVICES/SCRAPERS/GITHUB.PY:/7 本身就是日 榜;GOOGLE NEWS,BING,百度新闻 的搜索结果通常也偏近期. 系统会读取部分来源自带的时间字段,但没有拿它们做"过时淘汰". 例如: BACKEND/APP/SERVICES/SCRAPERS/GOOGLE_NEWS.PY:58 BACKEND/APP/SERVICES/SCRAPERS/BING.PY:199 BACKEND/APP/SERVICES/SCRAPERS/WEIBO.PY:210 BACKEND/APP/SERVICES/SCRAPERS/HACKERNEWS.PY:29 入库前没有做"发布时间窗口过滤". 在BACKEND/OPP/JOBS/MONITOR.PY:183这一段,主要做的是去重,相关性,质量,不是时效性, 验证. 展示排序也不是按原文发布时间,而是按数据库入库时间 CREATED_AT. 见 BACKEND/APP/API/TRENDING.PY:31 所以准确地说: 现在系统"倾向于抓到较新的内容" 但"不会主动验证这条内容是否已经过时" 这意味着确实可能出现: 老文章被搜索引擎重新召回 旧微博/旧讨论因为关键词匹配再次进入结果 入库时间很新,但原文发布时间并不新 如果你要,我下一步可以先给你一版"时效性过滤方案"让你确认,再开始改. --> ![](https://pic.code-nav.cn/post_picture/1823318305287487489/2Vhdq7HtYbU0QHeO.webp) <!-- 这是一张图片,ocr 内容为:已经改了,现在项目会在入库前统一做"时效性过滤". 当前规则是: WEIBO:只保留最近72小时 IR NEWS / BING / GOOGLE NEWS / BAIDU NEWS / SOGOU WEIXIN: 7 天 HACKER NEV GITHUB TRENDING:保留豁免,因为它本身就是趋势榜单,不靠单条发布时间判断 实现位置在: BACKEND/APP/JOBS/MONITOR.PY BACKEND/APP/SERVICES/SCRAPERS/BAIDU_NEWS.PY BACKEND/APP/SERVICES/SCRAPERS/SOGOU_WEIXIN.PY BACKEND/APP/SERVICES/SCRAPERS/WEIBO.PY 这次改动还包括: RSS 统一解析多种时间格式:R 5S时间,UNIX时间,微博时间,中文相对时间如"2小时前/昨天 12:30" 对新闻/社媒源,如果拿不到可判断的发布时间,默认直接丢弃,不入库 日志里会打印 RECENCY STATS,你能看到每个源有多少条被判定为 STALE 或 UNL UNKNOWN_TIME 我已经做过本地验证: PYTHON -M COMPILEALL BACKEND/APP 通过 过滤函数的本地样例验证通过 如果你要,我下一步可以直接帮你触发一次真实采集,然后看看数据库里还剩哪些源的数据. WORKED FOR 2M 34S WEIBO也是7天时效性,然后GITHUB应该可以通过 的时间判断吧 RELEASE --> ![](https://pic.code-nav.cn/post_picture/1823318305287487489/WqWtSUieDZiuQqAt.webp) <!-- 这是一张图片,ocr 内容为:已经改了,WEIBO现在也是7天时效离口,在 BACKEND/APP/JOBS/MONITOR.PY:25.后端编译检 查通过了. GITHUB 这件事要分开看: GITHUB 源不是 RELEASE 源,而是 是 BACKEND/APP/SERVICES/SCRAPERS/GITHUB.PY:7 抓的 现在的 GITHUB TRENDING DAILY 仓库榜. 这个页面给的是"最近趋势仓库",并不直接提供LATESTRELEASE时间. 所以当前代码里把 GITHUB作为"榜单型新鲜源"豁免处理,是合理的;它的新鲜度来自 SINCE-DAILY,不是来自每条 REPO的RELEASE 日期. 如果以后你真想按 RELEASE时间判断,得换一种抓法,例如: 先抓TRENDING REPO 的 再额外查每个 E/PUSHED_AT LATEST RELEASE REPO 再按时间过滤 但那已经不是"当前这条 GITHUB 源直接就能拿到"的信息了.现在这版先保持 DAILY TRENDING 逻 辑更稳. --> ![](https://pic.code-nav.cn/post_picture/1823318305287487489/Y0jtEBIt5Htgf3Rp.webp) Github 是 直接拉的 trending 榜,所以 没有太大的必要做筛查,所以没动 <!-- 这是一张图片,ocr 内容为:请问吧时效改到7天以后,对比之前的抓取少了多少条信息呢 A!II_IVIV 你要的是"把时效改到了天后,相比之前少了多少条".我先检查数据库和代码里有没有保留变更 前后的计数依据,如果有我直接给你精确对比,没有的话我会明确告诉你差在哪. --> ![](https://pic.code-nav.cn/post_picture/1823318305287487489/YVA2x6ccTn0s5nNk.webp) <!-- 这是一张图片,ocr 内容为:我刚做了一次同批实时抓取对照,用的是"不过了天过滤"和"过7天过滤"两套统计.这个结果反 映的是本次抓取少了多少,不是历史回放值. 这次总共是: 原始抓取:191条 -7天过滤后:137条 -少了:54条 降幅:约28.3% 按模块看: 关键词抓取GEMINI 原始:40 过滤后:20 少了:20 关键词抓取CLAUDE 原始:69 过滤后:46 少了:23 TRENDING 热点抓取 原始:82 过滤后:71 少了:11 按来源看,这次被7天规则砍掉的主要是: 41条 HACKERNEWS:少了 少了13条 BAIDU_NEWS: WEIBO/GITHUB:这次基本没被 7天规则砍掉 BING GOOGLE_NEWS --> ![](https://pic.code-nav.cn/post_picture/1823318305287487489/riTXjQPNoLUwXcBp.webp) 虽然少了不少,但是 AI 认为,只保留 7 天,还是必要的,毕竟这个是热点工具,只需要最新的内容 <!-- 这是一张图片,ocr 内容为:>你觉得要只保留7天还是不要 MODEL METADATA FOR "GPT-5.6-TERRA' NOT FOUND. DEFAULTING TO FALLBACK METADATA; THIS CAN DEGRADE PERFORMANCE AND CAUSE ISSUES. 我建议保留7天过滤. 这是热点监控工具,不是资料库.去掉时效后,HACKERNEWS的关键词搜索会混进很多历史旧站, BAIDUNEWS也会出现过期报道,结果数量变多但价值会明显下降. 本次实测少掉的 54条里,41条来自过期的 HACKER NEWS,13 条来自 BAIDU NEWS:这说明过滤 BING的新内容. 主要是在清理旧内容,不是在误伤微博,GOOGLENEWS或BINGF 建议保持当前规则: - WEIBO, HACKER NEWS, GOOGLE NEWS, LE NEWS,BING,BAIDU NEWS:只保留7天内内容 GITHUB TRENDING:继续不按发布时间过滤,因为它本身已经是日榜 后续优先补强BAIDUNEWS的时间解析,避免少量新文章因无法识别发布时间被过滤掉 这样信息会少一些,但"热点"会更可信. --> ![](https://pic.code-nav.cn/post_picture/1823318305287487489/m32FujcqYWsLoaDk.webp) 信息质量和丰富度平衡 这里体现了一个重要的工程原则,先宽后严格 数据采集要多 --> 基础过滤(去重,时间) --> AI 深度分析(相关性,真假)-> 最终展示 在数据采集阶段,要把搜索范围拓宽,不要过早过滤,过滤应该分层 1. 第一层: 基础过滤(去重,时间窗口,格式校验) 2. 第二层:质量过滤() 3. 第三层 AI 深度分析(真假识别,相关性评分) 如果第一层就过滤过于严格,后续 AI 分析就没有用物之地了 <!-- 这是一张图片,ocr 内容为:目前的过滤规则可以简化为: 抓到一条内容 找发布时间 能确认且超过7天:丢弃 严格来源但无法确认发布时间:丢弃 其余内容保留 去重 关键词任务再做AI相关性判断 入库 具体规则: 7天窗口:发布时间必须不早于"当前时间减7天". 严格来源:WEIBO,HACKERNEWS.BING. GOOGLE_NEWS, BAIDU_NEWS. SOGOULWEIXIN. -超过7天:不入库. -日期无法解析:不入库. GITHUB TRENDING: 抓取时不按仓库发布时间过滤,因为来源是GITHUB日榜. 但数据库里保存的GITHUB记录也只展示和保留7天. 发布时间查找顺序: NEWS的TIME HACKER PUBLISHED_AT CREATED_AT W_DATA 内的 PUBLISHED_AT, CREATED_AT,TIME RAW_DAT 日期格式:支持UNIX时间截,ISO,RSS新面时间,微博时间,中文/英文相对时间,例如2小 时前,3 DAYS AGO. 关键词监控的 AI判断: 时效过滤通过后才调用AI. -AI只判断"是否与关键词相关",不判断发布日期. - 要求 RELEVANT-TRUE 且 CONFIDENCE >:0.6 才入库. 数据库兜底: 每次监控或采集开始前清理CREATED_AT超过7天的记录. 列表接口与单条详情接口也会排除超过7天的数据库记录. --> ![](https://cdn.nlark.com/yuque/0/2026/png/28393899/1784024476584-5d6fb381-b3fa-4b76-a02e-907ea12c2082.png)<!-- 这是一张图片,ocr 内容为:有一部分,但目前不是完整的"信息源可靠性判断". 微博内容进入 AI相关性判断前,爬虫会先做一层质量筛选,代码在BACKEND/APP/SERVICES/ SCRAPERS/WEIBO.PY:359: 读取帖子互动数据:转发数,评论数,点赞数. 文本少于 18 个字符:直接过滤. 质量分计算: 转发:每条+2,最多按20条计算. 评论:每条+3,最多按 20条计算. 点赞:每条+1,最多按50条计算. 文本长度至少60字:+8;至少 30字:+4. "转发微博""哈哈"打卡"等低信息内容:-12. 转发帖:-10. 通过规则: 评论至少3条,或转发至少2条,并且质量分至少8;或者 总互动量至少 12,并且质量分至少 15. 所以,评论,转发,点赞已经用于过滤低质量微博. 但你说的"博主本人的粉丝数,认证,账号可信度",目前只用于账号搜索与账号卡片; 账号名称和关键词的匹配度是主条件. 已认证账号会加分. 粉丝数会有少量加分. 账号卡片本身的分数也会参考粉丝数. 分在 BACKEND/APP/SERVICES/SCRAPERS/WEIBO.PY:284 和 BACKEND/APP/SERVICES/SCRAPERS/ 这部分在 WEIBO.PY:328. 当前缺口是: 普通微博帖没有使用发帖人粉丝数,认证状态,账号类型来决定是否保留. AI相关性判断只收到标题和URL,不会看到评论数,点赞数,粉丝数,认证信息. 互动量目前判断的是"这条微博是否有一定讨论度",不是"这位作者是否可靠". 另外,微博的最终展示分会混合AI相关性和互动质量: 最终分 75%AI关键词相关性置信度+25%微博互动质量信号 其中互动质量信号会使用评论,转发,点费;但粉丝致只对"账号卡片"额外生效,不对普通发帖人 生效.代码在 BACKEND/APP/JOBS/MONITOR.PY:3333 和 BACKEND/APP/JOBS/MONITOR.PY:350. --> ![](https://pic.code-nav.cn/post_picture/1823318305287487489/6HHfLcUbUopKuoxo.webp) 以上是 AI 终结的筛查步骤,基本符合,我要求的层级递进筛查 # 5.信息流筛选和排序 ## 问题 目前我们获取到的了点全都堆在一起,不利于人工检索,因此希望能够对帖子进行节选和排序 <!-- 这是一张图片,ocr 内容为:TREND RADAR 热点追踪 系统设置 AI 热点雷达 当前信号 先看到趋势,再决 4 12 定要不要追. 已加碳热点条日 最新捕获 为高提分享者设计的AI热点监控台.把HACKERNEWS,GITHUB和新闻流压缩成高密度信号,帮 你更快判断什么值得立刻阅读,整理,转发和输出. 7月14日 4 来源铸选 是新一条入库时间 全部来源 统一热度BO的热点 立即采集 刷新列表 FEATURED 当前最值得打开的内容 CLAUDE CODE存在安全隐患,央煤:递防境外AI"后门风险 新浪财经 当前筛选 来限制来源,保持全局扫描视角. HREF-'HTTPS FINENS GOOGLE.COM/RSS/ARTICLES/CBMIEEFVX3IXTE4AMPPYNZNA2XBEK5/XODSUGZECUGZECU9RRWVLZJZ CC-5'TARGET:"-BLANK>CLAUBECODE存在安全隐患,央媒:谨防填外AR局门风险(/A)(TONTCOLOR 立即查看 ALL SOURCES 标签热度 等待更多内容来提炼热点标签. 值得立刻读的热点 .但不把你拖进复杂操作里,内容优先,动作第二,装饰最后. 保留足够强的信息层级,但不 7月14日 7月14日 7月14日 7月14日 CLAUDE 和 CODEX 这两家,现在打 CLAUDE CODE存在安全隐患,央 ANTHROPIC发文称自家 CLAUDE已 拘屁公司好不容易买了个CLAUDE. 经开智,网友:为了上市,不择手 媒:谨防境外A严后门风险新浪 得火热,你发一个新功能,我就跟 结果没几天就因为THIS IS CHINA封 一个更狠的,版本迭代的节奏越来 段?雷峰网 号了,现在让我设计一堆图,又把 财经 越快,竞争肉眼可见地在升温,用 我当美工使啊 户也跟着受益,两边都在拼命卷体 狗层公司好不容易买了个CIAUDE,结果 验,卷能力上限.反倒是 没几天就因为THIS ISCHINA封号了,现 OPENCLAW和HERMES.好像突然 在让我设计一增图,又把我当美工使啊 文称自家CLAUDE 已经开智,网友:为. 安静了下来.前段时间还有些声 门 风险:/FCNT COIOR 了上市,不择手段?(LA)(FONT 量,最近却几乎没什么动静了.这 新波财经</FONT) COLOR .6616R雷峰网://FONT 其实挺值得琢磨的..全文 CLAUDE和 CODEX 这两家,现在打得火 热.你发一个新功能.我就跟一个更银 的,版本这代的节要越来越快,竞争肉 眼可见地在升溜.用户也跟着受益. 7月14日 7月24日 7月14日 7月14日 HECKER NEWS 清华校友总会A大数据专委会走进 年初的时候,我制作了一套提示 OPENAL壁脸输出!仅5分钟,把 FUNDAMENTALS OF WIRELESS 有道,观察ALAGENT应用新样本. 词,在大模型里,你只需要把文章 COMMUNICATION (2005) GPT-5.6塞进CLAUDE老家-智源社 扔进去,它就会制作成文字海报 京报网 区 这条内容智无摘要,建议直接打开原文 包含封面图,标题,作者,时间以 判断它是否适合进入你的分享流. 及正文,并切成符合内容平台发布 HREF"HTTPS LLNEWS GOOGIE.COM/RSS/AR HREF 'NTTPS LLNEWS GOOGLE COMLRSS/AN 的图片,还挺好用的,最近我看微 OC5 TARGOT-BIANK"清华校友总会 OCSTARGETM"_BLANK`CPENAL骑脸 博开启了一个VIBELAB的A创意 输出!仅5分钟,把GPT-5.6塞进CIAU. AL大数据专委会走进有道,观察A. 赛,所以我也想参赛一下.昨天我 老家(LA)(FONT COIOR"#61616161616161616R 就把这个提示词扔给了AI,在 社区(FONT COLOR"#661京按网(FONT CLAUDE COD...全文 年初的时候,我制作了一套提示词.在 大模型里,你只需要把文章扔进去,它 就会制作成文字海报,包含封面图,标 题,作者,时间以及正文,并切成符. 7月14日 7月24日 PHAT 09 GOOGLE NEWS 11天,64个CLAUDE,112万元: 报告称CLAUDE CODE处理用户请求 ANTHROPIC发文称自家CLAUDE已 HOW TO GET CLAUDE PRO FOR FREE IN 经开智,网友:为了上市,不择手 2026(11 PROVEN WAYS) 用RUST重写 BUN手机网易网 前消耗TOKENS量约为OPENCODE的 段?新浪网 4.7倍-凤凰网科技 --> ![](https://pic.code-nav.cn/post_picture/1823318305287487489/sZFPItGomyZUglVe.webp) 为什么需要筛选和排序? 系统从 7 个信息源采集数据后,一次扫描可以产生几十条甚至上百条结果,如果内容平铺展示,用户需要逐条阅读才能找到有价值的信息,效率很低 筛选和排序解决了两个核心问题 1. 信息过载: 通过筛选条件缩小范围,快速找到特定类型的信息 2. 优先级判断:通过排序将最优价值的信息排在最前面 这是经典设计,类似电商商品筛选,和行文客服内容排序 ## 方案设计 直接让AI 帮我分析,提供哪些筛选方式和排序,不用人工去想,让AI找我们确认 ```markdown /mention /path/to/AGENTS.md 你是一位专业的程序员,现在请你根据我的需求和方案、以及已经开发完成的前端和后端项目,在此基础上进行优化和功能扩展。 ## 提供给你的资料 需求文档 AGENTS.md 必须完整分析前端和后端已有代码 ## 本次需求 @当前的需求 请你先帮我思考有哪些排序和筛选方式(尽量丰富),并且找我人工确认,不要直接开始开发。 ``` <!-- 这是一张图片,ocr 内容为:现状 目前仅支持单一来源解造:列表固定按入库时间倒序,没有可选择序.见FRONTEND/SCNLENS/DASHBOAND APP/API/TRENDING.PY:22. 可用学校有来派,监控关键词,A工直信度,统一分数,来集时间;真实发布时间和媒体名尚来规范化为数据库学政 NONMAIIZED 500RS 存在J50V 原购数据中,无法可采用于效摇库排序;全同热点的现有"热或自来面轮响顺斥,不宜直 接作为"最热"排序. 标签数据当前全为空,标签筛选需先增加标签生成;来源筛选遗漏了搜狗微信. 建议方案 ,基础铸选:多选来源,范围(全局热点(指定关键词),发布时间(24小时,3天,7天),热度区间,A工置信度区间,标题( 摘要搜索. 排序:最新发布,最新采集,综合推荐,热度最高,AL相关性最高;固定ID作为次级排序,保证分页不跳项 数据优化:细加 PUBLISHEDLAT,NORMALIZED-SCORE,SOURCE.NAME 等可查询字段与索引; 文章时间缺失的 GITHUB TRENDING TRENDING TRENDI 确显示为"采集时间". 界面:顶部常用快捷筛选,展开"高级筛选",显示结果数和"一键重置";补齐搜狗微信. 可选增强:为每条内容生成AI标签后,再提供标签筛选.会增加AT调用与成本,建议独立决定. 热度修正:重构全局热点的统一热度后再开放"热度最高",避免把当前采集顺序误当热度. 请确认两点后我再开发: 1.是否按"基础筛选+五种排序+数据字段规范化 热度修正"实施? 2.AI标签筛选本次做,还是暂不做? WORKED FOR 7M 49S --> ![](https://pic.code-nav.cn/post_picture/1823318305287487489/fHSWs1X40uWExjZw.webp) <!-- 这是一张图片,ocr 内容为:已实现 一热点页新增多来源,范图,时间,关键词,推荐分,AL置信度,搜索筛透,以及五种排序.FRONTEND/SRCNTEWSL DASHBOARD.VUE:29 接口在数据库端执行筛选与稳定分页,支持重复 SOURCES 参数.BACKEND/APP/APP/APP/APP/APP/APP/APP/APP/AP 入库规范化保存发布时间,缓体名,热度与综合推荐分;全局热点不再用来源轮调顺序评分,BACKEND/APP/108S/NONITOR.42 SQLITE会在后端启动时自动迁移历史表并回填可用字段.BACKEND/APP/DB/DB/MODELS.PY:28 未增加AI标签调用;README已补充查询参数说明. 验证 -通过PYTHON语法检查,旧SQLITE副本迁移与组合筛选查询验证. FRONTEND 的 NPM RUN BUILD 通过. 未执行 GIT COMMIT. --> ![](https://pic.code-nav.cn/post_picture/1823318305287487489/sn16yfct0uBaaASX.webp) 最后方案如下 # 热点筛选与排序 ## 筛选 | 维度 | 可选值 | 说明 | | --- | --- | --- | | 来源 | HN、Bing、Google News、百度、搜狗微信、微博,可多选 | 只看指定信息源;不选即全部来源。 | | 发布时间 | 24 小时、3 天、7 天 | 按文章发布时间过滤。 | | 监控关键词 | 已建立的任一关键词 | 只查看该关键词经过 AI 相关性判断后入库的内容。 | | 最低推荐分 | 不限、60+、80+ | 筛选综合推荐分较高的内容。 | | AI 置信度 | 不限、60%+、80%+ | 所有展示内容均来自关键词监控,因此都有该字段。 | | 文本搜索 | 标题、摘要、媒体名 | 可搜索 `Gemini`、`OpenAI` 或媒体名称。 | ## 排序方式 | 排序方式 | 规则 | 说明 | | --- | --- | --- | | 综合推荐 | 综合推荐分降序 | 默认方式;`75%` 标准化热度 + `25%` 新鲜度。 | | 热度最高 | 标准化热度降序 | 统一到 `0-100`,避免混用不同来源的原始分数。 | | AI 相关性 | AI 置信度降序 | 与监控关键词最相关的内容优先。 | | 最新发布 | 发布时间降序 | 优先展示近期发布的内容。 | | 最新采集 | 入库时间降序 | 展示系统最近抓到的内容,不等同于文章发布时间。 | 所有排序在分数或时间相同时,都会按记录 `id` 倒序,保证分页顺序稳定。 # 当前打分逻辑 页面展示的是 `recommendation_score`,即综合推荐分,范围固定为 `0-100`。 系统已经移除全局热点采集,因此页面中的每一条内容都属于关键词监控,并且只有 AI 判断为相关、置信度不低于 `0.6` 的内容才会入库。 ```latex 标准化热度 = AI 相关性置信度 × 75% + 来源信号 × 25% 综合推荐分 = 标准化热度 × 75% + 新鲜度 × 25% ``` 展开后,综合推荐分的实际权重为:AI 相关性 `56.25%`、来源信号 `18.75%`、新鲜度 `25%`。 ## 标准化热度 不同来源的原始数据不能直接比较,因此会先转换为 `normalized_score`。 | 来源 | 标准化热度逻辑 | | --- | --- | | Hacker News | `帖子分 / 18 + 评论数 / 6`,最高 100 分。 | | 微博 | 内容质量分 × 55% + 转评赞互动;账号类结果额外加入少量粉丝信号。 | | 搜索新闻类 | 基础 35 分 + 有摘要 18 分 + 标题完整度最多 12 分 + 内容新鲜度最多 25 分。 | 所有来源在计算出来源信号后,都会与 AI 相关性置信度合成为标准化热度:`AI 相关性置信度 × 75% + 来源信号 × 25%`。 ## 新鲜度 新鲜度也按 `0-100` 计算,并在综合推荐分中占 25%。 + 刚发布的内容接近 100 分。 + 7 天时约为 30 分。 + 无法解析发布时间时,按 55 分处理。 因此,页面上的“推荐 85”不是原始点赞数或 Hacker News 原始分数,而是将来源热度、内容质量、AI 相关性和发布时间统一后的分数。 ## 代码入口 + 来源热度、AI 加权、新鲜度与综合推荐分:`backend/app/jobs/monitor.py` + 列表筛选和排序:`backend/app/api/trending.py` + 前端展示分数:`frontend/src/views/Dashboard.vue` <!-- 这是一张图片,ocr 内容为:LIVESIONALBOARD 当前信号 先看到趋势,再决 定要不要追. 1 6 为高频分享者设计的AL热点监控台.把HACKERNEWS,GITHUB和新闻流压缩成高密度信号,帮 你更快判断什么值得立刻阅读,整理,转发和输出. 立即采集 刷新列表 实时活跃数据源 已加载热点条目 来源 GOOGLE NEWS GITHUB HACKER NEWS WEICO BAIDU NEWS SOGOU WEIXIN BING NEWS 最新捕获 高推荐内容 排序方式 内容范围 发布时间 最近7天 全部内容 综合推荐 搜素标题,摘要或媒体 最低推荐分 3 8H AGO 例如:GEMINI,CPENAL,模型发布 全部关键调 不限 AI置信度 不限 清除筛选 最新一条入库时间 综合推荐分 80+的热点 AL置信度仅适用于关键词监控内容;CIHUB TRENDING没有原始发有原始发有原始发有原始发有原始发有原始发有原始发有原始发有原始发有原始发有原始发有原始发有原始发有时间时按采集时间接造. 推荐98 HACKER NEWS 当前最值得打开的内容 当前视图 全部内容,1个来源,7D内. TERENCE TAO'S CHATGPT CONVERSATION ABOUT THE JACOBIAN CONJECTURE COUNTEREXAMPLE 立即查看 抓到第一条热点后,这里会优先展示最值得你第一时间读的信号. 综合推荐 MOMENTUM 标签热度 等待更多内容来提炼热点标签. NO TAGS YOT HOT LIST 值得立刻读的热点 保留足够强的信息层级,但不把你拖进复杂操作里.内容优先,动作第二,装饰最后. 23H AGO 7月22日 7月22日 7月22日 HACLCER NEWS 推荐85 HACKER NEWS 推荐80 推荐98 HACKER NEWS HACKER NEWS 推荐98 JOHN C. DVORAK HAS DIED TERENCE TAO'S CHATGPT SHOW HN:BENTO-AR SO REDDIT HAS DECIDED THAT PLAIN POWERPOINT IN ONE HTML FILE HTML IS UNSAFE CONVERSATION ABOUT THE 这条内容哲无摘要,建议直接打开原文 (EDIT+VIEW*DATA+COLLAB) JACOBIAN CONJECTURE 判断它是否适合进入你的分享流. 这条内容暂无摘要,建议直接打开原文 COUNTEREXAMPLE 判断它是否适合进入你的分享流. 这条内容暂无摘要,建议直接打开原文 判断它是否适合进入你的分享流. 这条内容暂无摘要,建议直接打开原文 判断它是否适合进入你的分享流. READ NOW 7月22日 7月22日 推荐57 HACKER NEWS ARE AL LABS PELICANMAXXING? GIGA TOKEN:~1000X FASTER LANGUAGE MODEL TOKENIZATION 这条内容暂无摘要,建议直接打开原文 判断它是否适合进入你的分享流. 这条内容暂无摘要,建议直接打开原文 判断它是否适合进入你的分享流. READ NOW 加载更多热点 --> ![](https://pic.code-nav.cn/post_picture/1823318305287487489/RWcekVaaHbsYDxI0.webp) ### 人工测试验证 发现 内容概括出现了带 html tag 的问题,要么没有 <!-- 这是一张图片,ocr 内容为:8月12日 推荐95 BING NEWS CLAUDE2-ANTHROPIC 暂无可用摘要,建议打开原文查看详情. READ NOW --> ![](https://cdn.nlark.com/yuque/0/2026/png/28393899/1786634223114-d05cec6a-eaa8-4695-a49a-d4b6cd926b70.png)<!-- 这是一张图片,ocr 内容为:8月12日 推荐96 GOOGLE NEWS 在CLAUDE CODE里用GPT被秒封!义父 TIBO:别急,我给你重置-智源社区 <A HREF"HTTPS://NEWS.GOOGLE.COM/RSS/ARTICLES/C "_BLANK">在CLAUDE CODE里用 OC5"TARGET" GPT被秒封!义父TIBO:别急,我给你重置... READ NOW --> ![](https://pic.code-nav.cn/post_picture/1823318305287487489/pFso6pQCBW2F8PLf.webp) 直接让 AI 进行修复 ```markdown 我:我发现,我的帖子 摘要都很有问题,这是为什么,有没有解决方案 ``` <!-- 这是一张图片,ocr 内容为:原因已经确认:当前卡片里的"摘要"并不是A工生成的文章摘要,大多数只是搜索源返回的原始片段,且没有级 一清洗. 数据库里实际情况: GOOGLE NEWS 33 条都有"摘要".但内容是 RSS的 HML 链接片段,例如 <A HREF-".."标题</A>.前端直接 显示了这段原始HTML文本. BAIDU NEWS 7条摘要全为空. BING12条里有10条为空. HACKER NEWS 5条也都为空. OPENROUTER.PY 里的 GENERATE-SUMMARYO)目前只用于每日部件汇总,没有用于新间卡片;关键词AI判断也. 只传了标题和URL,并未读取正文. 所以问题不在前端,而在采集链路:没有获得可用正文,也没有生成统一摘要. 建议的解决方案: 1.先清洗所有来源的原始片段 用 BEAUTIFULSOUP 去除 HTML,链接,广告标记,避免 GOOGLE N GLE NEWS 的 <A> 标签显示在卡片中. 2.对可访问的原文抓取正文或META DESCRIPTION GOOGLE/BING/百度等结果先解析最终原文地址,再提取页面标题,描述和前几段正文. 3.用AI批量生成短摘要 基于"标题+清洗后的片段/正文",生成60-100字中文摘要;要求只复述给定材料,不足以概括则不编造. 4,设定可靠降级 原文抓取失败时,显示清洗后的搜索片段:片段也没有时,显示"暂无可用摘要",而不是让A工根据标题猜. 测. 我建议按以上完整方案做.代价是每次采集会多一些原文请来和一次批量A1调用,采集时间会增加,但捐要质 量会明显改善. --> ![](https://pic.code-nav.cn/post_picture/1823318305287487489/LiBnyCHtIE8V6itA.webp) <!-- 这是一张图片,ocr 内容为:我建议,先只做抓取METADESCRIPTION放在 SUMMARY,如果没有,就显示暂无可用摘要 我会只做原文METADESCRIPTION;采集结果在通过时效与相关性弹选后,再并发请求原文页提取描述;取不到航 保持空值,前端明确显示"暂无可用摘要".不会使用AI生成或猜测摘要. EXPLORED - READ MONITOR.PY, DASHBOARD.VUE, REQUIREMENTS,TXT, BAIDULNEWS.PY, SOGOULNEIXIN.PY, WEIBO.PY SEARCH SEARCH-LRETURN \[LSUMMARYLSNIPPETLDESCRIPTIONLURL IN SCRAPERS H ASYNC DEF RAN SED -N '1,160P' BACKEND/TESTS/TEST-TRENDING-SORTING.PY 8& GIT STATUS --SHORT IMPORT ASYNCIO FROM DATETIME IMPORT DATETIME, TIMEDELTA, TIMEZONE +163 LINES (CTRL + T TO VIEW TRANSCRIPT) ?? DOCS/IMAGES/ ?? "DOCS//351\241\271\347\233\256\347\254\224\350\256\256\260.MD" --> ![](https://pic.code-nav.cn/post_picture/1823318305287487489/At0VfjBoUYxN3f8j.webp) 这里为了降低 AI 开销,我选了直接 抓取,网页上的摘要,而不是通过 AI 提炼,所以效果不一定很好,但是姑且选择这种方案 <!-- 这是一张图片,ocr 内容为:已按你的方案实现,不使用 AI 生成摘要. 现在新闻/文章类来源的流程是: 1.通过关键词相关性判断后,访问原文页面. 2.只提取 OG:DESCRIPTION,否则提取 META[NAME-"DESCRIPTION"]. 3.获取不到,页面不是HTML,请求失败或没有 META DESCRIPTION时,摘要为空. 4,前端显示"暂无可用摘要,建议打开原文查看详情. 微博不走原文META抓取,仍显示微博帖子的正文,因为它本身就是原始内容. 另外,重复采来到同一个 URL时,会更新旧记录的摘要.因此重新点击"立即采来"后,1日的 GOOGLENS RSS HTML和搜索片段会被替换为 META DESCRIPTION;取不到就清空. 已验证:PYTEST 共5PASSED,PYTHON 语法检查,前端 NPM RUN BUILD 与 GIT DIFF --CHECK 均通过.当前改 动尚未提交. --> ![](https://pic.code-nav.cn/post_picture/1823318305287487489/8X7fVt6NpfZKkM1z.webp) 修复完成后,我发现 google news 的来源还是有 html 的 herf tag 于是追问,AI 为什么 这个来源有这个问题,以下是他的回答 <!-- 这是一张图片,ocr 内容为:问题已经确认:GOOGLE NEWS RSS给的是NEWS.GOOGLE.COM跳转链接,不是真正的媒体原文链接.请求这个链接 NEWS 自己的通用 DESCRIPTION.所以无法获得新闻原文的 META DESCRIPTION;旧记录则还保 只能拿到GOOGLE 留着RSS的HTML片段. 我会修正为:GOOGLENS 跳转页的摘要一律视为空,不保存适用描述或 RSS HML:同时清理数据库中已有的 GOOGLE NEWS HREF 摘要,让页面直接显示"暂无可用摘要". --> ![](https://pic.code-nav.cn/post_picture/1823318305287487489/CODA4vzzoKUxhE2e.webp) 这里我同意他的方案,让 google news 的摘要暂时为空 ### AI 编写单元测试 <!-- 这是一张图片,ocr 内容为:请问你有写TESTCASE验证过这个排序吗 我会检查仓库现有测试目录和本次提交的验证记录,区分"构建检查"手动查询验证"和直正可重复执行的排序测 EXPLORED - SEARCH TESTS IN BACKEND *TEST* LIST RG --FILES -G -G PYTEST.INI -G PYPROJECT.TOML -G TOX.INI -G PACKAGE.JSON -G *1 * 'VITEST.CONFIG. -G 'JEST.CONFIG. " D3E813A GIT SHOW --NAME-ONLY --FORMAT-' RANGITSHOW-- -STAT --ONELINE D3E813A && GIT SHO D3E813A REFINE KEYWORD-ONLY MONITORING AND RANKING I 22+++ README.MD +22 LINES (CTRL + T TO VIEW TRANSCRIPT) FRONTEND/SRC/SERVICES/API.JS FRONTEND/SRC/VIEWS/DASHBOARD.VUE 没有.当前仓库没有TESTS/目录或测试框架配置,本次只做了: PYTHON语法检查 前端 NPM RUN BUILD GIT DIFF --CHECK 之前曾用临时数据库做过筛选/排序的手动查询验证 但没有写成可医复执行的 TEST CASE.排序逻辑在 BACKEND/APP/API/TRENDING.PY:76,应扑充API/TRENDING. 综合推荐,热度,AI相关性,发布时间,采集时间,以及同分时按ID倒序的稳定分页规则. --> ![](https://pic.code-nav.cn/post_picture/1823318305287487489/g4LNLc2FzANDLS0F.webp) <!-- 这是一张图片,ocr 内容为:用 PYTEST 完成一下 这些 没有 做的 TESTCASE 我会补齐可蛋复执行的 PYTEST测试,重点验证五种排序,同分时ID例序,以及分页不会重复或漏项.我会先 读取项目的依赖与数据库初始化方式,再按现有 FASTAPI/SQLALCHEMY 写最小测试架.这里会使用CONTEXT?查. 证当前相关库的测试写法. EXPLORED - READ SKILL.MD (CONTEXT7-MCP SKILL), REQUIREMENTS.TXT, DATABASE.PY,PACKAGE.JSON CALLED CONTEXT?RESOLVE-TIBRARY-ID("LIBRARYNAME"," ' PYTEST"," QUERY";"PYTEST ASTS WITH FASTAPI AND IRT DEPENDENCY OVERRIDES TEMPORARY SQLITE DATABASE"}) HTTPX ASGITRANSPORT DE AVAILABLE LIBRARIES: TITLE: PYTEST CONTEXT7-COMPATIBLE LIBRARY ID://PYTEST-DEV/PYTEST DESCRIPTION: THE PYTEST FRAM ST FRAMEWORK MAKES IT EASY TO WRITE SMALL TESTS, YET SCALES TO SUPPORT COMPLEX FUNCTIONAL TESTING CODE SNIPPETS: 2763 SOURCE REPUTATION:HIGH BENCHMARK SCORE: 81.55 VERSIONS:9.0.0 TITLE: PYTEST ASYNCIO CONTEXT7-COMPATIBLE LIBRARY ID: /PYTEST-DEV/PYTEST-ASYNCIO DESCRIPTION:ASYNCIO SUPPORT FOR PYTEST CODE SNIPPETS:106 SOURCE REPUTA.. --> ![](https://pic.code-nav.cn/post_picture/1823318305287487489/xTOpgVCSeDdbDz0M.webp) <!-- 这是一张图片,ocr 内容为: --> ![](/Users/kawaiwong/projects/ai_trending_tool/docs/images/image-20260813010224346.png) <!-- 这是一张图片,ocr 内容为:已补齐 PYTEST 排序测试,测试通过: 1 PASSED 新增: BACKEND/TESTS/TEST,TRENDING-SORTING.PY:覆盖五种排序,最低推荐,最低推荐分过滤,排除过期/无关键词/不相关内 容,同条件按IDDESC,分页无重复无漏项. BACKEND/PYTEST.INI BACKEND/REQUIREMENTS-DEV.TXT README 中加入测试命令. 运行方式: CD BACKEND SOURCE /OPT/HOMEBREW/BIN/TARENA/BIN/ACTIVATE PIP INSTALL -R REQUIREMENTS-DEV.TXT PYTEST 测试使用临时SQLITE数据库,不会修改正式数据.当前这些测试改动尚未提交. WORKED FOR 47M 26S --> ![](https://pic.code-nav.cn/post_picture/1823318305287487489/DMSXdJ0Axyp31qtQ.webp) 这是一个良好的 AI 编码习惯,不仅修复 AI 问题,还验证了结果,好处是 1. 自动验证,不需要人工逐个测试每种排序 2. 防止回归:后续代码修改时,测试会自动检查是否破坏了排序逻辑 3. 文档作用:测试代码本身就是排序规则最好的说明 ### UI Bug 排查技巧 前端 UI Bug(如元‏素‏被‏遮挡、布局‌错乱‌)在‌ AI 编程中 很常见‏。排查技‏巧: 1. 截图给 AI:AI 可以通过截图理解问题 2. 描述具体现象:比如 “筛选栏被帖子内容遮挡了” 3. 提到 CSS 关键词:如 `z-index`、`overflow`、`position` 等,帮 AI 缩小排查范围 4. 浏览器开发者工具:按 F12 打开 DevTools,检查元素的样式和层级 5. 推荐一个 工具,浏览器插件,可以通过点击想要 ai 修改的页面元素,直接生成对应页面元素提示词,然后直接复制到对话框里 [https://github.com/oil-oil/selector](https://github.com/oil-oil/selector) 6. codex桌面版 自带浏览器 可以允许你在页面上进行标注,直接发给它 ### 成品效果图 <!-- 这是一张图片,ocr 内容为:热点追踪 关键涡 A热点雷达 LIVE SIONAL BOAND 先看到趋势,再决 定要不要追. 2 12 为高膜分享者说计的AL热点监控台,把HADKERNEWS,GITHUO和新闻速压缩成高击度信号. 都你更快到断什么值得立刻间读,整理,转发和输出. 立即果集 刷新列表 新新线快 最任脂肪分 8H AGO 12 不限 清阳路选 所有展示内部的已通过风轻动妇关但利期:从置您度及按与监控关键讨的还起权度. 当前视图 当前最值得打开的内容 全部关键词,全部来源.7D内. LOG IN TO YOUR CIAUDE ACCOUNT ICIAUDTELP CENTER 抓到第一条热点后,这里会优先黑示最值得你第一时间读的信号. 综合推荐 标签热度 值得立刻读的热点 保留足够强的信息层级,但不把你接进复杂操作里,内容优先,动作第二,装饰是后. 推荐06 在CLAUDE CODE 里用GPT被秒封! OPENAU报空CLAUDE CODE!用户家 义父TIBO:别急,我给你重置智 CLAUDE HELP CENTER 当一键进CODEX,唯独带不走 这条内容暂无胸药,建议直接打开原文 CLAUDE 新浪财经 EING NIONS CLAUDE和GPT思维链黄被两步蒸 馆!116灵论文曝光API致命满同. 投资界 这条内容皆无病婴,建议直接打开原文 这条内容皆无换要,建议直接打开原文 判断它是否适合进入你的分享流, OC 5' TARGET'_BLAUK`CIAUAE DOPT 思维链两被两步萧馏!116页论文曝光 226 APO 154 APO 三星引入CLAUDE模型定制SOC验证 A写的文章以后都要留痕了? DOWNLOAD CLAUDE AL (FREE)FOR DEEPBEEKPI王炸组合跑赢 CLAUDE宣布文本默认加入助形水 CLAUDE CODE?PI创始入:这套组 任务编组至两天观点网 WINDOWS,MACOS,ANDROIDIOS 合我早押中了产业链光通信PRO 印,网友热议:这会成为行业新趋 判断它是否适合进入你的分享流. HREF HTTPS ONEWS GOOGLE COMIRSSIAR CLAUDB模型宽制SOC验证任务缩短至. 人:这么概合投早押中了产业银((A) 后标要前康了77CLAJDO宣布文本献. BEDD NDW 加载更多热点 --> ![](https://pic.code-nav.cn/post_picture/1823318305287487489/WXVjeKs6Qkn2AT0S.webp) ## 6.优化热点信息展示 ### 目前的问题 目前 已经展示了,重要性,来源,关键词,帖子标题 帖子描述,相关性,热度,等等但是可能还是要人工跳转到原始网站去获取一些数据,比如帖子发布时间,这都会浪费一些时间,**所以目标是能够节省人工判断信息价值的时间,更快定位需要的热点信息** ### 信息展示的设计原则 好的信息暂时应该遵循“**一眼不值**”原则,用户只需要看一眼,就能判断这条信息是否值得深入阅读 要实现这一点,需要在有限的空间提供关键决策信息 | 决策维度 | 对应信息 | 为什么重要 | | --- | --- | --- | | 时效性 | 发布时间,抓取时间 | 判断信息是否过时 | | 热度 | 点赞,转发,认证状态 | 判断信息关注度 | | 可信度 | 作者信息,认证状态 | 判断信息来源可信度 | | 相关性 | AI 相关性评分和理由 | 判断信息是否与关注话题相关 | | 原文链接 | 一键跳转 | 方便深入阅读原文内容 | 目前我的的界面缺少部分观点信息(如发布时间,互动数据等),导致用户需要额外跳转才能获取完整信息 提示词如下 ```markdown 你是一位专业的程序员,现在请你根据我的需求和方案、以及已经开发完成的前端和后端项目,在此基础上进行优化和功能扩展。 ## 提供给你的资料 plan.md 必须完整分析前端和后端已有代码 ## 本次需求 目前 已经展示了,重要性,来源,关键词,帖子标题 帖子描述,相关性,热度, 等等但是可能还是要人工跳转到原始网站去获取一些数据,比如帖子发布时间,这都会浪费一些时间, 所以目标是能够节省人工判断信息价值的时间,更快定位需要的热点信息 比如还可以展示 - 抓取时间 - 更多互动数据(比如点赞,转发,等等,有的话则展示) - AIf分析相关性的理由,支持展开折叠,以及一点展开所有帖子相关性的理由 此外,你还可以有自己的想法,比如还需要展示哪些信息(能达到我的目标),并且找我人工确认,不要直接开始开发。 ``` <!-- 这是一张图片,ocr 内容为:现状结论 已有发布时间,抓取时间和来源媒体字段,但卡片只显示其中一个相对时间,无法同时判断中容何时发布,系 统何时发现". 微博已有转发,评论,点盟;账号结果还有粉丝,关注,博文数与认证.HACKERNEWS 有帖子分和评论数.其 他新闻搜索源通常不提供可靠互动量. AI 批量相关性分析目前只保存 RELEVANT 和 CONFIDENCE,没有生成或持久化"相关性理由". 建议实施方案 实现内容 模块 规则 时间信息 卡片明确展示"发布时间"和"抓取时间" 均显示本地绝对时间,并保留相对时长;缺 失发布时间时明确标注"发布时间未知" 互动数据 按来源展示可用指标 微博:点赞,评论,转发;微博账号:粉 丝,关注,博文,认证;HN:帖子分,评论 数;其他来源不显示空指标 新闻显示媒体/站点,微博显示作者或匹配 展示已有 发布者/媒体 SOURCE_NAME 账号,减少跳转前的信息缺口 AI返回不超过约 60字的事实性理由;支 每条卡片新增默认折叠的"AI判断依据" AI相关性理由 持单条展开/收起及"展开全部/收起全部" 新增结构化互动字段和 数据存储 RELEVANCE_REASON 不向前端暴露完整RAW_DATA;历史记录从 已有原始数据回退读取互动指标,但不重新 调用AI补生成理由 AI输入 用标题,来源和可用文本片段判断 不再只让AI看标题和URL,理由必须基于 实际输入内容,降低编造风险 单批失败不应静默污染理由;保留现有"仅 批量AI结果按小批次处理,严格校验格式 稳定性 置信度>:0.6才入库"规则 覆盖互动字段归一化,理由持久化/API返 校验 补充后端PYTEST和前端构建验证 回,历史数据降级与展开状态 同时会修正看板中仍提及已移除的GITHUB 数据源,以及 README 中与当前六个数据源,摘要规则不一致的说 明. 请确认按以上方案开发. --> ![](https://pic.code-nav.cn/post_picture/1823318305287487489/IrFqsU9L5RUtPLi9.webp) <!-- 这是一张图片,ocr 内容为:UPDATED PLAN 后端,前端,测试,文档和本地API/浏览器验证均已完成. "扩展热点模型,迁移,API契约和互动数据归一化 接入批量AI-相关性理由并在入库流程持久化 改造热点看板的时间,指标,理由折叠和批量控制 补测试,同步文档并完成后端/前端验证 已按方案完成: 后端新增互动指标,内容类型,认证状态,AI判断理由字段. -微博,HACKERNEWS指标已归一化,历史数据自动迁移. AI批量分析现在会保存简短理由,失败时不会绕过相关性过滤. 前端同时展示发布时间,抓取时间,发布者/媒体和互动数据. 新增单条及全部展开/收起AI判断依据. 更新README和打分说明. BUILD 成功,浏览器布局检查通过. 验证结果:12PASSED,前端 RUN BU NPM 当前8000端口是旧后端进程,需要重启后才能看到新API字段: BACKEND CD SOURCE /OPT/HOMEBREW/BIN/TARENA/BIN/ACTIVATE UVICORN APP.MAIN:APP --RELOAD --PORT 8000 新采集的数据才会有AI判断理由,历史数据可能为空. WORKED FOR 12M 03S --> ![](https://pic.code-nav.cn/post_picture/1823318305287487489/dSLb3fnsEnIEfKH3.webp) 成品展示 <!-- 这是一张图片,ocr 内容为:HOT LIST 收起全部AI分析 值得立刻读的热点 发布时间,发现时间和可用互动数据会直接显示在卡片中. 发布2026/08/13 发布2026/08/13 发布2026/08/13 BING NEWS BING NEWS BING NEWS 11:29 19:36 12:55 抓取2026/08/13 抓取2026/08/13 抓取2026/08/13 推荐96 推荐96 15:23 推荐96 14:40 19:53 GEMINI 2.5 PRO GEMINI API GOOGLE AL GOOGLE GEMINI AL: GEMINI 3.5 FLASH, GEMINI 3:INTRODUCING THE LATEST GEMINI NANO BANANA,LIVE,BEST FEATURES... AL MODEL FROM GOOGLE FOR DEVELOPERS GOOGLE GEMINI HAS SO MANY VERSIONS AND TODAY WE'RE RELEASING GEMINI 3 -OUR MOST 了解GOOGLE的GEMINI 2.5 PRO FEATURES THAT IT'S HARD TO KEEP TRACK.THIS INTELLIGENT MODEL THAT HELPS YOU BRING ANY GEMINI QUIDE WILL BREAK EVERYTHING DOWN. IDEA TO LIFE. 发布者/媒体:AI.GOOGLE.DEV 发布者/媒体:ANDROIDCENTRAL.COM 发布者/媒体:BLOG.GOOGLE AI判断依据 AI判断依据 AI判断依据 标题含 GEMINI API,内容介绍 GEMINI2.5 模型 标题与内容都在介绍GOOGLE GEMINI的AI功能 能力 标题与内容都在介绍 GOOGLE 最新GEMINI 模型 READ NOW READ NOW READ NOW 发布2026/08/14 发布2026/08/13 发布2026/08/14 BING NEWS BING NEWS GOOGLE NEWS 23:18 00:22 01:26 抓取 2026/08/12 抓取2026/08/13 抓取2026/08/13 推荐96 推荐96 推荐96 23:54 17:12 15:53 MODELS-GEMINI APL | GOOGLE AL FOR INSTALL CLAUDE DESKTOP LAUDE HELP AI打破37年数学纪录:黎曼猜想零点比例 推高至67.2%-新浪网 DEVELOPERS CENTER 了解GOOGLE 的所有最先进AI模型 暂无可用摘要,建议打开原文查看详情. 暂无可用摘要,建议打开原文查看详情. 发布者/媒体:NEWS.GOOGLE.COM 发布者/媒体:AI.GOOGLE.DEV 发布者/媒体:SUPPORT.CLAUDE.COM AI判断依据 AI判断依据 AI判断依据 仅提AI数学突破,标题内容均未提CLAUDE 标题为安装CLAUDE DESKTOP,内容介绍其功能 标题为GEMINI API,内容介绍其模型 READ NOW READ NOW READ NOW --> ![](https://pic.code-nav.cn/post_picture/1823318305287487489/RowKlEnQkMd0ejU9.webp) # 信息判断效率优化前后对比 | 维度 | 优化前 | 优化后 | | --- | --- | --- | | 发布时间 | 已保存,但卡片只显示一个时间 | 明确显示“发布”和“抓取”时间 | | 抓取时间 | 仅作为发布时间缺失时的回退 | 每条卡片固定展示,便于判断发现时效 | | 互动数据 | 微博/HN 数据藏在 `raw_data`,前端不可见 | 微博显示点赞、评论、转发;账号显示粉丝、关注、博文与认证;HN 显示积分和评论 | | 发布者/媒体 | 部分有数据但不展示 | 直接展示账号、作者或媒体/站点 | | AI 判断 | 只有相关性置信度 | 保存简短相关性理由,支持单条展开与全部展开 | | AI 输入 | 主要使用标题和 URL | 使用标题、来源和可用文本片段 | | AI 异常 | 降级逻辑可能保留未经有效判断的数据 | 批次失败直接跳过,不绕开相关性阈值 | | 历史理由 | 旧记录均为空 | 已回填最近 7 天关键词记录的 62 条理由 | | Google News 理由 | 大量历史记录为空 | `59/63` 条已有理由;其余为旧全局热点,不在当前列表展示 | | 测试验证 | 无本次功能测试 | `13` 个 pytest 通过,覆盖采集、AI 判断理由、互动指标归一化、发布者和发布时间入库;前端生产构建通过 | ## 7.优化 AI 分析准确度+扩展思路 我们发现 AI 保留的内容可能跟关键词没有直接关联,会导致获取的信息咋软,比如关键词是 claude 结果搜出完全无关的内容,没有提到 claude,而且 ai 摘要和相关分析也显示没有什么关系,这不利于我快速判断热点内容和匹配度 <!-- 这是一张图片,ocr 内容为:发布2026/08/13 GOOGLE NEWS 23:18 抓取2026/08/13 推荐96 23:54 AI打破37年数学纪录:黎曼猜想零点比例 推高至67.2%-新浪网 暂无可用摘要,建议打开原文查看详情. 发布者/媒体:NEWS.GOOGLE.COM AI判断依据 仅提AI数学突破,标题内容均未提CLAUDE READ NOW --> ![](https://pic.code-nav.cn/post_picture/1823318305287487489/xfKDgGFRqPycXfyr.webp) 我们的目标是,优化 AI 审核热点准确度,过滤和关键词不搭相关的内容 ### 问题 根因分析 AI 相关性分析不准确的原因可能有多个层面 1. 搜索层面: 搜索引擎返回的内部本身就不够相关 2. prompt 层面:给 AI 的分析提示词不够精确,没有明确要求判断“是否” 3. 阈值层面: 相关评分阈值设置不合理,低相关性内容也被保留 4. 评估层面: 缺乏系统化的测试机制,无法量化分析质量 ### 解决方案 ```markdown 你是一位专业的程序员,现在请你根据我的需求和方案、以及已经开发完成的前端和后端项目,在此基础上进行 优化和功能扩展。 必须完整分析前端和后端已有代码 本次需求 我们发现 AI保留的内容可能是跟关键词没有直接关联的,会导致获取到的信息杂乱。 比如关键词是 claude 和 gemini,结果搜出现了 AI 打破 37 年数学记录、没有提到 Claude 和 Gemini 的内容。而且 AI摘要和相关性分析没什么关系,只是在介绍内容而已,不利于我快速判断热点的内容和匹配 度。 我们的目标是,优化 AI 审核热点的准确度,过滤掉和关键词关联不大的内容。 此外,你还可以有自己的想法,无论如何都要达到我的目标,并且找我人工确认,不要直接开始开发。 要注意,由于相关性分析不像数据一样是精确的,而是一段话,所以建议让AI 自己建立测试和评估机制,节省 我们后续测试的时间。 ``` <!-- 这是一张图片,ocr 内容为:你是一位专业的程序员,现在请你根据我的需求和方案,以及已经开发完成的前端和后端项目, 在此基础上进行优化和功能扩展. 提供给你的资料 @需求文档 @方案设计文档 必须完整分析前端和后端已有代码 本次需求 我们发现AL保留的内容可能是跟关键词没有直接关联的,会导致获取到的信息杂乱. 比如关键词是CLAUDE SONNET4.6,结果提出了仅和OPENCLAW相关的,没有提到CLAUDE SONNET 4.6的内容.而且AL摘要和相关性分析没什么关系,只是在介绍内容而已,不利于我快速判断热 点的内容和匹配度. (如图) 我们的目标是,优化AI审核热点的准确度,过滤掉和关键词关联不大的内容. 此外,你还可以有自己的想法,无论如何都要达到我的目标,并且找我人工确认,不要直接开始 开发. 要注意,由于相关性分析不像数据一样是精确的,而是一段话,所以建议让AI自己建立测试和评 估机制,节省我们后续测试的时间. --> ![](https://pic.code-nav.cn/post_picture/1823318305287487489/dwWov8SwSYEac1M7.webp) <!-- 这是一张图片,ocr 内容为:问题定位 已完整检查采集,审核,入库,API,看板和现有测试.根因明确: -相关性提示允许"直接相关概念",却没有要求关键词的可验证文本证据.ANTHROPIC,这AI,数学突破会披理 型自行推断为CLAUDE相关. AT审核发生在原文META DESCRIPTION获取之前,主要依据标题,搜索片段或微博正文. AI理由未要求输出"关键词出现在哪,原文证据是什么",因此容易变成内容介绍. 数据库样本已证实问题:CLOUDE 的"AI打破 37年数学记录"被保存为 0.99置信度,而其理由本身写着"未提 CLAUDE". 补充说明:卡片的SUMMARY 不是AT摘要,而是原网页的 META DESCRIPTION;AI实际生成的是 RELEVANCE_REASON.因此摘要不会天然解释关键词匹配. 建议方案 改造方案 环节 仅当关键词在标题,提索片段,微博正文中直接出现时,才送入AI;大小写,空白和全半角 硬性预过滤 归一化.ANTHROPIC 不等同于 CLAUDE,GOOGLE 不等同于 GEMINI. 微博账号例外 若关键词与微博账号精确匹配,可保留账号及该账号的帖子,并记录"账号匹配"证据. AI审核 AI 返回结构化结果:RELEVANT,CONFIDENCE,MATCH.TYPE,EVIDENCE,REASON.EVIDENCE 必须是原始文本中的短引文. 代码复核 代码再次验证:AT返回的证据必须真实存在于候选文本,且包含关键词;否则强制判为不相 关, 入库规则 仅"硬性命中+AI相关+置信度达标+证据有效"的内容入库. 前端表达 卡片增加一行"关键词命中:CLAUDE,标题/正文/账号",展开后显示原文证据和AI关联解 释;原网页摘要明确作为内容简介,不再与匹配理由混淆. 扫描现有关键词记录;不含直接证据的记录标记为不相关并从列表隐藏,不物理删除,保留 旧数据清理 审计能力. --> ![](https://pic.code-nav.cn/post_picture/1823318305287487489/ECgYX8RogQ0UUbk0.webp) <!-- 这是一张图片,ocr 内容为:AI自评与测试 ,建立版本化的正例,硬负例和账号例外样本集:包含"CLAUDE 水印"GEMINI发布"正例,以及"黎曼猜想"仅 ANTHROPIC"仅 GOOGLE""泛 AI"负例. 新增PYTEST:验证硬过滤,AI虚假证据拒绝,账号例外,入库拦截及前端API字段. 新增可选AL红队评估脚本;让A工为每个关键词生成"看似相关但未提关键词"的干扰样本;代码验证其不含 关键词,再用正式审核链路评测. 输出准确率报告,目标是:硬负例误放行0,所有入库内容证据有效率100%.该评估只在调整,PROMPT/很型或 手动执行时运行,不加入每30分钟采集,避免额外API成本. 需确认 建议采用上表的"严格直接命中"策路,并将旧的不合规记录标记隐藏而非删除.代价是:标题和正文都未出现 CLAUDE/GEMINI的公司级新闻,即使可能间接相关,也不会保留. 请确认按此方案开发. --> ![](https://pic.code-nav.cn/post_picture/1823318305287487489/75esFhsELSo2wRoe.webp) 再让 ai 加入 query expansion 功能来提供准确度。这里我每次输入热点关键词,让 AI 生成相关的变体列表,让搜索到的内容变得更广泛,以免有漏网之鱼 为什么 Query Expansion 提高准确度 1. 覆盖更多表达方式 2. 跨预约覆盖中英文都能检索到 3. 缩写和全称能覆盖 4. 减少纰漏,不会因为关键词拼写差异,错过重要信息 <!-- 这是一张图片,ocr 内容为:我同意你的所有方案,但是还要注意: 也被错误过滤了,所以我们可以用QUERYEXPAND查询扩展. AL提到要用基础文本匹配过滤,也就是说内容必须要包含关键词,可能就会导致有些相 似的合理内容 比如你搜索(鱼皮的AI导航),可以扩展为(程序员鱼皮的A1导航),(AI导航鱼皮) 鱼皮AI编程教程等,从而提高检索到的内容的数量. QUERYEXPANSION应用于"召回",但不能直接放宽入库标准;否则会重新引入泛AL噪声. 调整后的方案 规则 环节 AL为每个关键词生成并保存:实体锚点,搜索扩展词,可接受关联词和反例边界. 关键词画像 查询扩展 每个来源使用原关键词加最多4个扩展查询,合并后再做URL/标题去重. 鱼皮的AI导航可扩展搜索程序员鱼皮的AI导航,鱼皮AI导航,鱼皮AI编程数程. 示例 CLAUDE,GEMINI 仍要求文本直接包含本词或包含本词的产品变体,如 CLAUDE CODE, GEMINI 直接命中 API.ANTHROPIC或GOOGLE 单独出现不再算命中. 扩展词命中 对"鱼皮AL编程教程"这类扩展词,内容必须有实体错点"鱼皮(程序员鱼皮",再经AL证明它与"AI导航" 存在直接内容关系. 原词直接命中,或"扩展词命中+实体锚点+AL证据有效+更高置信度门槛".AL必须返回原文引文, 入库门槛 不可只写泛泛说明. 显示"命中词,命中位置,原文证据,关联解释",将原网页摘要与匹配理由明确分开. 理由展示 AL生成扩展词的正例,近似负例和混清样一:代码验证其文本证据与预期标签.输出原词(扩展词的误 评估机制 放行率和漏放率. --> ![](https://pic.code-nav.cn/post_picture/1823318305287487489/w5cOQpVzdVhOt85m.webp) <!-- 这是一张图片,ocr 内容为:关键边界需要你确认: 是否允许叶展河命中,但未出现原始完整关键词"的内容入库?例如"程序员鱼皮的AI编程教程"没有完整写"鱼皮的A! 导航",但包含实体锚点且AI能说明其与AI导航直接相关. 我建议允许,但采用更高置信度门槛和强制证据校验.确认后我再开始开发. --> ![](https://pic.code-nav.cn/post_picture/1823318305287487489/DYU6597hlyLRmqHm.webp) ## <!-- 这是一张图片,ocr 内容为:将投确认的规则实现查询扩展和严格证据筛选;扩展调可入库,但必须命中实体验点,通过AL的直接关系判断及代码证 据校验;随后补充回归测试并验证.首先核对现有监控链路,模型和测试状态,避免覆盖未提交改动. 现有实现确突只依赖AL返回的 RELEVANT/CONFIDENCE/REASON,没有要求关键词或引用证据真实出现在原文:这正 是无关A1新闻被误收录的原因.接下来会在不破坏现有评分和展示字段的前提下,加入独立的"关键词画像,扩展查" 询,证据校验"层. 实现分为四层,且保持原始摘要不被AI改写: 1.为每个关键词缓存一个AL生成,代码校验过的检索画像,含最多4条扩展查询,实体锚点和边界. 2.各来源同时检索原词和扩展词,合并重复结果并记录命中的查询. 3.先以确定性的文本命中拦截无证据候选,再要求AL这回原文中的逐字证据;扩展河命中须有实体错点且置信度至少 0.75,原词为0.60. 4.将匹配类型与证据入库井在前端展示;另提供历史记录审计脚本和本地PYTEST回归样例,避免依赖真实AI调用.现 在开始修改这些后端契约,迁移,界面和测试. 编辑了文件 核心的AL契约已改为结构化输出,并把"原文逐字证据"设为硬要求.下一步把画像持久化,扩展查询调度和最终代码校 验接入监控任务;这样即使模型误判,缺少可验证证据的内容也不会入库. 编辑了文件 查询任务已调整为能保留"该候透由哪些查询命中"的信息,避免扩展检索后的重复条目丢失来源.接下来接入主循环, 并确保同一轮只生成一次画像,不会为每个来源重复调用AI. 已编辑 MONITOR.PY +39 -27 监控主循环现在会对每个关键词复用持久化画像,对原词加扩展词井行检索,再做两次证据门禁.还会把最终命中的 词,匹配类型和原文引文写入记录,前端可用于人工快速复 接着补齐展示,历史审计与测试. --> ![](https://pic.code-nav.cn/post_picture/1823318305287487489/Dgf1295KwHikxAQi.webp) <!-- 这是一张图片,ocr 内容为:监控主循环现在会对每个关键词复用持久化画像,对原词加扩展词并行检索,再做两次证据门禁.还会把最终命中的 词,匹配类型和原文引文写入记录,前端可用于人工快速复核.接看补齐展示,历史审计与测试. 编辑了文件 前端会在展开"AL判断依据"时同时显示原关键词或扩展词命中,实际命中的词,以及AL从原内容摘录的引文;文章插, 要仍保持机取到的原始元信息.现在补上不联网的回归测试,覆盖精确命中,扩展命中,泛AL误报和伤造引文这几类边 界. 编辑了文件 测试样例和历史审计脚本已加入.审计脚本款认只报告不修改数据,只有显式传,一-APPLY 才会将近期鼓少批准文字证 据的旧记录标记为不相关,且不删除数据.现在运行后端测试与前端构建,处理兼容性问题. 后筛测试只发现一处预期差异:AL输入现在放意包含标题加正文,才能让标题也作为可验证引文来源;这是新规则的一 部分,不是实现错误.将测试预期同步后继续执行完整验证. 已编辑 TEST ITEM METADATA.PY+1-1 验证通过:后端 17 PASSED.前端生产构建成功.最后进行代码审查和运行时导入检查,重点确认数据库迁移能平源 处理已有SQLITE,以及关键词画像缓存不会在采集时造成额外重复调用. 审查发现一个迁移函数的索引语可因插入位置落在了关键词迁移函数中,虽然当前初始化顺序仍能执行,但职责不正 确.将其移回热点表迁移函数,并再跑一次测试确认. 已编辑DATABASE.PY+9-9 .迁移职责已修正.为满足后续不依赖人工反复发现边界系例的目标,还会加入一个不接入CI的可选A1对抗样本生成 器,以及一份说明文档;日常PYTEST仍完全使用固定样例和MOCK,不消耗API调用. 编辑了文件 文档和可选AL对抗评估已补开,并已更新项目约定.接下来进行最终验证:测试,前端构建,PYTHON编译,以及临时 SQLITE初始化检查新字段是否能自动创建. --> ![](https://pic.code-nav.cn/post_picture/1823318305287487489/9yK7EYWxm1UBRu83.webp) 优化后效果展示 <!-- 这是一张图片,ocr 内容为:HOT LIST 值得立刻读的热点 发布 2026/08/30 17 17:50 推荐94 BING NEWS 抓取 2026/08/31 09:11 GEMINI 3.1 PRO-GOOGLE DEEPLMIND BEST FOR COMPLEX TASKS AND BRINGING CREATIVE CONCEPTS TO LIFE 发布者/媒体:DEEPMIND.GOOGLE AI判断依据 READ NOW --> ![](https://pic.code-nav.cn/post_picture/1823318305287487489/OQez8GknKITcWEOn.webp) ## SKILLS 开发 ### 以下为提示词 ```markdown 你是一位专业的程序员,现在请你根据我的需求和方案、以及已经开发完成的前端和后端项目,在此基础上进行优化和功能扩展。 ## 本次需求 帮我把【热点监控工具】的能力封装为 Agent Skills,要求不影响现有项目的代码,只是额外新增一个单独的目录作为 Skills。 此外,你还可以有自己的想法,无论如何都要达到我的目标,并且找我人工确认,不要直接开始开发。并且要根据 /skill-creator 这个 skill 来给出方案 ``` ### 开发过程 ### 用户 > 你是一位专业的程序员,现在请你根据我的需求和方案、以及已经开发完成的前端和后端项目,在此基础上进行优化和功能扩展。 > > ## 本次需求 > 帮我把【热点监控工具】的能力封装为 Agent Skills,要求不影响现有项目的代码,只是额外新增一个单独的目录作为 Skills。 > > 此外,你还可以有自己的想法,无论如何都要达到我的目标,并且找我人工确认,不要直接开始开发 > ### 助理 > 初始方案是新增 `skills/ai-trending-monitor/`,与 `backend/`、`frontend/` 隔离,但通过现有 FastAPI 接口调用热点、关键词和通知能力。 > > 默认只读;修改关键词、触发采集、发送通知等动作需要人工确认。 > --- ### 2. 不依赖后端的约束 #### 用户 > 我不希望访问后端服务器。使用这个 Skill 的人不一定会启动这个项目后端。请直接把 Skill 写在这个文件夹,并重新给方案。 > #### 助理 > 方案调整为纯独立 Skill:只新增 `skills/` 内容,不访问 FastAPI、SQLite、定时任务或本地服务。 > > Skill 每次调用即时使用公开搜索/网页浏览采集信息,执行时效过滤、URL 去重、相关性审核、热点聚合和分享文案生成。 > > 关键规则: > > + 不访问 `http://localhost:8000`、`http://127.0.0.1:8000` 或 `/api/v1/*`。 > + 不读取、修改或提交项目的 `backend/`、`frontend/`、`.env` 与数据库文件。 > + 只输出真实原文 URL;无发布时间、无直接证据或无法核验的内容降级或排除。 > + 微博只在用户明确授权并提供当次 `WEIBO_COOKIE` 时查询,Cookie 不写入仓库或输出。 > + 默认最近 7 天;原词直接命中阈值 `0.60`,批准扩展词命中阈值 `0.75`。 > #### 用户 > 可以的,按照这个方案开发吧。 > --- ### 3. 初版独立 Skill #### 助理 > 已创建独立 Skill 文档,不修改前后端: > > 初版包含各来源策略、时效与去重规则、逐字证据要求、输出结构、分享模板和降级处理。 > ```latex skills/ai-trending-monitor/ ├── SKILL.md ├── examples/ └── references/ ``` --- ### 4. 补齐 skill-creator 流程 #### 用户 > 你没有用 `skill-creator` 这个技能吗? > #### 助理 > 没有。前一轮只完成了 Skill 草稿,没有执行 `skill-creator` 的完整闭环:缺少 `evals/evals.json`、带 Skill / 无 Skill 对照、评分、benchmark、审阅页和反馈迭代。 > > 建议补 3 个评测: > > 1. 最近 7 天 AI Agent 关键词热点监控。 > 2. 最近 24 小时 AI 编程热点微信群简报。 > 3. AI 模型发布在 Hacker News、新闻和微博中的多来源对比。 > #### 用户 > 可以。还可以观察后端写一些脚本辅助获取信息,不要纯粹靠 Markdown,用 `skill-creator`。 > #### 助理 > 会从后端提炼已验证的公开采集策略,但脚本只放在 Skill 目录,不导入项目后端、不调用本地 API。 > > Markdown 负责决策与审核规则;脚本负责可复现的采集、时间解析、URL 规范化、去重和 JSON 输出。 > --- ### 5. 新增独立采集脚本 #### 助理 > 已新增: > > 脚本仅依赖 Python 标准库,支持: > > + Hacker News、Google News RSS、GitHub、Bing、百度新闻、搜狗微信。 > + 经明确授权的微博移动端候选采集。 > + 标题、URL、来源、发布时间、摘要和互动指标规范化。 > + 常见追踪参数清理、URL 去重、时间窗口过滤。 > + 统一 JSON 输出:`scan`、`source_status`、`items`、`limitations`。 > + 固定输出 `backend_used: false`,用于证明未调用项目后端。 > > 示例: > ```latex skills/ai-trending-monitor/scripts/collect_hotspots.py ``` ```bash python3 scripts/collect_hotspots.py --keyword "AI Agent" --limit 10 --pretty ``` #### 助理 > 冒烟测试通过:Google News 成功返回候选;Hacker News 当时不可用但被标记为 `unavailable`,没有阻塞扫描;JSON 中 `backend_used` 为 `false`。 > --- ### 6. 发现并修复来源范围问题 #### 助理 > 评测发现文档与脚本不一致:文档说关键词扫描覆盖全部来源,但脚本默认仅扫描 Hacker News 和 Google News。 > > 已修复。关键词扫描现在默认尝试以下 7 个来源,并在 `source_status` 中透明记录成功、失败、限流或未授权状态: > ```latex hackernews, google_news, github, bing, baidu_news, sogou_weixin, weibo ``` --- ### 7. 第一轮 skill-creator 评测 #### 助理 > 已新增: > > 每个任务都运行两组: > > + `with_skill`:读取并遵循 `ai-trending-monitor` Skill。 > + `without_skill`:不读取、不使用该 Skill。 > > 两组均禁止访问项目后端、前端、数据库和本地 API。 > ```latex skills/ai-trending-monitor/evals/evals.json ``` #### 助理 > **评测 1:AI Agent 热点监控** > > 带 Skill 会先运行采集脚本,再打开原文核验。Hacker News 失败、GitHub `429` 限流、Bing 缺失可解析时间等情况均被明确记录;最终仅保留带真实 URL、日期、逐字证据、匹配类型和置信度的条目。 > > 无 Skill 基线也生成了候选,但没有同等明确的“每个声明来源是否实际参与”的来源状态契约。 > #### 助理 > **评测 2:24 小时 AI 编程简报** > > 带 Skill 在严格的“真实 URL + 24 小时发布时间 + 直接文字证据”条件下没有发现合格热点,因此透明返回空结果,并报告 GitHub 限流、Google News 失败、微博未授权等限制,而不是用弱候选凑数量。 > #### 助理 > **评测 3:模型发布多来源对比** > > 带 Skill 选择 `GLM-5.3-Flash`,明确分为多来源确认事实、单一来源信息和社区推测;性能、价格和替代能力等内容未被写成已证实事实。微博未授权时标记为未核验。 > --- ### 8. 自动评分、Benchmark 与审阅页 #### 助理 > 已新增评分脚本: > > 它检查时间窗口、来源状态、原文 URL、发布时间、逐字证据、匹配类型、置信度、来源分层及微博未授权处理。 > ```latex skills/ai-trending-monitor-workspace/iteration-1/benchmark-runs/grade_iteration.py ``` #### 助理 > 评分器第一次只识别中文字段,误判了使用 `Source Status`、`Published`、`Verbatim evidence` 的带 Skill 英文输出。已修正为中英文等价字段匹配后重新评分。 > > 默认 `python3` 是 Python 3.7,而 `skill-creator` 聚合器需要 Python 3.9+,因此使用 `/opt/homebrew/bin/python3.10` 聚合 benchmark,没有修改 `skill-creator` 自身文件。 > #### 助理 > 第一轮 benchmark: > > 这个分数只衡量本轮的可审计性、安全披露和结构化输出,不代表所有实时事实均被自动验证。每个配置仅运行 1 次,且运行耗时没有持久化,`0.0s` 不能作为性能结论。 > ```latex With Skill: 100.0% Without Skill: 83.3% Delta: +0.17 ``` #### 助理 > 已使用 `skill-creator` 提供的 `eval-viewer/generate_review.py` 生成静态审阅页: > > 页面包含 3 个任务的带 Skill / 无 Skill 报告、评分结果和 benchmark。 > ```latex skills/ai-trending-monitor-workspace/iteration-1/review.html ``` --- ### 9. 当前状态 #### 助理 > 当前产物: > > Skill 初版、独立采集脚本和第一轮 `skill-creator` 对照评测已完成。尚未收到最终人工评测反馈,也尚未打包为 `.skill` 文件。 > ```latex skills/ai-trending-monitor/ ├── SKILL.md ├── evals/evals.json ├── examples/ ├── references/ └── scripts/collect_hotspots.py skills/ai-trending-monitor-workspace/iteration-1/ ├── benchmark.json ├── benchmark.md ├── review.html └── benchmark-runs/grade_iteration.py ``` #### 助理建议 > 下一步: > > 1. 审阅 `review.html` 中的对照输出。 > 2. 根据反馈修改 `SKILL.md`、来源策略、脚本或分享模板。 > 3. 第二轮加入固定网页快照、受控 fixture 或 URL/日期重抓检查,增强事实质量评测。 > 4. 人工确认满意后,再打包为可分发的 `.skill` 文件。 > # 可能遇到的坑 ### 手动提供API文档 如果AI 获取的api 文档不对,过时,可以手动投喂,发送api 网址 ### 避免套娃优化 修复问题A ->引入问题 B ->修复问题 B->问题 A 回来了 原因是 1. 每次质管局当前问题没有全局视角 2. 修复师改动了之前的关键逻辑 3. 需求本身存在矛盾,(既要信息丰富,又要信息质量高) 解决方法 + 设定明确的优先级 (质量>数量) + 让 A`··I 在修改前先完整理解当前代码逻辑 + 如果3 次修复还不能解决,考虑新开上下文,或者回滚代码 ## Codex 权限配置速记,代码与 Git 权限 Codex 默认沙箱模式,可以通过 workspace-write 修改项目代码,但 .git/ 是受保护目录,未单独授权时无法执行 git add、git commit 或 git push。这是为了避免代理在未确认时改写提交记录、分支和远端配置。所以编辑 ~/.codex/config.toml: ```toml [sandbox_workspace_write] network_access = true writable_roots = ["/Users/kawaiwong/projects/ai_trending_tool/.git"] ``` 添加这段,保存后重新开启 Codex 会话生效。该配置只授权当前项目及其 .git,无需让沙箱使用 danger-full- access。但普通 Git 命令不一定会每次都弹出权限确认。因此真正控制“何时提交”的规则应是:只有你明确说“commit”“commit + push”时,我才执行提交或推送。这也是当前协作中最顺手的方式。 # 项目地址 https://github.com/ansonwong9695/ai_trending_tool

NodeJS 全栈 | AI 热点监控平台项目教程学习心得 [https://raw.hellogithub.com/hosts](https://raw.hellogithub.com/hosts) 获取最新的国内Github访问地址 ## 需求分析 第一时间获取AI热点信息,小工具项目,💡敏捷开发 - 手动输入要监控的关键词,识别内容真的出现,发送通知 - 每隔一段时间,自动搜集指定范围的热点。 - 响应式兼容的WEB网站/ Agents skills ## 环境准备 > MCP和Skills是可以协作使用的。 ✅ > Windows下尽量使用Git Bash ✅ - VsCode (我更喜欢IDEA) - Github Copilot 30天试用,Pro高级版 - Claude/GPT 😭(国内不可用) - MCP 类似于AI自己的插件,有的需要配置API Key等等 - Firecrawl MCP 网页内容抓取,便于AI读取网页内容,判断热点信息 ✅ - Context7 获取最新文档,防止AI使用了过时的代码 ✅ - Agent Skills 通用的AI技能库,其实就是一个文件夹,包括代码、脚本、精心设计的提示词 - UI UX Pro Max 专门用来美化前端页面的技能 ✅ - **Skill Creator** 创建自己的Skill A厂出品 ✅ - OpenRouter AI大模型中转站 - Twitter API(twitterapi.io) - SMTP邮件通知(可选) - *Aceternity* *UI*—Beautiful Tailwind CSS and Framer Motion Components 帅死你的UI组件库 ✅ ## 取消Git追踪 ### 1. 查看某个目录/文件是否已被 Git 跟踪 `git ls-files --cached .claude .qoder .agents` ### 2. 从 Git 索引中移除(保留本地文件,不再跟踪) `git rm --cached -r .claude/` `git rm --cached -r .qoder/` `git rm --cached -r .agents/` ## 鱼皮-Github仓库文档翻译工具 > 纯VibeCoding项目,之后学习

最近看完了两个 AI 编程项目《AI 热点监控》、《万能视频下载器》,主要是跟着跑通 AI 编程流程,细节和能力并没有深入去拓展。 也存在一些 bug,懒得去修复了,毕竟是以学习为主。 还是得做实际的上线项目,有真实用户去使用,开发者才更有动力去开发、测试、推广、运营,体验也会更深刻,否则自己本地练练手,大部分项目都是以能跑就行。 这两个项目收获还挺多的,后面打算做做小的产品。 1. 感叹 AI coding 的确牛逼,demo 项目 AI 真能一把梭,非程序员上手开发不是梦,至于后续是否能上线或者脱离 demo,有真实用户去用,那是后话,但只要真的愿意去学习、钻研,我觉得这些不是问题。 2. 充值、跑通、使用 OpenRouter、Twitter api、Deepseek api 3. 跑通 github 上传代码流程(别笑,古法编程时代经常搞不懂 git add、git push、git pull 这些指令的具体含义,的确感觉很绕) 4. 基于开源项目(yt-dlp)快速完成项目开发 5. 接入 Stripe 支付(虽然只是沙盒模式) 6. 了解 SEO、GEO 玩法

Vibe Coding实现信源监控系统

AI 太火了,我一个搞前端的能怎么办啊~~~~ 鱼皮老师的**AI热点监控项目**我已经学了两节课了,光学不练那肯定是不行的,于是: 作为一个在新闻媒体行业摸爬滚打五六年的小前端,所以我就用 `codex` 根据鱼老师的项目自己实现了一个**信源监控系统。给大家看看第一个版本的样子:(不要笑话我)** ![](https://pic.code-nav.cn/post_picture/2015310287434940417/Khz1wp6KT4LfPDBa.webp) 大体的功能就是: 1. 用户输入要监控的关键词,系统就会监控网络中相关的信息。 2. 相关信息返回之后,通过 AI 大模型来判断信息的可靠程度,过滤掉可能的虚假信息。 3. 拿到信息之后,编辑点击去编辑可以直接跳转我们的文稿后台管理系统,编辑完成之后发布。 这个小工具,全程 codex 分析 + 实现,我没有参与一行代码。我写这个的目的不是为了介绍这个系统,而是为了记录一下我在做这个系统的时候,学到的一些关于 AI 的相关知识,万一我后面要从事全栈或者AI的工作呢? 第一个版本(基本功能完善版本) --------------- 这个版本是在看完了鱼老师**AI热点监控项目**前两节课之后,完成的,完善了基本功能,让项目的整体流程能够跑通。 ### MCP服务 MCP(Model Context Protocol)是一种开放标准,可以让 AI 链接到各种外部工具和数据源。 用通俗的话来讲,就是给 AI 装了各种各样的“外挂”,AI可以通过这些“外挂”来完成各种各样的功能。 例如:我这个项目中装了 Context7 这个MCP服务,就是用来让获取到最新的技术文档,防止 AI 用了老旧的技术代码导致出现各种问题。 我在用 codex 实现该项目的时候就出现了这个问题: 项目中用到了**阿里云百炼**平台,结果在AI分析信息来源可信度的时候报错了:`401 invalid_api_key`,我仔细对比了一下,发现 `base_url` 和`api_key`配置的都没有问题,所以我就直接这么告诉 AI![](https://pic.code-nav.cn/post_picture/2015310287434940417/6lRxPxGbC9ev105J.png) 结果他确实查到了,是因为模型名称写错了: ![](https://pic.code-nav.cn/post_picture/2015310287434940417/rKv0YEA88lRaa2oz.png) 更改模型名称之后,AI检验部分就跑通了。 #### 补充一下codex安装MCP服务的方法 我是这么安装的: 找到codex的配置文件一般在 `C:\Users\用户名\.codex\config.toml` 增加一条配置项: ```toml [mcp_servers.context7] command = "npx" args = ["-y", "@upstash/context7-mcp", "--api-key", "context7的api-key"] startup_timeout_sec = 20 ``` 我按照上面的方法配置之后,就可以使用了。 第二个版本(页面优化版本) ------------- 第一个版本做的时候,没有对 AI 要求页面的美观,他就根据自己的想法来了。身为一个稍微有点审美的前端来说,那怎么能接受的了啊,于是:第二个版本让 AI 来美化美化前端页面吧。 ![](https://pic.code-nav.cn/post_picture/2015310287434940417/9ZGTqPEXd9cmmFBD.webp) 先直接展示了一下 AI 美化的效果,是不是比第一个版本强多了,虽然还有一些小细节需要调整,但整体这么一看还是很不错的。 我没有用鱼皮老师课上讲的那三种方案来美化,我没有什么美化的要求,也没有什么情绪可以喂给AI,我就直接让AI使用 `UI UX Pro Max` 技能自己实现的,我感觉美化之后的效果还是可以的。 ### Agent Skills `Agent Skills` 也是一套 AI 开放标准,目的是为了让 AI 能够学习各种专业技能,而不是每次都要重复的输入提示词。 我们开发者可以将复杂的任务指令、脚本和资源打包成一个**技能**`Skill`。作为用户,只需要安装这个技能,AI就能够学会这项技能来实现对应的功能,而不需要重复造轮子。 #### 补充一下codex安装Agent Skill的方法 我只以我自己当前的项目为例来做介绍,我从 [Skills这个网站](https://skills.sh/) 查找需要的Skill。 全局安装`find-skills`技能: ```bash npx skills add https://github.com/vercel-labs/skills --skill find-skills ``` 由于我的项目的前端页面太丑了,我就在该项目下安装了一个 [UI UX Pro Max](about:blank) 的`Skill`用来美化我的页面。 控制台直接切换到该项目下之后,执行下面的命令: ```bash npx skills add https://github.com/nextlevelbuilder/ui-ux-pro-max-skill --skill ui-ux-pro-max ``` 后面的内容就是不断的让 AI 完善我的项目功能,就纯粹的我个人在跟AI聊天,我看着没啥可记录的了,那这篇文章就到这里了...

下载 APP