kite-public 中文使用教程
2026-08-08发表于
Kagi一、速览:反焦虑的新闻阅读器
入门
Kagi News(代号 Kite)是知名隐私搜索引擎 Kagi 推出的一款开源新闻应用。
它解决的核心痛点是「信息过载」与「算法茧房」。
传统新闻客户端通过无限滚动和个性化推荐争夺用户时长,而 Kagi News 反其道而行。
它每天仅在 UTC 时间 12:00 更新一次,强制切断用户的连续刷新行为。
内容经过 LLM 摘要处理,剔除观点性评论,只保留事实与多视角报道。
对于希望建立「健康新闻饮食」的开发者,这是一个极佳的参考案例。
项目前端完全开源,基于 Svelte 构建,代码结构清晰,适合学习现代静态站点架构。
后端核心逻辑虽未完全公开,但前端展示了如何处理多语言源与分类聚合。
二、安装与本地运行
入门
该项目是一个标准的静态前端应用,依赖 Node.js 环境,无需配置数据库。
首先确保本地已安装 Node.js LTS 版本,这是运行 Vite 构建工具的基础。
使用 Git 克隆仓库并进入目录,这是所有开源项目上手的第一步。
git clone https://github.com/kagisearch/kite-public.git
cd kite-public
接着安装项目依赖。由于使用了 SvelteKit 和 Vite,依赖包体积适中。
npm install
启动开发服务器后,访问本地端口即可预览界面。
npm run dev
注意,本地运行看到的是前端框架和静态数据,实时新闻流依赖 Kagi 的后端 API。
若需修改 UI 或调试组件,此环境已足够;若需完整复现新闻聚合逻辑,需自行对接数据源。
三、核心架构与设计理念
进阶 · 推荐细读
理解 Kagi News 的代码前,需先理解其「少即是多」的产品哲学。
每日单次更新是其技术实现上的最大约束,也是最大特色。
这意味着前端不需要处理复杂的 WebSocket 实时推送或分页加载逻辑。
数据流是批处理的:后端在特定时间点抓取、清洗、摘要,然后一次性推送到前端。
在代码层面,这体现为对静态 JSON 数据的高效读取与渲染。
多语言自动翻译是另一个技术亮点。
README 明确指出,不同语言的源应归入同一类别,而非按语言拆分文件夹。
例如,瑞士的新闻源无论德语还是法语,都应在 kite_feeds.json 中统一管理。
source_language 字段仅用于标记主要语言,前端会调用翻译服务统一呈现。
这种设计避免了内容碎片化,确保了同一事件下不同视角的并置。
对于开发者而言,这提示我们在设计国际化应用时,应考虑内容层面的聚合,而非仅做 UI 翻译。
四、社区贡献与数据定制
进阶 · 推荐细读
虽然后端闭源,但项目开放了「社区 curated feeds」的贡献通道。
这是普通开发者最能直接参与的部分,也是理解其数据模型的关键。
数据定义位于 kite_feeds.json 或类似结构的配置文件中。
添加新源时,需遵循严格的质量标准,而非单纯追求数量。
注意:不要为不同语言创建单独的类别。保持类别的统一性,让系统自动处理翻译。
每个条目需包含源 URL、语言标记及所属分类。
高质量的源意味着更高的权重,这直接影响最终新闻摘要的生成质量。
如果你维护某个垂直领域的博客或资讯站,提交到此列表可获得更精准的曝光。
从代码角度看,这是一个典型的「众包数据清洗」模式。
通过社区力量维持源的新鲜度,比单一团队维护更高效。
五、踩坑与注意事项
深入 · 老手可选
在本地开发或二次开发时,有几个常见的技术陷阱需要注意。
首先是 API 依赖问题。
本地运行的前端默认可能指向生产环境的 API,或者缺少 Mock 数据。
若页面显示空白或加载失败,检查网络请求是否被 CORS 策略拦截。
Kagi 的 API 通常需要认证,开源部分仅包含前端展示逻辑,不包含鉴权后端。
其次是 构建部署差异。
README 提到生产构建参考 Vite 文档,但静态部署时需处理好路由回退。
SvelteKit 生成的静态文件在 Nginx 或 Cloudflare Pages 上部署时,需配置 try_files。
否则刷新非首页路径时会报 404 错误。
最后是 许可证混淆。
项目同时包含 MIT 协议和 CC BY-NC 4.0 协议。
代码部分通常为 MIT,可自由修改商用;但内容和品牌资产受 CC 协议限制。
若你打算 Fork 此项目做自己的新闻阅读器,务必替换掉 Kagi 的品牌标识和内容源。
六、判断建议:这项目适合你吗?
入门
适合以下人群:
- 想学习 Svelte/SvelteKit 最佳实践的前端开发者。
- 对信息过滤算法感兴趣,想研究如何结构化新闻数据的产品经理。
- 厌倦了算法推荐,寻找替代方案的重度新闻读者。
不适合以下人群:
- 期望获取完整后端源码,自行搭建一套新闻爬虫系统的工程师。
- 需要实时突发新闻推送的交易员或运维人员。
- 希望一键 Fork 就能拥有独立运营新闻 APP 的创业者(需解决数据和算力成本)。
Kagi News 的价值不在于代码的复杂性,而在于其对「技术克制」的实践。
它证明了在 AI 时代,技术服务于人的注意力管理,而非掠夺注意力。
项目信息
| 项目 | 值 |
|---|---|
| 仓库 | kagisearch/kite-public |
| 语言 | Svelte |
| Star | 1,050 |
| Fork | 262 |
| 主页 | https://news.kagi.com |
参考链接
89
56
1
1105
文章目录
评论