diff --git a/CHANGELOG.md b/CHANGELOG.md index e910bcb89..e159ae7dd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Added + +- Added WebsocketServerTransport. This will create a websocket server and will + read messages coming from a client. The messages are serialized/deserialized + with protobufs. See `examples/websocket-server` for a detailed example. + ### Fixed - Fixed SileroVAD frame processor. diff --git a/examples/websocket-server/README.md b/examples/websocket-server/README.md new file mode 100644 index 000000000..56b300e82 --- /dev/null +++ b/examples/websocket-server/README.md @@ -0,0 +1,27 @@ +# Websocket Server + +This is an example that shows how to use `WebsocketServerTransport` to communicate with a web client. + +## Get started + +```python +python3 -m venv venv +source venv/bin/activate +pip install -r requirements.txt +``` + +## Run the server + +```bash +python server.py +``` + +## Run the HTTP server + +This will host the static web client: + +```bash +python -m http.server +``` + +Then, visit `http://localhost:8000` in your browser to start a session. diff --git a/examples/foundational/websocket-server/frames.proto b/examples/websocket-server/frames.proto similarity index 100% rename from examples/foundational/websocket-server/frames.proto rename to examples/websocket-server/frames.proto diff --git a/examples/foundational/websocket-server/index.html b/examples/websocket-server/index.html similarity index 100% rename from examples/foundational/websocket-server/index.html rename to examples/websocket-server/index.html diff --git a/examples/websocket-server/requirements.txt b/examples/websocket-server/requirements.txt new file mode 100644 index 000000000..77e5b9e91 --- /dev/null +++ b/examples/websocket-server/requirements.txt @@ -0,0 +1,2 @@ +python-dotenv +pipecat-ai[openai,silero,websocket,whisper] diff --git a/examples/foundational/websocket-server/server.py b/examples/websocket-server/server.py similarity index 100% rename from examples/foundational/websocket-server/server.py rename to examples/websocket-server/server.py