call.md README

The project's README from github.com/video-db/call.md. As one markdown file: README.md.

Electron Node React TypeScript License Stargazers Issues Website


Call.md Logo

Call.md

Turn meetings into live agent loops. Record, transcribe, and analyze meetings with real-time AI intelligence — before, during, and after calls.
Explore the docs »

View Demo · Install · Report Bug


Demo

https://github.com/user-attachments/assets/94470e99-c0f6-4e35-9d03-b28efa362b3b

Quick Install

macOS (Apple Silicon & Intel):

curl -fsSL https://artifacts.videodb.io/call.md/install | bash

After installation:

  1. Launch Call.md from Applications or Spotlight
  2. Grant system permissions when prompted, or configure them later from Settings
  3. Register with your VideoDB API key (get one free)

Microphone and screen-recording permissions are required before the first recording. Google Calendar is optional and can be connected or skipped during onboarding.

Platform Support

Platform Installer Status
macOS 12+ (Apple Silicon & Intel) curl command above Supported
Windows x64 Build from source with npm run dist:win Recording supported; no hosted installer yet
Windows ARM64 — Recording not supported
Linux Build from source with npm run dist:linux App features available; recording not supported

The VideoDB capture SDK now ships recording binaries for darwin-arm64, darwin-x64, and win32-x64. Call.md verifies that the capture executable and SQLite native module are present in the packaged app.

Windows x64 recording is supported by the source build, but the project does not currently publish a Windows installer. Linux and Windows ARM64 builds can run the UI, MCP servers, workflows, history, settings, and exports, but the app will reject recording before launch because no capture binary is available. See Building for other platforms.


Overview

Call.md turns meetings into live agent loops. It records locally, transcribes in real-time (you vs them), and provides live intelligence during calls. When the meeting ends, it generates summaries with action items and can send data to your workflow automation platforms.

Features

During the Meeting (Live Intelligence)

Post-Meeting Intelligence

Meeting Preparation

Privacy & Storage

How It Works

During Recording:

After Recording:

Tech Stack

Prerequisites

For development: Node.js 22.12+ and npm 10+

Getting Started (Users)

  1. Install:

    curl -fsSL https://artifacts.videodb.io/call.md/install | bash
    
  2. Launch the app and enter your VideoDB API key (get one free)

  3. Grant permissions when prompted, or configure them later in Settings

  4. Start Recording - Click "New Meeting" and begin your first session

The app will transcribe in real-time, show live assists, and generate a summary when you're done.


Getting Started (Developers)

  1. Clone the repository:

    git clone https://github.com/video-db/call.md.git
    cd call-md
    
  2. Install dependencies:

    npm install
    
  3. Rebuild native modules for Electron:

    npm run rebuild
    
  4. Start development mode:

    npm run dev
    
  5. Register with your VideoDB API key when the app opens

Available Scripts

Command Description
npm run dev Start development mode (main + renderer with hot reload)
npm run build Build TypeScript and React for production
npm run dist:mac Build macOS distributable DMG
npm run dist:win Build Windows x64 NSIS installer with recording support
npm run dist:linux Build Linux AppImage (recording unavailable, see below)
npm run typecheck Run TypeScript type checking
npm run test Run unit tests
npm run lint Run ESLint
npm run rebuild Rebuild native modules for Electron
npm run db:generate Generate database migration files
npm run db:migrate Apply database migrations

Building for other platforms

electron-builder is already configured for Windows (NSIS) and Linux (AppImage), so you can produce an installer on those platforms:

npm ci
npm run dist:win

Build and run the release candidate on its target OS. The project uses published target prebuilds for better-sqlite3 and packaged VideoDB capture binaries, so a macOS development machine can cross-package a Windows x64 directory build for structural verification. That does not replace native Windows testing or installer signing. This follows electron-builder's multi-platform build guidance, which requires target prebuilds for native dependencies and still needs target-platform validation.

Recording support is available on macOS arm64/x64 and Windows x64. On Linux and Windows ARM64, the full UI, MCP servers, workflows, settings, history, and markdown export remain available; starting a recording returns a clear unsupported-platform error.

Release artifacts must be signed with the project's platform credentials. macOS releases also need notarization and stapling. Unsigned local builds can receive a different Keychain or OS-permission identity on every rebuild and are not representative of the installed release.

MCP Server Setup

Connect MCP servers in Settings → MCP Servers:

  1. Click Add Server
  2. Choose transport: stdio (local) or http (remote)
  3. Configure and click Connect

The MCP agent runs automatically during meetings, detects information needs from conversation, and triggers relevant tools. Results appear inline in the MCP Results panel.

Development

Project Structure

