CLI release of a secure brainstorming assistant and productivity manager.
Table of Contents
This CLI tool is designed to help developers organize thoughts and streamline workflows with the power of AIβno fuss, just results. It combines security and fun, offering a lightweight brainstorming assistant that integrates smoothly into your setup. With Retrieval-Augmented Generation (RAG) and LLMs, you can easily manage ideas, projects, and sensitive data while staying productive. Itβs a simple, secure way to boost your workflow with a local AI assistant, making development more efficient and enjoyable.
For running the models locally, ensure you have ollama installed and running on your device. An error message reminding you to open ollama will appear if you forget. Ensure you have git, python (and presumably pip too). Best bet, download the official release for your platform (Operating System) from the provided homepages and their download section. On Windows, your best bet is to use the resulting Git Bash application that will become available after installing git.
Comfirm prerequisites by running the following command:
git --version && python --version && pip --version
Download and navigate into the repository:
git clone https://github.com/montymi/sesh-cli/ && cd sesh-cli
It is highly recommended to run this in an isolated installation with virtual environments.
On Unix, Linux, BSD, macOS, and Cygwin:
python -m venv venv
source venv/bin/activate
On Windows:
python -m venv venv
venv/Scripts/activate
Next install the dependencies for the project defined in requirements.txt
. On all OS run:
pip install -r requirements.txt
Navigate into the main folder for the source code:
cd src
Run the CLI using the following command:
python main.py
The script will:
- Display a list of all locally installed models within Ollama.
- Prompt you to select a model to use.
After selecting a model, a list of saved conversations will appear and you can:
- Resume a previous conversation for the selected model.
- Test conversation responses across different models.
- Start with a fresh conversation
The actual guide part is still a work in progress for the advanced features, but will be released soon.
- Seamlessly manage vector databases to enhance Retrieval-Augmented Generation (RAG) efficiency.
- Leverage optimized indexing for fast and accurate retrieval of relevant information.
- Add, update, and remove data vectors for adaptive knowledge storage.
- Effortlessly switch between locally installed models and the OpenAI API.
- Configure API keys and settings directly through the CLI for quick integration.
- Utilize OpenAI's advanced models for complex problem-solving and contextual tasks.
- Customize model behavior by defining "habits" for interaction styles, response formats, or tone preferences.
- Save and load habit configurations to ensure consistency across sessions.
- Create, edit, and organize notes within isolated research bubbles.
- Tag notes for quick reference and improved discoverability.
- Build custom plugins to extend functionality and meet specific workflow needs.
- Add plugins dynamically without interrupting active sessions.
- Use the CLI to manage, enable, or disable plugins for seamless customization.
.gitignore
config.ini
config.ini.example
docs/
βββ designs/
β βββ models.wsd
β βββ tiers.wsd
library/
βββ habits.json
βββ resources/
β βββ conversations/
β βββ journal/
β βββ plugins/
β βββ vectors/
README.md
requirements.txt
sesh.log
src/
βββ controllers/
β βββ appcontroller.py
β βββ clerkcontroller.py
β βββ libcontroller.py
β βββ servicecontroller.py
β βββ usercontroller.py
βββ main.py
βββ models/
β βββ __init__.py
β βββ app.py
β βββ clerk.py
β βββ commands.py
β βββ DBLibrarian.py
β βββ habits.py
β βββ importers/
β β βββ __init__.py
β β βββ CSVImporter.py
β β βββ DirectoryImporter.py
β β βββ DocxImporter.py
β β βββ ImageImporter.py
β β βββ importer.py
β β βββ PDFImporter.py
β β βββ PythonImporter.py
β β βββ RecursiveDirectoryImporter.py
β β βββ TextImporter.py
β β βββ URLImporter.py
β βββ journal.py
β βββ librarian.py
β βββ managers.py
β βββ user.py
βββ views/
βββ cli.py
sandbox/
βββ __init__.py
βββ chain.py
βββ chat-app.py
βββ clerk.py
βββ colored-input.py
βββ dict.py
βββ input.py
βββ log.txt
βββ testing.py
βββ translator.py
βββ tts.py
- Fix reference error for
resources/
- Add CI/CD testing for deployment to
main
- package and post to PIP
See the open issues for a full list of issues and proposed features.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the GPL-3.0 License. See LICENSE.txt
for more information.
Michael Montanaro
Use this space to list any resources used or that may be helpful in understanding the project