{"adoption": {"forks": 165, "observed_at": "2026-08-28T04:04:37.972240+00:00", "stars": 1404}, "canonical_url": "https://ross.abutalabs.com/products/type4me", "card": {"archived": false, "artifact_type": "application", "description": "MacOS语音输入法，实时识别、大模型文本优化、全本地存储", "domain": ["speech-processing", "developer-tools", "apple-ecosystem"], "enriched": true, "function": ["speech-recognition", "nlp", "llm-inference", "tts"], "health_score": 100, "homepage": null, "language": "Swift", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["joewongjc/type4me"], "name": "joewongjc/type4me", "platform": [], "pushed_at": "2026-08-26T17:18:16+00:00", "repo": "joewongjc/type4me", "stars": 1404, "tags": ["voice-input", "dictation", "input-method", "local-first", "hotwords", "translation", "menu-bar-app", "streaming-asr", "natural-language-processing", "macos", "swift", "desktop"], "topics": [], "urls": [], "use_cases": ["dictate text instead of typing on mac", "voice input with llm text cleanup", "translate speech to another language in real time", "control mac with voice commands", "fix just-dictated text by voice", "private local speech recognition", "custom hotwords for asr accuracy"], "what_it_is": "Type4Me is a macOS voice input method that transcribes speech in real time (streaming, local or cloud ASR engines) and refines text with LLMs, with all history stored locally. It offers multiple modes like translation, smart polishing, Mac voice commands, and customizable hotword/mapping vocabularies.", "when_to_avoid": ["you need voice input on Windows or Linux", "you want a fully free offline solution without API keys and lack 32GB RAM for the local engine", "you need an input method for non-macOS or mobile platforms"], "when_to_choose": ["you want a fast, customizable, privacy-friendly voice input on macOS with local history export", "you need streaming dictation plus LLM polishing, translation, or voice-driven Mac actions", "you want to plug in your own ASR/LLM providers or run local models via Ollama"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/type4me", "repo": "joewongjc/type4me", "role": "main", "score": 81}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:37.972240+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:38:50.980177+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "93bfa364f221e040cb30b8275b0303bccf75511c7ca6d88a18d49269461b6908", "fetched_at": "2026-08-28T04:04:37.972240+00:00", "kind": "readme", "missing": false, "url": "https://github.com/joewongjc/type4me"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:37.972240+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:38:50.980177+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "93bfa364f221e040cb30b8275b0303bccf75511c7ca6d88a18d49269461b6908", "fetched_at": "2026-08-28T04:04:37.972240+00:00", "kind": "readme", "missing": false, "url": "https://github.com/joewongjc/type4me"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:38:50.980177+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "93bfa364f221e040cb30b8275b0303bccf75511c7ca6d88a18d49269461b6908", "fetched_at": "2026-08-28T04:04:37.972240+00:00", "kind": "readme", "missing": false, "url": "https://github.com/joewongjc/type4me"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:04:37.972240+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:37.972240+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:37.972240+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:38:50.980177+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "93bfa364f221e040cb30b8275b0303bccf75511c7ca6d88a18d49269461b6908", "fetched_at": "2026-08-28T04:04:37.972240+00:00", "kind": "readme", "missing": false, "url": "https://github.com/joewongjc/type4me"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:37.972240+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:37.972240+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:38:50.980177+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "93bfa364f221e040cb30b8275b0303bccf75511c7ca6d88a18d49269461b6908", "fetched_at": "2026-08-28T04:04:37.972240+00:00", "kind": "readme", "missing": false, "url": "https://github.com/joewongjc/type4me"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:37.972240+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:37.972240+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:37.972240+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:38:50.980177+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "93bfa364f221e040cb30b8275b0303bccf75511c7ca6d88a18d49269461b6908", "fetched_at": "2026-08-28T04:04:37.972240+00:00", "kind": "readme", "missing": false, "url": "https://github.com/joewongjc/type4me"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:37.972240+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:37.972240+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:38:50.980177+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "93bfa364f221e040cb30b8275b0303bccf75511c7ca6d88a18d49269461b6908", "fetched_at": "2026-08-28T04:04:37.972240+00:00", "kind": "readme", "missing": false, "url": "https://github.com/joewongjc/type4me"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:38:50.980177+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "93bfa364f221e040cb30b8275b0303bccf75511c7ca6d88a18d49269461b6908", "fetched_at": "2026-08-28T04:04:37.972240+00:00", "kind": "readme", "missing": false, "url": "https://github.com/joewongjc/type4me"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:38:50.980177+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "93bfa364f221e040cb30b8275b0303bccf75511c7ca6d88a18d49269461b6908", "fetched_at": "2026-08-28T04:04:37.972240+00:00", "kind": "readme", "missing": false, "url": "https://github.com/joewongjc/type4me"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:38:50.980177+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "93bfa364f221e040cb30b8275b0303bccf75511c7ca6d88a18d49269461b6908", "fetched_at": "2026-08-28T04:04:37.972240+00:00", "kind": "readme", "missing": false, "url": "https://github.com/joewongjc/type4me"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 11, "rhythm": 99}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["young"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 164, "days_push": 7, "days_rel": 7, "gap_med": 0, "n_releases_24m": 40}, "score": 81, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}