Skip to content

feat: Add JARVIS voice conversation mode with multi-language support#23

Draft
Copilot wants to merge 6 commits intofeat/extension-with-chatbot-and-voicefrom
copilot/create-conversation-assistant
Draft

feat: Add JARVIS voice conversation mode with multi-language support#23
Copilot wants to merge 6 commits intofeat/extension-with-chatbot-and-voicefrom
copilot/create-conversation-assistant

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Nov 27, 2025

  • Understand the problem: Create a JARVIS-like conversational AI assistant that can talk with users, plan tasks, and then invoke the Browser.AI agent
  • Research and select a free, local-runnable voice solution (using browser's Web Speech API for STT and Speech Synthesis API for TTS)
  • Create voice conversation service with multi-language support (English, Tamil, Sinhala)
  • Implement a persona-based conversational AI layer that:
    • Acts like JARVIS (intelligent, helpful, personable)
    • Engages in natural conversation with the user
    • Plans tasks through dialogue before executing
    • Supports voice input/output in multiple languages
  • Update Chrome extension and websocket_server to support JARVIS mode
  • Add Pipecat integration for more realistic real-time voice conversations
    • Created pipecat_voice_service.py with Pipecat pipeline support
    • Added WebSocket events for voice session management
    • Added Pipecat toggle in Chrome extension UI
    • Support for Google Gemini LLM and TTS
    • Optional Voice Activity Detection (VAD) with Silero
  • Create web interface for the voice conversation mode (/jarvis endpoint)
  • Add documentation for the new feature (docs/jarvis-voice-mode.md)
  • Run code review and address feedback
  • Run security checks (CodeQL - no issues found)

Summary

This PR adds a JARVIS-inspired voice conversation mode for Browser.AI that:

  • Uses browser's free, local Web Speech API for voice recognition (default)
  • NEW: Supports Pipecat for more realistic real-time voice conversations
  • Supports English, Tamil (தமிழ்), and Sinhala (සිංහල) languages
  • Features a JARVIS-like AI persona that's intelligent, helpful, and personable
  • Plans tasks through natural dialogue before executing them
  • Works through both the Chrome extension (primary) and web interface

Pipecat Integration

To use Pipecat (optional but recommended for more realistic conversations):

pip install pipecat-ai[google]
  • Real-time voice processing with lower latency
  • Voice Activity Detection for automatic turn-taking
  • Google Gemini LLM and TTS integration
Original prompt

i want to make the conversation mode like JARVIS from iron man (like person with pesona) talk with the user as a peson and a assistent with ineligent and helpfull. talk with user and plan the task and then invoke the agent with that plan. make this convestion laye like gemini live mode. use somthing like livekit(https://github.com/livekit/agents) but it shoud be free and runable withlocal. this might support english, tami and sinhala language to do the convesation.


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Nov 27, 2025

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch copilot/create-conversation-assistant

Comment @coderabbitai help to get the list of available commands and usage tips.

Copilot AI and others added 2 commits November 27, 2025 19:16
…port

Co-authored-by: Sathursan-S <84266926+Sathursan-S@users.noreply.github.com>
…ocumentation

Co-authored-by: Sathursan-S <84266926+Sathursan-S@users.noreply.github.com>
Copilot AI changed the title [WIP] Add conversation mode with intelligent persona assistant feat: Add JARVIS voice conversation mode with multi-language support Nov 27, 2025
Copilot AI requested a review from Sathursan-S November 27, 2025 19:22
@Sathursan-S
Copy link
Copy Markdown
Owner

@copilot for gui now i am only useing chrome extention and websocket_server so update them accodingly to support this (you can see a early simpl impl of convrsation mode on extention)

Copilot AI and others added 2 commits November 28, 2025 03:10
… multi-language support

Co-authored-by: Sathursan-S <84266926+Sathursan-S@users.noreply.github.com>
…ntation

Co-authored-by: Sathursan-S <84266926+Sathursan-S@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Nov 28, 2025

@copilot for gui now i am only useing chrome extention and websocket_server so update them accodingly to support this (you can see a early simpl impl of convrsation mode on extention)

Updated the implementation to work with the Chrome extension and websocket_server instead of the web GUI. Key changes in commit fd6235a:

  1. chatbot_service.py: Added JarvisPersona class with multi-language system prompts (English, Tamil, Sinhala), language tracking per session, and updated methods to accept language parameters.

  2. websocket_server.py: Added new WebSocket events:

    • chat_message now accepts language parameter
    • set_language - change conversation language
    • get_languages - retrieve supported languages
    • reset_conversation - accepts language parameter
  3. Chrome Extension (ConversationMode.tsx):

    • Added language selector UI at the top of conversation mode
    • Voice recognition now uses the selected language
    • Messages are sent with current language
    • Live voice mode respects language setting

The extension's conversation mode now supports switching between English, Tamil (தமிழ்), and Sinhala (සිංහල) languages for the JARVIS persona.

@Sathursan-S
Copy link
Copy Markdown
Owner

@copilot reimpliment it with pipecat for more real

Co-authored-by: Sathursan-S <84266926+Sathursan-S@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Nov 29, 2025

@copilot reimpliment it with pipecat for more real

Reimplemented with Pipecat integration in commit ece52a7.

New Pipecat Features:

  • pipecat_voice_service.py - Real-time voice conversation using Pipecat framework
  • WebSocket events: start_voice_session, voice_audio, end_voice_session, get_voice_status
  • Pipecat toggle button in Chrome extension UI
  • Support for Google Gemini LLM and TTS
  • Optional Voice Activity Detection (VAD) with Silero

To use Pipecat:

pip install pipecat-ai[google]

Users can toggle between Web Speech API (free, browser-based) and Pipecat (real-time, more realistic) using the Pipecat button in the language selector.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants