Oli - An open-source terminal AI programming assistant that supports code assistance and explanation.
Oli is an open-source intelligent code assistant that provides robust programming support for developers. It's based on a modern hybrid architecture, combining the high performance of a Rust backend with the interactive terminal interface of a React/Ink frontend. Oli supports multiple...
What is Oli?
Oli is an open-source intelligent code assistant that provides robust programming support for developers. Based on a modern hybrid architecture, it combines the high performance of a Rust backend with the interactive terminal interface of a React/Ink frontend. Oli supports multiple cloud APIs and native language models (based on Ollam). Oli possesses powerful proxy capabilities, supporting functions such as executable file search, code editing, and command execution, helping developers complete tasks more efficiently.
Oli's main functions
- Code assistance and explanationExplain the code logic, provide code examples, and optimize the code structure.
- File operationsIt supports operations such as file search, viewing file content, and editing files.
- Command execution: Execute Shell commands directly in the terminal, making it convenient for developers to quickly test and verify.
- Multi-model supportIt supports multiple cloud APIs and local LLM, allowing users to choose the appropriate model according to their needs.
- Interactive interfaceIt provides a modern terminal interface that supports real-time interaction and task display.
Oli's technical principles
- Rust backendThe backend is written in Rust, ensuring efficient and reliable program execution. Rust handles proxy functionality, tool execution, API calls, and code parsing. System suggestions are optimized for different models, and error handling and retry mechanisms are provided.
- React/Ink frontendBuilt with React and Ink, it provides a modern terminal UI that supports animations and interactions. It displays task progress and results in real time, enhancing the user experience.
- Model IntegrationConfigure API keys based on environment variables to connect to cloud services such as Anthropic, OpenAI, and Google. Integrate local language models based on Ollam for offline use and more efficient inference.
Oli's project address
- Project official website:https://amrit110.github.io/oli/
- GitHub repository:https://github.com/amrit110/oli
application scenarios of Oli
- Code understanding and learning: For beginners to quickly get started with projects or learn new programming languages and frameworks.
- Code editing and optimizationDevelopers can directly modify code in the terminal, improving code quality.
- Rapid development and debuggingQuickly test code snippets or verify development environment configurations to accelerate the development and debugging process.
- Project management and document operationsQuickly locate and manage files in your project to improve development efficiency.