Nội dung
Xuất bản bản tin AI hằng ngày mà nhóm bạn thực sự đọc
Lấy bản tóm tắt tin có nguồn, thêm thảo luận của người thực hành trên X, lấy một bản ghi video, dựng bản tin Markdown và lưu vào LiveDoc.
Sao chép prompt
Thay các trường trong ngoặc vuông rồi dán vào Claude Code, Codex hoặc AI có quyền truy cập terminal. Nó cài skill Felo, hỏi trước khi dùng credit và chạy quy trình.
Lập bản tin ngành hằng ngày cho [ngành hoặc chủ đề]. Khung thời gian: 24 giờ qua, múi giờ [múi giờ]. Độc giả: [người đọc]. Danh sách theo dõi (tùy chọn): X [tài khoản hoặc chủ đề], YouTube [kênh], Reddit [cộng đồng]. Chọn 5–8 mục thực sự quan trọng. Với mỗi mục: chuyện gì đã xảy ra, vì sao quan trọng, liên kết nguồn và đó là thông báo, kết quả hay ý kiến. Các mục: 1. Tin chính. 2. 5–8 mục, mỗi mục có liên kết nguồn. 3. Mọi người nói gì trên X, kèm tài khoản và ngày. 4. Một trích dẫn video kèm mốc thời gian. 5. Điều cần theo dõi tiếp. Quy tắc: - Gắn liên kết cho từng mục. Gộp tin trùng và giữ nguồn tốt nhất. - Tách thông báo khỏi kết quả độc lập; ghi nhãn tuyên bố của nhà cung cấp. - Chỉ báo số liệu nguồn trả về. Dữ liệu thiếu ghi “Không có dữ liệu”, không bao giờ ghi 0. - Nếu không có gì đáng kể, hãy nói vậy thay vì độn nội dung. - Trước khi tiêu tín dụng, hiển thị các lệnh gọi API dự định và chờ tôi phê duyệt. - Không lên lịch, công bố hay gửi gì. - Ghi kết quả vào ./daily-brief.md và tóm tắt trong chat.
Bản sao cũng gồm các bước cài đặt và quy tắc an toàn.
Bạn nhận được gì
Kết quả mẫu của một lần chạy. Không phải tạo trực tiếp.
Bản tin ngành AI — 2026-10-30
Tin chính
Một phòng thí nghiệm lớn công bố mô hình nhỏ hơn có dùng công cụ, đạt cùng điểm benchmark với mô hình chủ lực. Tuyên bố của nhà cung cấp; kết quả độc lập còn chờ.
Mục
- Mô hình nhỏ, cùng benchmark — benchmark nhà cung cấp, chưa được tái lập. [nguồn]
- Ra mắt framework agent — điều khiển tracing và retry mới. [nguồn]
Mọi người nói gì
@example_dev: “Thắng là độ trễ, không phải điểm số.” — 2026-10-30 08:12 JST
Một trích dẫn video
“Chúng tôi ngừng đo token và bắt đầu đo ticket đã giải quyết.” — [12:40]
Theo dõi tiếp
Đánh giá độc lập về dùng công cụ và liệu giá có giữ sau tuần ra mắt.
Các lệnh gọi chính xác
Dành cho lập trình viên: cùng quy trình dưới dạng mã, theo thứ tự chạy.
Hiện lệnh gọi API thật
Dựng tóm tắt có nguồn
Hỏi Chat tin AI 24 giờ qua và giữ nguồn, ngày được trích.
digest.ts const BASE = "https://openapi.felo.ai"; const headers = { Authorization: `Bearer ${process.env.FELO_API_KEY}`, "Content-Type": "application/json", }; async function felo<T>(path: string, body?: unknown): Promise<T> { const res = await fetch(`${BASE}${path}`, { method: body ? "POST" : "GET", headers, body: body ? JSON.stringify(body) : undefined, }); if (!res.ok) throw new Error(`${res.status}: ${await res.text()}`); return res.json() as Promise<T>; } type ChatData = { data: { answer: string; resources: { link: string; title: string; snippet: string }[]; }; }; const roundup = await felo<ChatData>("/v2/chat", { query: "Biggest AI news stories in the last 24 hours", }); const sources = roundup.data.resources.slice(0, 5);Kết quả mẫu
{ "answer": "The main stories today are …", "sources": [ { "link": "https://example.com/story", "title": "…", "snippet": "…" } ] }Thêm thảo luận người thực hành
Tìm cùng chủ đề trên X và thu bài của người thực hành kèm tài khoản, ngày.
digest.ts type XData = { data: { tweets: { content: string; author: { username: string }; created_at: string; metrics: { retweet_count: number; favorite_count: number }; }[]; next_cursor: string | null; has_next: boolean; }; }; const since = Math.floor((Date.now() - 24 * 60 * 60 * 1000) / 1000); const social = await felo<XData>("/v2/x/tweet/search", { query: "AI agents", limit: 20, since_time: since, }); const posts = social.data.tweets .filter((tweet) => tweet.metrics.favorite_count >= 50) .slice(0, 3);Kết quả mẫu
{ "data": { "tweets": [ { "content": "…", "author": { "username": "…" }, "created_at": "2026-10-29T02:14:00Z", "metrics": { "retweet_count": 12, "favorite_count": 180 } } ] } }Lấy một bản ghi video
Dùng YouTube Subtitling cho video liên quan và chọn trích dẫn có timestamp.
digest.ts type SubtitleData = { data: { title: string; contents: { text: string; start: number; duration: number }[]; }; }; const videoCode = "dQw4w9WgXcQ"; // replace with today's video id const video = await felo<SubtitleData>( `/v2/youtube/subtitling?video_code=${videoCode}&language=en&with_time=true`, ); const transcript = video.data.contents.map((line) => line.text).join(" ");Kết quả mẫu
{ "title": "Example Video Title", "contents": [ { "text": "Subtitle text", "start": 0.32, "duration": 14.26 } ] }Viết bản tin Markdown
Cấu trúc “tin chính / phản ứng / trích dẫn video / cần theo dõi”.
digest.ts const date = new Date().toISOString().slice(0, 10); const issue = [ `# AI digest — ${date}`, "", "## The roundup", roundup.data.answer, "", "## What practitioners are posting", ...posts.map((post) => `- @${post.author.username}: ${post.content}`), "", "## From the video", transcript.slice(0, 1200), "", "## Sources", ...sources.map((source) => `- [${source.title}](${source.link})`), ].join("\n"); console.log(issue);Lưu vào LiveDoc
Lưu bản tin và nguồn trong LiveDoc để bản sau tra lịch sử.
digest.ts type LiveDocData = { data: { short_id: string } }; const archive = await felo<LiveDocData>("/v2/livedocs", { name: "AI digest archive", description: "One document resource per daily issue", }); await felo(`/v2/livedocs/${archive.data.short_id}/resources/doc`, { title: `AI digest — ${date}`, content: issue, }); type Retrieved = { data: { title: string; content: string; score: number }[] }; const past = await felo<Retrieved>( `/v2/livedocs/${archive.data.short_id}/resources/retrieve`, { query: "what did we say about agent frameworks last month" }, ).then((res) => res.data.filter((hit) => hit.score >= 0.7));Kết quả mẫu
[ { "title": "AI digest — 2026-10-01", "content": "…", "score": 0.88 } ]
Bao gồm
- Tóm tắt tin có nguồn và liên kết
- Thảo luận người thực hành trên X kèm tài khoản, ngày
- Một trích dẫn video có timestamp
- LiveDoc lưu mọi bản tin và cho phép tìm ngữ nghĩa
Không làm gì
- Chỉ nguồn công khai; nội dung trả phí có thể thiếu
- X là tín hiệu, không phải khảo sát ý kiến đầy đủ
- Không tự xuất bản hay gửi bản tin
- Video cần có phụ đề
- Một lần chạy mỗi ngày; lịch do agent hoặc cron của bạn
Câu hỏi
Nguồn có đáng tin không?
Mỗi tin có liên kết và ngày; bài X có cả tài khoản và thời gian. Nội dung chưa xác minh không được viết như dữ kiện.
Có đổi ngành được không?
Có. Thay trường chủ đề bằng ngành của bạn và điều chỉnh nguồn, truy vấn X.
Tại sao có video?
Nó thêm góc nhìn người thực hành có timestamp để bản tin không chỉ là tiêu đề. Video không phụ đề bị bỏ qua.
Có đăng lên Slack không?
Không. Nó tạo tệp Markdown; gửi đi là tích hợp của bạn.
Có giữ bản tin cũ không?
Có. LiveDoc lưu mọi bản tin và cho phép tra tin các tuần trước.
Một bản tin tốn bao nhiêu?
Chat, X Search và bản ghi video tính theo mức dùng; giá hiện tại ở trang giá và prompt hỏi duyệt trước khi chi.
Quy trình liên quan
Biến một câu hỏi thành báo cáo nghiên cứu có nguồn
Hỏi web, lưu các trang đằng sau câu trả lời thành Markdown, thêm điều người thực hành nói trên X và giữ bằng chứng trong LiveDoc có thể tìm lại sau.
Mở quy trìnhNội dungBiến video YouTube thành bài viết có thể xuất bản
Lấy bản ghi có timestamp, chia thành đoạn dễ đọc, lập dàn ý và bản nháp bằng model bạn kiểm soát, rồi để kết quả trong LiveDoc chờ biên tập.
Mở quy trìnhVăn phòngBiến trang nghiên cứu thành bài thuyết trình
Trích xuất trang, lưu làm bối cảnh LiveDoc, để PPT Task API dựng deck và hỏi cho đến khi có liên kết hoàn chỉnh.
Mở quy trìnhTùy biến
Cùng công thức, điều chỉnh theo cách bạn thực sự triển khai.
Chỉ một mảng
Giới hạn AI cho code, video hoặc tìm kiếm để chính xác hơn.
Thêm “thay đổi trong tuần”
Tra bản tin trước trong LiveDoc và so sánh phần mới.
Chuyển thành bản tin tuần
Đổi lịch sang hằng tuần để giảm nhiễu hằng ngày.
Đi tiếp
Các trang tham chiếu đằng sau công thức và nơi đi tiếp.