meeting-context-hub
v1.6.0
Published
CLI tool for managing meeting contexts with Obsidian integration
Maintainers
Readme
Meeting Context Hub
A CLI tool that processes multimodal inputs (text/image/audio/file/meeting transcripts) with AI and stores them in Obsidian. Find related contexts with tag + embedding-based semantic search.
Features
- Text - Save notes and ideas
- Image - Analyze with Claude Vision and extract tags
- Audio - Transcribe with Whisper
- File - Support txt, md, csv, json
- Meeting - Auto-summarize with PRD format + Action Items
- Semantic Search - Find similar documents with embeddings
- Auto Tagging - AI generates relevant tags automatically
- Obsidian Integration - Graph View, Dataview query support
- TUI Mode - Interactive terminal UI with ink
Installation
npm install -g meeting-context-hubRequirements
- Node.js >= 20.0.0
- Obsidian (optional, used as storage)
Configuration
API Keys
Option 1: macOS Keychain (Recommended)
mch config set ANTHROPIC_API_KEY sk-ant-xxx
mch config set OPENAI_API_KEY sk-xxxOption 2: Environment Variables
cp .env.local.example .env.local
# Edit .env.local fileObsidian Vault
# Default: ~/Library/Mobile Documents/iCloud~md~obsidian/Documents
mch config set OBSIDIAN_VAULT_PATH /path/to/your/vault
# Storage folder (default: mch)
mch config set MCH_FOLDER mchCheck Configuration
mch config show # Show current settings
mch config check # Check API key statusUsage
TUI Mode (Interactive)
mchLaunches an interactive terminal UI with:
- Add Context (text/image/audio/file/meeting)
- Search (semantic/exact/tag)
- List with filtering and pagination
- Config management
CLI Mode
Add Context
# Text
mch add -t "Today's meeting decisions..."
# Image (Claude Vision analysis)
mch add -i ./screenshot.png
# Audio (Whisper transcription)
mch add -a ./recording.m4a
# File
mch add -f ./notes.md
# Interactive mode
mch addMeeting Summary
mch add -m ./meeting-transcript.txtOutput format:
- Meeting Summary
- Key Decisions
- Action Items (assignee, deadline)
- Discussion Points
- Open Issues
- Next Steps
Search
# Semantic search (default)
mch search "project schedule"
# Exact text match
mch search "API" --exact
# Find similar documents
mch search --similar <context-id>
# Filter by tag
mch search --tag "meeting"List
# All contexts
mch list
# Filter by tag
mch list --tag "meeting"
# Filter by type
mch list --type image
# Pagination
mch list -l 10 -o 20Obsidian Integration
File Structure
Contexts are saved in {vault}/{mch-folder}/:
~/Obsidian/Vault/mch/
├── meeting-summary-campaign_a1b2c3d4.md
├── cli-test-image-analysis_e5f6g7h8.md
└── ...Frontmatter
---
id: a1b2c3d4-...
type: text
summary: Summary content
tags:
- meeting
- project
embedding: [0.1, 0.2, ...]
createdAt: 2024-01-01T00:00:00.000Z
---Dataview Query Example
TABLE type AS "Type", summary AS "Summary"
FROM ""
WHERE id
SORT createdAt DESCSupported Formats
| Type | Extensions | Processing | |------|------------|------------| | Text | - | Direct input | | Image | jpg, png, gif, webp | Claude Vision | | Audio | mp3, m4a, wav, webm | Whisper API | | File | txt, md, csv, json | Text extraction | | Meeting | txt, md | PRD summary |
Development
# Clone
git clone https://github.com/mag123c/meeting-context-hub.git
cd meeting-context-hub
# Install
pnpm install
# Dev mode
pnpm dev
# Build
pnpm build
# Lint
pnpm lint
# Test
pnpm testTech Stack
- CLI: Commander.js, Inquirer, Chalk, Ora
- TUI: Ink (React for CLI)
- AI: Claude API (Anthropic), Whisper & Embedding (OpenAI)
- Storage: Obsidian (gray-matter for frontmatter)
- Validation: Zod
License
MIT
