omni-catalyst 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +1137 -0
- package/core/bin/core +85 -0
- package/core/bin/omni +21 -0
- package/core/cli/commands/--version.sh +8 -0
- package/core/cli/commands/brain.sh +1549 -0
- package/core/cli/commands/doctor.sh +834 -0
- package/core/cli/commands/env.sh +226 -0
- package/core/cli/commands/init.sh +1266 -0
- package/core/cli/commands/install.sh +759 -0
- package/core/cli/commands/list.sh +397 -0
- package/core/cli/commands/open.sh +71 -0
- package/core/cli/commands/pg.sh +761 -0
- package/core/cli/commands/reinstall.sh +694 -0
- package/core/cli/commands/show.sh +90 -0
- package/core/cli/commands/uninstall.sh +700 -0
- package/core/cli/commands/update.sh +754 -0
- package/core/cli/commands/voice.sh +170 -0
- package/core/cli/core.sh +82 -0
- package/core/cli/omni.sh +634 -0
- package/core/modules/ai.sh +152 -0
- package/core/modules/auto.sh +90 -0
- package/core/modules/db.sh +94 -0
- package/core/modules/deploy.sh +50 -0
- package/core/modules/dev.sh +126 -0
- package/core/modules/editor.sh +101 -0
- package/core/modules/lang.sh +100 -0
- package/core/modules/npm.sh +122 -0
- package/core/modules/shell.sh +312 -0
- package/core/modules/ui.sh +115 -0
- package/core/tools/ai/all.sh +63 -0
- package/core/tools/ai/antigravity-cli/README.md +45 -0
- package/core/tools/ai/antigravity-cli/bin/agy +28 -0
- package/core/tools/ai/antigravity-cli/helper/agy_helper.c +39 -0
- package/core/tools/ai/antigravity-cli/install.sh +469 -0
- package/core/tools/ai/claude-code/README.md +45 -0
- package/core/tools/ai/claude-code/bin/claude +29 -0
- package/core/tools/ai/claude-code/helper/claude_helper.c +42 -0
- package/core/tools/ai/claude-code/install.sh +278 -0
- package/core/tools/ai/codegraph/README.md +43 -0
- package/core/tools/ai/codegraph/bin/codegraph +3 -0
- package/core/tools/ai/codegraph/install.sh +149 -0
- package/core/tools/ai/codex/README.md +44 -0
- package/core/tools/ai/codex/install.sh +104 -0
- package/core/tools/ai/command-code/README.md +62 -0
- package/core/tools/ai/command-code/install.sh +136 -0
- package/core/tools/ai/engram/README.md +44 -0
- package/core/tools/ai/engram/install.sh +127 -0
- package/core/tools/ai/freebuff/README.md +52 -0
- package/core/tools/ai/freebuff/bin/freebuff +28 -0
- package/core/tools/ai/freebuff/helper/freebuff_helper.c +47 -0
- package/core/tools/ai/freebuff/install.sh +301 -0
- package/core/tools/ai/gemini-cli/README.md +46 -0
- package/core/tools/ai/gemini-cli/install.sh +111 -0
- package/core/tools/ai/gentle-ai/README.md +42 -0
- package/core/tools/ai/gentle-ai/install.sh +253 -0
- package/core/tools/ai/gentle-ai/termux-patches.go +256 -0
- package/core/tools/ai/gga/README.md +49 -0
- package/core/tools/ai/gga/install.sh +134 -0
- package/core/tools/ai/hermes-agent/README.md +50 -0
- package/core/tools/ai/hermes-agent/install.sh +80 -0
- package/core/tools/ai/heygen/README.md +24 -0
- package/core/tools/ai/heygen/install.sh +126 -0
- package/core/tools/ai/kilocode-cli/README.md +45 -0
- package/core/tools/ai/kilocode-cli/bin/kilocode +21 -0
- package/core/tools/ai/kilocode-cli/helper/kilocode_helper.c +47 -0
- package/core/tools/ai/kilocode-cli/install.sh +179 -0
- package/core/tools/ai/kimchi-code/README.md +8 -0
- package/core/tools/ai/kimchi-code/install.sh +120 -0
- package/core/tools/ai/kimi-code/README.md +45 -0
- package/core/tools/ai/kimi-code/install.sh +111 -0
- package/core/tools/ai/kiro-cli/README.md +23 -0
- package/core/tools/ai/kiro-cli/install.sh +127 -0
- package/core/tools/ai/mimocode/README.md +43 -0
- package/core/tools/ai/mimocode/bin/mimo +28 -0
- package/core/tools/ai/mimocode/helper/mimocode_helper.c +47 -0
- package/core/tools/ai/mimocode/install.sh +287 -0
- package/core/tools/ai/minimax-cli/README.md +45 -0
- package/core/tools/ai/minimax-cli/install.sh +111 -0
- package/core/tools/ai/mistral-vibe/README.md +46 -0
- package/core/tools/ai/mistral-vibe/install.sh +119 -0
- package/core/tools/ai/odysseus/README.md +35 -0
- package/core/tools/ai/odysseus/install.sh +163 -0
- package/core/tools/ai/ollama/README.md +44 -0
- package/core/tools/ai/ollama/install.sh +78 -0
- package/core/tools/ai/openclaude/README.md +46 -0
- package/core/tools/ai/openclaude/install.sh +110 -0
- package/core/tools/ai/openclaw/README.md +47 -0
- package/core/tools/ai/openclaw/install.sh +112 -0
- package/core/tools/ai/opencode/README.md +51 -0
- package/core/tools/ai/opencode/bin/opencode +28 -0
- package/core/tools/ai/opencode/helper/opencode_helper.c +57 -0
- package/core/tools/ai/opencode/install.sh +290 -0
- package/core/tools/ai/pi/README.md +46 -0
- package/core/tools/ai/pi/install.sh +104 -0
- package/core/tools/ai/qwen-code/README.md +45 -0
- package/core/tools/ai/qwen-code/install.sh +111 -0
- package/core/tools/ai/seedance/README.md +22 -0
- package/core/tools/ai/seedance/install.sh +134 -0
- package/core/tools/ai/veo3/README.md +36 -0
- package/core/tools/ai/veo3/install.sh +151 -0
- package/core/tools/auto/all.sh +57 -0
- package/core/tools/auto/n8n/README.md +47 -0
- package/core/tools/auto/n8n/install.sh +102 -0
- package/core/tools/db/all.sh +60 -0
- package/core/tools/db/mariadb/README.md +43 -0
- package/core/tools/db/mariadb/install.sh +65 -0
- package/core/tools/db/mongodb/README.md +42 -0
- package/core/tools/db/mongodb/install.sh +73 -0
- package/core/tools/db/postgresql/README.md +45 -0
- package/core/tools/db/postgresql/install.sh +65 -0
- package/core/tools/db/sqlite/README.md +44 -0
- package/core/tools/db/sqlite/install.sh +65 -0
- package/core/tools/deploy/all.sh +39 -0
- package/core/tools/deploy/netlify/install.sh +41 -0
- package/core/tools/deploy/railway/install.sh +47 -0
- package/core/tools/deploy/vercel/install.sh +43 -0
- package/core/tools/dev/all.sh +75 -0
- package/core/tools/dev/bat/README.md +44 -0
- package/core/tools/dev/bat/install.sh +82 -0
- package/core/tools/dev/bc/README.md +44 -0
- package/core/tools/dev/bc/install.sh +82 -0
- package/core/tools/dev/cloudflared/README.md +43 -0
- package/core/tools/dev/cloudflared/install.sh +82 -0
- package/core/tools/dev/curl/README.md +43 -0
- package/core/tools/dev/curl/install.sh +82 -0
- package/core/tools/dev/fzf/README.md +44 -0
- package/core/tools/dev/fzf/install.sh +82 -0
- package/core/tools/dev/gh/README.md +43 -0
- package/core/tools/dev/gh/install.sh +82 -0
- package/core/tools/dev/html2text/README.md +44 -0
- package/core/tools/dev/html2text/install.sh +82 -0
- package/core/tools/dev/imagemagick/README.md +44 -0
- package/core/tools/dev/imagemagick/install.sh +82 -0
- package/core/tools/dev/jq/README.md +44 -0
- package/core/tools/dev/jq/install.sh +82 -0
- package/core/tools/dev/lsd/README.md +44 -0
- package/core/tools/dev/lsd/install.sh +82 -0
- package/core/tools/dev/make/README.md +44 -0
- package/core/tools/dev/make/install.sh +82 -0
- package/core/tools/dev/ncurses/README.md +42 -0
- package/core/tools/dev/ncurses/install.sh +82 -0
- package/core/tools/dev/proot/README.md +43 -0
- package/core/tools/dev/proot/install.sh +82 -0
- package/core/tools/dev/shfmt/README.md +44 -0
- package/core/tools/dev/shfmt/install.sh +82 -0
- package/core/tools/dev/tmate/README.md +44 -0
- package/core/tools/dev/tmate/install.sh +82 -0
- package/core/tools/dev/translate/README.md +44 -0
- package/core/tools/dev/translate/install.sh +82 -0
- package/core/tools/dev/tree/README.md +44 -0
- package/core/tools/dev/tree/install.sh +82 -0
- package/core/tools/dev/udocker/README.md +44 -0
- package/core/tools/dev/udocker/install.sh +82 -0
- package/core/tools/dev/wget/README.md +44 -0
- package/core/tools/dev/wget/install.sh +82 -0
- package/core/tools/editor/all.sh +58 -0
- package/core/tools/editor/neovim/README.md +43 -0
- package/core/tools/editor/neovim/install.sh +66 -0
- package/core/tools/editor/nvchad/README.md +45 -0
- package/core/tools/editor/nvchad/install.sh +110 -0
- package/core/tools/lang/all.sh +63 -0
- package/core/tools/lang/clang/README.md +43 -0
- package/core/tools/lang/clang/install.sh +79 -0
- package/core/tools/lang/golang/README.md +43 -0
- package/core/tools/lang/golang/install.sh +79 -0
- package/core/tools/lang/nodejs/README.md +43 -0
- package/core/tools/lang/nodejs/install.sh +79 -0
- package/core/tools/lang/perl/README.md +43 -0
- package/core/tools/lang/perl/install.sh +79 -0
- package/core/tools/lang/php/README.md +43 -0
- package/core/tools/lang/php/install.sh +79 -0
- package/core/tools/lang/python/README.md +43 -0
- package/core/tools/lang/python/install.sh +79 -0
- package/core/tools/lang/rust/README.md +43 -0
- package/core/tools/lang/rust/install.sh +79 -0
- package/core/tools/npm/all.sh +67 -0
- package/core/tools/npm/live-server/README.md +43 -0
- package/core/tools/npm/live-server/install.sh +95 -0
- package/core/tools/npm/localtunnel/README.md +43 -0
- package/core/tools/npm/localtunnel/install.sh +111 -0
- package/core/tools/npm/markserv/README.md +43 -0
- package/core/tools/npm/markserv/install.sh +94 -0
- package/core/tools/npm/ncu/README.md +43 -0
- package/core/tools/npm/ncu/install.sh +94 -0
- package/core/tools/npm/nestjs/README.md +43 -0
- package/core/tools/npm/nestjs/install.sh +94 -0
- package/core/tools/npm/ngrok/README.md +44 -0
- package/core/tools/npm/ngrok/install.sh +94 -0
- package/core/tools/npm/prettier/README.md +43 -0
- package/core/tools/npm/prettier/install.sh +94 -0
- package/core/tools/npm/psqlformat/README.md +43 -0
- package/core/tools/npm/psqlformat/install.sh +94 -0
- package/core/tools/npm/turbopack/README.md +8 -0
- package/core/tools/npm/turbopack/install.sh +41 -0
- package/core/tools/npm/typescript/README.md +43 -0
- package/core/tools/npm/typescript/install.sh +94 -0
- package/core/tools/npm/vercel/README.md +43 -0
- package/core/tools/npm/vercel/install.sh +94 -0
- package/core/tools/shell/all.sh +67 -0
- package/core/tools/shell/better-npm/README.md +43 -0
- package/core/tools/shell/better-npm/install.sh +85 -0
- package/core/tools/shell/fzf-tab/README.md +44 -0
- package/core/tools/shell/fzf-tab/install.sh +85 -0
- package/core/tools/shell/history-substring/README.md +43 -0
- package/core/tools/shell/history-substring/install.sh +85 -0
- package/core/tools/shell/powerlevel10k/README.md +43 -0
- package/core/tools/shell/powerlevel10k/install.sh +85 -0
- package/core/tools/shell/you-should-use/README.md +43 -0
- package/core/tools/shell/you-should-use/install.sh +85 -0
- package/core/tools/shell/zsh-autopair/README.md +44 -0
- package/core/tools/shell/zsh-autopair/install.sh +85 -0
- package/core/tools/shell/zsh-autosuggestions/README.md +43 -0
- package/core/tools/shell/zsh-autosuggestions/install.sh +85 -0
- package/core/tools/shell/zsh-completions/README.md +43 -0
- package/core/tools/shell/zsh-completions/install.sh +85 -0
- package/core/tools/shell/zsh-defer/README.md +43 -0
- package/core/tools/shell/zsh-defer/install.sh +85 -0
- package/core/tools/shell/zsh-syntax-highlighting/README.md +43 -0
- package/core/tools/shell/zsh-syntax-highlighting/install.sh +72 -0
- package/core/tools/ui/all.sh +61 -0
- package/core/tools/ui/banner/README.md +42 -0
- package/core/tools/ui/banner/install.sh +151 -0
- package/core/tools/ui/cursor/README.md +42 -0
- package/core/tools/ui/cursor/install.sh +58 -0
- package/core/tools/ui/extra-keys/README.md +43 -0
- package/core/tools/ui/extra-keys/install.sh +62 -0
- package/core/tools/ui/font/README.md +43 -0
- package/core/tools/ui/font/install.sh +63 -0
- package/core/utils/banner.sh +519 -0
- package/core/utils/bootstrap.sh +25 -0
- package/core/utils/colors.sh +31 -0
- package/core/utils/dialogrc +30 -0
- package/core/utils/env.sh +53 -0
- package/core/utils/log.sh +598 -0
- package/install.sh +272 -0
- package/package.json +43 -0
|
@@ -0,0 +1,287 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
import "@/utils/log"
|
|
4
|
+
import "@/utils/colors"
|
|
5
|
+
|
|
6
|
+
LOG_FILE="$OMNI_CACHE/install_ai.log"
|
|
7
|
+
MIMOCODE_DATA_DIR="$HOME/.local/share/omni-data/mimocode"
|
|
8
|
+
MIMOCODE_VERSION="v0.1.0"
|
|
9
|
+
|
|
10
|
+
_get_latest_mimocode_version() {
|
|
11
|
+
curl -fsSL https://api.github.com/repos/XiaomiMiMo/MiMo-Code/releases/latest |
|
|
12
|
+
grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/'
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
_mimocode_install_deps() {
|
|
16
|
+
loading "Installing glibc and dependencies" _mimocode_install_deps_impl
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
_mimocode_install_deps_impl() {
|
|
20
|
+
if [[ ! -f $PREFIX/etc/apt/sources.list.d/glibc.list ]]; then
|
|
21
|
+
if ! pkg install glibc-repo -y &>>"$LOG_FILE"; then
|
|
22
|
+
log_error "Failed to install glibc-repo"
|
|
23
|
+
return 1
|
|
24
|
+
fi
|
|
25
|
+
fi
|
|
26
|
+
|
|
27
|
+
if [[ ! -f $PREFIX/glibc/lib/libc.so.6 ]]; then
|
|
28
|
+
if ! pkg install glibc -y &>>"$LOG_FILE"; then
|
|
29
|
+
log_error "Failed to install glibc"
|
|
30
|
+
return 1
|
|
31
|
+
fi
|
|
32
|
+
fi
|
|
33
|
+
|
|
34
|
+
declare -A DEPS=(
|
|
35
|
+
["clang"]="clang"
|
|
36
|
+
["curl"]="curl"
|
|
37
|
+
["tar"]="tar"
|
|
38
|
+
)
|
|
39
|
+
|
|
40
|
+
local pkg_name bin_name
|
|
41
|
+
for pkg_name in "${!DEPS[@]}"; do
|
|
42
|
+
bin_name="${DEPS[$pkg_name]}"
|
|
43
|
+
if ! command -v "$bin_name" &>/dev/null; then
|
|
44
|
+
if ! pkg install "$pkg_name" -y &>>"$LOG_FILE"; then
|
|
45
|
+
log_error "Failed to install $pkg_name"
|
|
46
|
+
return 1
|
|
47
|
+
fi
|
|
48
|
+
fi
|
|
49
|
+
done
|
|
50
|
+
|
|
51
|
+
return 0
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
_download_mimocode_binary() {
|
|
55
|
+
loading "Downloading mimocode binary" _download_mimocode_binary_impl
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
_download_mimocode_binary_impl() {
|
|
59
|
+
local latest_version
|
|
60
|
+
latest_version=$(_get_latest_mimocode_version)
|
|
61
|
+
if [ -z "$latest_version" ]; then
|
|
62
|
+
log_error "Failed to fetch latest mimocode version, falling back to $MIMOCODE_VERSION"
|
|
63
|
+
latest_version="$MIMOCODE_VERSION"
|
|
64
|
+
fi
|
|
65
|
+
|
|
66
|
+
mkdir -p "$MIMOCODE_DATA_DIR"
|
|
67
|
+
|
|
68
|
+
local tarball="mimocode-linux-arm64.tar.gz"
|
|
69
|
+
local download_url="https://github.com/XiaomiMiMo/MiMo-Code/releases/download/$latest_version/$tarball"
|
|
70
|
+
|
|
71
|
+
if ! curl -fsSL "$download_url" -o "$MIMOCODE_DATA_DIR/$tarball" &>>"$LOG_FILE"; then
|
|
72
|
+
log_error "Failed to download mimocode binary"
|
|
73
|
+
return 1
|
|
74
|
+
fi
|
|
75
|
+
|
|
76
|
+
if ! tar -zxf "$MIMOCODE_DATA_DIR/$tarball" -C "$MIMOCODE_DATA_DIR" &>>"$LOG_FILE"; then
|
|
77
|
+
log_error "Failed to extract mimocode binary"
|
|
78
|
+
return 1
|
|
79
|
+
fi
|
|
80
|
+
|
|
81
|
+
rm -f "$MIMOCODE_DATA_DIR/$tarball"
|
|
82
|
+
|
|
83
|
+
if [ ! -f "$MIMOCODE_DATA_DIR/mimo" ]; then
|
|
84
|
+
log_error "mimocode binary not found after extraction"
|
|
85
|
+
return 1
|
|
86
|
+
fi
|
|
87
|
+
|
|
88
|
+
mv "$MIMOCODE_DATA_DIR/mimo" "$MIMOCODE_DATA_DIR/mimocode"
|
|
89
|
+
chmod +x "$MIMOCODE_DATA_DIR/mimocode"
|
|
90
|
+
return 0
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
_compile_mimocode_helper() {
|
|
94
|
+
loading "Compiling helper" _compile_mimocode_helper_impl
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
_compile_mimocode_helper_impl() {
|
|
98
|
+
local HELPER_SRC="$OMNI_PATH/tools/ai/mimocode/helper/mimocode_helper.c"
|
|
99
|
+
if [ ! -f "$HELPER_SRC" ]; then
|
|
100
|
+
log_error "Helper source not found at $HELPER_SRC"
|
|
101
|
+
return 1
|
|
102
|
+
fi
|
|
103
|
+
|
|
104
|
+
if ! clang -O2 -o "$PREFIX/bin/mimo" "$HELPER_SRC" &>>"$LOG_FILE"; then
|
|
105
|
+
log_error "Failed to compile mimocode helper"
|
|
106
|
+
return 1
|
|
107
|
+
fi
|
|
108
|
+
|
|
109
|
+
chmod +x "$PREFIX/bin/mimo"
|
|
110
|
+
return 0
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
_mimocode_detect_ubuntu_root() {
|
|
114
|
+
local root
|
|
115
|
+
root="$(find /data/data/com.termux -maxdepth 10 -type d \
|
|
116
|
+
-name "rootfs" -path "*/containers/ubuntu/*" 2>/dev/null | head -1)"
|
|
117
|
+
|
|
118
|
+
if [ -z "$root" ]; then
|
|
119
|
+
root="$(find /data/data/com.termux -maxdepth 10 -type d \
|
|
120
|
+
-name "ubuntu" -path "*/installed-rootfs/*" 2>/dev/null | head -1)"
|
|
121
|
+
fi
|
|
122
|
+
|
|
123
|
+
echo "$root"
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
_mimocode_proot_ubuntu() {
|
|
127
|
+
proot-distro login \
|
|
128
|
+
--shared-tmp \
|
|
129
|
+
ubuntu \
|
|
130
|
+
-- "$@"
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
_install_mimocode_native() {
|
|
134
|
+
_mimocode_install_deps || return 1
|
|
135
|
+
_download_mimocode_binary || return 1
|
|
136
|
+
_compile_mimocode_helper || return 1
|
|
137
|
+
log_success "mimocode installed natively"
|
|
138
|
+
return 0
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
_install_mimocode_proot() {
|
|
142
|
+
loading "Installing mimocode (proot-distro)" _install_mimocode_proot_impl
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
_install_mimocode_proot_impl() {
|
|
146
|
+
mkdir -p "$(dirname "$LOG_FILE")"
|
|
147
|
+
|
|
148
|
+
if ! command -v proot-distro &>/dev/null; then
|
|
149
|
+
pkg install proot-distro -y &>>"$LOG_FILE"
|
|
150
|
+
fi
|
|
151
|
+
|
|
152
|
+
if [ ! -d "$(_mimocode_detect_ubuntu_root)" ]; then
|
|
153
|
+
proot-distro install ubuntu:24.04 &>>"$LOG_FILE"
|
|
154
|
+
fi
|
|
155
|
+
|
|
156
|
+
_mimocode_proot_ubuntu /bin/bash -c \
|
|
157
|
+
'apt-get update && apt-get upgrade -y && apt-get install -y curl ca-certificates' \
|
|
158
|
+
&>>"$LOG_FILE"
|
|
159
|
+
|
|
160
|
+
_mimocode_proot_ubuntu /bin/bash -c '
|
|
161
|
+
export SHELL=/bin/bash
|
|
162
|
+
export TMPDIR=/tmp
|
|
163
|
+
export HOME=/root
|
|
164
|
+
curl -fsSL https://mimo.xiaomi.com/install | bash
|
|
165
|
+
' &>>"$LOG_FILE"
|
|
166
|
+
|
|
167
|
+
local ubuntu_root
|
|
168
|
+
ubuntu_root="$(_mimocode_detect_ubuntu_root)"
|
|
169
|
+
|
|
170
|
+
if [ -z "$ubuntu_root" ]; then
|
|
171
|
+
log_error "Ubuntu rootfs not found"
|
|
172
|
+
return 1
|
|
173
|
+
fi
|
|
174
|
+
|
|
175
|
+
local mimo_bin="$ubuntu_root/root/.mimocode/bin/mimo"
|
|
176
|
+
|
|
177
|
+
if [ ! -f "$mimo_bin" ]; then
|
|
178
|
+
log_error "mimocode binary not found after install"
|
|
179
|
+
return 1
|
|
180
|
+
fi
|
|
181
|
+
|
|
182
|
+
local wrapper_src="$OMNI_PATH/tools/ai/mimocode/bin/mimo"
|
|
183
|
+
if [ ! -f "$wrapper_src" ]; then
|
|
184
|
+
log_error "Wrapper template not found at $wrapper_src"
|
|
185
|
+
return 1
|
|
186
|
+
fi
|
|
187
|
+
sed "s|__UBUNTU_ROOTFS__|$ubuntu_root|g" "$wrapper_src" >"$PREFIX/bin/mimo"
|
|
188
|
+
chmod +x "$PREFIX/bin/mimo"
|
|
189
|
+
|
|
190
|
+
if ! grep -q '.mimocode/bin' "$ubuntu_root/root/.bashrc" 2>/dev/null; then
|
|
191
|
+
printf '\n# mimocode\nexport PATH=/root/.mimocode/bin:$PATH\n' >>"$ubuntu_root/root/.bashrc"
|
|
192
|
+
fi
|
|
193
|
+
|
|
194
|
+
return 0
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
install_mimocode() {
|
|
198
|
+
if command -v mimo &>/dev/null; then
|
|
199
|
+
log_info "mimocode is already installed"
|
|
200
|
+
return 2
|
|
201
|
+
fi
|
|
202
|
+
|
|
203
|
+
log_info "Select installation method for mimocode:"
|
|
204
|
+
|
|
205
|
+
read_select "Installation method" SELECTED_METHOD \
|
|
206
|
+
"Native (recommended) - Compile with glibc support" \
|
|
207
|
+
"Proot-distro (alternative) - Ubuntu container"
|
|
208
|
+
|
|
209
|
+
case "$SELECTED_METHOD" in
|
|
210
|
+
*Native*)
|
|
211
|
+
_install_mimocode_native
|
|
212
|
+
;;
|
|
213
|
+
*Proot-distro*)
|
|
214
|
+
_install_mimocode_proot
|
|
215
|
+
;;
|
|
216
|
+
esac
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
uninstall_mimocode() {
|
|
220
|
+
log_info "Uninstalling mimocode..."
|
|
221
|
+
mkdir -p "$(dirname "$LOG_FILE")"
|
|
222
|
+
|
|
223
|
+
if [ ! -f "$PREFIX/bin/mimo" ]; then
|
|
224
|
+
log_warn "mimocode is not installed"
|
|
225
|
+
return 1
|
|
226
|
+
fi
|
|
227
|
+
|
|
228
|
+
if [ -f "$MIMOCODE_DATA_DIR/mimocode" ]; then
|
|
229
|
+
rm -f "$PREFIX/bin/mimo"
|
|
230
|
+
rm -rf "$MIMOCODE_DATA_DIR"
|
|
231
|
+
log_success "mimocode (native) uninstalled"
|
|
232
|
+
return 0
|
|
233
|
+
fi
|
|
234
|
+
|
|
235
|
+
_mimocode_proot_ubuntu /bin/bash -c 'rm -rf /root/.mimocode' &>>"$LOG_FILE"
|
|
236
|
+
|
|
237
|
+
local ubuntu_bashrc
|
|
238
|
+
ubuntu_bashrc="$(_mimocode_detect_ubuntu_root)/root/.bashrc"
|
|
239
|
+
|
|
240
|
+
if [ -f "$ubuntu_bashrc" ]; then
|
|
241
|
+
sed -i '/# mimocode/d; /export PATH=\/root\/.mimocode\/bin/d' "$ubuntu_bashrc"
|
|
242
|
+
fi
|
|
243
|
+
|
|
244
|
+
if rm -f "$PREFIX/bin/mimo" &>>"$LOG_FILE"; then
|
|
245
|
+
log_success "mimocode (proot-distro) uninstalled"
|
|
246
|
+
return 0
|
|
247
|
+
else
|
|
248
|
+
log_error "Failed to uninstall mimocode"
|
|
249
|
+
return 1
|
|
250
|
+
fi
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
update_mimocode() {
|
|
254
|
+
log_info "Updating mimocode..."
|
|
255
|
+
mkdir -p "$(dirname "$LOG_FILE")"
|
|
256
|
+
|
|
257
|
+
if [ -f "$MIMOCODE_DATA_DIR/mimocode" ]; then
|
|
258
|
+
_install_mimocode_native
|
|
259
|
+
return $?
|
|
260
|
+
fi
|
|
261
|
+
|
|
262
|
+
_mimocode_proot_ubuntu /bin/bash -c 'rm -rf /root/.mimocode' &>>"$LOG_FILE"
|
|
263
|
+
|
|
264
|
+
_mimocode_proot_ubuntu /bin/bash -c '
|
|
265
|
+
export SHELL=/bin/bash
|
|
266
|
+
export TMPDIR=/tmp
|
|
267
|
+
export HOME=/root
|
|
268
|
+
curl -fsSL https://mimo.xiaomi.com/install | bash
|
|
269
|
+
' &>>"$LOG_FILE"
|
|
270
|
+
|
|
271
|
+
local ubuntu_root
|
|
272
|
+
ubuntu_root="$(_mimocode_detect_ubuntu_root)"
|
|
273
|
+
local mimo_bin="$ubuntu_root/root/.mimocode/bin/mimo"
|
|
274
|
+
|
|
275
|
+
if [ ! -f "$mimo_bin" ]; then
|
|
276
|
+
log_error "mimocode binary not found after update"
|
|
277
|
+
return 1
|
|
278
|
+
fi
|
|
279
|
+
|
|
280
|
+
log_success "mimocode (proot-distro) updated"
|
|
281
|
+
return 0
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
reinstall_mimocode() {
|
|
285
|
+
uninstall_mimocode
|
|
286
|
+
install_mimocode
|
|
287
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# MiniMax CLI
|
|
2
|
+
|
|
3
|
+
Generate text, images, video, speech, and music from the terminal
|
|
4
|
+
|
|
5
|
+
**Package:** mmx-cli
|
|
6
|
+
**Author:** israel676767
|
|
7
|
+
**Repository:** https://github.com/israel676767/omni
|
|
8
|
+
**Official:** https://github.com/MiniMax-AI/cli
|
|
9
|
+
**Type:** AI CLI tool (npm global package)
|
|
10
|
+
**License:** MIT
|
|
11
|
+
|
|
12
|
+
## Description
|
|
13
|
+
|
|
14
|
+
MiniMax CLI lets you generate text, images, video, speech, and music from any agent or terminal using MiniMax AI services.
|
|
15
|
+
|
|
16
|
+
## Dependencies
|
|
17
|
+
|
|
18
|
+
- Node.js LTS (nodejs-lts)
|
|
19
|
+
- npm
|
|
20
|
+
- git, ripgrep
|
|
21
|
+
|
|
22
|
+
## Install
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
core install ai --minimax-cli
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Uninstall
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
core uninstall ai --minimax-cli
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Update
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
core update ai --minimax-cli
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Notes
|
|
41
|
+
|
|
42
|
+
- Installed as a global npm package: `mmx-cli`
|
|
43
|
+
- Command: `mmx`
|
|
44
|
+
- Requires an API key from MiniMax
|
|
45
|
+
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
import "@/utils/log"
|
|
4
|
+
|
|
5
|
+
LOG_FILE="$OMNI_CACHE/install_ai.log"
|
|
6
|
+
|
|
7
|
+
_minimax_cli_dependencies() {
|
|
8
|
+
loading "Installing dependencies" _minimax_cli_dependencies_impl
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
_minimax_cli_dependencies_impl() {
|
|
12
|
+
declare -A DEPS=(
|
|
13
|
+
["nodejs-lts"]="node"
|
|
14
|
+
["git"]="git"
|
|
15
|
+
["ripgrep"]="rg"
|
|
16
|
+
)
|
|
17
|
+
|
|
18
|
+
local pkg_name bin_name
|
|
19
|
+
for pkg_name in "${!DEPS[@]}"; do
|
|
20
|
+
bin_name="${DEPS[$pkg_name]}"
|
|
21
|
+
if ! command -v "$bin_name" &>/dev/null; then
|
|
22
|
+
if ! pkg install "$pkg_name" -y &>>"$LOG_FILE"; then
|
|
23
|
+
log_error "Failed to install $pkg_name"
|
|
24
|
+
return 1
|
|
25
|
+
fi
|
|
26
|
+
fi
|
|
27
|
+
done
|
|
28
|
+
|
|
29
|
+
return 0
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
_install_minimax_cli_npm() {
|
|
33
|
+
loading "Installing MiniMax CLI" _install_minimax_cli_npm_impl
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
_install_minimax_cli_npm_impl() {
|
|
37
|
+
if ! npm install -g mmx-cli &>>"$LOG_FILE"; then
|
|
38
|
+
log_error "Failed to install MiniMax CLI"
|
|
39
|
+
return 1
|
|
40
|
+
fi
|
|
41
|
+
|
|
42
|
+
return 0
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
install_minimax_cli() {
|
|
46
|
+
if command -v mmx &>/dev/null; then
|
|
47
|
+
log_info "MiniMax CLI is already installed"
|
|
48
|
+
return 2
|
|
49
|
+
fi
|
|
50
|
+
|
|
51
|
+
log_info "Installing MiniMax CLI..."
|
|
52
|
+
|
|
53
|
+
mkdir -p "$(dirname "$LOG_FILE")"
|
|
54
|
+
|
|
55
|
+
_minimax_cli_dependencies || return 1
|
|
56
|
+
_install_minimax_cli_npm || return 1
|
|
57
|
+
|
|
58
|
+
log_success "MiniMax CLI installed successfully"
|
|
59
|
+
return 0
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
uninstall_minimax_cli() {
|
|
63
|
+
if ! command -v mmx &>/dev/null; then
|
|
64
|
+
log_success "MiniMax CLI is not installed"
|
|
65
|
+
return 2
|
|
66
|
+
fi
|
|
67
|
+
|
|
68
|
+
log_info "Uninstalling MiniMax CLI..."
|
|
69
|
+
mkdir -p "$(dirname "$LOG_FILE")"
|
|
70
|
+
|
|
71
|
+
loading "Removing MiniMax CLI" _uninstall_minimax_cli_impl
|
|
72
|
+
|
|
73
|
+
log_success "MiniMax CLI uninstalled successfully"
|
|
74
|
+
return 0
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
_uninstall_minimax_cli_impl() {
|
|
78
|
+
if ! npm uninstall -g mmx-cli &>>"$LOG_FILE"; then
|
|
79
|
+
log_error "Failed to uninstall MiniMax CLI"
|
|
80
|
+
return 1
|
|
81
|
+
fi
|
|
82
|
+
return 0
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
update_minimax_cli() {
|
|
86
|
+
if ! command -v mmx &>/dev/null; then
|
|
87
|
+
log_error "MiniMax CLI is not installed"
|
|
88
|
+
return 1
|
|
89
|
+
fi
|
|
90
|
+
|
|
91
|
+
log_info "Updating MiniMax CLI..."
|
|
92
|
+
mkdir -p "$(dirname "$LOG_FILE")"
|
|
93
|
+
|
|
94
|
+
loading "Updating MiniMax CLI" _update_minimax_cli_impl
|
|
95
|
+
|
|
96
|
+
log_success "MiniMax CLI updated successfully"
|
|
97
|
+
return 0
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
_update_minimax_cli_impl() {
|
|
101
|
+
if ! npm update -g mmx-cli &>>"$LOG_FILE"; then
|
|
102
|
+
log_error "Failed to update MiniMax CLI"
|
|
103
|
+
return 1
|
|
104
|
+
fi
|
|
105
|
+
return 0
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
reinstall_minimax_cli() {
|
|
109
|
+
uninstall_minimax_cli
|
|
110
|
+
install_minimax_cli
|
|
111
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# Mistral Vibe
|
|
2
|
+
|
|
3
|
+
Command-line coding assistant powered by Mistral's models
|
|
4
|
+
|
|
5
|
+
**Package:** mistral-vibe
|
|
6
|
+
**Author:** israel676767
|
|
7
|
+
**Repository:** https://github.com/israel676767/omni
|
|
8
|
+
**Official:** https://github.com/mistralai/mistral-vibe
|
|
9
|
+
**Type:** AI coding assistant (pip package)
|
|
10
|
+
**License:** MIT
|
|
11
|
+
|
|
12
|
+
## Description
|
|
13
|
+
|
|
14
|
+
Mistral Vibe is a command-line coding assistant powered by Mistral's models. It provides intelligent code generation, refactoring, and debugging assistance in your terminal.
|
|
15
|
+
|
|
16
|
+
## Dependencies
|
|
17
|
+
|
|
18
|
+
- Python 3, pip
|
|
19
|
+
- clang, make, rust, libffi, openssl, pkg-config
|
|
20
|
+
- git, ripgrep
|
|
21
|
+
|
|
22
|
+
## Install
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
core install ai --mistral-vibe
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Uninstall
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
core uninstall ai --mistral-vibe
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Update
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
core update ai --mistral-vibe
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Notes
|
|
41
|
+
|
|
42
|
+
- Installed as a Python package via pip: `mistral-vibe`
|
|
43
|
+
- Command: `vibe`
|
|
44
|
+
- Requires Python toolchain (installed automatically if missing)
|
|
45
|
+
- Build dependencies include clang, make, and rust for compiling native extensions
|
|
46
|
+
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
import "@/utils/log"
|
|
4
|
+
|
|
5
|
+
LOG_FILE="$OMNI_CACHE/install_ai.log"
|
|
6
|
+
|
|
7
|
+
_mistral_vibe_dependencies() {
|
|
8
|
+
loading "Installing dependencies" _mistral_vibe_dependencies_impl
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
_mistral_vibe_dependencies_impl() {
|
|
12
|
+
declare -A DEPS=(
|
|
13
|
+
["python"]="python"
|
|
14
|
+
["clang"]="clang"
|
|
15
|
+
["make"]="make"
|
|
16
|
+
["rust"]="rust"
|
|
17
|
+
["libffi"]=""
|
|
18
|
+
["openssl"]=""
|
|
19
|
+
["pkg-config"]=""
|
|
20
|
+
["git"]="git"
|
|
21
|
+
["ripgrep"]="rg"
|
|
22
|
+
)
|
|
23
|
+
|
|
24
|
+
local pkg_name bin_name
|
|
25
|
+
for pkg_name in "${!DEPS[@]}"; do
|
|
26
|
+
bin_name="${DEPS[$pkg_name]}"
|
|
27
|
+
if [[ -n "$bin_name" ]] && command -v "$bin_name" &>/dev/null; then
|
|
28
|
+
continue
|
|
29
|
+
fi
|
|
30
|
+
if ! pkg install "$pkg_name" -y &>>"$LOG_FILE"; then
|
|
31
|
+
log_error "Failed to install $pkg_name"
|
|
32
|
+
return 1
|
|
33
|
+
fi
|
|
34
|
+
done
|
|
35
|
+
|
|
36
|
+
pip install --upgrade pip setuptools wheel &>>"$LOG_FILE"
|
|
37
|
+
return 0
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
_install_mistral_vibe_pip() {
|
|
41
|
+
loading "Installing Mistral Vibe" _install_mistral_vibe_pip_impl
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
_install_mistral_vibe_pip_impl() {
|
|
45
|
+
export ANDROID_API_LEVEL=24
|
|
46
|
+
export GYP_DEFINES="android_ndk_path=''"
|
|
47
|
+
|
|
48
|
+
if ! pip install mistral-vibe &>>"$LOG_FILE"; then
|
|
49
|
+
log_error "Failed to install Mistral Vibe"
|
|
50
|
+
return 1
|
|
51
|
+
fi
|
|
52
|
+
|
|
53
|
+
return 0
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
install_mistral_vibe() {
|
|
57
|
+
if command -v vibe &>/dev/null; then
|
|
58
|
+
log_info "Mistral Vibe is already installed"
|
|
59
|
+
return 2
|
|
60
|
+
fi
|
|
61
|
+
|
|
62
|
+
log_info "Installing Mistral Vibe..."
|
|
63
|
+
|
|
64
|
+
mkdir -p "$(dirname "$LOG_FILE")"
|
|
65
|
+
|
|
66
|
+
_mistral_vibe_dependencies || return 1
|
|
67
|
+
_install_mistral_vibe_pip || return 1
|
|
68
|
+
|
|
69
|
+
log_success "Mistral Vibe installed"
|
|
70
|
+
return 0
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
uninstall_mistral_vibe() {
|
|
74
|
+
if ! command -v vibe &>/dev/null; then
|
|
75
|
+
log_info "Mistral Vibe is not installed"
|
|
76
|
+
return 2
|
|
77
|
+
fi
|
|
78
|
+
log_info "Uninstalling Mistral Vibe..."
|
|
79
|
+
mkdir -p "$(dirname "$LOG_FILE")"
|
|
80
|
+
|
|
81
|
+
loading "Removing Mistral Vibe" _uninstall_mistral_vibe_impl
|
|
82
|
+
|
|
83
|
+
log_success "Mistral Vibe uninstalled"
|
|
84
|
+
return 0
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
_uninstall_mistral_vibe_impl() {
|
|
88
|
+
if ! pip uninstall mistral-vibe -y &>>"$LOG_FILE"; then
|
|
89
|
+
log_error "Failed to uninstall Mistral Vibe"
|
|
90
|
+
return 1
|
|
91
|
+
fi
|
|
92
|
+
return 0
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
update_mistral_vibe() {
|
|
96
|
+
log_info "Updating Mistral Vibe..."
|
|
97
|
+
mkdir -p "$(dirname "$LOG_FILE")"
|
|
98
|
+
|
|
99
|
+
loading "Updating Mistral Vibe" _update_mistral_vibe_impl
|
|
100
|
+
|
|
101
|
+
log_success "Mistral Vibe updated"
|
|
102
|
+
return 0
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
_update_mistral_vibe_impl() {
|
|
106
|
+
export ANDROID_API_LEVEL=24
|
|
107
|
+
export GYP_DEFINES="android_ndk_path=''"
|
|
108
|
+
|
|
109
|
+
if ! pip install --upgrade mistral-vibe &>>"$LOG_FILE"; then
|
|
110
|
+
log_error "Failed to update Mistral Vibe"
|
|
111
|
+
return 1
|
|
112
|
+
fi
|
|
113
|
+
return 0
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
reinstall_mistral_vibe() {
|
|
117
|
+
uninstall_mistral_vibe
|
|
118
|
+
install_mistral_vibe
|
|
119
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# Odysseus
|
|
2
|
+
|
|
3
|
+
Self-hosted AI workspace by PewDiePie. Chat, agents, deep research, email, calendar & more. Runs locally on your own hardware.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
omni install ai --odysseus
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Usage
|
|
12
|
+
|
|
13
|
+
Odysseus provides a web UI at http://localhost:7000
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
odysseus up # Start Odysseus
|
|
17
|
+
odysseus down # Stop Odysseus
|
|
18
|
+
odysseus logs # View logs
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
**Command:** `odysseus`
|
|
22
|
+
|
|
23
|
+
**Links:**
|
|
24
|
+
- GitHub: https://github.com/pewdiepie-archdaemon/odysseus
|
|
25
|
+
- Web UI: http://localhost:7000
|
|
26
|
+
- Docs: https://odysseusai.dev
|
|
27
|
+
|
|
28
|
+
## Requirements
|
|
29
|
+
|
|
30
|
+
- Docker & Docker Compose (recommended)
|
|
31
|
+
- Or proot-distro Ubuntu (Termux/Android fallback)
|
|
32
|
+
|
|
33
|
+
## Android / Termux
|
|
34
|
+
|
|
35
|
+
On Termux, Odysseus can run inside a proot-distro Ubuntu container. The installer handles this automatically.
|