1
0
Fork 0

start dev guide

This commit is contained in:
Sean Sube 2024-05-19 13:08:34 -05:00
parent ce4d60bfcd
commit 2637fcc7cc
Signed by: ssube
GPG Key ID: 3EED7B957D362AF1
2 changed files with 49 additions and 28 deletions

View File

@ -26,9 +26,6 @@ captivate and engage players' imaginations.
- [Contributing](#contributing) - [Contributing](#contributing)
- [Support and Community](#support-and-community) - [Support and Community](#support-and-community)
- [License](#license) - [License](#license)
- [TODOs](#todos)
- [Things That Are Bad](#things-that-are-bad)
- [Things That Are Good](#things-that-are-good)
## Features ## Features
@ -145,11 +142,6 @@ world, influencing the behavior of the language models.
For a detailed guide on how to use TaleWeave AI, customize adventures, and integrate with Discord and web browsers, For a detailed guide on how to use TaleWeave AI, customize adventures, and integrate with Discord and web browsers,
please refer to our [Documentation](./docs). This guide includes comprehensive instructions on: please refer to our [Documentation](./docs). This guide includes comprehensive instructions on:
- **Setting up your first adventure:** Learn how to create and launch your own story.
- **Customizing characters:** Instructions on how to personalize AI and human characters.
- **Advanced features:** Explore the more complex functionalities of TaleWeave AI, like AI behavior tweaking and
interactive scenario creation.
## Contributing ## Contributing
TaleWeave AI is a community-driven project, and we welcome contributions of all kinds. If you're interested in improving TaleWeave AI is a community-driven project, and we welcome contributions of all kinds. If you're interested in improving
@ -163,23 +155,3 @@ developers. Click here to join: [TaleWeave AI Discord Community](#)
## License ## License
TaleWeave AI is released under the MIT License. See the [LICENSE](./LICENSE) file for more details. TaleWeave AI is released under the MIT License. See the [LICENSE](./LICENSE) file for more details.
## TODOs
- figure out the human input syntax for actions
- make an admin panel in web UI
- store long-term memory for actors in a vector DB (RAG and all that)
- generate and simulate should probably be async
### Things That Are Bad
1. Why are the `generate` and `simulate` functions not async?
1. Because I had written them before I realized they should be
2. Why is the web client in Typescript and React?
1. Because I have a template for that and it was easy to set up
### Things That Are Good
1. The system is largely event-driven
2. Each server or bot has its own thread (for error handling)
3. Remote players can be implemented with any client, since they use a queue

49
docs/dev.md Normal file
View File

@ -0,0 +1,49 @@
# Dev Guide
## Contents
- [Dev Guide](#dev-guide)
- [Contents](#contents)
- [Configuration](#configuration)
- [Why so many configuration sources?](#why-so-many-configuration-sources)
- [Engine Notes](#engine-notes)
- [FAQ](#faq)
- [TODOs](#todos)
## Configuration
Configuration is provided through the `.env` file and command-line arguments. The `--config` argument loads
additional configuration from a YAML or JSON file.
### Why so many configuration sources?
- The `.env` file contains secrets and service configuration that may need to change as part of the deployment
- This includes the Discord bot token and the Comfy and Ollama server URLs
- The command line arguments contain runtime configuration that may change with each run
- This includes the world save file and world prompt
- The `--config` file contains configuration that is too verbose or complex for the other two
- This includes the checkpoints and sizes to be used for image generation
## Engine Notes
- The system is largely event-driven
- Each server or bot has its own thread (for error handling)
- Remote players can be implemented with any client, since they use a queue
## FAQ
1. Why are the `generate` and `simulate` functions not async?
- Because I had written them before I realized they should be
2. Why is the web client in Typescript and React?
- Because I have a template for that and it was easy to set up
3. Why does the web client use MUI?
- Same as #2, it was easy to set up and use
4. Will the messages by localized?
- Localization is a planned feature, but planned features should not be included in the readme
## TODOs
- figure out the human input syntax for actions
- make an admin panel in web UI
- store long-term memory for actors in a vector DB (RAG and all that)
- generate and simulate should probably be async