{"data":{"slug":"marswaveai-typeno","name":"TypeNo","tagline":"A free, open source, privacy-first voice input app for macOS.","github_url":"https://github.com/marswaveai/TypeNo","owner":"marswaveai","repo":"TypeNo","owner_avatar_url":"https://avatars.githubusercontent.com/u/187894162?v=4","primary_language":"Swift","stars":877,"forks":71,"topics":["accessibility","dictation","local-first","macos","menu-bar-app","open-source","privacy","productivity","speech-to-text","swift","voice-input"],"archived":false,"github_pushed_at":"2026-05-26T06:55:45+00:00","maintenance_label":"Steady","url":"https://www.graphcanon.com/tools/marswaveai-typeno","markdown_url":"https://www.graphcanon.com/tools/marswaveai-typeno.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/marswaveai-typeno","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=marswaveai-typeno","description":"A free, open source, privacy-first voice input app for macOS.","homepage_url":"https://typeno.com","license":"GPL-3.0","open_issues":3,"watchers":3,"ai_summary":null,"readme_excerpt":"### Install the speech engine\n\nTypeNo uses [coli](https://github.com/marswaveai/coli) for local speech recognition.\n\n**Prerequisites:**\n- [Node.js](https://nodejs.org) (LTS recommended — install directly from nodejs.org for best compatibility)\n- [ffmpeg](https://ffmpeg.org) — required for audio conversion: `brew install ffmpeg`\n\n```bash\nnpm install -g @marswave/coli\n```\n\nThis installs the `coli` CLI itself, but it does not pre-download the speech model.\n\nIf Coli is missing, TypeNo will show an in-app setup prompt with the install command.\n\n> **Node 24+:** If you get a `sherpa-onnx-node` error, build from source:\n> ```bash\n> npm install -g @marswave/coli --build-from-source\n> ```\n\n---\n\n## License\n\nGNU General Public License v3.0","github_created_at":"2026-03-24T09:15:02+00:00","created_at":"2026-07-11T12:21:37.617076+00:00","updated_at":"2026-07-11T12:21:53.182639+00:00","categories":[{"slug":"llm-frameworks","name":"LLM Frameworks","url":"https://www.graphcanon.com/categories/llm-frameworks","markdown_url":"https://www.graphcanon.com/categories/llm-frameworks.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/llm-frameworks"},{"slug":"speech-audio","name":"Speech & Audio","url":"https://www.graphcanon.com/categories/speech-audio","markdown_url":"https://www.graphcanon.com/categories/speech-audio.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/speech-audio"},{"slug":"developer-tools","name":"Developer Tools","url":"https://www.graphcanon.com/categories/developer-tools","markdown_url":"https://www.graphcanon.com/categories/developer-tools.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/developer-tools"}],"tags":[{"slug":"dictation","name":"dictation"},{"slug":"productivity","name":"productivity"},{"slug":"local-first","name":"local-first"},{"slug":"privacy","name":"privacy"},{"slug":"macos","name":"macos"},{"slug":"menu-bar-app","name":"menu-bar-app"},{"slug":"accessibility","name":"accessibility"},{"slug":"open-source","name":"open-source"}],"trust":{"provenance":{"is_fork":false,"github_id":1190424251,"owner_type":"Organization","methodology":"github_public_v1","parent_repo":null,"near_duplicate_slugs":[]},"computed_at":"2026-07-11T12:21:39.728Z","maintenance":{"label":"Steady","score":60,"methodology":"github_public_v1","releases_90d":1,"days_since_push":46,"last_release_at":"2026-05-25T13:42:32Z"},"security_summary":{"status":"no_lockfile","scanner":null,"low_count":0,"high_count":0,"last_scan_at":"2026-07-11T12:21:44.027Z","medium_count":0,"scan_profile":"none","critical_count":0}},"capability_facts":{"scan":{"source":"repo_scan","observed_at":"2026-07-11T12:21:42.947Z"},"languages":{"value":["swift"],"source":"github.language","observed_at":"2026-07-11T12:21:42.947Z"},"license_spdx":{"value":"GPL-3.0","source":"github.license","observed_at":"2026-07-11T12:21:42.947Z"}}}}