{"_id":"@alexandrebrillant2/oolis","name":"@alexandrebrillant2/oolis","dist-tags":{"latest":"0.9.0"},"versions":{"0.9.0":{"name":"@alexandrebrillant2/oolis","version":"0.9.0","description":"Desktop LLM client (Compatible Ollama, OpenAi, Anthropic...)","main":"src/oolis.mjs","type":"module","scripts":{"predev":"npm run update","dev":"vite & wait-on http://localhost:5173 && NODE_ENV=development electron --no-sandbox src/oolis.mjs","build:web":"vite build && cp -r src/web/yups dist","prebuild:app":"npm run icons && npm run build:web","build:app":"rm -rf release && electron-builder -p always --x64 --arm64 --linux","build:app:win":"electron-builder -p always --win","lint":"eslint ./ui/yups/*","oolis":"cross-env NODE_ENV=production electron --no-sandbox src/oolis.mjs","preupdate":"rm -rf src/llmclient && mkdir src/llmclient","update":"cp ../yupee/dist/yupee.mjs src/web/lib/yupee && cp ../yupee-dialogs/dist/yupee-inner-dialogs.mjs src/web/lib/yupee && cp ../yupee-binder/dist/yupee-binder.mjs src/web/lib/yupee && cp -r ../llm-client/dist/* src/llmclient","test:resolver":"node test/TestResolver.mjs","icons":"node ./node_modules/.bin/icon-gen --input ./build/oolis.png --output ./build","posticons":"rm ./build/favicon*.*"},"repository":{"type":"git","url":"git+https://github.com/AlexandreBrillant/oolis.git"},"keywords":["llm application","llm client","llm ui","llm interface","llm tools","ai assistant","llm","ollama","anthropic","openai","mistralai"],"author":{"name":"Alexandre Brillant","email":"abrillant@japisoft.com"},"license":"SEE LICENSE IN GPL3","bugs":{"url":"https://github.com/AlexandreBrillant/oolis/issues"},"homepage":"https://github.com/AlexandreBrillant/oolis#readme","devDependencies":{"cross-env":"^10.1.0","electron":"^41.3.0","electron-builder":"^26.8.1","icon-gen":"^5.0.0","vite":"^7.3.1","wait-on":"^9.0.4"},"dependencies":{"eslint":"^9.39.2","highlight.js":"^11.11.1","markdown-it":"^14.1.1","nouislider":"^15.8.1"},"build":{"appId":"fr.oolis.app","asar":true,"asarUnpack":["dist/**","src/config/*","src/oolis-web.js"],"productName":"Oolis","files":["dist/**/*","src/**/*","package.json"],"directories":{"output":"release"},"linux":{"target":["deb","rpm"],"icon":"build/oolis.png","category":"Utility"},"win":{"target":["nsis"],"icon":"build/app.ico"},"mac":{"target":["dmg"],"icon":"build/app.icns","category":"Utility"}},"gitHead":"d90703ce723c68178370b788c58c7c2b36dcd5e0","_id":"@alexandrebrillant2/oolis@0.9.0","_nodeVersion":"24.12.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-AYPwVJM1LMR3dgtkm2T2Yv+F8At9xyKXQSIKz9Uc56W0h8oDdhXdY0Ipy7BZuYeeAQ9G3aU0dJBNAjmGYswCDw==","shasum":"21d63ec568b08d50d5df3e41d2cff7cbd7015904","tarball":"https://registry.npmjs.org/@alexandrebrillant2/oolis/-/oolis-0.9.0.tgz","fileCount":116,"unpackedSize":4380404,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQD9Xj403JEsCc0ZZT0aNZsfQGztesPl3WKBW7lu8HRXZwIhANS0Fmku/nlj/UzwhXeLY8hcR3zDBuUDMOKniInZNrzq"}]},"_npmUser":{"name":"alexandrebrillant2","email":"abrillant@japisoft.com"},"directories":{},"maintainers":[{"name":"alexandrebrillant2","email":"abrillant@japisoft.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/oolis_0.9.0_1777629289220_0.733047552066989"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-01T09:54:49.163Z","0.9.0":"2026-05-01T09:54:49.488Z","modified":"2026-05-01T09:54:49.733Z"},"maintainers":[{"name":"alexandrebrillant2","email":"abrillant@japisoft.com"}],"description":"Desktop LLM client (Compatible Ollama, OpenAi, Anthropic...)","homepage":"https://github.com/AlexandreBrillant/oolis#readme","keywords":["llm application","llm client","llm ui","llm interface","llm tools","ai assistant","llm","ollama","anthropic","openai","mistralai"],"repository":{"type":"git","url":"git+https://github.com/AlexandreBrillant/oolis.git"},"author":{"name":"Alexandre Brillant","email":"abrillant@japisoft.com"},"bugs":{"url":"https://github.com/AlexandreBrillant/oolis/issues"},"license":"SEE LICENSE IN GPL3","readme":"# OOLIS\n\nOOLIS is a 100% offline LLM desktop client, giving you full control over your data and independence from third-party platforms.\n\nhttps://www.oolis.fr\n\nBy default, OOLIS supports multiple providers:\n\n- OLLAMA (for local usage)\n- OLLAMA cloud\n- OPENAI\n- ANTHROPIC\n- GOOGLE\n- MISTRALAI\n\nIt provides simple project management and flexible model configuration. You can create as many projects as you want and assign different models to each one.\n\nFor example, you may use one model specialized for coding tasks and another one for casual conversations.\n\nYou can also easily save and retrieve your favorite prompts and responses.\n\n![OOLIS Client](images/screen1.png)\n\nOolis is a cross-platform desktop LLM client built with Electron.\n\nPlatform Support :\n\n- Windows,\n- Linux,\n- macOS\n\n## Installation\n\n### From the sources\n\nClone the repository\n\n ```bash\n   git clone https://github.com/AlexandreBrillant/oolis.git\n   cd oolis\n```\n\nMake sure you have [Node.js](https://nodejs.org/) on your machine.\n\nInstall dependencies\n\n```bash\nnpm install\n```\n\nThen you can run with\n\n```bash\nnpm run oolis\n```\n\n### Windows\n\nWhen launching Oolis for the first time, Windows may display a warning saying that the application is from an unknown publisher.\n\nThis is expected: Oolis is an independent application and is not signed with a paid code-signing certificate.\n\nOolis is 100% open source and runs entirely locally. You can review the source code on GitHub before running it.\n\n[Install](https://www.oolis.fr/#download)\n\n### Linux\n\n[.deb/.rpm](https://www.oolis.fr/#download)\n\n## Your models\n\nThe first step is choosing your LLM models.\n\nYou have both local models (Ollama) and cloud models (Ollama cloud,openai,anthropic...).\n\n![OOLIS Choose a model](images/screen5.png)\n\nYou can add the same provider multiple times with different models.\n\n### Using Ollama\n\nYou may use a fast 3B model for quick tasks and a larger 14B model for more advanced requests.\n\nClick next to the \"magnifying glass icon\" to open the model selection popup. \n\nIf you don't have any models with Ollama,you can download one using the command line. For example, to install the ministral-3:3b model.\n\n```bash\nollama pull ministral-3:3b\n```\n\nBrowser available models on the [ollama page](https://ollama.com/search).\n\n![OOLIS Select LLM](images/screen7.png)\n\n### Cloud models\n\nFor cloud providers, you will need to provide your API key.\n\nClick next to the \"magnifying glass icon\" to open the model selection popup.\n\nFor example, OLLAMA Cloud offers free usage (2 hours/day) and allows access to very large models such as 671B parameter models, which can be useful for complex prompts.\n\n![OOLIS Cloud provider](images/screen6.png)\n\nIf you use a paid provider, you can limit the size of each response using the \"Max Tokens\" field.\n\nYou can also define a default system prompt such as \"Be concise\" to improve response quality.\n\nThe currently selected model becomes the default model used by projects unless a specific model is assigned.\n\n## Prompting\n\nIt is recommended to start by creating a project.\n\n![OOLIS Project](images/screen2.png)\n\nA project is a collection of chats. It has a name and appears on the left side of the interface.\n\nEach project can use its own model configuration. If no specific model is selected, the default model is used.\n\nYou can update project settings at any time using the top-right icon. You can also delete a project.\n\nBy default, each chat is limited to 20 messages. You can change this value in: *src/config/oolis.json* using\nthe *maxItems* property\n\nWhen the limit is reached, the oldest non-favorite message is automatically removed.\n\nYou can save the current chat using the floppy disk icon in the top-right corner.\n\nWhile generating a response, you can stop generation by clicking the stop button next to the prompt field or by pressing the Escape key.\n\nFor each response, you can save either the full response or only a specific code block (for example, JavaScript code).\n\nYou can also asking for the same query if you didn't like the response. Thus if your project use the default\nmodel, you may also change the model with the same prompt.\n\nYou can also copy, cut, and manage both prompts and responses.\n\n### Context Management\n\nOne of the most useful features of OOLIS is context management.\n\nThe goal is to provide precise control over your resources.\n\nContext represents the memory of your conversation. A larger context increases both performance cost and API usage cost.\n\nOOLIS provides a slider at the bottom of the interface so you can adjust context size at any time.\n\nThe default context uses the last 2 prompts, meaning the LLM only remembers your last 2 query/response pairs.\n\n![OOLIS Context management](images/screen3.png)\n\nAvailable context modes:\n\n- 0 prompt : No context\n- 1 prompt\n- 2 prompts\n- 3 prompts\n- Current chat : all prompts from the current chat\n- Current project : all prompts from the current project\n- All the project : a massive context using everything (use carefully for performance and cost reasons)\n\nFor each response, OOLIS displays generation speed (tokens/second) as well as the total number of tokens used.\n\nYou also get a complete summary in the status bar.\n\n![OOLIS Status bar](images/screen4.png)\n\n## Favorites\n\nWhen you mark a prompt or response as favorite, it becomes available in the Favorites tab.\n\n![OOLIS Favorites](images/screen8.png)\n\nYou can unselect it, copy it, or save it.\n\nDeletion must be done from the Chats tab.\n\n## Libraries\n\nOOLIS is built using :\n\n- [Yupee Library](https://github.com/AlexandreBrillant/yupee) (main framework)\n- [Yupee-Dialogs Library](https://github.com/AlexandreBrillant/yupee-dialogs) (dialog management)\n- [Yupee-Binder Library](https://github.com/AlexandreBrillant/yupee-binder) (form binding)\n- [LLM-client Library](https://github.com/AlexandreBrillant/llm-client) (local/cloud access to llm)\n- [noUiSlider](https://refreshless.com/nouislider/) component (slider component)\n- [Markdown-it](https://github.com/markdown-it/markdown-it) (markdown parser)\n- [Node.js/Electron](https://www.electronjs.org/) (desktop application framework).\n\n## You data\n\nAll your data is stored in the local *\"Your Home\"/.config/oolis/state folder*.\n\n## About the author\n\nI built OOLIS for several reasons :\n\n- Provide an easy way to keep data local\n- Learn more about LLM usage and architecture\n- As a showcase to demonstrate the capabilities of my [Yupee Library](https://github.com/AlexandreBrillant/yupee) \n- Showcase my development skills (I am a freelance developer)\n- Find customers and professional opportunities\n\n[Alexandre Brillant](https://www.alexandrebrillant.com)\n\nWant a feature, a collaboration, or to work with me on OOLIS? You can contact me on my [professional web site](https://www.alexandrebrillant.com).\n\n# License\n\nOOLIS is open source under GPLv3 license.. If you need a commercial license without the GPL constraints, [feel free to contact me](https://www.alexandrebrillant.com).\n\n\n(c) 2026 Alexandre Brillant","readmeFilename":"README.md","_rev":"1-817ae8479cb50139443d0b38c0852f46"}