{"id":45920697,"url":"https://github.com/christestet/owui-go","last_synced_at":"2026-04-01T16:38:15.390Z","repository":{"id":340938761,"uuid":"1167879266","full_name":"christestet/owui-go","owner":"christestet","description":"Go based cli Tool for managing multiple instances of Open WebUI","archived":false,"fork":false,"pushed_at":"2026-03-18T03:25:08.000Z","size":4643,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"dev","last_synced_at":"2026-03-18T19:38:21.304Z","etag":null,"topics":["cli","go","open-source","openwebui"],"latest_commit_sha":null,"homepage":"https://christestet.github.io/owui-go/","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/christestet.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,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-02-26T19:32:18.000Z","updated_at":"2026-03-18T03:18:02.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/christestet/owui-go","commit_stats":null,"previous_names":["christestet/owui-go"],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/christestet/owui-go","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/christestet%2Fowui-go","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/christestet%2Fowui-go/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/christestet%2Fowui-go/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/christestet%2Fowui-go/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/christestet","download_url":"https://codeload.github.com/christestet/owui-go/tar.gz/refs/heads/dev","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/christestet%2Fowui-go/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31290538,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-01T13:12:26.723Z","status":"ssl_error","status_checked_at":"2026-04-01T13:12:25.102Z","response_time":53,"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":["cli","go","open-source","openwebui"],"created_at":"2026-02-28T08:43:35.752Z","updated_at":"2026-04-01T16:38:15.385Z","avatar_url":"https://github.com/christestet.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# owui\n\n[![Go Version](https://img.shields.io/badge/go-1.26-00ADD8.svg?style=flat\u0026logo=go)](https://golang.org)\n[![CI](https://github.com/christestet/owui-go/actions/workflows/ci.yml/badge.svg)](https://github.com/christestet/owui-go/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)\n\nThis tool helps you seamlessly switch between and manage different instances of [Open WebUI](https://github.com/open-webui/open-webui) — an awesome open-source project that provides a user-friendly interface for interacting with various LLMs.\n\nSingle binary, cross-platform (Linux/macOS, amd64/arm64).\n\n## Features\n\n- Manage multiple [Open WebUI](https://github.com/open-webui/open-webui) instances (add, remove, switch, list)\n- Health checking of instances\n- Manage users (list, create, remove, update roles, group membership)\n- Manage groups (list, add, remove, update, members)\n- Manage models (list, show details, enable/disable, set visibility, group access)\n- Interactive TUI wizards for adding instances\n- JSON and pretty-printed table output formats\n- Shell completions (bash, zsh, fish, powershell)\n- Configuration per-user with auto-detection of config directory\n- Self-update: `owui update` replaces the binary in-place; background check notifies on new releases\n\n## About Open WebUI\n\nThis tool is designed to work with [Open WebUI](https://github.com/open-webui/open-webui), an awesome open-source project that provides a user-friendly web interface for interacting with various Large Language Models (LLMs). Open WebUI allows you to run multiple instances with different configurations or LLM backends.\n\nIf you haven't already, check out the [Open WebUI project](https://github.com/open-webui/open-webui) to learn more about this powerful platform.\n\n## Installation\n\n### Quick install (Self-contained)\n\nThe recommended way to install `owui` is to a user-local directory. This does not require `sudo`.\n\n```sh\ncurl -fsSL https://raw.githubusercontent.com/christestet/owui-go/main/scripts/install.sh | sh\n```\n\nThe script installs to `~/.local/bin` by default. If this directory is not in your `PATH`, the script will provide instructions on how to add it.\n\nOn macOS (`zsh`), the installer also tries to set up shell completion automatically. If your current shell session was already running during install, reload your shell config once:\n\n```sh\nsource ~/.zshrc\n```\n\n### Uninstall\n\nTo completely remove `owui` and its configuration:\n\n```sh\ncurl -fsSL https://raw.githubusercontent.com/christestet/owui-go/main/scripts/uninstall.sh | sh\n```\n\nAlternatively, you can manually remove the files:\n\n```sh\nrm ~/.local/bin/owui\n\n# Remove configuration\nrm -rf ~/.config/owui                       # Linux\nrm -rf ~/Library/Application\\ Support/owui  # macOS\n```\n\nIf you installed to a custom directory:\n\n```sh\nrm ~/.local/bin/owui\n```\n\n### Go install\n\n```sh\ngo install github.com/christestet/owui-go/cmd/owui@latest\n```\n\n### Build from source\n\n```sh\ngit clone https://github.com/christestet/owui-go.git\ncd owui-go\nmake build\n# Binary is at ./bin/owui\n```\n\n## Usage\n\n```sh\n# Add a new instance (interactive wizard)\nowui instances add\n\n# List all configured instances\nowui instances list\n\n# Switch active instance\nowui instances use home-lab\n\n# Check instance health\nowui instances health\n\n# Remove an instance\nowui instances remove work\n\n# List all models\nowui models list\n\n# Show model details\nowui models show claude-sonnet\n\n# Enable/disable models\nowui models set-status enable llama-3.1\nowui models set-status disable gpt-4o\n\n# Change model visibility\nowui models set-visibility public claude-sonnet\nowui models set-visibility private gpt-4o\n\n# Add a model to groups\nowui models add-to-group --model gpt-4o --groups developers backend-team\n\n# Remove a model from groups\nowui models remove-from-group claude-sonnet --groups designers\n\n# Install shell completions (bash/zsh/fish)\nowui completion install\n\n# Update owui to the latest release\nowui update\n\n# Show version\nowui version\n```\n\n\u003c!-- BEGIN:CLI_COMMANDS --\u003e\n\n### CLI Command Reference (auto-generated)\n\nRun `make docs-readme` to refresh this section.\n\n| Command | Description |\n| --- | --- |\n| `owui` | owui is a CLI to manage Open WebUI instances |\n| `owui completion` | Generate completion script |\n| `owui completion install` | Install completion script for the current shell |\n| `owui groups` | Manage groups in an Open WebUI instance |\n| `owui groups add` | Create a new group |\n| `owui groups add-users` | Add user(s) to a group |\n| `owui groups list` | List all groups |\n| `owui groups members` | Show group details and members |\n| `owui groups remove` | Remove one or more groups |\n| `owui groups remove-users` | Remove user(s) from a group |\n| `owui groups update` | Update a group's name, description, or permissions |\n| `owui instances` | Manage Open WebUI instances |\n| `owui instances add` | Add a new instance |\n| `owui instances health` | Check the health of all instances or a specified instance |\n| `owui instances list` | List all instances |\n| `owui instances remove` | Remove an instance |\n| `owui instances use` | Switch the active instance |\n| `owui models` | Manage models in an Open WebUI instance |\n| `owui models add-to-group` | Add model(s) to group(s) |\n| `owui models list` | List all models |\n| `owui models remove-from-group` | Remove a model from group(s) |\n| `owui models set-status` | Enable or disable models |\n| `owui models set-visibility` | Set model visibility to public or private |\n| `owui models show` | Show model details |\n| `owui pipelines` | Manage pipelines and valves in an Open WebUI instance |\n| `owui pipelines add` | Add a pipeline registration |\n| `owui pipelines list` | List pipeline registrations and pipes |\n| `owui pipelines remove` | Remove a pipeline registration |\n| `owui pipelines show` | Show details for a pipe |\n| `owui pipelines upload` | Upload a pipeline file |\n| `owui pipelines valves` | Manage pipe valves |\n| `owui pipelines valves show` | Show current valves for a pipe |\n| `owui pipelines valves spec` | Show valves spec for a pipe |\n| `owui pipelines valves update` | Update valves for a pipe |\n| `owui update` | Update owui to the latest version |\n| `owui users` | Manage users in an Open WebUI instance |\n| `owui users add-to-group` | Add user(s) to a group |\n| `owui users create` | Create a new user |\n| `owui users list` | List all users |\n| `owui users remove` | Remove a user |\n| `owui users remove-from-group` | Remove user(s) from a group |\n| `owui users update-role` | Update a user's role |\n| `owui version` | Print the version number of owui |\n\n\u003c!-- END:CLI_COMMANDS --\u003e\n\n### Global flags\n\n| Flag                | Short | Description                                       |\n| ------------------- | ----- | ------------------------------------------------- |\n| `--instance \u003cname\u003e` | `-i`  | Use a specific instance instead of the active one |\n| `--output \u003cformat\u003e` | `-o`  | Output format: `pretty` (default) or `json`       |\n| `--filter \u003cfilter\u003e` | `-f`  | Filter results                                    |\n\n## Configuration\n\nConfiguration is stored at:\n\n- **Linux:** `~/.config/owui/config.json`\n- **macOS:** `~/Library/Application Support/owui/config.json`\n\nThe config file is created automatically when you add your first instance with `owui instances add`.\n\nExample config:\n\n```json\n{\n  \"cli\": {\n    \"version\": \"1.0.0\",\n    \"checksum\": \"sha256:a3f9c2...\",\n    \"last_update_check\": \"2026-02-25T22:00:00Z\"\n  },\n  \"active_instance\": \"home-lab\",\n  \"instances\": {\n    \"home-lab\": {\n      \"url\": \"http://192.168.1.10:3000\",\n      \"api_key\": \"sk-xxxx\",\n      \"added_at\": \"2026-01-10T10:00:00Z\"\n    },\n    \"work\": {\n      \"url\": \"https://owui.company.com\",\n      \"api_key\": \"sk-yyyy\",\n      \"added_at\": \"2026-02-01T08:30:00Z\"\n    }\n  },\n  \"settings\": {\n    \"output_format\": \"pretty\",\n    \"timeout_seconds\": 30\n  }\n}\n```\n\n## Development\n\n```sh\nmake deps      # Download and tidy dependencies\nmake build     # Build binary to bin/owui\nmake test      # Run tests with race detection\nmake run       # Run directly with go run\nmake fmt       # Format code\nmake lint      # Run go vet\nmake clean     # Remove build artifacts\n```\n\n## License\n\nMIT License - see [LICENSE](LICENSE) for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchristestet%2Fowui-go","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchristestet%2Fowui-go","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchristestet%2Fowui-go/lists"}