2023-11-24 21:29:24 +01:00
# NostrAI: Nostr NIP90 Data Vending Machine Framework
2023-11-17 19:33:52 +01:00
2023-11-24 21:29:24 +01:00
This framework provides a way to easily build and/or run `Nostr NIP90 DVMs in Python` .
2023-11-18 20:20:18 +01:00
2023-11-24 21:29:24 +01:00
This project is currently under development and additional tasks and features are added along the way.
2023-11-24 21:35:39 +01:00
This means the project is in alpha status, interfaces might still change/break at this stage.
2023-11-18 20:20:18 +01:00
2023-11-24 21:29:24 +01:00
## To get started:
2023-11-18 20:20:18 +01:00
2023-11-24 21:29:24 +01:00
Create a new venv by running `"python -m venv venv"`
- Place .env file (based on .env_example) in main folder.
2023-12-17 22:32:38 +01:00
- Create a `LNbits` account on an accessible instance of your choice, enter one account's id and admin key (this account will create other accounts for the dvms)
- the framework will then automatically create keys, nip89 tags and zapable NIP57 `lightning addresses` for your dvms in this file.
2024-01-03 21:13:19 +01:00
- Activate the venv by typing `".venv\Scripts\activate"` on Windows or `"source .venv/bin/activate"` otherwise
2023-12-17 22:32:38 +01:00
- pip install nostr-dvm
2023-12-28 23:32:20 +01:00
- Run python3 main.py. (or check single examples in the example folder)
2023-11-18 20:20:18 +01:00
2023-12-06 17:26:11 +01:00
In each task component DVM examples are already prepared. Feel free to play along with the existing ones.
2023-11-24 21:29:24 +01:00
You can also add new tasks by using the interface, just like the existing tasks in the `tasks` folder.
2023-11-20 23:18:05 +01:00
2023-11-24 21:29:24 +01:00
A `bot` is running by default that lists and communicates with the `DVMs` added to it,
2023-12-06 17:26:11 +01:00
so your DVMs can be controled via any regular social client as well.
2023-11-24 21:29:24 +01:00
2023-12-17 22:32:38 +01:00
If LNBits is not used, make sure your DVM's nostr accounts have a valid lightning address.
2023-11-24 21:29:24 +01:00
A tutorial on how to add additional tasks, as well as the larger server backend will be added at a later stage.