{"id":22494766,"url":"https://github.com/rainu/ask-mai","last_synced_at":"2026-02-15T19:24:56.886Z","repository":{"id":265532852,"uuid":"896200740","full_name":"rainu/ask-mai","owner":"rainu","description":"A scriptable and powerful UI-Chat-Application for chatting with most Gen-AI LLMs","archived":false,"fork":false,"pushed_at":"2025-07-19T15:17:03.000Z","size":3656,"stargazers_count":6,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-07-19T18:40:26.082Z","etag":null,"topics":["anthropic","app","deepseek","desktop-app","gemini","genai","golang","llm","mcp-client","mcp-server","mistral","ollama","openai","scriptable","ui","vue3","wails"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rainu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-11-29T19:00:25.000Z","updated_at":"2025-07-19T15:09:04.000Z","dependencies_parsed_at":"2024-12-16T18:22:37.512Z","dependency_job_id":"7637a8dd-4737-448f-8f0e-0ee604ced159","html_url":"https://github.com/rainu/ask-mai","commit_stats":null,"previous_names":["rainu/ask-mai"],"tags_count":35,"template":false,"template_full_name":null,"purl":"pkg:github/rainu/ask-mai","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rainu%2Fask-mai","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rainu%2Fask-mai/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rainu%2Fask-mai/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rainu%2Fask-mai/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rainu","download_url":"https://codeload.github.com/rainu/ask-mai/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rainu%2Fask-mai/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29487434,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-15T15:33:17.885Z","status":"ssl_error","status_checked_at":"2026-02-15T15:32:53.698Z","response_time":118,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["anthropic","app","deepseek","desktop-app","gemini","genai","golang","llm","mcp-client","mcp-server","mistral","ollama","openai","scriptable","ui","vue3","wails"],"created_at":"2024-12-06T19:17:18.603Z","updated_at":"2026-02-15T19:24:56.879Z","avatar_url":"https://github.com/rainu.png","language":"Go","readme":"# Ask m' AI\n\n**Ask m' AI** (ask my ai -\u003e ask m' ai) is a little Desktop-Chat-Application for LargeLanguageModels (e.g. OpenAI's GPT).\n\nUnlike many chat applications out there, this application aims to be scriptable. \nWhich means you can call it from you terminal and gave all necessary options as arguments. \nThe conversations will also be printed out in the terminal, so you can use it in your scripts. \n\n![](demo.png)\n\nhttps://github.com/user-attachments/assets/a6d16332-55a1-4866-9f3e-31490a488935\n\n## Quickstart\n\n### LocalAI\n\n```shell\nask-mai -b localai --llm.localai.base-url=http://localhost:8080/v1 --llm.localai.model=gpt-4\n```\n\n### OpenAI\n\n```shell\nask-mai -b openai --llm.openai.api-key.plain=YOUR_OPENAI_API_KEY\n```\n\n### Ollama\n\n```shell\nask-mai -b ollama --llm.ollama.server-url=http://localhost:11434 --llm.ollama.model=llama3.2\n```\n\n### Anthropic\n\n```shell\nask-mai -b anthropic --llm.anthropic.api-key.plain=YOUR_ANTHROPIC_API_KEY\n```\n\n### Mistral\n\n```shell\nask-mai -b mistral --llm.mistral.api-key.plain=YOUR_MISTRAL_API_KEY --llm.mistral.model=mistral-small-latest\n```\n\n### DeepSeek\n\n```shell\nask-mai -b deepseek --llm.deepseek.api-key.plain=YOUR_DEEPSEEK_API_KEY\n```\n\n### Google Gemini\n\n```shell\nask-mai -b google --llm.google.api-key.plain=YOUR_GOOGLE_API_KEY\n```\n\n## Features\n\n* Support different LLM provider\n  * [Github Copilot](https://github.com/features/copilot)\n  * [OpenAI](https://openai.com)\n  * [LocalAI](https://localai.io/)\n  * [AnythingLLM](https://anythingllm.com/)\n  * [Ollama](https://ollama.com/)\n  * [Mistral](https://mistral.ai/)\n  * [Anthropic](https://www.anthropic.com/)\n  * [Google AI](https://ai.google.dev//)\n* Tool Support\n  * You can define your own tools which can be called from the LLM\n  * There are some built-in tools:\n    * \"getSystemInformation\" - Get some information about the system\n    * \"getEnvironment\" - Read environment variables from the system\n    * \"getSystemTime\" - Get the current system time\n    * \"getStats\" - Get stats of a file or directory\n    * \"changeMode\" - Changes the mode of file or directory\n    * \"changeOwner\" - Changes the owner of file or directory\n    * \"changeTimes\" - Changes the access and/or modification time of file or directory\n    * \"createFile\" - Create a file on the system\n    * \"createTempFile\" - Create a temporary file on the system\n    * \"appendFile\" - Append content to an existing file\n    * \"readTextFile\" - Read a text file from the system\n    * \"deleteFile\" - Delete a file from the system\n    * \"createDirectory\" - Creates a new directory on the system\n    * \"createTempDirectory\" - Creates a new temporary directory on the system\n    * \"deleteDirectory\" - Delete a directory from the system\n    * \"executeCommand\" - Execute a command on the system\n    * \"callHttp\" - Do a http call\n* Run as [MCP](https://www.anthropic.com/news/model-context-protocol)-Server (see below)\n  * Which allows you to use ask-mai' tools (even **your** custom tools) for other applications which support MCP-Server\n* [MCP](https://www.anthropic.com/news/model-context-protocol)-Server support\n  * You can define multiple MCP-Servers which can be used by the LLM (currently only tools)\n* Scriptable\n  * All settings can be set via:\n    * yaml configuration file \n    * environment variables\n    * command line arguments\n  * The users questions and models answers will be printed out in the terminal\n* Customizable\n  * Choose between two themes (light and dark)\n  * Choose between different languages (english, german)\n  * Choose between different code themes (see help for all available themes)\n\n## Install this application\n\n### AUR (Arch Linux)\n\n```bash\nyay -S ask-mai\n```\n\n## Download this application\n\nYou can download the latest version of this application from the [releases page](https://github.com/rainu/ask-mai/releases).\nThere are many different versions for different operating systems, architectures and feature sets.\n\nThe file names are structured as follows:\n```\nask-mai-${OS}-${ARCH}-${FEATURE}.${EXTENSION}\n```\n\nAvailable OS:\n* darwin - MacOS\n* linux - Linux\n* windows - Windows\n\nAvailable Architectures:\n* amd64 - 64bit\n* 386 - 32bit\n* arm64 - ARM 64bit\n\nAvailable Features:\n* compressed - The binary is compressed (can be problematic for some antivirus software - especially on windows)\n* console - The binary is console application (only for windows)\n* debug - The binary contains devtools (you can inspect the GUI-Sources)\n\n## Start this application as mcp-server\n\nYou can start this application as an MCP server by using the `ask-mai-mcp-server` as first positional argument:\n```bash\nask-mai ask-mai-mcp-server\n```\n\nOr you can rename the binary to `ask-mai-mcp-server` and start it like this:\n```bash\nask-mai-mcp-server\n```\n\nDo run the MCP server as a streamable HTTP server, you can use the `-http-address` flag:\n```bash\nask-mai ask-mai-mcp-server --http-address=\":8080\"\n```\n\n## How to build this application\n\n1. Install dependencies [see wails documentation](https://wails.io/docs/gettingstarted/installation)\n2. Build the application:\n```sh\nwails build\n```\n\n## How to build and install this application (flatpak) by yourself\n\n```\nflatpak-builder .flatpak-build de.rainu.ask-mai.yml --repo=.flatpak-repo --install-deps-from=flathub --force-clean --default-branch=master --arch=x86_64 --ccache\nflatpak build-bundle .flatpak-repo ask-mai.flatpak --runtime-repo=https://flathub.org/repo/flathub.flatpakrepo --arch=x86_64 de.rainu.ask-mai master\nsudo flatpak install --reinstall ask-mai.flatpak\n```\n\n## Application starts not fast enough\n\nIf the application does not start fast enough for your needs, you can get the prompt by your own and use the `-ui-prompt` flag to start the application with that prompt. \nHere is an example with [rofi](https://github.com/davatorium/rofi):\n\n```sh\n#!/bin/sh\n\nPROMPT=$(rofi -dmenu -p \"Ask-mAI\" -l 0 -location 2)\nif [ $? -ne 0 ]; then\n    exit 1\nfi\n\nask-mai -ui-prompt \"${PROMPT}\"\n```\n\n## Contributing\n\nIf you use [nix](https://nixos.org/), you can use `nix develop` to enter a shell with all dependencies you need for contributing. The flake also utilises [treefmt](https://github.com/numtide/treefmt-nix) to format all *.nix and *.go files. This can be done with `nix fmt` and checked with `nix flake check`.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frainu%2Fask-mai","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frainu%2Fask-mai","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frainu%2Fask-mai/lists"}