Join the Agent Deck Discord Server!
Discord에서 Agent Deck 커뮤니티 확인, 357명과 자유 음성·텍스트 채팅 이용
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Built a finishable feed for the accounts you follow. Combines YouTube channels, X accounts and Substack publications into one chronological feed you can actually reach the end of, with no algorithm and no infinite scroll. Vanilla JavaScript with no framework or build step, Vercel serverless functions and Neon Postgres.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗A finishable feed for the accounts you follow. Pick your YouTube channels, X accounts and Substack publications, get one chronological feed, mark items Done or Archive, and reach "You're all caught up." No infinite scroll, no algorithm.
Live at https://trysouschef.vercel.app
@handle, ID or name, or import your
subscriptions), X accounts (@handle) and Substack publications (URL or name).api/.Requires Node 18 or later.
npm install
node dev-server.mjs
The landing page is at http://localhost:3000 and the app is at http://localhost:3000/app. The
server answers only this computer; use node dev-server.mjs --lan to open the app on a phone on the
same network.
Configuration goes in a .env file at the repo root:
| Variable | What it enables | Without it |
|---|---|---|
DATABASE_URL | Sign-in and sync (Neon Postgres) | Nobody can sign in |
DEV_DATABASE_URL | A separate development database, used instead of DATABASE_URL outside production | DATABASE_URL is used |
GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET | Sign in with Google, and YouTube import | The Google button is unavailable |
RESEND_API_KEY | Magic-link emails | No email is sent |
YOUTUBE_API_KEY | The YouTube Data API | Falls back to RSS and page scraping |
X_BEARER_TOKEN | X accounts | X is unavailable |
ANTHROPIC_API_KEY | Topic grouping | The feed stays ungrouped |
X_DAILY_POST_QUOTA | A daily per-person limit on X posts | Usage is counted and nobody is limited |
ADMIN_EMAIL | The usage dashboard at /admin.html for that account | The dashboard is closed |
Create the tables once with node scripts/init-db.mjs. It is safe to re-run.
Check which database you are on. If DATABASE_URL is your production database, set
DEV_DATABASE_URL to a development one before running anything locally. The dev server prints the
database host when it starts, and scripts that write refuse production unless you pass --prod.
If you fork this: magic-link emails are sent from the address in api/_resend.js. Change it to
a domain you have verified with Resend. The Google OAuth client needs
<origin>/api/auth/google/callback as an authorised redirect URI.
index.html, landing.js landing page, served at /
app/index.html app shell, served at /app
app.js, style.css client logic and styles
lib/pure.js pure functions shared by the app and the tests
privacy/index.html privacy policy, served at /privacy
admin.html, admin.js usage dashboard
api/ serverless functions; files starting with _ are helpers, not routes
scripts/ database setup and maintenance scripts
dev-server.mjs local server
test/ tests and fixtures
test-helpers/ test harnesses
npm test
The suite uses node:test, which is built into Node, so there is no test framework to install. It
covers the server code in api/, the pure functions in lib/pure.js, and the client logic in
app.js and landing.js, which the harnesses in test-helpers/ run against a stubbed browser.
npm install sets up a pre-commit hook that runs the suite.
npm run mutate <spec> runs a mutation battery: it applies each deliberate breakage listed in a
spec file, runs the suite, and reports which test caught it.
SousChef is developed in a private repository, and this one is a snapshot of its code and tests. Contributions are welcome: see CONTRIBUTING.md, the Code of Conduct, and SECURITY.md for reporting a vulnerability.
MIT. See LICENSE.