Skip to content

Commit

Permalink
Update quick start to remove old/redundant documentation (#68)
Browse files Browse the repository at this point in the history
Port troubleshooting notes from https://github.com/NeonGeckoCom/NeonCore/pull/478/files

Co-authored-by: Daniel McKnight <daniel@neon.ai>
  • Loading branch information
NeonDaniel and NeonDaniel authored Jul 10, 2024
1 parent 980bda7 commit d7d6dbb
Showing 1 changed file with 34 additions and 50 deletions.
84 changes: 34 additions & 50 deletions docs/neon_core/quick_start.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
Neon AI is an open source voice assistant. Follow these instructions to start using Neon on your computer. If you are
using a Raspberry Pi, you may use the prebuilt image available [on our website](https://neon.ai/DownloadNeonAI).

# Quick Start
# Quick Start with Docker
The fastest method for getting started with Neon is to run the modules in Docker containers.
The `docker` directory contains everything you need to run Neon Core with default skills.

Expand Down Expand Up @@ -76,8 +76,10 @@ docker logs -f neon-messagebus # messagebus module (includes signal manager)

## d. Skill Development
By default, the skills container includes a set of default skills to provide base functionality.
You can pass a local skill directory into the skills container to develop skills and have them
reloaded in real-time for testing. Just set the environment variable `NEON_SKILLS_DIR` before starting
To add more skills to your installation, check out
[Configuring Extra Skills](../quick_reference/installing_skills.md#configuring-extra-skills).
Alternatively, you can pass a local skill directory into the skills container to load skills that
are under development. Just set the environment variable `NEON_SKILLS_DIR` before starting
the skills module. Dependency installation is handled on container start automatically.

```shell
Expand Down Expand Up @@ -117,58 +119,40 @@ STT/TTS model files, TTS audio files, and other downloaded files.
> In order to modify anything in the `xdg` directory, you may need to take ownership with:
> `sudo chown -R $USER:$USER xdg`

# Making Code Changes
After completing setup and testing, you are ready to begin making changes and creating skills. An example workflow for
making a change would be:

1. Create or modify a skill
1. Test changes in the Developer Environment (Look for errors in logs, unexpected behaviour, etc.)
1. Run `Test Neon` to check that all skills and TTS/STT behave as expected
1. Commit and Push changes to git (for collaborative development, it is often best to create a new branch for any changes)
1. Install your updated skill in a User Environment (check for any missing dependencies, invalid file paths, etc.)
1. Run complete tests using `Test Neon`
1. Check logs for any errors
# Troubleshooting
Here are some common questions and answers that come up during installation:

## a. System Overview
There are two aspects of the Neon AI system: `core` and `skills`.
## Images fail to pull
Make sure you have at least ~10GB of free space to pull images.
> `docker image prune –a` can help free up space if you have old images left over
> after updates

The `core` is composed of several modules, but generally includes:
- `speech` for handling user inputs and performing speech-to-text (STT)
- `skills` for processing user input to find intent and provide a response
- `audio` for speaking the response generated in skills
- `bus` for handling all communications between modules
- `enclosure` for handling any hardware interactions like speakers, microphone, lights, and buttons

Other modules may also be running for gui functionality, etc and may be added to provide new functionality.

`skills` provide the functionality of handling user inputs and generating responses or performing actions.


## b. Creating a Skill
Check out our three part youtube series on how to create a skill:
https://youtu.be/fxg25MaxIcE
https://youtu.be/DVSroqv6E6k
https://youtu.be/R_3Q-P3pk8o
## Permissions errors/unable to run `docker` commands
By default, users are not given access to `docker`, this can be fixed by running:
```shell
sudo usermod -aG docker $USER && newgrp docker
```
If you still have permissions issues, try restarting before re-running any `docker`
command.

## Additional Steps for Developers Using PyCharm
11. Next you should update your IDE in your Developer Environment
> *Note*: This is PyCharm if you followed our setup guide.
10. In PyCharm, select `VCS` from the menu bar, and then `Update Project`
> ![NewRelease](https://0000.us/klatchat/app/files/neon_images/neon_release_screens/NewRelease4.png)
11. You will be prompted to `Update Project`, you may leave the default settings and click `OK`
> ![NewRelease](https://0000.us/klatchat/app/files/neon_images/neon_release_screens/NewRelease5.png)
## Something went wrong in Neon
A good first step to troubleshooting issues in Neon is to restart the containers
with a clean configuration.
To stop the containers and remove configuration:
```shell
docker compose down
docker volume rm docker_config
docker volume rm docker_xdg
```
> This stops the containers and removes any configuration, cache, and data files.

# Running Docker Modules
To make sure the latest images are available:
```shell
docker compose pull
```

Skills Service
Finally, bring the containers back up with:
```shell
docker run -d \
--name=neon_skills \
--network=host \
-v ~/.config/pulse/cookie:/tmp/pulse_cookie:ro \
-v ${XDG_RUNTIME_DIR}/pulse:${XDG_RUNTIME_DIR}/pulse:ro \
--device=/dev/snd:/dev/snd \
-e PULSE_SERVER=unix:${XDG_RUNTIME_DIR}/pulse/native \
-e PULSE_COOKIE=/tmp/pulse_cookie \
neon_skills
docker compose up -d
```

0 comments on commit d7d6dbb

Please sign in to comment.