OpenScribe
OpenScribe is an open-source AI scribe that records patient encounters and generates structured clinical notes automatically. You keep full control over data, workflows, and patient privacy with no vendor lock-in.
File Explorer
Download Latest Version (.zip)- ci.yml
- desktop-release.yml
- quality-gates.yml
- CODEOWNERS
- demo.gif
- demo.png
- openscribe-banner.png
- pull_request_template.md
- pcm-processor.js
- android-chrome-192x192.png
- apple-icon.png
- demo.png
- favicon.ico
- icon-dark-32x32.png
- icon-light-32x32.png
- route.ts
- route.ts
- route.ts
- route.ts
- route.ts
- route.ts
- actions.ts
- globals.css
- layout.tsx
- openclaw-actions.ts
- page.tsx
- workflow-error-display.tsx
- transcription-language.ts
- desktop.d.ts
- middleware.ts
- .env.local.example
- next-env.d.ts
- next.config.mjs
- postcss.config.mjs
- tailwind.config.mjs
- tsconfig.json
- tsconfig.tsbuildinfo
- check-structure.mjs
- components.json
- eslint.config.mjs
- macos.entitlements.plist
- next.config.mjs
- postcss.config.mjs
- tsconfig.test.json
- web.Dockerfile
- whisper.Dockerfile
- 2026-04-10-medplum-integration-design.md
- BRANCH_PROTECTION.md
- DOWNLOAD_AND_USE.md
- MANUAL_SIGNOFF_TEMPLATE.md
- MEDASR-SETUP.md
- NOTE_MODEL_PROVIDERS.md
- OPENCLAW_MODE.md
- RELEASE_READINESS_CHECKLIST.md
- RELEASE_RUNBOOK.md
- TRANSCRIPTION-LANGUAGE.md
- WHISPER-LOCAL-SETUP.md
- WHISPER-TROUBLESHOOTING.md
- INSTALL.md
- TROUBLESHOOTING.md
- PROMPT_TESTING.md
- test_prompts.py
- build-backend.mjs
- build-backend.sh
- download-ollama.sh
- test_dmg_fresh_install.sh
- test_first_time_setup.sh
- __init__.py
- audio_recorder.py
- config.py
- models.py
- ollama_manager.py
- summarizer.py
- transcriber.py
- whisper_models.py
- test_config_unittest.py
- test_ollama_manager_unittest.py
- test_whisper_models_unittest.py
- announcements.json
- openscribe-backend.spec
- README.md
- requirements.txt
- setup.py
- simple_recorder.py
- run-local-medscribe.sh
- README.md
- llm-integration.test.ts
- note-model-client.test.ts
- note-model-config.test.ts
- note-template-resolution.test.ts
- phi-security.test.ts
- client.ts
- config.ts
- index.ts
- default.md
- index.ts
- README.md
- soap.md
- index.ts
- v1.ts
- index.ts
- anthropic.ts
- endpoint-security.ts
- openai-compatible.ts
- index.ts
- medgemma-client.test.ts
- index.ts
- executors.test.ts
- planner.test.ts
- policy.test.ts
- run.test.ts
- executors.ts
- index.ts
- planner.ts
- policy.ts
- prompt.ts
- run.ts
- schema.ts
- store.ts
- types.ts
- session-store.test.ts
- index.ts
- session-store.ts
- audio-processing.test.ts
- audio-processing.ts
- use-audio-recorder.ts
- system-audio.ts
- errors.ts
- index.ts
- Sample Problem-Focused Standardized Patient Encounter.mp3
- Sample Problem-Focused Standardized Patient Encounter.wav
- Sample Problem-Focused Standardized Patient Encounter.mp3
- api-simple.test.ts
- audio-validation.test.ts
- e2e-basic.test.ts
- e2e-real-api.test.ts
- scribe-utils.test.ts
- index.ts
- prompts.ts
- render.ts
- safety.ts
- schema.ts
- scribe.ts
- state.ts
- types.ts
- README.md
- clinical-note.test.ts
- markdown-note.test.ts
- note-generator-provider.test.ts
- note-generator.test.ts
- note-verifier.test.ts
- README.md
- verification-utils.test.ts
- clinical-note.ts
- markdown-note.ts
- index.ts
- note-verifier.ts
- types.ts
- verifier.ts
- index.ts
- note-generator.ts
- note-editor.tsx
- index.ts
- error-propagation.test.ts
- error.ts
- final-upload-error.ts
- index.ts
- provider-resolver.test.ts
- transcribe.test.ts
- wav.test.ts
- wav.ts
- segment-upload-controller.ts
- use-segment-upload.ts
- medasr-transcriber.ts
- provider-resolver.ts
- whisper-local-transcriber.ts
- whisper-transcriber.ts
- index.ts
- prepare-next.js
- rebuild-and-test.sh
- test-electron-fixes.sh
- main.js
- next-server.js
- openscribe-backend.js
- preload.js
- update-utils.js
- whisper-runtime-utils.js
- audit-log.test.ts
- encounters.test.ts
- note-template-preferences.test.ts
- secure-storage.test.ts
- api-keys.ts
- audit-log.ts
- debug-logger.ts
- encounters.ts
- index.ts
- preferences.ts
- secure-storage.ts
- server-api-keys.ts
- types.ts
- audit-log-viewer.tsx
- claw-report.tsx
- encounter-list.tsx
- error-boundary.tsx
- idle-view.tsx
- local-setup-wizard.tsx
- model-indicator.tsx
- new-encounter-form.tsx
- offline-status-indicator.tsx
- permissions-dialog.tsx
- processing-view.tsx
- recording-view.tsx
- settings-bar.tsx
- settings-dialog.tsx
- use-encounters.ts
- use-https-warning.ts
- use-online-status.ts
- capability-status.test.ts
- transcription-languages.test.ts
- badge.tsx
- button.tsx
- input.tsx
- label.tsx
- scroll-area.tsx
- tabs.tsx
- textarea.tsx
- cn.ts
- index.ts
- capability-status.ts
- transcription-languages.ts
- desktop.d.ts
- index.ts
- desktop-install-lifecycle.mjs
- desktop-ipc-contract.test.mjs
- desktop-launch-smoke.mjs
- generate-fixtures.mjs
- helpers.mjs
- provision-clean-env.mjs
- validate-release-evidence.mjs
- verify-signing.mjs
- whisper-runtime-utils.test.mjs
- build-desktop.mjs
- check-no-phi-logs.mjs
- collect-release-assets.mjs
- dev-local.sh
- generate-checksums.mjs
- generate-release-manifest.mjs
- local_medscribe.py
- medasr_server.py
- medgemma-scribe.mjs
- setup-env.js
- smoke-desktop-artifacts.mjs
- whisper_server.py
- .dockerignore
- .electronignore
- .gitignore
- architecture.md
- CONTRIBUTING.md
- docker-compose.sam.yml
- LICENSE
- package.json
- pnpm-lock.yaml
- README.md
- requirements.txt
- tsconfig.json
# Installation Guide
git clone https://github.com/sammargolis/OpenScribe
Downloads the entire project code from GitHub to your computer.
cd OpenScribe
Moves into the project folder you just downloaded.
2. Official Install Script
Easy Recommended- Node.js Node.js must be installed to use npm.
npm install -g pnpm
Installs the package published on the npm registry globally β no need to clone the source.
Pulled directly from this repo's README.
3. Docker
Easy- Git Needed to download the project code from GitHub.
- Docker Desktop Needed to build and run containers. Install it and keep it running in the background.
docker compose -f docker-compose.sam.yml up --build
Runs the command against the services defined in the compose file.
Pulled directly from this repo's README.
4. Node.js
Easynpm install -g pnpm
Installs the package published on the npm registry globally β no need to clone the source.
pnpm install
Downloads and installs the libraries listed in package.json.
pnpm run setup # Auto-generates .env.local with secure storage key
Type this command into your terminal and run it.
pnpm dev:local # One command: Whisper local server + web app
Starts the development/run server.
pnpm electron:dev
Type this command into your terminal and run it.
Pulled directly from this repo's README.
5. Python
Easypip install -r local-only/openscribe-backend/requirements.txt
Installs the Python libraries listed in requirements.txt (or similar).
python <μ€νν νμΌλͺ
>.py # READMEμμ μ νν μ€ν νμΌλͺ
μ νμΈνμΈμ
Runs the Python script (or module).
