Seeed-Jetson-DevelopTool / local-chatbot-physical
CLAUDE.md57 starsChanged 4 months agoMITView on GitHub
Build a voice-interactive AI chatbot on Jetson for physical AI applications using Ollama (LLM), NVIDIA Riva (STT/TTS), and Docker. Fully offline voice assistant with real-time speech recognition and synthesis. Requires JetPack 6.0+ and NGC API key.
In this repository297 other files it gives its agents.
- AGENTS.mdAGENTS.md
- ai-nvrAGENTS.md
- allxon-ota-updateAGENTS.md
- allxon-setupAGENTS.md
- alwaysai-setupAGENTS.md
- backup-restoreAGENTS.md
- bsp-source-buildAGENTS.md
- clawdbot-developmentAGENTS.md
- cochl-sense-setupAGENTS.md
- cvedia-setupAGENTS.md
- dashcamnet-xavier-nx-multicameraAGENTS.md
- deciai-setupAGENTS.md
- deepseek-quick-deployAGENTS.md
- deploy-deepseek-mlcAGENTS.md
- deploy-depth-anything-v3AGENTS.md
- deploy-diaAGENTS.md
- deploy-efficient-vision-engineAGENTS.md
- deploy-frigateAGENTS.md
- deploy-live-vlm-webuiAGENTS.md
- deploy-nvbloxAGENTS.md
- deploy-ollama-anythingllmAGENTS.md
- deploy-riva-llama2AGENTS.md
- developtool-deviceAGENTS.md
- disk-encryptionAGENTS.md
- diy-bsp-buildAGENTS.md
- ethercat-communicationAGENTS.md
- ethercat-setupAGENTS.md
- finetune-llm-llama-factoryAGENTS.md
- fix-browser-snap-jetsonAGENTS.md
- gapi-setupAGENTS.md
- generative-ai-introAGENTS.md
- gpt-oss-liveAGENTS.md
- gr00t-n1-5-deploy-thorAGENTS.md
- gr00t-n1-6-deploy-agxAGENTS.md
- hardhat-setupAGENTS.md
- hybrid-bsp-dk-to-recomputerAGENTS.md
- imx477-a603-setupAGENTS.md
- j501-viola-fruit-sortingAGENTS.md
- jetpack5-ssd-boot-fixAGENTS.md
- jetpack-flash-wsl2AGENTS.md
- jetpack-jetson-overviewAGENTS.md
- jetpack-ota-updateAGENTS.md
- jetson-ai-toolsAGENTS.md
- jetson-docker-setupAGENTS.md
- jetson-faqAGENTS.md
- jetson-pc-wired-shareAGENTS.md
- jetson-project-galleryAGENTS.md
- jetson-resource-indexAGENTS.md
- jetson-tutorial-exercisesAGENTS.md
- ko-module-buildAGENTS.md
- l4t-differencesAGENTS.md
- langchain-output-formattingAGENTS.md
- lerobot-env-setupAGENTS.md
- llama-cpp-rpc-distributedAGENTS.md
- llm-interface-controlAGENTS.md
- local-chatbot-multimodalAGENTS.md
- local-chatbot-physicalAGENTS.md
- local-llm-text-to-imageAGENTS.md
- local-rag-llamaindexAGENTS.md
- lumeo-setupAGENTS.md
- The first 60 shown.
The file
We split this CLAUDE.md into the rules it gives an agent
5 rules. About 0 are common, 3 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 14
Run one phase at a time. After each phase:
- Very specific: line 16
If output contains [STOP] → stop, consult the failure decision tree.
- Very specific: line 17
If output ends with [OK] → tell the user "Phase N complete" and proceed.
- Distinctive: line 40
Run Ollama and pull a model:
- Distinctive: line 143
Start the chatbot with your audio devices:
≈ “Common” is an estimate: at least 1 in 5 of the 26,980 CLAUDE.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Voice-Interactive Chatbot on Jetson (Physical AI)
Deploy a fully local voice chatbot for physical AI use cases — the system listens, reasons with a local LLM, and speaks back. Uses NVIDIA Riva for speech processing and Ollama for inference, all running in Docker on Jetson hardware.
Execution model
Run one phase at a time. After each phase:
- Relay all output to the user.
- If output contains
[STOP]→ stop, consult the failure decision tree. - If output ends with
[OK]→ tell the user "Phase N complete" and proceed.
Prerequisites
| Requirement | Detail |
| Hardware | NVIDIA Jetson (AGX Orin recommended for larger models) |
| JetPack | 6.0+ |
| Docker | Installed with NVIDIA runtime |
| NGC Account | API key from catalog.ngc.nvidia.com |
| Audio | Microphone and speaker connected to Jetson |
Phase 1 — Install Jetson Containers and Ollama (~5 min)
git clone https://github.com/dusty-nv/jetson-containers
bash jetson-containers/install.shRun Ollama and pull a model:
jetson-containers run --name ollama $(autotag ollama)Inside the container:
ollama run llama3.2:1bType /bye to exit after confirming the model loads.
Verify from host:
curl http://localhost:11434/api/tags[OK] when curl returns JSON listing the model.
[STOP] if Ollama container fails to start — check Docker and NVIDIA runtime.
Phase 2 — Install and configure NGC CLI (~3 min)
mkdir -p ~/ngc_setup && cd ~/ngc_setup
wget --content-disposition https://api.ngc.nvidia.com/v2/resources/nvidia/ngc-apps/ngc_cli/versions/3.36.0/files/ngccli_arm64.zip
unzip ngccli_arm64.zip
chmod u+x ngc-cli/ngc
echo "export PATH=\"\$PATH:$(pwd)/ngc-cli\"" >> ~/.bash_profile
source ~/.bash_profile
ngc config setEnter your NGC API key when prompted.
[OK] when ngc config current shows your org/team.
[STOP] if API key is rejected — regenerate at catalog.ngc.nvidia.com.
Phase 3 — Install NVIDIA Riva (~15–30 min)
mkdir -p ~/riva_setup && cd ~/riva_setup
ngc registry resource download-version nvidia/riva/riva_quickstart_arm64:2.16.0
cd riva_quickstart_arm64_v2.16.0Edit config.sh to disable unused services:
sed -i 's/service_enabled_nlp=.*/service_enabled_nlp=false/' config.sh
sed -i 's/service_enabled_nmt=.*/service_enabled_nmt=false/' config.shConfigure Docker NVIDIA runtime (if not already set):
sudo tee /etc/docker/daemon.json > /dev/null << 'EOF'
{
"default-runtime": "nvidia",
"runtimes": {
"nvidia": {
"path": "nvidia-container-runtime",
"runtimeArgs": []
}
}
}
EOF
sudo systemctl restart dockerInitialize and start Riva:
sudo bash riva_init.sh
sudo bash riva_start.sh[OK] when Riva services start without error (check docker ps for riva containers).
[STOP] if init fails — check disk space (Riva models are large) and JetPack compatibility.
Phase 4 — Clone and run the chatbot (~2 min)
git clone https://github.com/kouroshkarimi/local_chatbot_jetson.git
cd local_chatbot_jetson
pip3 install -r requirements.txtList audio devices:
python3 app.py --list-input-devices
python3 app.py --list-output-devicesStart the chatbot with your audio devices:
python3 app.py --input-device <input_id> --output-device <output_id>[OK] when the chatbot starts listening and responds to voice input.
[STOP] if audio devices not found — check connections and ALSA config.
Failure decision tree
| Symptom | Action |
| Ollama container won't start | Check NVIDIA runtime: docker info | grep -i runtime. Install nvidia-container-runtime if missing. |
| NGC download fails | Verify API key: ngc config current. Check network connectivity. |
| Riva init fails with disk space error | Riva models need ~15 GB. Free space or use external storage. |
| Riva init fails with JetPack mismatch | Check Riva support matrix at docs.nvidia.com/deeplearning/riva. |
| No audio input detected | Check arecord -l for recording devices. Verify microphone is connected. |
| No audio output | Check aplay -l for playback devices. Test with speaker-test -t wav. |
| LLM response too slow | Use a smaller model (llama3.2:1b). Check GPU utilization with jtop. |
| Docker permission denied | Add user to docker group: sudo usermod -aG docker $USER. Log out and back in. |
Reference files
references/source.body.md— Full project documentation with system architecture, Ollama model table, Riva setup details, and usage examples (reference only)
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

