
Company News
Socket Joins New OpenJS Program to Fund Node.js Security Work
Socket is joining the OpenJS Security Stewardship Program to fund Node.js vulnerability research, maintainer remediation, and security releases.
@samuraizer/cli
Advanced tools
Local-first CLI that turns meeting recordings into transcripts, summaries, action items, and decisions
Local-first CLI that turns meeting recordings into transcripts, summaries, action items, and decisions — entirely on your machine. No cloud, no subscriptions, no data leaving your network.

Reference implementation of the memnex specification. All outputs conform to memnex v0.2, including a full provenance chain.
| RAM | Recommended model |
|---|---|
| 8 GB | qwen2.5:3b |
| 16 GB | qwen2.5:7b |
| 32 GB+ | qwen2.5:14b (default) |
Apple Silicon (M1/M2/M3/M4) and recent x86 CPUs with AVX2 are recommended. Whisper transcription is CPU/Metal-accelerated; LLM inference uses Ollama's defaults.
Install the required tools:
Start Ollama and pull a model:
ollama serve
ollama pull qwen2.5:14b
npm install -g @samuraizer/cli
Migrating from the legacy
samuraizerpackage? Versions ≤ 0.2.0 of the unscopedsamuraizerpackage on npm are deprecated. Runnpm uninstall -g samuraizer && npm install -g @samuraizer/clito migrate. The CLI binary on your PATH is still calledsamuraizer.
samuraizer init
samuraizer process meeting.m4a
On a 30-minute recording this typically takes 3–5 minutes on Apple Silicon and 8–15 minutes on x86 CPUs, depending on the model.
samuraizer process meeting.m4a # full pipeline
samuraizer process meeting.m4a --verbose # show detailed metadata
samuraizer process meeting.m4a --force # recompute all steps
samuraizer process meeting.m4a --verbose --force
samuraizer normalize input.m4a output.wav # normalize audio for Whisper
samuraizer summarize transcript.txt # generate summary from transcript
samuraizer actions transcript.txt # extract action items
samuraizer decisions transcript.txt # extract decisions
samuraizer init # create default config file
samuraizer config path # show config file location
samuraizer config get # print resolved config as JSON
samuraizer --help
samuraizer --version
Samuraizer uses a global JSON config file.
~/Library/Application Support/samuraizer/config.json~/.config/samuraizer/config.json%AppData%/samuraizer/config.json
{
"model": "qwen3.5:14b",
"ollamaBaseUrl": "http://127.0.0.1:11434",
"whisperCommand": "whisper-cli",
"whisperModelPath": "/absolute/path/to/ggml-model.bin",
"language": "en",
"ffmpegCommand": "ffmpeg",
"ffprobeCommand": "ffprobe"
}
0, 1), a comma-separated list ("0,1"), or a GPU UUID; value semantics match CUDA_VISIBLE_DEVICES. Omit to use the default device.Every config field can also be overridden with an environment variable, e.g. SAMURAIZER_WHISPER_DEVICE=1 samuraizer process meeting.m4a.
If your machine has multiple GPUs, pin whisper transcription to a specific one:
{
"whisperDevice": 1
}
Or per-run, without editing the config:
SAMURAIZER_WHISPER_DEVICE=1 samuraizer process meeting.m4a
After processing, you'll find structured files in output/<recording-name>/:
output/meeting/
transcript.txt
summary.txt
action-items.json
decisions.json
report.txt
meeting.json
The meeting.json file is a memnex v0.2-conforming document combining all outputs with a full provenance chain.
summary.txt
Team standup focused on Q2 roadmap and infrastructure migration.
The frontend team will start the Next.js upgrade next week...
action-items.json
[
{
"owner": "Alice",
"task": "Set up staging environment for migration testing",
"deadline": "by end of week"
},
{
"owner": "Bob",
"task": "Review the auth refactor PR",
"deadline": null
}
]
decisions.json
[
{
"decision": "Adopt Next.js 15 for the new dashboard",
"rationale": "Better SSR and built-in App Router support"
}
]
Samuraizer skips steps whose output files already exist. If processing crashes or you stop it mid-pipeline, just re-run the same command — completed steps are reused.
Use --force to recompute everything from scratch.
ollama serve
Update ollamaBaseUrl in your config:
{
"ollamaBaseUrl": "http://127.0.0.1:11500"
}
Switch to a smaller model:
ollama pull qwen3.5:14b
Then update model in your config to qwen2.5:7b (or qwen2.5:3b on machines with 8 GB RAM).
Make sure the model in your config is actually pulled:
ollama list
ollama pull <model-name>
whisper-cli not in PATHBuild whisper.cpp and ensure the binary is on your PATH, or set the absolute path in whisperCommand in your config.
ffmpeg not foundmacOS:
brew install ffmpeg
Linux:
# Debian / Ubuntu
sudo apt install ffmpeg
# Arch / CachyOS
sudo pacman -S ffmpeg
# Fedora
sudo dnf install ffmpeg
Windows:
winget install Gyan.FFmpeg
Samuraizer also ships with a companion MCP server, @samuraizer/mcp-server, that lets AI agents (Claude Desktop, Claude Code, MCP Inspector) query your processed meetings and run the pipeline on demand.
See CHANGELOG.md for release history.
MIT — see LICENSE.
Part of the Samuraizer monorepo: github.com/UladzKha/samuraizer-cli.
FAQs
Local-first CLI that turns meeting recordings into transcripts, summaries, action items, and decisions
The npm package @samuraizer/cli receives a total of 15 weekly downloads. As such, @samuraizer/cli popularity was classified as not popular.
We found that @samuraizer/cli demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Company News
Socket is joining the OpenJS Security Stewardship Program to fund Node.js vulnerability research, maintainer remediation, and security releases.

Security News
Two compromised GitHub Actions were re-enabled with malicious tags intact, exposing thousands of downstream repositories to Mini Shai-Hulud.

Research
/Security News
A malicious Firefox extension fetches its payload after installation to evade detection, steal Google session cookies, and automate account takeover.