https://github.com/montymi/sesh-cli
π A CLI tool that uses AI to help developers organize thoughts and streamline workflows. π Secure and fun, it integrates smoothly into your setup, managing ideas and projects efficiently with Retrieval-Augmented Generation (RAG) and LLMs. π‘ Boost your productivity with this local AI assistant.
https://github.com/montymi/sesh-cli
ai brainstorming cli dev-tools llm productivity rag secure-data-handling workflow
Last synced: about 1 month ago
JSON representation
π A CLI tool that uses AI to help developers organize thoughts and streamline workflows. π Secure and fun, it integrates smoothly into your setup, managing ideas and projects efficiently with Retrieval-Augmented Generation (RAG) and LLMs. π‘ Boost your productivity with this local AI assistant.
- Host: GitHub
- URL: https://github.com/montymi/sesh-cli
- Owner: montymi
- License: gpl-3.0
- Created: 2025-01-05T23:24:02.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-25T03:49:52.000Z (about 1 year ago)
- Last Synced: 2025-04-05T00:36:52.080Z (12 months ago)
- Topics: ai, brainstorming, cli, dev-tools, llm, productivity, rag, secure-data-handling, workflow
- Language: Python
- Homepage:
- Size: 824 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
[![Creator][creatorLogo]][creatorProfile]
[![Contributors][contributors-shield]][contributors-url]
[![Forks][forks-shield]][forks-url]
[![Stargazers][stars-shield]][stars-url]
[![Issues][issues-shield]][issues-url]
[![GPL License][license-shield]][license-url]
# π sesh-cli
CLI release of a secure brainstorming assistant and productivity manager.
[![π Explore Demo][demoLogo]][demoLogo-url]
[![π Report Bug][bugLogo]][bugLogo-url]
[![β¨ Request Feature][featureLogo]][featureLogo-url]
Table of Contents
## About The Project
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.
### Built With
[![Python][pythonLogo]][pythonLogo-url]
[![Ollama][ollamaLogo]][ollamaLogo-url]
[![OpenAI][openaiLogo]][openaiLogo-url]
[![LangChain][langchainLogo]][langchainLogo-url]
## Installation
### Prerequisites
For running the models locally, ensure you have [ollama][ollamaLogo-url] installed and running on your device. An error message reminding you to open ollama will appear if you forget.
Ensure you have [git](https://git-scm.com/), [python][pythonLogo-url] (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:
```bash
git --version && python --version && pip --version
```
Download and navigate into the repository:
```bash
git clone https://github.com/montymi/sesh-cli/ && cd sesh-cli
```
### Setup
It is highly recommended to run this in an isolated installation with virtual environments.
On Unix, Linux, BSD, macOS, and Cygwin:
```bash
python -m venv venv
source venv/bin/activate
```
On Windows:
```bash
python -m venv venv
venv/Scripts/activate
```
Next install the dependencies for the project defined in `requirements.txt`. On all OS run:
```bash
pip install -r requirements.txt
```
## Usage
### Getting Started
Navigate into the main folder for the source code:
```bash
cd src
```
Run the CLI using the following command:
```bash
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
### Advanced
The actual *guide* part is still a work in progress for the advanced features, but will be released soon.
#### Vector Database Management
- 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.
#### Switching to OpenAI API
- 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.
#### Model Habit Management
- Customize model behavior by defining "habits" for interaction styles, response formats, or tone preferences.
- Save and load habit configurations to ensure consistency across sessions.
#### Notes Creation and Management
- Create, edit, and organize notes within isolated research bubbles.
- Tag notes for quick reference and improved discoverability.
#### Plugin Development and Integration
- 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.
## Structure
```
.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
```
## Tasks
- [ ] Fix reference error for `resources/`
- [ ] Add CI/CD testing for deployment to `main`
- [ ] package and post to PIP
See the [open issues](https://github.com/montymi/sesh-cli/issues) for a full list of issues and proposed features.
## Contributing
1. [Fork the Project](https://docs.github.com/en/get-started/quickstart/fork-a-repo)
2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)
3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the Branch (`git push origin feature/AmazingFeature`)
5. [Open a Pull Request](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)
## License
Distributed under the GPL-3.0 License. See `LICENSE.txt` for more information.
## Contact
Michael Montanaro
[![LinkedIn][linkedin-shield]][linkedin-url]
[![GitHub][github-shield]][github-url]
## Acknowledgments
Use this space to list any resources used or that may be helpful in understanding the project
* [Choose an Open Source License](https://choosealicense.com)
* [GitHub Emoji Cheat Sheet](https://www.webpagefx.com/tools/emoji-cheat-sheet)
* [Malven's Flexbox Cheatsheet](https://flexbox.malven.co/)
* [Malven's Grid Cheatsheet](https://grid.malven.co/)
* [GitHub Pages](https://pages.github.com)
* [Font Awesome](https://fontawesome.com)
[openaiLogo]: https://img.shields.io/badge/Whisper-black?style=for-the-badge&logo=openai&logoColor=natural
[openaiLogo-url]: https://openai.com/
[langchainLogo-url]: https://langchain.com/
[langchainLogo]: https://img.shields.io/badge/LangChain-black?style=for-the-badge&logo=langchain&logoColor=natural
[ollamaLogo]: https://img.shields.io/badge/Ollama-black?style=for-the-badge&logo=ollama
[ollamaLogo-url]: https://ollama.com/
[demoLogo]: https://img.shields.io/badge/π%20Explore%20Demo-grey?style=for-the-badge
[demoLogo-url]: https://github.com/montymi/sesh-cli
[bugLogo]: https://img.shields.io/badge/π%20Report%20Bug-grey?style=for-the-badge
[bugLogo-url]: https://github.com/montymi/sesh-cli/issues
[featureLogo]: https://img.shields.io/badge/β¨%20Request%20Feature-grey?style=for-the-badge
[featureLogo-url]: https://github.com/montymi/sesh-cli/issues
[pythonLogo]: https://img.shields.io/badge/Python-black?style=for-the-badge&logo=python&logoColor=natural
[pythonLogo-url]: https://python.org/
[markdownLogo]: https://img.shields.io/badge/Markdown-black?style=for-the-badge&logo=markdown&logoColor=natural
[markdownLogo-url]: https://daringfireball.net/projects/markdown/
[htmlLogo]: https://img.shields.io/badge/HTML5-black?style=for-the-badge&logo=html5&logoColor=natural
[htmlLogo-url]: https://html.spec.whatwg.org/
[creatorLogo]: https://img.shields.io/badge/-Created%20by%20montymi-maroon.svg?style=for-the-badge
[creatorProfile]: https://montymi.com/
[contributors-shield]: https://img.shields.io/github/contributors/montymi/sesh-cli?style=for-the-badge
[contributors-url]: https://github.com/montymi/sesh-cli/graphs/contributors
[forks-shield]: https://img.shields.io/github/forks/montymi/sesh-cli?style=for-the-badge
[forks-url]: https://github.com/montymi/sesh-cli/network/members
[stars-shield]: https://img.shields.io/github/stars/montymi/sesh-cli?style=for-the-badge
[stars-url]: https://github.com/montymi/sesh-cli/stargazers
[issues-shield]: https://img.shields.io/github/issues/montymi/sesh-cli?style=for-the-badge
[issues-url]: https://github.com/montymi/sesh-cli/issues
[license-shield]: https://img.shields.io/github/license/montymi/sesh-cli?style=for-the-badge
[license-url]: https://github.com/montymi/sesh-cli/blob/main/LICENSE.txt
[linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=for-the-badge&logo=linkedin
[linkedin-url]: https://linkedin.com/in/michael-montanaro
[github-shield]: https://img.shields.io/badge/-GitHub-black.svg?style=for-the-badge&logo=github
[github-url]: https://github.com/montymi
[Next.js]: https://img.shields.io/badge/next.js-000000?style=for-the-badge&logo=nextdotjs&logoColor=white
[Next-url]: https://nextjs.org/
[React.js]: https://img.shields.io/badge/React-20232A?style=for-the-badge&logo=react&logoColor=61DAFB
[React-url]: https://reactjs.org/
[Vue.js]: https://img.shields.io/badge/Vue.js-35495E?style=for-the-badge&logo=vuedotjs&logoColor=4FC08D
[Vue-url]: https://vuejs.org/
[Angular.io]: https://img.shields.io/badge/Angular-DD0031?style=for-the-badge&logo=angular&logoColor=white
[Angular-url]: https://angular.io/
[Svelte.dev]: https://img.shields.io/badge/Svelte-4A4A55?style=for-the-badge&logo=svelte&logoColor=FF3E00
[Svelte-url]: https://svelte.dev/
[Laravel.com]: https://img.shields.io/badge/Laravel-FF2D20?style=for-the-badge&logo=laravel&logoColor=white
[Laravel-url]: https://laravel.com
[Bootstrap.com]: https://img.shields.io/badge/Bootstrap-563D7C?style=for-the-badge&logo=bootstrap&logoColor=white
[Bootstrap-url]: https://getbootstrap.com
[JQuery.com]: https://img.shields.io/badge/jQuery-0769AD?style=for-the-badge&logo=jquery&logoColor=white
[JQuery-url]: https://jquery.com