Configuration is provided through the .env
file and command-line arguments. The --config
argument loads
additional configuration from a YAML or JSON file.
- 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
- 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
- Why are the
generate
andsimulate
functions not async?- Because I had written them before I realized they should be
- Why is the web client in Typescript and React?
- Because I have a template for that and it was easy to set up
- Why does the web client use MUI?
- Same as #2, it was easy to set up and use
- Will the messages by localized?
- Localization is a planned feature, but planned features should not be included in the readme
- figure out the human input syntax for actions
- make an admin panel in web UI
- store long-term memory for characters in a vector DB (RAG and all that)
- generate and simulate should probably be async