{"id":50300426,"url":"https://github.com/rhodey/hecate","last_synced_at":"2026-05-28T12:34:12.213Z","repository":{"id":344483894,"uuid":"1181940611","full_name":"rhodey/hecate","owner":"rhodey","description":"AI Assistant you can video call","archived":false,"fork":false,"pushed_at":"2026-03-23T15:30:37.000Z","size":30891,"stargazers_count":22,"open_issues_count":4,"forks_count":2,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-17T17:06:19.895Z","etag":null,"topics":["ai","assistant","video"],"latest_commit_sha":null,"homepage":"https://hecate.video","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rhodey.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-14T20:41:17.000Z","updated_at":"2026-03-26T07:26:11.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/rhodey/hecate","commit_stats":null,"previous_names":["rhodey/hecate"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rhodey/hecate","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rhodey%2Fhecate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rhodey%2Fhecate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rhodey%2Fhecate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rhodey%2Fhecate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rhodey","download_url":"https://codeload.github.com/rhodey/hecate/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rhodey%2Fhecate/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33609237,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-28T02:00:06.440Z","response_time":99,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","assistant","video"],"created_at":"2026-05-28T12:34:11.419Z","updated_at":"2026-05-28T12:34:12.207Z","avatar_url":"https://github.com/rhodey.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Hecate\nAI Assistant you can video call.\n\nWorks great on Linux! Voice only on Mac! [You can help!](https://github.com/rhodey/hecate/blob/main/MAC.md)\n\n+ [Signal](https://signal.org/) private calling\n+ [Tinfoil.sh](https://tinfoil.sh/) private inference\n+ [Pocket TTS](https://github.com/kyutai-labs/pocket-tts) local TTS\n+ [@pixiv/three-vrm](https://github.com/pixiv/three-vrm) VR models\n\n\u003cimg src=\"avatar/pic1.jpg\" height=\"300\"\u003e \u003cimg src=\"avatar/pic2.jpg\" height=\"300\"\u003e \u003cimg src=\"avatar/pic3.jpg\" height=\"300\"\u003e\n\n## Install Signal\nYou need Signal on your phone and also in an emulator:\n\n```\njust build\njust emulator\njust signal\n```\n\n## Register Signal\n+ [http://localhost:8081](http://localhost:8081/)\n+ \"H264 Converter\"\n+ Swipe up + click Signal\n+ Buy 2nd phone number + register\n\n## Signal Desktop\nWe now setup Signal Desktop because it uses less CPU and is easier to automate. Run `just desktop qrcode` then `docker logs -f qrcode` you should see \"!! new code\" and \"!! same code\". Return to [http://localhost:8081](http://localhost:8081/) and do Signal \u003e Settings \u003e Linked devices \u003e Link a new device.\n\n## Voice calls\nSignal Desktop should now be ready. To verify this do `chrome://inspect/#devices` \u003e localhost:9222 \u003e Signal \u003e inspect fallback. Then send a text message from this Signal Desktop window to your main number so the new contact request can be accepted. And now you are ready.\n\n```\ndocker rm -f emulator qrcode\ncp example.env .env\njust loop\n```\n\n+ Call 2nd phone number ✅\n+ Say \"Whats your favorite Pirates Of The Caribbean movie?\"\n\n## Video calls\nI got video calls working using only docker + chrome but CPU was too high. [OBS Studio](https://obsproject.com/) is open source and cross-platform and used by many streamers. Download and install then proceed:\n\n```\njust stop\njust video\n(OBS Studio \u003e Sources \u003e \"+\" \u003e Browser \u003e http://localhost:8082)\n(\"Start Virtual Camera\")\njust camera \u003e\u003e .env\njust desktop\njust loop\n```\n\n+ Video call 2nd phone number ✅\n+ Say \"Is this call secure?\"\n\n## Config (.env)\n+ stt_model = `whisper-large-v3-turbo`, `voxtral-small-24b`\n+ llm_model = `llama3-3-70b`, `kimi-k2-5`, `deepseek-r1-0528`\n+ voice = `azelma`, `fantine`, `eponine`\n+ avatar = `avatar1`, `avatar2`, `avatar3`\n+ also use `prompt.txt` to override default\n+ also [FAQ](https://github.com/rhodey/hecate/blob/main/FAQ.md)\n\n## Security\nOpen Signal on your phone and `chrome://inspect/#devices` for Desktop. Your message thread has a [\"safety number\"](https://support.signal.org/hc/en-us/articles/360007060632-What-is-a-safety-number-and-why-do-I-see-that-it-changed) which you can review. If the safety number changes you will be warned on your phone before the next call is allowed. Signal Desktop is answering all calls without a filter and this is a priority to improve but the AI has no memory between calls so if someone finds your 2nd phone number its not critical. Signal Desktop is in a container and not interfering if also installed on your OS.\n\n## VR Credits\n+ avatar1 - 水銀メイド\n+ avatar2 - [CraftTable](https://hub.vroid.com/en/characters/1187345571480446973/models/6924674676416729650)\n+ avatar3 - [白い白米](https://hub.vroid.com/en/characters/1245908975744054638/models/6772996051660461137)\n\n## License\nmike@rhodey.org\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frhodey%2Fhecate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frhodey%2Fhecate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frhodey%2Fhecate/lists"}