Set up Cursor Cloud dev environment (AGENTS.md notes) - #2
Draft
vijit-lark wants to merge 1 commit into
Draft
Conversation
Co-authored-by: vijit-lark <vijit-lark@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Provisions and verifies a full development environment for openlily (the Pipecat voice assistant under
server/) on the Cursor Cloud VM, and records durable, non-obvious startup/run guidance for future agents.The only committed change is an AGENTS.md addition (
## Cursor Cloud specific instructions). Environment provisioning is handled by the update script and the VM snapshot;.env/brains.yaml/.venvare git-ignored and not committed.Environment
uv+ Python 3.11 (pinned byserver/.python-version) and PortAudio system libs (for PyAudio).uv syncfor theserver/project with thelocal,web, andemailextras.local-modelsis intentionally excluded (itsmlx-whisperruntime is Apple-Silicon only).uv sync --project server --extra local --extra web --extra email(idempotent).Verified
uv run ruff check .UP035/UP017) in committed codeuv run pyrightreportArgumentTypeinagent.pyuv run pytestuv run bot.py --mode webrtc:7860; browser client connects to Client/Agent READYHello-world (running app, end to end)
Opened the Pipecat client at
http://localhost:7860/client/, clicked Connect, and the WebRTC session reached Client: READY / Agent: READY. Server logs show the full cascade pipeline assembling (SmallWebRTCInputTransport → CartesiaSTT → LLMUserAggregator → OpenAIResponsesLLM → CartesiaTTS → … → LLMAssistantAggregator), Silero VAD + Smart Turn v3 loading,Client connected, andPipeline ready; played readiness chime. With placeholder keys, the pipeline then hitsHTTP 401on Cartesia/OpenAI — which confirms the wiring reaches the external APIs; a real spoken/text reply needs valid provider keys.openlily_webrtc_client_connects_ready.mp4
Notes for future agents (in AGENTS.md)
local/local-with-wake-wordcan't run headless; use--mode webrtc.cli.pyusesload_dotenv(override=True), so aserver/.envoverrides real env-var Secrets — don't create a.envthat sets keys you provide as Secrets.OPENAI_API_KEY+CARTESIA_API_KEY), not server startup.To show artifacts inline, enable in settings.