⚠️ Disclaimer: This guide is provided for informational and educational purposes only. All actions you take based on information found on this site are done entirely at your own risk. The Jibo Revival Group and contributors to jibo.guide are not responsible or liable for any damage, data loss, or malfunction to your device or property. Proceed only if you understand and accept these risks.

SSH & Next Steps

Congratulations — Jibo is in developer mode and you have SSH access. This page covers useful ports and tools, and what to explore next.

✅ Quick SSH reference
ssh root@<jibo-ip>
# password: jibo

Useful Ports

Jibo exposes several HTTP services that you can interact with over your local network. Some may require the firewall to be open (developer mode keeps these accessible):

Port Service Notes
22 SSH Root access. Password: jibo
8779 Skills Manager Start/stop skills (including a soft reboot via @be/Be)
8088 ASR Service (STT) Local speech-to-text. HTTP + WebSocket. Requires jibo-asr-service running.
8089 TTS Service Local text-to-speech. POST to /tts_speak.
15150 Log Service Available in JiboOS v3+. Check Settings → Info for your version.
10004 Error Service Simulate errors in real-time. Useful for debugging skill behavior.
8686 Dev Shell Jibo dev shell service (developer mode only)

Local Voice Round-Trip

One of the most exciting discoveries: Jibo's entire voice pipeline still works locally, without any cloud connection.

Start the ASR Service

From SSH:

root@jibo:~# /usr/local/bin/jibo-asr-service -c /usr/local/etc/jibo-asr-service.json

Start a Listening Session

From your computer:

# Connect to the WebSocket to receive transcript events:
# ws://<jibo-ip>:8088/simple_port

# Then start an STT task:
$ curl -X POST http://<jibo-ip>:8088/asr_simple_interface \
  -H "Content-Type: application/json" \
  -d '{
    "command": "start",
    "task_id": "DEBUG:task1",
    "audio_source_id": "alsa1",
    "hotphrase": "none",
    "speech_to_text": true
  }'

Make Jibo Speak

$ curl -X POST http://<jibo-ip>:8089/tts_speak \
  -H "Content-Type: application/json" \
  -d '{"text": "Hello! I am back."}'
✅ Full conversation loop

Combining the ASR WebSocket output → your logic → TTS POST gives you a complete voice interaction loop without any cloud dependency. Jibo can hear, understand, and respond — all locally.


Useful File Locations

PathDescription
/var/jibo/mode.json Current boot mode (normal / int-developer / etc.)
/opt/jibo/Jibo/Skills/@be/be/resources/JiboSplash.png Splash screen shown at Be skill startup — replace to customize
/opt/jibo/Jibo/Skills/@be/be/node_modules/jibo-anim-db-animations/audio/ Audio assets directory
/usr/local/bin/ Jibo binaries and asset directory
/etc/init.d/S21firewall Firewall init script (see Networking notes)
/var/jibo/identity.json Robot identity and name

Changing Modes

Jibo's behavior changes significantly depending on mode.json. You can switch modes at any time from SSH (requires remounting / as writable):

root@jibo:~# mount -o remount,rw /
root@jibo:~# /usr/bin/jibo-getmode         # check current mode
root@jibo:~# echo '{"mode": "normal"}' > /var/jibo/mode.json
root@jibo:~# reboot
ModeBehavior
normalStandard user mode. Firewall active. SSH blocked. Original boot animation.
int-developerFull developer mode. Firewall disabled. SSH on port 22. Checkmark boot.
developerDeveloper mode with a more limited firewall (ports 8686, 8779, 8989, 9191 open).
serviceService/certification mode. Ports 9292, 9797 open.
⚠️ Adding SSH to normal mode

If you want SSH access without the checkmark boot screen, you can patch the firewall in normal mode. Edit /etc/init.d/S21firewall and add this line to the normal_rules() function (before the REJECT rule):

$iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT

Remember to remount / as writable first.


What's Next

The community is actively working on:

Join the Discord to stay up to date and contribute. The community is friendly and always looking for developers, testers, and people who can help document discoveries.