Lair currently consists of three main components.
First, there is "chat", a command line chat interface with autocomplete, multi-line editing, markdown rendering, persistent sessions, etc. It's really more than just a chat interface, and I use it for prompt engineering and testing things out against different models quickly. This is built using the Python PromptToolkit and Rich modules, which I can't recommend enough. Most things are configurable, and there are lots of keyboard shortcuts available.
Next up we have "comfy". This uses ComfyScript (https://github.com/Chaoses-Ib/ComfyScript) to run workflows against a ComfyUI server. It can do image and video diffusion as well as upscaling, with a CLI that works well for scripting. ComfyScript is great, but does have some rough edges that might need to be smoothed out to get better performance, easier debugging of errors, and more control over what it writes to STDOUT/STDERR. Before I made an open source version of Lair, I was implementing a lot of this functionality by hand. It's been really nice letting ComfyUI provide features and optimizations so that I can worry more about providing an interface on top of it.
Finally, there is "util". This is a one-shot tool for LLM interactions from the command line and for shell scripting will LLMs. I've seen a number of similar tools elsewhere. This one is in the style I like, and it works with most Lair features, so it supports attachments (PDF, text, and image with vision models,) sessions, and all of Lair's supported tools.
The README.md has lots of examples of the functionality and there is also a Youtube video in the Overview section with a live walk-through. I hope someone else finds this useful. I am happy to answer any questions.
No comments yet.