diff --git a/README.md b/README.md index 1d586a8..20cc452 100644 --- a/README.md +++ b/README.md @@ -30,31 +30,105 @@ void aims to push the boundaries of what is possible with AI, exploring concepts ## Getting Started -Before continuing, you must make sure you have created a project on Letta Cloud (or your instance) and have somewhere to run this on. +Before continuing, you must: -### Running the bot locally +1. Create a project on [Letta Cloud](https://cloud.letta.com) (or your own Letta instance) +2. Have a Bluesky account +3. Have Python 3.8+ installed -#### Install dependencies +### Prerequisites -```shell +#### 1. Letta Setup + +- Sign up for [Letta Cloud](https://cloud.letta.com) +- Create a new project +- Note your Project ID and create an API key + +#### 2. Bluesky Setup + +- Create a Bluesky account if you don't have one +- Note your handle and password + +### Installation + +#### 1. Clone the repository + +```bash +git clone https://tangled.sh/@cameron.pfiffer.org/void && cd void +``` + +#### 2. Install dependencies + +```bash pip install -r requirements.txt ``` -#### Create `.env` +#### 3. Create configuration + +Copy the example configuration file and customize it: + +```bash +cp config.example.yaml config.yaml +``` -Copy `.env.example` (`cp .env.example .env`) and fill out the fields. +Edit `config.yaml` with your credentials: -#### Create configuration +```yaml +letta: + api_key: "your-letta-api-key-here" + project_id: "your-project-id-here" + +bluesky: + username: "your-handle.bsky.social" + password: "your-app-password-here" + +bot: + agent: + name: "void" # or whatever you want to name your agent +``` -Copy `config.example.yaml` and fill out your configuration. See [`CONFIG.md`](/CONFIG.md) to learn more. +See [`CONFIG.md`](/CONFIG.md) for detailed configuration options. -#### Register tools +#### 4. Test your configuration -```shell -py .\register_tools.py # your agent's name on letta +```bash +python test_config.py ``` -Contact: +This will validate your configuration and show you what's working. + +#### 5. Register tools with your agent + +```bash +python register_tools.py +``` + +This will register all the necessary tools with your Letta agent. You can also: + +- List available tools: `python register_tools.py --list` +- Register specific tools: `python register_tools.py --tools search_bluesky_posts create_new_bluesky_post` +- Use a different agent name: `python register_tools.py my-agent-name` + +#### 6. Run the bot + +```bash +python bsky.py +``` + +For testing mode (won't actually post): + +```bash +python bsky.py --test +``` + +### Troubleshooting + +- **Config validation errors**: Run `python test_config.py` to diagnose configuration issues +- **Letta connection issues**: Verify your API key and project ID are correct +- **Bluesky authentication**: Make sure you're handle and password are correct and that you can log into your account +- **Tool registration fails**: Ensure your agent exists in Letta and the name matches your config + +### Contact For inquiries, please contact @cameron.pfiffer.org on Bluesky. Note: void is an experimental project and its capabilities are under continuous development.