Skip to content

About

An AI deep research agent that orchestrates web search and multiple LLM providers to automate multi-step research, report generation, and Bring Your Own API Key (BYOK) support.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

19 Commits

Folders and files

Repository files navigation

MicroManus

MicroManus is an internet-connected deep-research workspace with GitHub authentication, a credit paywall, bring-your-own-model credentials, iterative search, cited answers, PDF reports, and transparent token-level costs.

Local development

  1. Install Node.js 20 or newer and run npm install.
  2. Copy .env.example to .env.local and add the services you want to exercise.
  3. Run npm run dev and open http://localhost:3000.

With no Supabase variables, the application automatically enables its isolated evaluation workspace. Redeem SID_DRDROID, then add a model API key under Providers. Evaluation keys live only in sessionStorage and disappear when the browser session closes. Tavily is preferred for search; without it, the agent uses Wikipedia's public API as a limited fallback.

The repository's OPENAI_API_KEY is deliberately ignored. Model credentials must come from the signed-in user.

Production setup

Supabase and GitHub OAuth

  1. Create a Supabase project and run supabase/migrations/001_initial_schema.sql in its SQL editor or through the Supabase CLI.
  2. Enable GitHub under Authentication > Providers and add the GitHub OAuth client credentials.
  3. Configure the callback URL as https://YOUR_DOMAIN/auth/callback in Supabase and add Supabase's callback URL to the GitHub OAuth app.
  4. Set NEXT_PUBLIC_SUPABASE_URL, NEXT_PUBLIC_SUPABASE_ANON_KEY, and SUPABASE_SERVICE_ROLE_KEY.
  5. Set CREDENTIAL_ENCRYPTION_KEY to 32 random bytes encoded as base64, for example with openssl rand -base64 32.

The migration enables row-level security on all user-owned data and exposes atomic functions for coupon redemption, Stripe grants, and completed research runs.

Stripe test mode

  1. Set STRIPE_SECRET_KEY and NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY from a Stripe test account.
  2. Create a webhook pointing to https://YOUR_DOMAIN/api/stripe/webhook.
  3. Subscribe it to checkout.session.completed and set the resulting signing secret as STRIPE_WEBHOOK_SECRET.
  4. Use Stripe's test card 4242 4242 4242 4242, any future expiry, and any CVC to exercise the $5 Checkout flow.

Checkout sessions are created server-side. Credit grants and event recording happen in one idempotent database transaction, so webhook retries cannot duplicate credits.

Search and application URL

Set TAVILY_API_KEY for broad web research and NEXT_PUBLIC_APP_URL to the production origin. Disable the evaluation entry point in production with NEXT_PUBLIC_DEMO_MODE=false.

Verification

npm run lint
npm run typecheck
npm test
npm run build
npm run build:next

npm run build runs the standard Next.js production build that Netlify should use through netlify.toml. npm run build:sites remains available only for the legacy local Sites packaging flow that was already verified in this workspace.

Netlify deploy

The repository now includes netlify.toml for a standard Netlify deployment. Use the Next.js build pipeline, then set the same runtime environment variables from the production setup section in Netlify's dashboard. The app remains fully server-rendered and keeps its route handlers, auth flows, and PDF generation intact.

Provider APIs report token usage differently. MicroManus normalizes OpenAI-compatible cached prompt tokens and Anthropic cache read/write tokens, then snapshots the selected model's rates with every completed run.

About

An AI deep research agent that orchestrates web search and multiple LLM providers to automate multi-step research, report generation, and Bring Your Own API Key (BYOK) support.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages