Назад към всички

clawfeed-2

// AI-powered news digest tool. Automatically generates structured summaries (4H/daily/weekly/monthly) from Twitter and RSS feeds.

$ git log --oneline --stat
stars:1,933
forks:367
updated:March 4, 2026
SKILL.mdreadonly

ClawFeed

AI-powered news digest tool. Automatically generates structured summaries (4H/daily/weekly/monthly) from Twitter and RSS feeds.

Credentials & Dependencies

ClawFeed runs in read-only mode with zero credentials — browse digests, view feeds, switch languages. Authentication features (bookmarks, sources, packs) require additional credentials.

CredentialPurposeRequired
GOOGLE_CLIENT_IDGoogle OAuth loginFor auth features
GOOGLE_CLIENT_SECRETGoogle OAuth loginFor auth features
SESSION_SECRETSession cookie encryptionFor auth features
API_KEYDigest creation endpoint protectionFor write API

Runtime dependency: SQLite via better-sqlite3 (native addon, bundled). No external database server required.

Setup

# Install dependencies
npm install

# Copy environment config
cp .env.example .env
# Edit .env with your settings

# Start API server
npm start

Environment Variables

Configure in .env file:

VariableDescriptionRequiredDefault
DIGEST_PORTServer portNo8767
GOOGLE_CLIENT_IDGoogle OAuth client IDFor auth-
GOOGLE_CLIENT_SECRETGoogle OAuth client secretFor auth-
SESSION_SECRETSession cookie encryption keyFor auth-
API_KEYDigest creation API keyFor write API-
AI_DIGEST_DBSQLite database pathNodata/digest.db
ALLOWED_ORIGINSCORS allowed originsNolocalhost

API Server

Runs on port 8767 by default. Set DIGEST_PORT env to change.

Endpoints

MethodPathDescriptionAuth
GET/api/digestsList digests (?type=4h|daily|weekly&limit=20&offset=0)-
GET/api/digests/:idGet single digest-
POST/api/digestsCreate digest (internal)-
GET/api/auth/googleStart Google OAuth flow-
GET/api/auth/callbackOAuth callback endpoint-
GET/api/auth/meGet current user infoYes
POST/api/auth/logoutLogout userYes
GET/api/marksList user bookmarksYes
POST/api/marksAdd bookmarkYes
DELETE/api/marks/:idRemove bookmarkYes
GET/api/configGet configuration-
PUT/api/configUpdate configuration-

Web Dashboard

Serve web/index.html via your reverse proxy or any static file server.

Templates

  • templates/curation-rules.md — Customize feed curation rules
  • templates/digest-prompt.md — Customize the AI summarization prompt

Configuration

Copy config.example.json to config.json and edit. See README for details.

Reverse Proxy (Caddy example)

handle /digest/api/* {
    uri strip_prefix /digest/api
    reverse_proxy localhost:8767
}
handle_path /digest/* {
    root * /path/to/clawfeed/web
    file_server
}