{"data":{"node":{"slug":"heywillow-willow","name":"willow","tagline":"Open source local self-hosted voice assistant alternative to Amazon Echo and Google Home","github_url":"https://github.com/HeyWillow/willow","owner":"HeyWillow","repo":"willow","owner_avatar_url":"https://avatars.githubusercontent.com/u/206060000?v=4","primary_language":"C","stars":3084,"forks":124,"topics":["alexa","deep-learning","echo","esp-adf","esp-idf","esp32","google-home","home-assistant","home-automation","privacy","speech-recognition","speech-to-text","whisper"],"archived":false,"github_pushed_at":"2026-07-25T15:00:08+00:00","maintenance_label":"Very active","url":"https://www.graphcanon.com/tools/heywillow-willow","markdown_url":"https://www.graphcanon.com/tools/heywillow-willow.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/heywillow-willow","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=heywillow-willow"},"categories":[{"slug":"inference-serving","name":"Inference & Serving","url":"https://www.graphcanon.com/categories/inference-serving","markdown_url":"https://www.graphcanon.com/categories/inference-serving.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/inference-serving"},{"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"}],"tags":[{"slug":"alexa","name":"alexa"},{"slug":"deep-learning","name":"deep-learning"},{"slug":"echo","name":"echo"},{"slug":"esp-adf","name":"esp-adf"},{"slug":"esp-idf","name":"esp-idf"},{"slug":"esp32","name":"esp32"},{"slug":"google-home","name":"google-home"},{"slug":"home-assistant","name":"home-assistant"}],"edges":[],"neighbours":[{"slug":"reworkd-agentgpt","name":"AgentGPT","tagline":"Assembler for autonomous AI Agents","github_url":"https://github.com/reworkd/AgentGPT","owner":"reworkd","repo":"AgentGPT","owner_avatar_url":"https://avatars.githubusercontent.com/u/120154269?v=4","primary_language":"TypeScript","stars":36304,"forks":9288,"topics":["agent","agentgpt","agents","agi","ai","ai-agents","autogpt","baby-agi","gpt","langchain","llm","next","openai","t3","t3-stack"],"archived":true,"github_pushed_at":"2025-04-29T01:19:32+00:00","maintenance_label":"Archived","url":"https://www.graphcanon.com/tools/reworkd-agentgpt","markdown_url":"https://www.graphcanon.com/tools/reworkd-agentgpt.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/reworkd-agentgpt","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=reworkd-agentgpt","shared_categories":[]},{"slug":"agentscope-ai-qwenpaw","name":"QwenPaw","tagline":"Your Personal AI Assistant","github_url":"https://github.com/agentscope-ai/QwenPaw","owner":"agentscope-ai","repo":"QwenPaw","owner_avatar_url":"https://avatars.githubusercontent.com/u/211762292?v=4","primary_language":"Python","stars":33990,"forks":3007,"topics":["agent","agent-harness","agentscope","ai-agent","ai-agents","chatbot","harness-engineering","llm-tools","llms","loop-engineering","mcp","personal-ai-assistant","self-hosted","skills","super-agent","webui"],"archived":false,"github_pushed_at":"2026-08-18T10:56:26+00:00","maintenance_label":"Active","url":"https://www.graphcanon.com/tools/agentscope-ai-qwenpaw","markdown_url":"https://www.graphcanon.com/tools/agentscope-ai-qwenpaw.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/agentscope-ai-qwenpaw","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=agentscope-ai-qwenpaw","shared_categories":[]},{"slug":"emcie-co-parlant","name":"parlant","tagline":"Build reliable customer-facing AI agents with Parlant: an interaction control harness optimized for controlled, consistent, and predictable LLM interactions.","github_url":"https://github.com/emcie-co/parlant","owner":"emcie-co","repo":"parlant","owner_avatar_url":"https://avatars.githubusercontent.com/u/160175171?v=4","primary_language":"Python","stars":18253,"forks":1551,"topics":["ai-agents","ai-alignment","customer-service","customer-success","gemini","genai","hacktoberfest","llama3","llm","openai","python"],"archived":false,"github_pushed_at":"2026-07-12T19:40:55+00:00","maintenance_label":"Steady","url":"https://www.graphcanon.com/tools/emcie-co-parlant","markdown_url":"https://www.graphcanon.com/tools/emcie-co-parlant.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/emcie-co-parlant","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=emcie-co-parlant","shared_categories":[]},{"slug":"chainlit-chainlit","name":"chainlit","tagline":"Build Conversational AI in minutes ⚡️","github_url":"https://github.com/Chainlit/chainlit","owner":"Chainlit","repo":"chainlit","owner_avatar_url":"https://avatars.githubusercontent.com/u/128686189?v=4","primary_language":"Python","stars":12373,"forks":1728,"topics":["chatgpt","langchain","llm","openai","openai-chatgpt","python","ui"],"archived":false,"github_pushed_at":"2026-08-04T11:11:47+00:00","maintenance_label":"Active","url":"https://www.graphcanon.com/tools/chainlit-chainlit","markdown_url":"https://www.graphcanon.com/tools/chainlit-chainlit.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/chainlit-chainlit","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=chainlit-chainlit","shared_categories":[]},{"slug":"huggingface-speech-to-speech","name":"speech-to-speech","tagline":"Build local voice agents with open-source models","github_url":"https://github.com/huggingface/speech-to-speech","owner":"huggingface","repo":"speech-to-speech","owner_avatar_url":"https://avatars.githubusercontent.com/u/25720743?v=4","primary_language":"Python","stars":8219,"forks":1025,"topics":["ai","assistant","language-model","machine-learning","python","speech","speech-synthesis","speech-to-text","speech-translation"],"archived":false,"github_pushed_at":"2026-07-30T11:35:50+00:00","maintenance_label":"Active","url":"https://www.graphcanon.com/tools/huggingface-speech-to-speech","markdown_url":"https://www.graphcanon.com/tools/huggingface-speech-to-speech.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/huggingface-speech-to-speech","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=huggingface-speech-to-speech","shared_categories":["speech-audio"]},{"slug":"the-open-agent-openagent","name":"openagent","tagline":"next-generation personal AI assistant powered by LLM, RAG and agent loops","github_url":"https://github.com/the-open-agent/openagent","owner":"the-open-agent","repo":"openagent","owner_avatar_url":"https://avatars.githubusercontent.com/u/277180808?v=4","primary_language":"Go","stars":5566,"forks":647,"topics":["agent","agentic","agentic-ai","agi","chatbot","chatgpt","gpt","harness","hermes-agent","knowledge-base","langchain","llm","mcp","model-context-protocol","multi-agent","openagent","openai","openclaw","rag"],"archived":false,"github_pushed_at":"2026-08-20T18:00:55+00:00","maintenance_label":"Very active","url":"https://www.graphcanon.com/tools/the-open-agent-openagent","markdown_url":"https://www.graphcanon.com/tools/the-open-agent-openagent.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/the-open-agent-openagent","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=the-open-agent-openagent","shared_categories":[]},{"slug":"openwhispr-openwhispr","name":"openwhispr","tagline":"Voice-to-text dictation app with local and cloud models","github_url":"https://github.com/OpenWhispr/openwhispr","owner":"OpenWhispr","repo":"openwhispr","owner_avatar_url":"https://avatars.githubusercontent.com/u/254803777?v=4","primary_language":"JavaScript","stars":5018,"forks":715,"topics":["ai","anthropic","cross-platform","gemini","groq","linux","macos","nvidia","open-source","openai","parakeet","speech-to-text","transcribe","whisper","windows"],"archived":false,"github_pushed_at":"2026-07-30T07:57:27+00:00","maintenance_label":"Active","url":"https://www.graphcanon.com/tools/openwhispr-openwhispr","markdown_url":"https://www.graphcanon.com/tools/openwhispr-openwhispr.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/openwhispr-openwhispr","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=openwhispr-openwhispr","shared_categories":["speech-audio"]},{"slug":"open-less-openless","name":"openless","tagline":"AI-polished text from voice input for macOS and Windows","github_url":"https://github.com/Open-Less/openless","owner":"Open-Less","repo":"openless","owner_avatar_url":"https://avatars.githubusercontent.com/u/283287307?v=4","primary_language":"Rust","stars":2881,"forks":252,"topics":["ai-prompt","asr","dictation","linux","llm","macos","open-source","prompt-engineering","rust","speech-to-text","tauri","typeless","typeless-alternative","voice-input","windows","wispr-flow-alternative"],"archived":false,"github_pushed_at":"2026-07-22T00:52:10+00:00","maintenance_label":"Steady","url":"https://www.graphcanon.com/tools/open-less-openless","markdown_url":"https://www.graphcanon.com/tools/open-less-openless.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/open-less-openless","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=open-less-openless","shared_categories":["speech-audio"]},{"slug":"off-grid-ai-off-grid-ai-mobile","name":"off-grid-ai-mobile","tagline":"The Swiss Army Knife of Offline AI","github_url":"https://github.com/off-grid-ai/off-grid-ai-mobile","owner":"off-grid-ai","repo":"off-grid-ai-mobile","owner_avatar_url":"https://avatars.githubusercontent.com/u/295106271?v=4","primary_language":"TypeScript","stars":2855,"forks":273,"topics":["android","edge-ai","gguf","ios","llama-cpp","local-ai","macos","mcp","mobile-ai","offline-ai","offline-llm","ondevice","ondevice-ai","privacy-first","react-native","stable-diffusion-android","tool-calling","vision-language-model","whisper-android","whisper-cpp"],"archived":false,"github_pushed_at":"2026-08-01T11:32:40+00:00","maintenance_label":"Active","url":"https://www.graphcanon.com/tools/off-grid-ai-off-grid-ai-mobile","markdown_url":"https://www.graphcanon.com/tools/off-grid-ai-off-grid-ai-mobile.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/off-grid-ai-off-grid-ai-mobile","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=off-grid-ai-off-grid-ai-mobile","shared_categories":["inference-serving"]},{"slug":"cogwheel0-conduit","name":"conduit","tagline":"Mobile client for OpenWebUI","github_url":"https://github.com/cogwheel0/conduit","owner":"cogwheel0","repo":"conduit","owner_avatar_url":"https://avatars.githubusercontent.com/u/172976095?v=4","primary_language":"Dart","stars":1945,"forks":193,"topics":["ai-agents","ai-assistant","android","chat","chatbot","cross-platform","dart","flutter","ios","llm","llm-client","mobile-app","ollama","open-webui","openai","openrouter","openwebui","privacy","self-hosted","selfhosted"],"archived":false,"github_pushed_at":"2026-08-10T17:27:43+00:00","maintenance_label":"Active","url":"https://www.graphcanon.com/tools/cogwheel0-conduit","markdown_url":"https://www.graphcanon.com/tools/cogwheel0-conduit.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/cogwheel0-conduit","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=cogwheel0-conduit","shared_categories":["inference-serving"]},{"slug":"szczyglis-dev-py-gpt","name":"py-gpt","tagline":"Desktop AI Assistant powered by multiple LLMs and various functionalities","github_url":"https://github.com/szczyglis-dev/py-gpt","owner":"szczyglis-dev","repo":"py-gpt","owner_avatar_url":"https://avatars.githubusercontent.com/u/61396542?v=4","primary_language":"Python","stars":1880,"forks":334,"topics":["ai","ai-assistant","artificial-intelligence","autonomous-agent","chatbot","claude","deepseek","desktop-app","gemini","gpt-4","gpt-5","grok","llama-index","llm","mcp","o1","ollama","openai","perplexity","sora2"],"archived":false,"github_pushed_at":"2026-08-13T19:53:38+00:00","maintenance_label":"Active","url":"https://www.graphcanon.com/tools/szczyglis-dev-py-gpt","markdown_url":"https://www.graphcanon.com/tools/szczyglis-dev-py-gpt.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/szczyglis-dev-py-gpt","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=szczyglis-dev-py-gpt","shared_categories":["speech-audio","inference-serving"]},{"slug":"atomicbot-ai-atomic-agent","name":"atomic-agent","tagline":"Local First Ai Agent for private device execution with optimized local AI models and long context window","github_url":"https://github.com/AtomicBot-ai/atomic-agent","owner":"AtomicBot-ai","repo":"atomic-agent","owner_avatar_url":"https://avatars.githubusercontent.com/u/259533419?v=4","primary_language":"TypeScript","stars":1698,"forks":198,"topics":["agents","ai-agent","browser-automation","cli","gguf","hermes-agent","llama-cpp","llm","local-first","local-llm","nodejs","openai","openclaw","playwright","tui","typescript"],"archived":false,"github_pushed_at":"2026-08-11T21:37:28+00:00","maintenance_label":"Active","url":"https://www.graphcanon.com/tools/atomicbot-ai-atomic-agent","markdown_url":"https://www.graphcanon.com/tools/atomicbot-ai-atomic-agent.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/atomicbot-ai-atomic-agent","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=atomicbot-ai-atomic-agent","shared_categories":[]}]}}