openjutsu
One-click character swap for videos: an open-source, local Higgsfield Genjutsu alternative built on ComfyUI and MiniMax H3, with FLUX.3 Klein relighting.
为 AI Agent 设计的实时新闻聚合数据库 — 20+ 权威来源,每 30 分钟更新,支持全文搜索和 API 接入
Translation pending
MediaTypeScript · HTMLGitHub @LittleLittleCloudOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Dak-news: AI news aggregator
Translation pending
Taken from the repository README
Loading the full README.
Read the full 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