openjutsu
영상에서 원클릭으로 인물 교체, ComfyUI·MiniMax H3 기반 오픈소스 로컬 힉스필드 겐주츠 대안, FLUX.3 Klein 재조명 지원
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기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