Codync
免费开源的 1:1 Grok Bot 与 Muse 替代方案。可在 iPhone、Mac 或 Linux 桌面上将 Claude 代码、Codex、Cursor 以及 40 多个编码代理作为持久机器人使用。支持群组聊天、线程、应用。
AI 翻译
尚未收集仓库信息。
尚未检测到更新。GitHub 发布版本后会显示在这里。
Decision-grade OAuth setup and approval guides for developers building AI agents: library, live agent generation with setup attempts, claim-level evidence.
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗Decision-grade OAuth setup and approval guides for developers building AI agents.
Provider docs tell you how to configure OAuth. OAuth Atlas tells you whether you need your own OAuth app at all, how long approval will take, what will block you, and what to do next, with a source for every claim.
GET /api/guides/{app}When your agent needs to act in a user's Slack, Gmail or Linear, the OAuth code is the easy part. What costs you weeks is everything around it:
OAuth Atlas answers those per app, as a guide you can follow and share.
tested, primary, secondary, inferred) and an explicit list of unknowns.| Curated guide | Difficulty | Why |
|---|---|---|
| GitHub | 1 Instant | Self-serve, no review |
| Notion | 1 Instant | Public connection with no review |
| Slack | 3 Moderate | Unlisted apps work, but history reads are throttled until Marketplace approval |
| 4 Hard | Business Verification plus App Review per permission | |
| Gmail | 5 Very hard (send-only: 3) | Restricted scopes mean verification plus annual CASA |
100 apps are tracked; any other app gets a guide generated live in about 1–2.5 minutes.
Search the library, open a guide, or generate one for any app name or URL. Every guide has Copy link and Copy as Markdown.
A read-only JSON API, open to any origin. {app} can be a slug, a name or a URL.
curl https://oauth-atlas.vercel.app/api/guides # all 100 tracked apps, with difficulty where a guide exists
curl https://oauth-atlas.vercel.app/api/guides/gmail # one guide as JSON
curl "https://oauth-atlas.vercel.app/api/guides/slack.com?format=md" # by URL, as Markdown for an LLM prompt
A guide response looks like this (trimmed):
{
"source": "curated",
"url": "https://oauth-atlas.vercel.app/apps/gmail",
"difficulty": { "score": 5, "label": "Very hard", "rationale": ["…security-assessment…"] },
"guide": {
"app": { "name": "Gmail", "composio": { "managed": "yes" } },
"ownApp": { "triggers": ["…"] },
"verdict": { "summary": "…", "canTestBeforeApproval": true },
"milestones": [{ "id": "dev-ready", "handsOnHours": { "min": 0.5, "max": 1 }, "wait": { "minDays": 0, "maxDays": 0 } }, "…"],
"agentTasks": ["…"], "humanTasks": ["…"], "unknowns": ["…"], "evidence": ["…"]
}
}
If no guide exists yet, the API answers 404 with a generateUrl. To generate one programmatically, POST /api/generate with {"query": "Strava"}; it streams Server-Sent Events (run, step, done) and saves the guide, after which GET /api/guides/strava returns it. Public generation is limited to 5 runs per IP per hour; host your own copy for more.
A typical agent flow: before asking a user to connect an app, fetch its guide; if guide.app.composio.managed is "yes" and none of guide.ownApp.triggers apply, use managed auth; otherwise show the user humanTasks and the production-ready wait. More in docs/USAGE.md.
git clone https://github.com/Aryankumar29/oauth-atlas.git
cd oauth-atlas
npm ci
cp .env.example .env.local # set MOCK_LLM=1 to run offline with no keys
npm run dev # http://localhost:3000
For real live generation, set one model provider in .env.local: Anthropic, OpenAI, Azure OpenAI or Gemini (table in docs/USAGE.md). To deploy, use the Deploy with Vercel button above and add an Upstash Redis database so runs persist; details in docs/deploy.md. Requires Node.js 20.9+.
POST /api/generate runs a pipeline and streams each step:
tested.Full detail: docs/ARCHITECTURE.md. Design: docs/SPEC.md, docs/DECISIONS.md.
Scripts that run real, credential-free or human-approved setups and never store tokens (docs/USAGE.md):
npx tsx scripts/probe.ts linear.app # OAuth endpoint probes
npx tsx scripts/verify-mcp-setup.ts https://mcp.linear.app --out rec.json # register, sign in, call, revoke via MCP
npx tsx scripts/verify-github-device-flow.ts --client-id <id> --out rec.json
Results so far are in docs/verification-log.md; corrections to common assumptions in docs/corrections.md.
secondary.toggltrack.com for Toggl) stays untrusted, so that guide loses its primary sources; github.com/<name> is treated as official without an ownership check; DNS rebinding between the URL check and the fetch is not fully closed.npm run check # typecheck, lint, 271 unit tests, guide validation, production build
npm run test:e2e # Playwright smoke tests in offline mode (first time: npx playwright install chromium)
app/ pages, the guide API and the streaming generate API
lib/agent/ the pipeline: resolve, composio, discover, probe, attempt, extract, verify; model adapters in llm/
lib/ schema, difficulty, store (Upstash or memory), Markdown export
data/ 100 tracked apps, 5 curated guides, Composio managed-auth snapshot
scripts/ verification, library generation and maintenance scripts
tests/, e2e/ unit and offline pipeline tests; browser smoke tests
docs/ usage, architecture, deploy, testing, spec, decisions, research, verification log, evidence, screenshots
Contributions are welcome: see CONTRIBUTING.md. Security reports: SECURITY.md.
I built OAuth Atlas because the hard part of letting an AI agent act on a user's behalf is rarely the OAuth code. It is everything around it, and today you piece that together from docs, forum threads and trial and error. So each guide leads with the decision, not the documentation, and three choices shape the rest: the model reads, code decides; evidence is per claim, with gaps listed rather than filled; and the agent tries the setup itself, so what it finds changes the guidance. For Linear I ran the whole setup for real: the agent registered itself on Linear's MCP server, I approved the sign-in, and it called the server and revoked the token, with no developer console involved.
I built it with AI coding agents doing the implementation and an independent verifier agent reviewing every change, while I owned the product decisions. The original take-home submission is preserved at tag v0.1.0-submission, with SUBMISSION_NOTES.md.
— Aryan Kumar (@Aryankumar29)
MIT © 2026 Aryan Kumar. Guides summarize public provider documentation with links to the sources.