src/
├── main/                   # Electron Main Process
│   ├── db/                 # Database layer (Drizzle + SQLite)
│   ├── ipc/                # IPC handlers
│   ├── lib/                # Utilities (logger, paths, permissions)
│   ├── server/             # HTTP server (Hono + tRPC)
│   │   └── trpc/           # tRPC router and procedures
│   └── services/           # Business logic
│       ├── copilot/        # Meeting intelligence services
│       │   ├── context-manager.service.ts
│       │   ├── conversation-metrics.service.ts
│       │   ├── nudge-engine.service.ts
│       │   ├── sales-copilot.service.ts  # Core orchestrator
│       │   ├── summary-generator.service.ts
│       │   └── transcript-buffer.service.ts
│       ├── mcp/            # MCP orchestration and tool execution
│       │   ├── connection-orchestrator.service.ts
│       │   ├── intent-detector.service.ts
│       │   ├── mcp-agent.service.ts
│       │   ├── tool-aggregator.service.ts
│       │   └── result-handler.service.ts
│       ├── live-assist.service.ts
│       ├── mcp-inference.service.ts
│       ├── llm.service.ts
│       └── videodb.service.ts
├── preload/                # Preload scripts (IPC bridge)
├── renderer/               # React Frontend
│   ├── api/                # tRPC client
│   ├── components/         # UI components
│   │   ├── auth/           # Authentication modal
│   │   ├── calendar/       # Calendar integration UI
│   │   ├── copilot/        # Meeting intelligence UI
│   │   ├── history/        # Recording history views
│   │   ├── home/           # Home screen
│   │   ├── icons/          # Icon components
│   │   ├── layout/         # App layout (sidebar, titlebar)
│   │   ├── mcp/            # MCP results/status components
│   │   ├── meeting-setup/  # Meeting prep wizard
│   │   ├── recording/      # Recording controls & live assist
│   │   ├── settings/       # Settings editors
│   │   ├── transcription/  # Live transcription panel
│   │   └── ui/             # shadcn/ui components
│   ├── hooks/              # Custom React hooks
│   ├── lib/                # Utilities
│   └── stores/             # Zustand state stores (session, copilot, mcp)
└── shared/                 # Shared types & schemas
    ├── schemas/            # Zod validation schemas
    └── types/              # TypeScript types

IPC API

The app exposes IPC APIs through the preload script:

Permissions

The app requires the following permissions before recording:

On macOS, grant them in System Settings → Privacy & Security. Newer macOS versions label the screen permission Screen & System Audio Recording. On Windows, enable microphone access for desktop apps when prompted. You can skip permission setup during onboarding and return to it from Settings, but recording will remain unavailable until the required permissions are granted.

Troubleshooting

Recording not starting:

Transcription not appearing:

A recording stopped on its own:

Transcription is in the wrong language:

Development issues:

Data Storage

Application data is stored in:

~/Library/Application Support/call-md/
├── config.json             # Settings and encrypted desktop access token
├── data/
│   └── call-md.db          # SQLite database; sole encrypted API-key authority
├── google_tokens.enc       # Encrypted Google OAuth tokens, when connected
└── logs/
    └── app-YYYY-MM-DD.log  # Daily log files

Windows stores the equivalent files under the Electron application-data directory for the current user.

Security

The application database, settings, and logs stay on your machine. Recording, transcription, and AI inputs are sent to VideoDB when those features are used. If you enable Google Calendar, remote MCP servers, or workflow webhooks, the relevant data is also sent to the services you configure.

Upgrades migrate existing data in place on first launch; you do not need to log in again. Report security vulnerabilities privately to [email protected], not through a public issue.

Community & Support


Made with ❤️ by the VideoDB team


call.md (video-db/call.md)

Searching Database…

1.6K ·GitHub
这是什么?Call.md 把会议变成实时的 agent 循环:它实时录制、转写并分析通话,通话中给你 AI 实时辅助,会后生成带行动项的 AI 摘要。
它是云服务,还是装在我电脑上的软件?它是一款面向 macOS、Windows 和 Linux 的 Electron 桌面应用,会议历史和转写文本保存在本地 SQLite 数据库里,录音则发到 VideoDB 做转写和 AI 功能。
怎么安装、怎么开始用?在 macOS 上运行快速安装命令,从“应用程序”或 Spotlight 启动 Call.md,授予麦克风/屏幕录制权限,然后用 VideoDB API 密钥注册,再点 New Meeting 开始录制。
用它必须有 VideoDB API 密钥吗?必须——转写、实时辅助和摘要都走 VideoDB,所以你需要到 console.videodb.io 领一个免费的 VideoDB API 密钥,并在系统里授予麦克风和屏幕录制权限。
录制功能在各个平台上的表现一样吗?不一样——完整录制只在 macOS(Apple 芯片/Intel)和从源码构建的 Windows x64 上可用。在 Windows ARM64 和 Linux 上,你能用界面、MCP 服务器、工作流和历史/导出,但应用会拒绝开始录制,因为这些平台没有采集用的二进制。
我的会议数据去了哪里?设置、会议历史、转写文本和生成的元数据留在你机器上的本地 SQLite 数据库里;用到相应功能时,音频、转写和 AI 输入会发到 VideoDB,而 Google Calendar、MCP 服务器或 webhook 只有在你自己接入时才会用到。
录制到达 2 小时上限会发生什么?有效录制时间满 2 小时后(暂停和系统休眠不计时),录制会自动停止,并在 5 分钟前给出警告;会话照常保存并生成摘要,就跟你亲手按了停止一样。
通话过程中 MCP 集成是怎么工作的?一个 MCP agent 会听对话,识别信息需求,自动通过 stdio 或 HTTP 调用已连接的 MCP 工具,并在会议中把结果显示在 Results 面板里。
会议结束后我能拿到什么?Call.md 会生成三部分摘要(叙述式概述、按主题分的要点和行动项),把全部内容导出为 markdown,还能把数据推到 n8n、Zapier 或你的 CRM 这类工作流工具。
Creator
video-db
Size
4.1 MB
Stars
1.6K
Updated
CommitAug 19
Age
7mo
Commits · 90 Days