个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证Dak-news: AI news aggregator
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗The Grand Archive is a tool that gives your AI agent real-time news search across 20+ sources.
Add The Grand Archive skills to your Claude project in one command:
npx skills add LittleLittleCloud/The-Grand-Archive
Then tell your Claude: "Search recent news about tariffs" — that's it.
Your AI agent can now search, summarize, and analyze 14,000+ live news entries from Bloomberg, AP News, Hacker News, and more.
Install the TypeScript SDK:
npm install @littlelittlecloud/dak
import { DakClient } from "@littlelittlecloud/dak";
const client = new DakClient({ baseUrl: "https://dak-news.com" });
const result = await client.search({ q: "tariff", category: "finance", limit: 10 });
console.log(result.results[0].title);
Or use the CLI:
npm install -g @littlelittlecloud/dak-cli
dak search "AI regulation" --category tech
The server now exposes an MCP endpoint with the dak_search tool and OAuth metadata:
POST https://dak-news.com/mcpGET https://dak-news.com/oauth/authorizeGET https://dak-news.com/.well-known/oauth-protected-resourceGET https://dak-news.com/.well-known/oauth-authorization-serverPOST https://dak-news.com/oauth/registerMCP tools include:
dak_searchdak_digest_createdak_digest_listdak_digest_editdak_digest_deletedak_api_key_createExample (list tools):
curl -sS https://dak-news.com/mcp \
-H 'content-type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | jq
Example (dak_search call):
curl -sS https://dak-news.com/mcp \
-H 'content-type: application/json' \
-H "authorization: ******" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"dak_search","arguments":{"q":"tariff","category":"finance","limit":5}}}' | jq
dak command for one-liner searches and feed browsing| Category | Sources |
|---|---|
| International / Geopolitics | BBC Chinese · NYT Chinese · Al Jazeera · AP News · Foreign Affairs · The Diplomat · 参考消息 · 人民网 |
| Finance / Macro | Bloomberg · CNBC · MarketWatch · 华尔街见闻 · 第一财经 · 财新网 · ZeroHedge · 金十数据 · 雪球 |
| Social Trending | Weibo Hot · Zhihu Hot |
| Tech | Hacker News |
Full configuration: config/sources.yaml
Two Claude Code / AI Agent skills are included in the skills/ directory.
skills/dak — Search & BrowseSearch and access feed data from The Grand Archive
Supports full-text search, filtering by category / source / tag / date range.
> Search for finance news about tariffs
> Find recent articles about AI with dak
> Look up oil price reports from March 2026
Trigger keywords: search, find articles, dak search, dak feeds
skills/dak_summary — Structured AnalysisMethodology for structured analysis built on feed data
Three-step core: Broad Query → Cross-Source Analysis → Structured Output
Two key use cases:
> Summarize today's news
> Analyze how the Iran conflict affects oil and gold prices
> Write a topic summary on recent AI developments
Trigger keywords: summarize, daily digest, analyze [event], write topic summary
Recommended — one command:
npx skills add LittleLittleCloud/The-Grand-Archive
Or copy manually:
cp -r skills/dak /your-project/.claude/skills/dak
cp -r skills/dak_summary /your-project/.claude/skills/dak_summary
npm install -g @littlelittlecloud/dak-cli
The CLI connects to https://dak-news.com by default. Set an API key to unlock premium access:
export DAK_API_KEY=your-api-key # required for premium tier (90-day history and higher rate limits)
dak search "inflation"
dak search "oil price" --category finance --from 2026-03-01
dak search "AI" --limit 10
dak search "tariff" --json
dak feeds
dak feeds --category tech --limit 20
dak feeds --source Bloomberg --limit 10
dak stats
dak suggest "inflat"
| Option | Description |
|---|---|
--category <cat> | Filter by category: finance / news / social / tech / blog / podcast |
--source <src> | Filter by source |
--from <date> | Published after (ISO 8601) |
--to <date> | Published before (ISO 8601) |
--limit <n> | Max results (default 20) |
--json | JSON output |
import { DakClient } from "@littlelittlecloud/dak";
const client = new DakClient({
baseUrl: "https://dak-news.com",
apiKey: "your-api-key", // optional
});
// Search
const result = await client.search({
q: "inflation",
category: "finance",
from: "2026-03-01",
limit: 20,
});
result.results[0].title; // article title
result.results[0].score; // relevance score
result.total; // total matches
result.tier; // "anonymous" | "free" | "premium"
// Browse
const feeds = await client.getFeeds({ category: "tech", limit: 10 });
const finance = await client.getFeedsByCategory("finance");
const bloomberg = await client.getFeedsBySource("Bloomberg");
// Single entry
const entry = await client.getFeed("entry-id");
// Stats
const stats = await client.getStats();
stats.total; // total entry count
stats.byCategory; // [{ category, count }]
stats.bySource; // [{ source, count }]
| Method | Description |
|---|---|
search(params) | Full-text search with category / source / date / pagination filters |
getFeeds(params?) | Browse entries with multi-dimensional filters |
getFeed(id) | Get single entry by ID |
getFeedsByCategory(cat) | Get entries by category |
getFeedsBySource(src) | Get entries by source |
getStats() | Get index statistics |
Built on MiniSearch — full-text search across 14,000+ entries:
inflaton → inflation)inflat matches inflation, inflationary┌─────────────┐ ┌─────────────────┐ ┌──────────────┐
│ RSS Feeds │───▶│ Ingestion Worker│───▶│ SQLite DB │
└─────────────┘ └─────────────────┘ └──────┬───────┘
│
┌──────────────────────┤
▼ ▼
┌─────────────┐ ┌──────────────┐
│ Hono API │ │ MiniSearch │
│ Server │ │ Index │
└──────┬──────┘ └──────────────┘
│
┌─────────────┼─────────────┐
▼ ▼ ▼
┌──────────┐ ┌──────────┐ ┌──────────┐
│ SDK │ │ CLI │ │ Web UI │
└──────────┘ └──────────┘ └──────────┘
| Package | Description |
|---|---|
@littlelittlecloud/dak | TypeScript SDK — HTTP client, ESM / CJS |
@littlelittlecloud/dak-cli | CLI tool — dak command, zero-dependency single-file bundle |
packages/
contract/ # Zod schemas, types, route constants (workspace-only)
server/ # Hono API server + SQLite + MiniSearch
sdk/ # @littlelittlecloud/dak — HTTP client SDK
cli/ # @littlelittlecloud/dak-cli — CLI tool
ingestion-worker/ # RSS fetch worker (every 30 minutes)
ui/ # Web dashboard
bun install
# Start API server
cd packages/server && bun run dev
# Run ingestion worker (one-shot mode)
cd packages/ingestion-worker && ONCE=1 bun run src/index.ts
# CLI development
cd packages/cli && bun run src/index.ts search "test"
bun run fetch # fetch all enabled sources
bun run fetch finance # fetch only finance category
bun run list # list saved entries
bun run sources # view all sources
Edit config/sources.yaml:
- name: Source Name
url: "{{RSSHUB_BASE_URL}}/example/route"
category: tech
enabled: true
fetch_interval: 3600
tags: [tag1, tag2]
description: Short description
cd packages/sdk && bun run build
cd packages/cli && bun run build
Server and Worker are deployed on Fly.io (Tokyo nrt):
bun run deploy:server
cd packages/ingestion-worker && fly deploy
bun run deploy:server runs a pre-deploy guard that fails unless dak-server
has exactly one Fly machine and one attached dak_data volume.
bun run dev # development server
bun run build # production build
bun run deploy # deploy to GitHub Pages
| Workflow | Trigger | Action |
|---|---|---|
fetch-feeds | Every 30 min / manual | Fetch RSS → commit new feed files |
publish-dak | After feeds update / manual | Build and publish @littlelittlecloud/dak + @littlelittlecloud/dak-cli to npm |
deploy | Manual | Build and deploy Dashboard to GitHub Pages |
MIT