MCPcopy Index your code
hub / github.com/deeptrust-ai/terifai-open

github.com/deeptrust-ai/terifai-open @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
195 symbols 551 edges 63 files 26 documented · 13%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

terifai

A conversation voice bot that "steals your voice". Through conversation with you, it will:

  • Learn about you and who you are
  • Mimic your speaking style
  • And clone your voice

The purpose of this project is to educate, especially people who are the most exposed to voice phishing attacks.

Development

Prerequisites

  • Rye for Python dependency management
  • Bun for frontend development

Initial Setup

  1. Clone and setup the repository: bash git clone <repository-url> cd terifai rye sync

  2. Setup the frontend: bash cd frontend bun install

Running the Application

Bot Only

To run just the conversation bot:

rye run bot

Full Application (Backend + Frontend)

  1. Start the backend server (in one terminal): ```bash # For production mode (using Fly.io for bot instances) rye run server

# For local development (running bots locally) rye run server --local ```

The --local flag runs bot instances directly on your machine instead of spawning Fly.io machines. This is useful for: - Local development without Fly.io credentials - Debugging bot behavior - Testing without cloud resources

  1. Start the frontend (in another terminal): bash cd frontend bun run dev

The application will be running at: - Backend: http://localhost:8000 - Frontend: http://localhost:3000

Deployment

Server

fly automaically deploys every commit to the main branch, but you can manually deploy with fly deploy

Frontend

Vercel handles the frontend deployment. It already automatically deploys every commit to the main branch.

If you want to deploy manually, check their docs.

Cloning Voice Jobs

This happens in modal, so make sure you have a modal account and are logged in.

$ cd backend
$ modal deploy jobs.py --env=dev # for dev deployment
$ modal deploy jobs.py --env=main # for prod deployment

Development Tools

Linting

  • Backend: Run rye lint from the root directory
  • Frontend: Run bun lint from the frontend directory

Extension points exported contracts — how you extend this code

IStatsAggregator (Interface)
(no doc) [3 implementers]
frontend/src/types/stats_aggregator.d.ts
VADInterface (Interface)
(no doc) [2 implementers]
frontend/src/vad/vad.ts
AudioVADNodeInterface (Interface)
(no doc) [1 implementers]
frontend/src/vad/node.ts
FrameProcessorInterface (Interface)
(no doc) [1 implementers]
frontend/src/vad/frame-processor.ts
MetricValue (Interface)
(no doc)
frontend/src/types/stats_aggregator.d.ts

Core symbols most depended-on inside this repo

cn
called by 18
frontend/src/utils/tailwind.ts
process_frame
called by 4
backend/processors.py
start
called by 2
frontend/src/App.tsx
getStats
called by 2
frontend/src/types/stats_aggregator.d.ts
load
called by 2
frontend/src/vad/node.ts
concatArrays
called by 2
frontend/src/vad/frame-processor.ts
get_fly_status
called by 2
backend/spawn.py
_new_wave
called by 2
backend/processors.py

Shape

Function 71
Method 59
Interface 34
Class 24
Route 4
Enum 3

Languages

TypeScript64%
Python36%

Modules by API surface

backend/processors.py40 symbols
frontend/src/vad/vad.ts15 symbols
backend/server.py11 symbols
frontend/src/types/stats_aggregator.d.ts8 symbols
frontend/src/vad/resampler.ts6 symbols
frontend/src/vad/node.ts6 symbols
frontend/src/vad/models.ts6 symbols
frontend/src/vad/frame-processor.ts6 symbols
backend/spawn.py6 symbols
frontend/src/vad/worklet.ts5 symbols
frontend/src/utils/stats_aggregator.ts5 symbols
frontend/src/components/Latency/utils.ts5 symbols

For agents

$ claude mcp add terifai-open \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact