Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

11 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

  โ•”โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•—
  โ•‘                                                   โ•‘
  โ•‘    โœฆ  A I   S T U D I O  โœฆ  Bharat ยท Sarvam AI   โ•‘
  โ•‘                                                   โ•‘
  โ•‘   Think. Talk. Connect.                           โ•‘
  โ•‘                                                   โ•‘
  โ•‘   Multi-model Council ยท Agent Chat ยท Voice AI     โ•‘
  โ•‘   WhatsApp Integration ยท Video Gen ยท 40+ Personas โ•‘
  โ•‘                                                   โ•‘
  โ•šโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•

๐Ÿ‡ฎ๐Ÿ‡ณ Built with โค๏ธ in Bharat ยท Powered by Sarvam AI

Made in India Powered by Sarvam AI License: MIT React Vite Firebase PWA


๐Ÿ”ฅ Free hosted AI โ€” no API key needed. Sign in with Google and instantly access Sarvam AI (India's own LLM) and Hosted Ollama โ€” free for all users. No credit card, no setup.


๐Ÿ“‹ Changelog โ€” Recent Updates

All changes shipped since the last README revision.

โœฆ Video Gen โ€” SkyReels V3 Digital Avatar Videos (New)

New VideoGenPage.jsx โ€” full lip-sync video generation powered by SkyReels V3:

  • Upload a portrait image + audio file โ†’ get a lip-synced HD 720p video in 1โ€“3 minutes
  • Audio-driven: SkyReels animates the face to match the speech in your audio clip
  • Upload any local audio file (WAV/MP3) โ€” the server converts it to a public URL automatically before sending to SkyReels (no base64 limitations)
  • Free with your account โ€” server API key used by default; bring your own SkyReels key for your own quota
  • Full generation status flow: Uploading audio โ†’ Submitting โ†’ Generating โ†’ Complete
  • Video preview panel with inline player and one-click download
  • Past videos accessible via a slide-over History panel
  • Cost displayed per generation (sourced from SkyReels usage data)

โœฆ AI Studio โ€” Full App Rebrand & Multi-Page Shell

The app has evolved from a single-screen "AI Council" tool into a full AI Studio platform with persistent navigation and six distinct pages.

  • App renamed from AI Council โ†’ AI Studio ยท Bharat ยท Sarvam AI
  • New Shell.jsx โ€” desktop sidebar (220px) + mobile top header + mobile bottom tab bar in one layout wrapper
  • New design.js โ€” shared CSS keyframes, NAV_ITEMS constants, ghostBtn() and alertBox() utility helpers used across all pages
  • SetupScreen.jsx refactored into a thin router that delegates rendering to page-level components

โœฆ Six-Page Navigation

Page Icon Auth Required
Home โŒ‚ No
Council โš– Optional (managed providers need sign-in)
Agent Chat ๐Ÿค Yes โ€” shows inline sign-in wall
Voice AI ๐ŸŽ™ Yes โ€” triggers login modal on launch
WhatsApp ๐Ÿ’ฌ Yes โ€” triggers login modal on launch
Video Gen ๐ŸŽฌ Yes โ€” shows inline sign-in wall

โœฆ HomePage โ€” New Landing Page

Replaces the old empty default view:

  • Animated headline: Think. Talk. Connect. with multi-color gradient shimmer
  • Eyebrow badge: Made in Bharat ยท Powered by Sarvam AI ยท ๐Ÿ”ฅ FREE
  • Floating ambient background orbs (animated radial gradients)
  • 5-column feature card grid (Council, Agent Chat, Voice AI, WhatsApp, Video Gen) โ€” each card navigates to its page
  • Stats strip: 40+ Personas ยท 10+ Languages ยท 6+ Providers ยท Free with login

โœฆ CouncilPage โ€” Extracted Page Component

Council builder is now src/components/setup/pages/CouncilPage.jsx:

  • Stage I / II / III summary cards shown at the top of the page
  • Two-column layout: members on the left, templates on the right
  • Category filter pills for templates (Think Tank, AI Agents, Corporate, Professional, Unfiltered)
  • Inline member editing โ€” click โœŽ to expand an edit form in-place, no panel required
  • Validation shows a list of incomplete members with inline Edit โ†’ shortcut buttons
  • Templates auto-select managed_sarvam when the user is signed in, ollama when not

โœฆ AgentPage โ€” Dedicated Agent Chat Page

src/components/setup/pages/AgentPage.jsx:

  • Full persona grid with category filter pills at the top
  • Shows an inline sign-in wall (not a redirect) when logged out โ€” feature preview chips visible
  • Custom personas surface in a "Mine" category automatically
  • โœจ Custom Persona action button in the page header
  • Persona cards show name, tagline, badge, and a Chat โ†’ CTA

โœฆ VoicePage & WhatsAppPage โ€” New Platform Pages

VoicePage (pages/VoicePage.jsx):

  • Hero section with a language pill strip (10+ Indic scripts rendered natively)
  • "Why it's different" feature grid: cultural context, real-time streaming, code-switching, all personas by voice
  • Auth-gated launch button โ†’ opens SarvamVoiceChat modal after sign-in

WhatsAppPage (pages/WhatsAppPage.jsx):

  • "How it works" 4-step numbered flow with color-accent step markers
  • Use case grid: Morning Clarity, Deal Coach, Evening Debrief, Startup Advisor
  • Auth-gated launch button โ†’ opens WhatsAppGateway modal after sign-in

โœฆ PageHeader โ€” Shared Reusable Header Component

src/components/setup/PageHeader.jsx used by all inner pages:

  • Color-matched icon box (background + border tinted to page accent color)
  • clamp()-scaled title in Syne font
  • Optional subtitle line
  • Optional extra prop โ€” renders action buttons right-aligned (responsive wraps on mobile)

โœฆ UserAvatar Dropdown โ€” Direction & Positioning Fixes

  • Added dropUp boolean prop to UserAvatar
  • Desktop sidebar passes dropUp โ†’ dropdown opens upward, left-anchored, expands into main content area (not clipped by sidebar)
  • Mobile header omits dropUp โ†’ dropdown opens downward, right-anchored, stays within viewport
  • Removed the brittle CSS hack ([style*="position: absolute"] override) from Shell.jsx

โœฆ PersonaPicker โ€” New Searchable Grouped Dropdown

Replaces the native <select> for persona selection in MemberForm:

  • Grouped by category with color-coded section headers
  • Category filter pills (All + each group)
  • Full-text search across persona name and system prompt text
  • Chair suggestion badge (๐Ÿ‘‘ CHAIR) shown inline on eligible personas
  • 2-line prompt preview per row
  • Keyboard navigable (arrow keys, Enter, Escape)

โœฆ ModelPicker โ€” New Searchable Combobox

Replaces <input list="datalist"> for model selection:

  • Type to filter with live substring highlight of matching characters
  • Arrow-key navigation through list, Enter to confirm or use typed value
  • Quantization tag extracted from model name (q4_K_M etc.) shown as a dim pill
  • Integrated โ†ป Fetch button โ€” fires onFetchClick prop to live-fetch models from the provider API
  • Clear (โœ•) and chevron (โ–ฒ/โ–ผ) controls in the input row
  • Descriptive empty state: "No match โ€” press Enter to use {typed}"

โœฆ Agent Personas โ€” Expanded to 40+

AgentScreen.jsx now exports AGENT_PERSONAS and AGENT_PERSONA_CATEGORIES. Major additions:

Category New Personas
Leadership CEO, CFO, CTO, CMO, Startup Founder
Philosophy Stoic, Existentialist, Buddhist, Socratic Tutor
India Indian Founder, Sarvam Hindi, Sarvam Indic, Market Intelligence, Cultural Lens
AI Agents Grok, Claude Ethics, Gemini Synthesizer, Devin Executor, Task Planner, Risk Monitor
Coaching Life Coach, Therapist, Career Coach
Legal / Finance Lawyer, CA, SEBI Advisor

โœฆ Council Templates โ€” AI Agents Category (7 New Templates)

New ai-agents template category added to templates.js. Total templates: 18 (up from 13).

Template Members Focus
๐Ÿ”ฌ Research + Operator Deep Researcher + Web Intelligence + Red Team + Operator ๐Ÿ‘‘ Research synthesis
โš—๏ธ AI Model Debate Grok + Claude Ethics + Gemini + Canvas + Raw Arbiter ๐Ÿ‘‘ Model comparison
โšก Agentic Task Force Task Planner + Full-Stack Builder + Risk Monitor + Orchestrator ๐Ÿ‘‘ Execution pipelines
๐Ÿ”€ Skill Pipeline Skill Composer + Code Architect + Systems Thinker + Executor ๐Ÿ‘‘ Modular AI workflows
๐Ÿฆ‰ Socratic + Red Team Socratic Tutor + Red Team + Ethics Auditor + Systems Thinker ๐Ÿ‘‘ Critical reasoning
๐Ÿ‡ฎ๐Ÿ‡ณ India Intelligence Council Market Intelligence + Cultural Lens + Analyst + Pragmatist ๐Ÿ‘‘ India-specific strategy
๐Ÿ›ก๏ธ Tech Ethics Review Code Architect + Ethics Auditor + Risk Monitor + Red Team + Systems Thinker ๐Ÿ‘‘ Responsible tech

โœฆ SarvamVoiceChat Modal

New component SarvamVoiceChat.jsx โ€” full voice chat experience:

  • Persona and language selection before starting
  • Real-time voice-to-text via Sarvam AI's speech API
  • Streaming text response with voice playback
  • Supports Hindi, Tamil, Bengali, and 10+ Indic languages
  • Auth-gated โ€” only accessible to signed-in users

โœฆ WhatsAppGateway Modal

New component WhatsAppGateway.jsx โ€” WhatsApp linking flow:

  • QR code generation for WhatsApp Web pairing
  • Persona selection for the WhatsApp AI
  • Connection status tracking
  • Auth-gated โ€” only accessible to signed-in users

โœฆ MCPPanel โ€” MCP Server Integration

New component MCPPanel.jsx:

  • Configure Model Context Protocol server endpoints
  • Tool discovery and selection
  • Available as an advanced option in Council and Agent modes

โœฆ providers.js โ€” getAvailableProviders() Helper

export function getAvailableProviders(isLoggedIn) {
  return Object.fromEntries(
    Object.entries(PROVIDERS).filter(([, p]) => isLoggedIn || !p.requiresAuth),
  );
}

Managed providers (managed_sarvam, managed_ollama) are filtered out of the provider picker when the user is not signed in. All components use this instead of PROVIDERS directly.

โœฆ Auth-Gate Patterns

Two distinct patterns are used depending on the feature:

  • Soft gate (sign-in wall): AgentPage and VideoGenPage render an inline sign-in prompt instead of the full UI. The user stays on the page and can see what they would get.
  • Hard gate (login modal): Voice and WhatsApp pages show their full marketing content freely, but calling requireAuth() on the launch button triggers openLogin() from AuthGate context โ€” which opens the existing login modal overlay without a page change.

โœฆ Project Structure Update

src/components/
โ”œโ”€โ”€ setup/
โ”‚   โ”œโ”€โ”€ Shell.jsx              # NEW โ€” sidebar + mobile nav layout wrapper
โ”‚   โ”œโ”€โ”€ PageHeader.jsx         # NEW โ€” shared page header component
โ”‚   โ”œโ”€โ”€ design.js              # NEW โ€” shared CSS, NAV_ITEMS, helpers
โ”‚   โ””โ”€โ”€ pages/
โ”‚       โ”œโ”€โ”€ HomePage.jsx       # NEW โ€” landing page with hero + feature cards
โ”‚       โ”œโ”€โ”€ CouncilPage.jsx    # NEW โ€” council builder (extracted from SetupScreen)
โ”‚       โ”œโ”€โ”€ AgentPage.jsx      # NEW โ€” agent chat browse page
โ”‚       โ”œโ”€โ”€ VoicePage.jsx      # NEW โ€” voice AI marketing + launch page
โ”‚       โ”œโ”€โ”€ WhatsAppPage.jsx   # NEW โ€” WhatsApp marketing + launch page
โ”‚       โ””โ”€โ”€ VideoGenPage.jsx   # NEW โ€” SkyReels V3 avatar video generator
โ”œโ”€โ”€ MCPPanel.jsx               # NEW โ€” MCP server integration
โ”œโ”€โ”€ SarvamVoiceChat.jsx        # NEW โ€” voice chat modal
โ”œโ”€โ”€ WhatsAppGateway.jsx        # NEW โ€” WhatsApp connection modal
โ”œโ”€โ”€ PersonaPicker.jsx          # NEW โ€” searchable grouped persona dropdown
โ”œโ”€โ”€ ModelPicker.jsx            # NEW โ€” searchable model combobox
โ””โ”€โ”€ SetupScreen.jsx            # REFACTORED โ€” now a thin 6-page router

๐Ÿ‡ฎ๐Ÿ‡ณ Sarvam AI โ€” India's Own LLM, Built into AI Studio

Sarvam AI is an Indian large language model built for Bharat โ€” designed to understand Indian context, culture, and languages. It is fully integrated into AI Studio as a first-class hosted provider, available free to all signed-in users.

Why Sarvam AI?

  • Built in India, by Indians, for Indian use cases
  • Understands Indian cultural and business context natively
  • Supports Indic language inputs and multilingual reasoning
  • No API key required โ€” sign in with Google and use it instantly
  • Available in Council mode, Agent Chat mode, and Voice AI mode

How to use it:

  1. Click Sign in with Google (top right or sidebar)
  2. Add a council member โ†’ select Sarvam AI ๐Ÿ‡ฎ๐Ÿ‡ณ as the provider
  3. Model is pre-set to sarvam-m โ€” no configuration needed
  4. Run your query โ€” Sarvam AI deliberates alongside any other models you choose

Pair Sarvam AI with Hosted Ollama for a 100% free, zero-setup council โ€” no API keys anywhere.


โœฆ How It Works

Your Question
     โ”‚
     โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  Stage I โ€” First Opinions               โ”‚
โ”‚  All council members respond in         โ”‚
โ”‚  parallel (cloud) or queued (Ollama)    โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
     โ”‚
     โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  Stage II โ€” Peer Review                 โ”‚
โ”‚  Each member reads anonymized           โ”‚
โ”‚  responses and critiques them           โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
     โ”‚
     โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  Stage III โ€” Final Verdict              โ”‚
โ”‚  The Chairman synthesizes everything    โ”‚
โ”‚  into one authoritative answer          โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
     โ”‚
     โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  Follow-up (optional)                   โ”‚
โ”‚  Ask another question โ€” council keeps   โ”‚
โ”‚  the full prior verdict as context      โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

โœฆ Features

Core

  • Multi-provider โ€” Ollama, OpenAI, Groq, Anthropic, Google, Sarvam AI ๐Ÿ‡ฎ๐Ÿ‡ณ, or any OpenAI-compatible endpoint
  • Mix local + cloud โ€” run DeepSeek-R1 locally alongside Claude, GPT-4o, or Sarvam AI
  • 40+ built-in personas across Think Tank, Corporate, Startup, Consulting, Editorial, Medical, Legal, AI Agents, India, Philosophy, Coaching, and Unfiltered roles
  • Raw Model persona โ€” no role-play, no framing: the model responds from its own knowledge and judgment
  • Streaming responses โ€” watch all models think in real time, switch tabs mid-generation without losing data
  • Think-block stripping โ€” <think> blocks from reasoning models (DeepSeek-R1, QwQ) are hidden; only the final answer is shown, with a live "๐Ÿง  Thinkingโ€ฆ" indicator
  • Tabbed results UI โ€” Stage I / II / III tabs, switch freely while generation is in progress
  • Session history โ€” all past queries stored locally, reviewable in a full modal with per-stage tabs
  • Saved configs โ€” save provider + model + API key combos for quick reuse
  • Mobile friendly โ€” responsive layout, no white flash, safe area insets, iOS zoom prevention

Platform Modes

Mode Description Auth
โš– Council 3-stage multi-model deliberation with Chairman verdict Optional
๐Ÿค Agent Chat 1-on-1 conversation with 40+ expert personas Required
๐ŸŽ™ Voice AI Speak in Hindi, Tamil, and 10+ Indian languages Required
๐Ÿ’ฌ WhatsApp AI persona living inside WhatsApp Required
๐ŸŽฌ Video Gen Lip-synced HD avatar videos from a portrait image + audio clip Required

๐ŸŽฌ Video Gen โ€” SkyReels V3 Avatar Videos

Transform any portrait photo into a talking digital avatar. Upload a face image and an audio clip โ€” SkyReels V3 animates the face to lip-sync with the audio and renders a 720p HD video.

How to generate a video

  1. Sign in with Google (required)
  2. Navigate to Video Gen in the sidebar
  3. Enter a prompt describing the scene (e.g. "The person speaks affectionately to the camera. Use a static shot.")
  4. Upload a portrait image (or paste a public image URL)
  5. Upload an audio file (WAV/MP3) or paste a public audio URL
  6. Click ๐ŸŽฌ Generate Video โ€” the server uploads your audio, submits the job, and polls for completion
  7. Your video appears in the preview panel โ€” watch it inline or download it

Technical details

Spec Value
Model SkyReels V3 Single Avatar
Resolution HD 720p
Max duration 200 seconds
Architecture DiT + Multimodal
Sync type Audio-driven lip-sync
Audio formats WAV, MP3 (public URL or local upload)
Image input URL or base64 (local upload)

API key

By default your generation uses the server's SkyReels key โ€” free with your account, no setup needed. To use your own quota, expand the ๐Ÿ”‘ API Key panel and paste your key from api.skycoding.ai. Your key is forwarded per-request and never stored.

Audio upload flow

Local audio files (uploaded from your device) are automatically saved to the server and served at a public URL before being submitted to SkyReels. SkyReels requires a publicly accessible HTTPS URL โ€” it cannot process base64 data URIs directly.

User uploads audio
       โ”‚
       โ–ผ
POST /api/videogen/upload-audio
Server saves file to disk โ†’ returns public URL
       โ”‚
       โ–ผ
POST /api/videogen/submit
Submits {prompt, image, audio_url} to SkyReels API
       โ”‚
       โ–ผ
GET /api/videogen/:id/status  (polls every 10s)
       โ”‚
       โ–ผ
GET /api/videogen/:id/result
Returns video URL + cost

Backend environment variables

Variable Default Description
SKYCODING_API_KEY โ€” SkyReels API key (server default key)
MEDIA_DIR /media/prijak/MyDrive/html/AiStudio Local path where audio files are saved
MEDIA_BASE_URL backendurl/AiStudio Public base URL for saved audio files

โœฆ Auth & Cloud Features

๐Ÿ” Google Sign-In & Firebase Authentication

Sign in with your Google account to unlock cloud features and free hosted models. Uses Firebase Auth with popup โ†’ redirect fallback โ€” works on all browsers including iOS Safari.

  • Managed providers (Sarvam AI, Hosted Ollama) require sign-in
  • Session persists across tabs and page reloads
  • Anonymous users continue to work with local storage and self-hosted providers

โ˜ Cloud Config Sync with End-to-End Encryption

When signed in, saved council configs sync to Firestore. API keys are encrypted with AES-GCM 256-bit (WebCrypto) before leaving your browser โ€” the server only ever stores ciphertext.

  • Configs sync across devices automatically
  • Each saved config card shows โ˜ cloud ยท ๐Ÿ”’ encrypted badge when active
  • Falls back to localStorage for anonymous sessions

๐Ÿ‡ฎ๐Ÿ‡ณ Managed / Hosted Providers (No API Key Required)

Provider Icon Notes
Sarvam AI ๐Ÿ‡ฎ๐Ÿ‡ณ India's own LLM (sarvam-m) โ€” built for Bharat
Hosted Ollama ๐Ÿฆ™ Free open-source models โ€” mistral-nemo, deepseek-r1, llama3.1, and more

No endpoint, no API key, no credit card. Just sign in.

๐Ÿ–ฅ Express Backend & Usage Analytics

Node.js/Express backend (server.js) with Firebase Admin auth verification, per-UID rate limiting (30 req/min default), streaming proxy, Firestore usage analytics, session logging, request ID tracing, and an admin stats endpoint.

Every inbound request is assigned a unique REQ-{timestamp}-{counter} ID logged alongside method, path, client IP, and token snippet โ€” making it easy to trace a generation end-to-end in Docker logs.


โœฆ Previously Shipped Features

๐ŸŒก Temperature / Creativity Slider

Range Label Effect
0โ€“35% ๐ŸŽฏ Precise Deterministic, factual, low variance
35โ€“65% Balanced Default โ€” good for most questions
65โ€“100% ๐ŸŽจ Creative More varied, exploratory, unexpected

๐Ÿ”— Follow-up Questions

After a verdict, ask a follow-up โ€” the council carries the full prior verdict as context. Each round is saved in followUpChain and shown in History.

โฌ› Abort / Cancel Mid-Run

Cancel at any point โ€” partial results are preserved, a red banner is shown, and follow-up is still available.

๐Ÿ“ค Export as Markdown / ๐Ÿ–จ PDF

downloadMarkdown() builds a structured .md report. exportPDF() opens a print-ready styled browser window.

โœจ Council Templates

18 pre-built persona structures across Think Tank, AI Agents, Corporate, Professional, and Unfiltered categories โ€” one click to load.

๐Ÿ“ฅ / ๐Ÿ“ค Import / Export Council JSON

Save and reload full council setups. API keys are always stripped from exports.

๐Ÿ”— Webhook Output

Configure a webhook URL in Settings. After every completed session, AI Studio POSTs the full session JSON. Works with Zapier, Make, n8n, Slack, Notion, and Pipedream.


โœฆ Screenshots

Home Screen: Home Screen

Configure Member: Configure Member Configure Member

Results View: Results View

Manage Members: Manage Members

Final Verdict: Final Verdict


โœฆ Tech Stack

Layer Choice
Framework React 19
Styling Inline styles + CSS (no Tailwind, no CSS-in-JS lib)
Fonts Syne + DM Sans (Google Fonts)
Auth Firebase Authentication (Google Sign-In)
Database Firestore (cloud config sync, usage analytics)
Encryption WebCrypto AES-GCM 256 (client-side, before upload)
Local Storage localStorage (sessions, configs for anonymous users)
Backend Node.js + Express (managed providers, analytics)
Indic AI Sarvam AI ๐Ÿ‡ฎ๐Ÿ‡ณ (sarvam-m)
Video AI SkyReels V3 (skywork-ai/skyreels-v3/standard/single-avatar)
Build Vite 6
PWA vite-plugin-pwa + custom Service Worker

โœฆ Getting Started

Prerequisites

  • Node.js 18+
  • One of: Ollama locally, a cloud provider API key, or just a Google account to use free managed providers (Sarvam AI + Hosted Ollama)

Install & Run

git clone https://github.com/prijak/Ai-council.git
cd ai-council
npm install
npm run dev

Open http://localhost:5173.

Firebase Setup (optional โ€” for auth + cloud sync + managed providers)

  1. Create a Firebase project at console.firebase.google.com
  2. Enable Authentication โ†’ Google sign-in provider
  3. Enable Firestore database
  4. Copy your config into .env:
VITE_FIREBASE_API_KEY=...
VITE_FIREBASE_AUTH_DOMAIN=...
VITE_FIREBASE_PROJECT_ID=...
VITE_FIREBASE_STORAGE_BUCKET=...
VITE_FIREBASE_MESSAGING_SENDER_ID=...
VITE_FIREBASE_APP_ID=...
VITE_FIREBASE_MEASUREMENT_ID=...
VITE_API_URL=https://your-backend-url.com

Without these, the app runs in local-only mode (no sign-in, no cloud sync, no managed providers).

Backend Setup (optional โ€” for Sarvam AI + Hosted Ollama + Video Gen)

PORT=8103 \
OLLAMA_BASE_URL=https://your-ollama.com \
SARVAM_API_KEY=sk-... \
SKYCODING_API_KEY=sk-... \
MANAGED_OLLAMA_MODELS=mistral-nemo:latest,deepseek-r1:latest,llama3.1:8b \
MEDIA_DIR=/path/to/your/public/html/folder \
MEDIA_BASE_URL=https://yourdomain.com/media \
ADMIN_UIDS=uid1,uid2 \
node server.js

Requires Firebase Admin credentials (GOOGLE_APPLICATION_CREDENTIALS or GCP ADC).

Backend environment variables:

Variable Default Description
PORT 8103 Server port
OLLAMA_BASE_URL backendurl Your Ollama instance
SARVAM_API_KEY โ€” Sarvam AI API key
SKYCODING_API_KEY โ€” SkyReels API key for Video Gen
MANAGED_OLLAMA_MODELS โ€” Comma-separated model list
MEDIA_DIR /media/prijak/MyDrive/html/AiStudio Local path for audio file uploads
MEDIA_BASE_URL backendurl Public URL prefix for uploaded files
ADMIN_UIDS โ€” Firebase UIDs with admin access
ALLOWED_ORIGINS * CORS origins
RATE_LIMIT_PER_MIN 30 Max requests per UID/minute

โœฆ Docker

docker build -f ui_dockerfile -t ai-council .
docker run -p 8080:80 ai-council

Open http://localhost:8080. The Docker image builds the React app and serves via nginx.

Backend Docker (with Video Gen volume mount):

docker run -d --name=aicouncilbackend --rm -p 8103:8103 \
  -e PORT=8103 \
  -e SKYCODING_API_KEY=sk-... \
  -e MEDIA_DIR=/media/prijak/MyDrive/html/AiStudio \
  -e MEDIA_BASE_URL=backendurl \
  -v /media/prijak/MyDrive/html/AiStudio:/media/prijak/MyDrive/html/AiStudio \
  -v /opt/ai-council/secrets/serviceAccountKey.json:/app/serviceAccountKey.json:ro \
  aicouncilbackend:latest

The volume mount is required so the backend can write uploaded audio files to a directory served by your web server.


โœฆ Project Structure

ai-council/
โ”œโ”€โ”€ public/
โ”‚   โ”œโ”€โ”€ logo.png
โ”‚   โ”œโ”€โ”€ manifest.json              # PWA manifest
โ”‚   โ””โ”€โ”€ sw.js                      # Service worker
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ components/
โ”‚   โ”‚   โ”œโ”€โ”€ atoms/index.jsx        # Spin, Badge, Toggle, TemperatureSlider
โ”‚   โ”‚   โ”œโ”€โ”€ setup/
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ Shell.jsx          # NEW โ€” sidebar + mobile nav layout wrapper
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ PageHeader.jsx     # NEW โ€” shared page header component
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ design.js          # NEW โ€” shared CSS, NAV_ITEMS, helpers
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ pages/
โ”‚   โ”‚   โ”‚       โ”œโ”€โ”€ HomePage.jsx       # NEW โ€” landing page
โ”‚   โ”‚   โ”‚       โ”œโ”€โ”€ CouncilPage.jsx    # NEW โ€” council builder (extracted)
โ”‚   โ”‚   โ”‚       โ”œโ”€โ”€ AgentPage.jsx      # NEW โ€” agent chat page
โ”‚   โ”‚   โ”‚       โ”œโ”€โ”€ VoicePage.jsx      # NEW โ€” voice AI page
โ”‚   โ”‚   โ”‚       โ”œโ”€โ”€ WhatsAppPage.jsx   # NEW โ€” WhatsApp page
โ”‚   โ”‚   โ”‚       โ””โ”€โ”€ VideoGenPage.jsx   # NEW โ€” SkyReels V3 avatar video generator
โ”‚   โ”‚   โ”œโ”€โ”€ AgentScreen.jsx        # Single-model agent chat (40+ personas)
โ”‚   โ”‚   โ”œโ”€โ”€ AuthGate.jsx           # Firebase auth wrapper + Google sign-in UI
โ”‚   โ”‚   โ”œโ”€โ”€ DeliberationScreen.jsx # Main 3-stage pipeline orchestrator
โ”‚   โ”‚   โ”œโ”€โ”€ HistoryModal.jsx       # Past sessions browser
โ”‚   โ”‚   โ”œโ”€โ”€ InstallPrompt.jsx      # PWA install banner
โ”‚   โ”‚   โ”œโ”€โ”€ ManagePanel.jsx        # Add / edit / remove council members
โ”‚   โ”‚   โ”œโ”€โ”€ MCPPanel.jsx           # NEW โ€” MCP server integration panel
โ”‚   โ”‚   โ”œโ”€โ”€ MemberCard.jsx         # Member row + chairman toggle
โ”‚   โ”‚   โ”œโ”€โ”€ MemberForm.jsx         # Add/edit member form
โ”‚   โ”‚   โ”œโ”€โ”€ ModelPicker.jsx        # NEW โ€” searchable model combobox
โ”‚   โ”‚   โ”œโ”€โ”€ PersonaCreator.jsx     # Custom persona builder
โ”‚   โ”‚   โ”œโ”€โ”€ PersonaPicker.jsx      # NEW โ€” searchable grouped persona dropdown
โ”‚   โ”‚   โ”œโ”€โ”€ ResultsView.jsx        # Stage I / II / III tabs
โ”‚   โ”‚   โ”œโ”€โ”€ SarvamVoiceChat.jsx    # NEW โ€” voice chat modal
โ”‚   โ”‚   โ”œโ”€โ”€ SavedConfig.jsx        # Local + cloud config management
โ”‚   โ”‚   โ”œโ”€โ”€ SettingsModal.jsx      # Webhook config
โ”‚   โ”‚   โ”œโ”€โ”€ SetupScreen.jsx        # REFACTORED โ€” thin 6-page router
โ”‚   โ”‚   โ”œโ”€โ”€ SystemPromptEditor.jsx # Inline prompt preview + editing
โ”‚   โ”‚   โ”œโ”€โ”€ TemplateCard.jsx       # Template grid card
โ”‚   โ”‚   โ””โ”€โ”€ WhatsAppGateway.jsx    # NEW โ€” WhatsApp connection modal
โ”‚   โ”œโ”€โ”€ constants/
โ”‚   โ”‚   โ”œโ”€โ”€ personas.js            # 40+ personas across groups
โ”‚   โ”‚   โ”œโ”€โ”€ providers.js           # All provider configs + getAvailableProviders()
โ”‚   โ”‚   โ””โ”€โ”€ templates.js           # 18 council templates (incl. AI Agents category)
โ”‚   โ”œโ”€โ”€ lib/
โ”‚   โ”‚   โ”œโ”€โ”€ api.js                 # dispatchMember() โ€” all provider fetch logic
โ”‚   โ”‚   โ”œโ”€โ”€ auth.js                # Firebase auth, getIdToken, apiFetch, streaming proxy
โ”‚   โ”‚   โ”œโ”€โ”€ cloudStorage.js        # Firestore CRUD + AES-GCM encryption
โ”‚   โ”‚   โ”œโ”€โ”€ export.js              # downloadMarkdown(), exportPDF()
โ”‚   โ”‚   โ”œโ”€โ”€ importExportConfig.js  # parseCouncilJSON()
โ”‚   โ”‚   โ”œโ”€โ”€ storage.js             # localStorage helpers
โ”‚   โ”‚   โ””โ”€โ”€ utils.js               # stripThinking(), uid(), sid()
โ”‚   โ”œโ”€โ”€ App.jsx
โ”‚   โ”œโ”€โ”€ index.css
โ”‚   โ”œโ”€โ”€ main.jsx
โ”‚   โ””โ”€โ”€ styles.js
โ”œโ”€โ”€ server.js                      # Express backend (managed providers + analytics)
โ”œโ”€โ”€ firestore.rules
โ”œโ”€โ”€ firebase.json
โ”œโ”€โ”€ nginx.conf
โ”œโ”€โ”€ ui_dockerfile
โ””โ”€โ”€ package.json

โœฆ Ollama Setup

OLLAMA_ORIGINS="*" ollama serve

Recommended models:

ollama pull deepseek-r1        # Reasoning โ€” great for The Analyst
ollama pull llama3.1           # General purpose
ollama pull mistral-nemo       # Efficient โ€” good Chairman
ollama pull llama2-uncensored  # Uncensored โ€” good Contrarian
ollama pull deepseek-v2        # Good Philosopher

RTX 2070 / 8GB VRAM tip: Stick to 7Bโ€“12B models with 4-bit quantization. Ollama queues requests sequentially โ€” expect 5โ€“15 min per full deliberation.


โœฆ Recommended Council Configurations

๐Ÿ‡ฎ๐Ÿ‡ณ Zero-Setup Indian Council (sign-in only โ€” completely free)

Member Provider Model Persona
The Analyst Hosted Ollama deepseek-r1:latest Analyst
The Contrarian Hosted Ollama mistral-nemo:latest Contrarian
The Visionary Hosted Ollama llama3.1:8b Visionary
Indic Voice Sarvam AI ๐Ÿ‡ฎ๐Ÿ‡ณ sarvam-m Philosopher
The Pragmatist Hosted Ollama mistral-nemo:latest Pragmatist ๐Ÿ‘‘

No API keys. No credit card. Just sign in with Google and deliberate.

All-Local (Ollama only)

Member Model Persona
The Analyst deepseek-r1:latest Analyst
The Contrarian llama2-uncensored:7b Contrarian
The Visionary llama3.1:8b Visionary
The Pragmatist mistral-nemo:latest Pragmatist ๐Ÿ‘‘
The Philosopher deepseek-v2:latest Philosopher

Hybrid (Ollama + Cloud)

Member Provider Model Persona
Fast Thinker Groq llama-3.3-70b-versatile Analyst
Devil's Advocate Groq mixtral-8x7b-32768 Contrarian
Local Expert Ollama deepseek-r1:latest Philosopher
The Synthesizer Anthropic claude-sonnet-4-6 Pragmatist ๐Ÿ‘‘

Raw Model Panel (compare models unfiltered)

Member Provider Model Persona
Model A Anthropic claude-sonnet-4-6 Raw Model
Model B Groq llama-3.3-70b-versatile Raw Model
Model C OpenAI gpt-4o Raw Model
Model D Sarvam AI ๐Ÿ‡ฎ๐Ÿ‡ณ sarvam-m Raw Model ๐Ÿ‘‘

โœฆ Council Templates

Templates load a pre-built persona structure in one click. Set provider, model, and API key per member after loading.

๐Ÿง  Think Tank

Template Members Best for
๐Ÿ“Š Business Strategy Analyst + Contrarian + Pragmatist ๐Ÿ‘‘ Product, GTM, and operational decisions
๐Ÿง  Deep Thinking Philosopher + Visionary + Analyst + Pragmatist ๐Ÿ‘‘ Complex, nuanced, philosophical questions
โš– Full Council All 5 think-tank personas Maximum deliberation depth
โœจ Creative Council Visionary + Philosopher + Contrarian + Pragmatist ๐Ÿ‘‘ Ideation, creative strategy, design

๐Ÿค– AI Agents (New)

Template Members Best for
๐Ÿ”ฌ Research + Operator Deep Researcher + Web Intelligence + Red Team + Operator ๐Ÿ‘‘ Research synthesis
โš—๏ธ AI Model Debate Grok + Claude Ethics + Gemini + Canvas + Raw Arbiter ๐Ÿ‘‘ Model comparison
โšก Agentic Task Force Task Planner + Full-Stack Builder + Risk Monitor + Orchestrator ๐Ÿ‘‘ Execution pipelines
๐Ÿ”€ Skill Pipeline Skill Composer + Code Architect + Systems Thinker + Executor ๐Ÿ‘‘ Modular AI workflows
๐Ÿฆ‰ Socratic + Red Team Socratic Tutor + Red Team + Ethics Auditor + Systems Thinker ๐Ÿ‘‘ Critical reasoning
๐Ÿ‡ฎ๐Ÿ‡ณ India Intelligence Council Market Intelligence + Cultural Lens + Analyst + Pragmatist ๐Ÿ‘‘ India-specific strategy
๐Ÿ›ก๏ธ Tech Ethics Review Code Architect + Ethics Auditor + Risk Monitor + Red Team + Systems Thinker ๐Ÿ‘‘ Responsible tech

๐Ÿข Corporate

Template Members Best for
๐Ÿš€ Product Launch CFO + CTO + CMO + Legal + CEO ๐Ÿ‘‘ Go/no-go launch decisions
๐ŸŒฑ Startup Team Founder + Engineer + Designer + Growth + Investor ๐Ÿ‘‘ Early-stage strategy
๐Ÿ’ผ Consulting Firm Strategist + Ops + Finance + Risk + Partner ๐Ÿ‘‘ Client recommendations

๐ŸŽฏ Professional

Template Members Best for
๐Ÿ“ฐ Editorial Team Reporter + Editor + Legal + SEO + Editor-in-Chief ๐Ÿ‘‘ Publishing decisions
๐Ÿฅ Hospital Team GP + Specialist + Pharmacist + Ethicist + Chief ๐Ÿ‘‘ Medical case analysis
โš–๏ธ Law Firm Litigator + Corporate + Compliance + Associate + Partner ๐Ÿ‘‘ Legal risk assessment

๐Ÿ”ฌ Unfiltered

Template Members Best for
๐Ÿ”ฌ Raw Model Panel 4ร— Raw Model Model comparison, zero persona bias
โš—๏ธ Raw vs Persona Raw + Analyst + Contrarian + Pragmatist ๐Ÿ‘‘ Persona framing vs raw reasoning

โœฆ Personas

Think Tank (Original 5)

Persona Role Best for
The Analyst Structured, rigorous reasoning Step-by-step logic
The Contrarian Challenges assumptions, finds blind spots Stress-testing ideas
The Visionary Reframes from unexpected angles Creative and strategic questions
The Pragmatist Focuses on execution and next steps Action plans โ€” best as Chairman
The Philosopher First principles, ethics, meaning Deep or value-laden questions

Corporate / C-Suite

Persona Role
The CFO Financial lens โ€” ROI, unit economics, burn rate
The CTO Technical feasibility, architecture risk
The CMO Market opportunity, positioning, go-to-market
The Legal Counsel Regulatory risk, IP, liability
The CEO (Chairman) Final go/no-go โ€” resolves tensions with executive authority

Startup Team

Persona Role
The Founder Vision, product-market fit, mission integrity
The Engineer Production reality โ€” what works at scale
The Designer User voice โ€” UX, simplicity, human-centered design
The Growth Lead Acquisition, retention, viral loops, unit economics
The Investor (Chairman) Investment thesis โ€” team, market, defensibility

Consulting Firm

Persona Role
The Strategist Structured frameworks โ€” Porter's, BCG, jobs-to-be-done
The Operations Expert Execution feasibility, critical path, implementation risk
The Finance Expert Financial modeling, unit economics, stress-testing
The Risk Advisor Risk matrix โ€” strategic, operational, regulatory, black swans
The Partner (Chairman) Single client-ready recommendation across workstreams

Editorial Team

Persona Role
The Reporter Facts, evidence, what's missing, who benefits
The Editor Clarity, narrative structure, reader impact
The Legal Reviewer Defamation, privacy, copyright, contempt risk
The SEO Strategist Discoverability, search intent, digital reach
The Editor-in-Chief (Chairman) Publish, hold, or spike โ€” the final editorial ruling

Hospital Team

Persona Role
The GP Holistic assessment, first-line response, red flags
The Specialist Domain expertise, differential diagnosis
The Pharmacist Drug interactions, dosing, monitoring
The Medical Ethicist Autonomy, consent, beneficence, equity
Chief of Medicine (Chairman) Final clinical management plan

Law Firm

Persona Role
The Litigator Claims, defenses, litigation risk, settlement
The Corporate Lawyer Entity structure, contracts, governance, M&A
The Compliance Officer GDPR, FCPA, employment law, sanctions
The Junior Associate Detail-level review โ€” ambiguous clauses, missed deadlines
The Senior Partner (Chairman) The firm's definitive legal position

AI Agent Personas (New)

Persona Role
Deep Researcher Perplexity-style deep research synthesis
Web Intelligence Real-time web search and current state tracking
Red Team Exploits assumptions, finds vulnerabilities
The Operator Converts deliberation into clean, actionable output
Grok (Irreverent) Unfiltered, contrarian, anti-establishment takes
Claude Ethics Safety-first reasoning, harm analysis
Gemini Synthesizer Multi-perspective synthesis and balanced views
Canvas Writer Long-form structured writing and editing
Raw Arbiter No persona โ€” pure model judgment
Task Planner Breaks goals into executable sub-tasks
Full-Stack Builder Implementation-focused engineering reasoning
Risk Monitor Tracks risk, flags blockers, monitors health
Workflow Orchestrator Coordinates multi-step AI pipelines
Skill Composer Designs modular AI capabilities
Code Architect System design and engineering decisions
Systems Thinker Integration, emergent behavior, feedback loops
Devin Executor Autonomous code execution and delivery
Socratic Tutor Questions assumptions through Socratic dialogue

India-Specific Personas (New)

Persona Role
Market Intelligence Indian market context, consumer behavior, regulatory landscape
Cultural Lens Indic cultural context, regional nuance, language sensitivity
Sarvam Hindi Hindi-native reasoning via Sarvam AI
Sarvam Indic Indic multilingual reasoning across 10+ languages

Unfiltered

Persona Role
Raw Model No persona, no framing โ€” pure model output
Custom โœŽ Your own system prompt โ€” any domain, any role

โœฆ The Chairman

Receives the full transcript (all responses + reviews) and delivers one authoritative verdict. Mandate:

  • Extract the strongest insights from each member
  • Resolve disagreements โ€” not average them
  • Eliminate redundancy and weak reasoning
  • Deliver a direct, unambiguous final answer

โœฆ Import / Export Council JSON

Export: Click ๐Ÿ“ค Export Config. Downloads ai-council-config.json. API keys are never included.

Import: Click ๐Ÿ“ฅ Import JSON โ†’ select a file. Council loads immediately.

{
  "members": [
    {
      "name": "The Analyst",
      "provider": "managed_sarvam",
      "model": "sarvam-m",
      "personaLabel": "The Analyst",
      "systemPrompt": "...",
      "isChairman": false
    }
  ]
}

โœฆ Webhook Output

Configure a URL in โš™ Settings. After every session, AI Studio POSTs:

{
  "type": "session_complete",
  "ts": 1234567890,
  "query": "your question",
  "temperature": 0.7,
  "memberNames": ["The Analyst", "The Contrarian", "..."],
  "responses": { "memberId": "response text" },
  "reviews": { "memberId": "review text" },
  "verdict": "Council's Verdict: ..."
}

Works with Zapier, Make, n8n, Slack, Notion, Pipedream. Use ๐Ÿงช Send Test Ping to verify first.


โœฆ Think Block Stripping

Reasoning models (deepseek-r1, qwq) emit <think>...</think> blocks. AI Studio strips these automatically and shows a ๐Ÿง  Thinking deeplyโ€ฆ indicator mid-stream. Peer review and Chairman prompts only receive the cleaned output โ€” no thinking noise leaks between stages.


โœฆ Keyboard Shortcuts

Shortcut Action
โŒ˜ + Enter Submit query / follow-up

โœฆ Privacy & Data

  • Managed providers (Sarvam AI, Hosted Ollama): Requests are proxied through the AI Studio backend. Provider, model, stage, and character counts are logged for usage analytics. Raw prompt text is not stored server-side.
  • Self-hosted providers: All API calls go directly from your browser to the provider. Nothing passes through our backend.
  • Cloud configs: API keys are AES-GCM encrypted in your browser before upload. The server only stores ciphertext.
  • Local storage: Session history and configs for anonymous users stay in your browser only.
  • API keys are never included in JSON exports.
  • Webhook is opt-in โ€” nothing is sent without you setting a URL.
  • Video Gen audio uploads: Local audio files are saved to the server's media directory and served publicly so SkyReels can fetch them. Files are named audio_{uid}_{timestamp}.ext โ€” not guessable, but not private. Use a public audio URL directly if you need privacy.

โœฆ Limitations

  • Ollama models run sequentially (one at a time per endpoint) โ€” cloud models run in parallel
  • No markdown rendering in responses โ€” plain text only (pre-wrap)
  • Session history is capped at the last 30 sessions
  • PDF export uses browser print โ€” use Markdown export for richer formatting
  • Managed providers require a signed-in Google account
  • Video Gen requires a public HTTPS URL for both image and audio โ€” local file uploads are handled automatically by the backend

โœฆ Roadmap

  • Markdown rendering in response panels
  • Web search injection for grounding answers in current data
  • Token usage / cost tracking per session
  • Named council presets โ€” save full council with provider + model assignments
  • WhatsApp Integration โ€” shipped โœ“
  • Voice Mode โ€” shipped โœ“
  • Video Gen โ€” shipped โœ“
  • Document Council โ€” upload a PDF and let the council analyse it
  • Public Persona Gallery โ€” publish and browse community-created personas
  • MCP tool use in Council mode โ€” let members call external tools mid-deliberation
  • Video Gen history gallery โ€” browse and replay past generated videos

โœฆ License

MIT โ€” do whatever you want with it.


๐Ÿ‡ฎ๐Ÿ‡ณ Built with pride in Bharat ยท Powered by Sarvam AI

The council is always in session.

About

AI Council is a self-hosted web app that runs a structured multi-model deliberation process

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages