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,301 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
import "@/utils/log"
|
|
4
|
+
import "@/utils/colors"
|
|
5
|
+
|
|
6
|
+
LOG_FILE="$OMNI_CACHE/install_ai.log"
|
|
7
|
+
FREEBUFF_DATA_DIR="$HOME/.local/share/omni-data/freebuff"
|
|
8
|
+
|
|
9
|
+
_freebuff_detect_ubuntu_root() {
|
|
10
|
+
local root
|
|
11
|
+
root="$(find /data/data/com.termux -maxdepth 10 -type d \
|
|
12
|
+
-name "rootfs" -path "*/containers/ubuntu/*" 2>/dev/null | head -1)"
|
|
13
|
+
|
|
14
|
+
if [ -z "$root" ]; then
|
|
15
|
+
root="$(find /data/data/com.termux -maxdepth 10 -type d \
|
|
16
|
+
-name "ubuntu" -path "*/installed-rootfs/*" 2>/dev/null | head -1)"
|
|
17
|
+
fi
|
|
18
|
+
|
|
19
|
+
echo "$root"
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
_freebuff_proot_ubuntu() {
|
|
23
|
+
proot-distro login \
|
|
24
|
+
--shared-tmp \
|
|
25
|
+
ubuntu \
|
|
26
|
+
-- "$@"
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
_get_latest_freebuff_version() {
|
|
30
|
+
curl -fsSL https://api.github.com/repos/CodebuffAI/codebuff-community/releases/latest |
|
|
31
|
+
grep '"tag_name":' | sed -E 's/.*"freebuff-v([^"]+)".*/\1/'
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
_freebuff_install_deps_native() {
|
|
35
|
+
loading "Installing glibc and dependencies" _freebuff_install_deps_native_impl
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
_freebuff_install_deps_native_impl() {
|
|
39
|
+
if [[ ! -f $PREFIX/etc/apt/sources.list.d/glibc.list ]]; then
|
|
40
|
+
if ! pkg install glibc-repo -y &>>"$LOG_FILE"; then
|
|
41
|
+
log_error "Failed to install glibc-repo"
|
|
42
|
+
return 1
|
|
43
|
+
fi
|
|
44
|
+
fi
|
|
45
|
+
|
|
46
|
+
if [[ ! -f $PREFIX/glibc/lib/libc.so.6 ]]; then
|
|
47
|
+
if ! pkg install glibc -y &>>"$LOG_FILE"; then
|
|
48
|
+
log_error "Failed to install glibc"
|
|
49
|
+
return 1
|
|
50
|
+
fi
|
|
51
|
+
fi
|
|
52
|
+
|
|
53
|
+
declare -A DEPS=(
|
|
54
|
+
["git"]="git"
|
|
55
|
+
["curl"]="curl"
|
|
56
|
+
["tar"]="tar"
|
|
57
|
+
["clang"]="clang"
|
|
58
|
+
)
|
|
59
|
+
|
|
60
|
+
local pkg_name bin_name
|
|
61
|
+
for pkg_name in "${!DEPS[@]}"; do
|
|
62
|
+
bin_name="${DEPS[$pkg_name]}"
|
|
63
|
+
if ! command -v "$bin_name" &>/dev/null; then
|
|
64
|
+
if ! pkg install "$pkg_name" -y &>>"$LOG_FILE"; then
|
|
65
|
+
log_error "Failed to install $pkg_name"
|
|
66
|
+
return 1
|
|
67
|
+
fi
|
|
68
|
+
fi
|
|
69
|
+
done
|
|
70
|
+
|
|
71
|
+
return 0
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
_download_freebuff_binary() {
|
|
75
|
+
loading "Downloading Freebuff" _download_freebuff_binary_impl
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
_download_freebuff_binary_impl() {
|
|
79
|
+
local latest_version
|
|
80
|
+
latest_version=$(_get_latest_freebuff_version)
|
|
81
|
+
if [ -z "$latest_version" ]; then
|
|
82
|
+
log_error "Failed to fetch latest Freebuff version"
|
|
83
|
+
return 1
|
|
84
|
+
fi
|
|
85
|
+
|
|
86
|
+
mkdir -p "$FREEBUFF_DATA_DIR"
|
|
87
|
+
|
|
88
|
+
local tarball="freebuff-linux-arm64.tar.gz"
|
|
89
|
+
local download_url="https://codebuff.com/api/releases/download/$latest_version/$tarball"
|
|
90
|
+
|
|
91
|
+
if ! curl -fsSL "$download_url" -o "$FREEBUFF_DATA_DIR/$tarball" &>>"$LOG_FILE"; then
|
|
92
|
+
log_error "Failed to download Freebuff binary"
|
|
93
|
+
return 1
|
|
94
|
+
fi
|
|
95
|
+
|
|
96
|
+
if ! tar -zxf "$FREEBUFF_DATA_DIR/$tarball" -C "$FREEBUFF_DATA_DIR" &>>"$LOG_FILE"; then
|
|
97
|
+
log_error "Failed to extract Freebuff binary"
|
|
98
|
+
return 1
|
|
99
|
+
fi
|
|
100
|
+
|
|
101
|
+
rm -f "$FREEBUFF_DATA_DIR/$tarball"
|
|
102
|
+
|
|
103
|
+
if [ ! -f "$FREEBUFF_DATA_DIR/freebuff" ]; then
|
|
104
|
+
log_error "Freebuff binary not found after extraction"
|
|
105
|
+
return 1
|
|
106
|
+
fi
|
|
107
|
+
|
|
108
|
+
chmod +x "$FREEBUFF_DATA_DIR/freebuff"
|
|
109
|
+
return 0
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
_compile_freebuff_helper() {
|
|
113
|
+
loading "Compiling helper" _compile_freebuff_helper_impl
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
_compile_freebuff_helper_impl() {
|
|
117
|
+
local HELPER_SRC="$OMNI_PATH/tools/ai/freebuff/helper/freebuff_helper.c"
|
|
118
|
+
if [ ! -f "$HELPER_SRC" ]; then
|
|
119
|
+
log_error "Helper source not found at $HELPER_SRC"
|
|
120
|
+
return 1
|
|
121
|
+
fi
|
|
122
|
+
|
|
123
|
+
if ! clang -O2 -o "$PREFIX/bin/freebuff" "$HELPER_SRC" &>>"$LOG_FILE"; then
|
|
124
|
+
log_error "Failed to compile freebuff helper"
|
|
125
|
+
return 1
|
|
126
|
+
fi
|
|
127
|
+
|
|
128
|
+
chmod +x "$PREFIX/bin/freebuff"
|
|
129
|
+
return 0
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
_install_freebuff_native() {
|
|
133
|
+
_freebuff_install_deps_native || return 1
|
|
134
|
+
_download_freebuff_binary || return 1
|
|
135
|
+
_compile_freebuff_helper || return 1
|
|
136
|
+
log_success "Freebuff installed natively"
|
|
137
|
+
return 0
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
_install_freebuff_proot() {
|
|
141
|
+
loading "Installing Freebuff (proot-distro)" _install_freebuff_proot_impl
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
_install_freebuff_proot_impl() {
|
|
145
|
+
mkdir -p "$(dirname "$LOG_FILE")"
|
|
146
|
+
|
|
147
|
+
if ! command -v proot-distro &>/dev/null; then
|
|
148
|
+
pkg install proot-distro -y &>>"$LOG_FILE"
|
|
149
|
+
fi
|
|
150
|
+
|
|
151
|
+
if [ ! -d "$(_freebuff_detect_ubuntu_root)" ]; then
|
|
152
|
+
proot-distro install ubuntu:24.04 &>>"$LOG_FILE"
|
|
153
|
+
fi
|
|
154
|
+
|
|
155
|
+
_freebuff_proot_ubuntu /bin/bash -c \
|
|
156
|
+
'apt-get update && apt-get upgrade -y && apt-get install -y curl ca-certificates tar' \
|
|
157
|
+
&>>"$LOG_FILE"
|
|
158
|
+
|
|
159
|
+
_freebuff_proot_ubuntu /bin/bash -c '
|
|
160
|
+
export SHELL=/bin/bash
|
|
161
|
+
export TMPDIR=/tmp
|
|
162
|
+
export HOME=/root
|
|
163
|
+
LATEST=$(curl -fsSL https://api.github.com/repos/CodebuffAI/codebuff-community/releases/latest | grep '"'"'tag_name'"'"' | sed -E '"'"'s/.*"freebuff-v([^"]+)".*/\1/'"'"')
|
|
164
|
+
curl -fsSL "https://codebuff.com/api/releases/download/${LATEST}/freebuff-linux-arm64.tar.gz" -o /tmp/freebuff.tar.gz
|
|
165
|
+
mkdir -p /root/.freebuff
|
|
166
|
+
tar -zxf /tmp/freebuff.tar.gz -C /root/.freebuff
|
|
167
|
+
rm -f /tmp/freebuff.tar.gz
|
|
168
|
+
chmod +x /root/.freebuff/freebuff
|
|
169
|
+
' &>>"$LOG_FILE"
|
|
170
|
+
|
|
171
|
+
local ubuntu_root
|
|
172
|
+
ubuntu_root="$(_freebuff_detect_ubuntu_root)"
|
|
173
|
+
|
|
174
|
+
if [ -z "$ubuntu_root" ]; then
|
|
175
|
+
log_error "Ubuntu rootfs not found"
|
|
176
|
+
return 1
|
|
177
|
+
fi
|
|
178
|
+
|
|
179
|
+
local freebuff_bin="$ubuntu_root/root/.freebuff/freebuff"
|
|
180
|
+
|
|
181
|
+
if [ ! -f "$freebuff_bin" ]; then
|
|
182
|
+
log_error "Freebuff binary not found after install"
|
|
183
|
+
return 1
|
|
184
|
+
fi
|
|
185
|
+
|
|
186
|
+
local wrapper_src="$OMNI_PATH/tools/ai/freebuff/bin/freebuff"
|
|
187
|
+
if [ ! -f "$wrapper_src" ]; then
|
|
188
|
+
log_error "Wrapper template not found at $wrapper_src"
|
|
189
|
+
return 1
|
|
190
|
+
fi
|
|
191
|
+
sed "s|__UBUNTU_ROOTFS__|$ubuntu_root|g" "$wrapper_src" >"$PREFIX/bin/freebuff"
|
|
192
|
+
chmod +x "$PREFIX/bin/freebuff"
|
|
193
|
+
|
|
194
|
+
if ! grep -q '.freebuff' "$ubuntu_root/root/.bashrc" 2>/dev/null; then
|
|
195
|
+
printf '\n# freebuff\nexport PATH=/root/.freebuff:$PATH\n' >>"$ubuntu_root/root/.bashrc"
|
|
196
|
+
fi
|
|
197
|
+
|
|
198
|
+
return 0
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
install_freebuff() {
|
|
202
|
+
if command -v freebuff &>/dev/null; then
|
|
203
|
+
log_info "Freebuff is already installed"
|
|
204
|
+
return 2
|
|
205
|
+
fi
|
|
206
|
+
|
|
207
|
+
log_info "Installing Freebuff..."
|
|
208
|
+
|
|
209
|
+
if [[ -t 0 ]] && [[ -t 1 ]]; then
|
|
210
|
+
log_info "Select installation method for Freebuff:"
|
|
211
|
+
read_select "Installation method" SELECTED_METHOD \
|
|
212
|
+
"Native (recommended) - Compile with glibc support" \
|
|
213
|
+
"Proot-distro (alternative) - Ubuntu container"
|
|
214
|
+
|
|
215
|
+
case "$SELECTED_METHOD" in
|
|
216
|
+
*Native*)
|
|
217
|
+
_install_freebuff_native
|
|
218
|
+
;;
|
|
219
|
+
*Proot-distro*)
|
|
220
|
+
_install_freebuff_proot
|
|
221
|
+
;;
|
|
222
|
+
esac
|
|
223
|
+
else
|
|
224
|
+
_install_freebuff_native
|
|
225
|
+
fi
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
uninstall_freebuff() {
|
|
229
|
+
log_info "Uninstalling Freebuff..."
|
|
230
|
+
mkdir -p "$(dirname "$LOG_FILE")"
|
|
231
|
+
|
|
232
|
+
if [ ! -f "$PREFIX/bin/freebuff" ]; then
|
|
233
|
+
log_warn "Freebuff is not installed"
|
|
234
|
+
return 1
|
|
235
|
+
fi
|
|
236
|
+
|
|
237
|
+
if [ -f "$FREEBUFF_DATA_DIR/freebuff" ]; then
|
|
238
|
+
rm -f "$PREFIX/bin/freebuff"
|
|
239
|
+
rm -rf "$FREEBUFF_DATA_DIR"
|
|
240
|
+
log_success "Freebuff (native) uninstalled"
|
|
241
|
+
return 0
|
|
242
|
+
fi
|
|
243
|
+
|
|
244
|
+
_freebuff_proot_ubuntu /bin/bash -c 'rm -rf /root/.freebuff' &>>"$LOG_FILE"
|
|
245
|
+
|
|
246
|
+
local ubuntu_bashrc
|
|
247
|
+
ubuntu_bashrc="$(_freebuff_detect_ubuntu_root)/root/.bashrc"
|
|
248
|
+
|
|
249
|
+
if [ -f "$ubuntu_bashrc" ]; then
|
|
250
|
+
sed -i '/# freebuff/d; /export PATH=\/root\/.freebuff/d' "$ubuntu_bashrc"
|
|
251
|
+
fi
|
|
252
|
+
|
|
253
|
+
if rm -f "$PREFIX/bin/freebuff" &>>"$LOG_FILE"; then
|
|
254
|
+
log_success "Freebuff (proot-distro) uninstalled"
|
|
255
|
+
return 0
|
|
256
|
+
else
|
|
257
|
+
log_error "Failed to uninstall Freebuff"
|
|
258
|
+
return 1
|
|
259
|
+
fi
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
update_freebuff() {
|
|
263
|
+
log_info "Updating Freebuff..."
|
|
264
|
+
mkdir -p "$(dirname "$LOG_FILE")"
|
|
265
|
+
|
|
266
|
+
if [ -f "$FREEBUFF_DATA_DIR/freebuff" ]; then
|
|
267
|
+
_install_freebuff_native
|
|
268
|
+
return $?
|
|
269
|
+
fi
|
|
270
|
+
|
|
271
|
+
_freebuff_proot_ubuntu /bin/bash -c 'rm -rf /root/.freebuff' &>>"$LOG_FILE"
|
|
272
|
+
|
|
273
|
+
_freebuff_proot_ubuntu /bin/bash -c '
|
|
274
|
+
export SHELL=/bin/bash
|
|
275
|
+
export TMPDIR=/tmp
|
|
276
|
+
export HOME=/root
|
|
277
|
+
LATEST=$(curl -fsSL https://api.github.com/repos/CodebuffAI/codebuff-community/releases/latest | grep '"'"'tag_name'"'"' | sed -E '"'"'s/.*"freebuff-v([^"]+)".*/\1/'"'"')
|
|
278
|
+
curl -fsSL "https://codebuff.com/api/releases/download/${LATEST}/freebuff-linux-arm64.tar.gz" -o /tmp/freebuff.tar.gz
|
|
279
|
+
mkdir -p /root/.freebuff
|
|
280
|
+
tar -zxf /tmp/freebuff.tar.gz -C /root/.freebuff
|
|
281
|
+
rm -f /tmp/freebuff.tar.gz
|
|
282
|
+
chmod +x /root/.freebuff/freebuff
|
|
283
|
+
' &>>"$LOG_FILE"
|
|
284
|
+
|
|
285
|
+
local ubuntu_root
|
|
286
|
+
ubuntu_root="$(_freebuff_detect_ubuntu_root)"
|
|
287
|
+
local freebuff_bin="$ubuntu_root/root/.freebuff/freebuff"
|
|
288
|
+
|
|
289
|
+
if [ ! -f "$freebuff_bin" ]; then
|
|
290
|
+
log_error "Freebuff binary not found after update"
|
|
291
|
+
return 1
|
|
292
|
+
fi
|
|
293
|
+
|
|
294
|
+
log_success "Freebuff (proot-distro) updated"
|
|
295
|
+
return 0
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
reinstall_freebuff() {
|
|
299
|
+
uninstall_freebuff
|
|
300
|
+
install_freebuff
|
|
301
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# Gemini CLI
|
|
2
|
+
|
|
3
|
+
Google's AI assistant with Gemini
|
|
4
|
+
|
|
5
|
+
**Package:** @google/gemini-cli
|
|
6
|
+
**Author:** israel676767
|
|
7
|
+
**Repository:** https://github.com/israel676767/omni
|
|
8
|
+
**Official:** https://github.com/google-gemini/gemini-cli
|
|
9
|
+
**Type:** AI CLI assistant (npm global package)
|
|
10
|
+
**License:** MIT
|
|
11
|
+
|
|
12
|
+
## Description
|
|
13
|
+
|
|
14
|
+
Gemini CLI is Google's official command-line interface for interacting with the Gemini AI model. It provides code generation, explanation, debugging, and general AI assistance directly from your terminal.
|
|
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 --gemini-cli
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Uninstall
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
core uninstall ai --gemini-cli
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Update
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
core update ai --gemini-cli
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Notes
|
|
41
|
+
|
|
42
|
+
- Installed as a global npm package: `@google/gemini-cli`
|
|
43
|
+
- Command: `gemini`
|
|
44
|
+
- Requires an API key from Google AI Studio
|
|
45
|
+
- Environment variable: `GEMINI_API_KEY`
|
|
46
|
+
|
|
@@ -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
|
+
_gemini_cli_dependencies() {
|
|
8
|
+
loading "Installing dependencies" _gemini_cli_dependencies_impl
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
_gemini_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_gemini_cli_npm() {
|
|
33
|
+
loading "Installing Gemini CLI" _install_gemini_cli_npm_impl
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
_install_gemini_cli_npm_impl() {
|
|
37
|
+
export GYP_DEFINES="android_ndk_path=''"
|
|
38
|
+
export ANDROID_API_LEVEL=24
|
|
39
|
+
|
|
40
|
+
if ! npm install -g @google/gemini-cli &>>"$LOG_FILE"; then
|
|
41
|
+
log_error "Failed to install Gemini CLI"
|
|
42
|
+
return 1
|
|
43
|
+
fi
|
|
44
|
+
|
|
45
|
+
return 0
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
install_gemini_cli() {
|
|
49
|
+
if command -v gemini &>/dev/null; then
|
|
50
|
+
log_info "Gemini CLI is already installed"
|
|
51
|
+
return 2
|
|
52
|
+
fi
|
|
53
|
+
|
|
54
|
+
log_info "Installing Gemini CLI..."
|
|
55
|
+
|
|
56
|
+
mkdir -p "$(dirname "$LOG_FILE")"
|
|
57
|
+
|
|
58
|
+
_gemini_cli_dependencies || return 1
|
|
59
|
+
_install_gemini_cli_npm || return 1
|
|
60
|
+
|
|
61
|
+
log_success "Gemini CLI installed"
|
|
62
|
+
return 0
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
uninstall_gemini_cli() {
|
|
66
|
+
if ! command -v gemini &>/dev/null; then
|
|
67
|
+
log_info "Gemini CLI is not installed"
|
|
68
|
+
return 2
|
|
69
|
+
fi
|
|
70
|
+
log_info "Uninstalling Gemini CLI..."
|
|
71
|
+
mkdir -p "$(dirname "$LOG_FILE")"
|
|
72
|
+
|
|
73
|
+
loading "Removing Gemini CLI" _uninstall_gemini_cli_impl
|
|
74
|
+
|
|
75
|
+
log_success "Gemini CLI uninstalled"
|
|
76
|
+
return 0
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
_uninstall_gemini_cli_impl() {
|
|
80
|
+
if ! npm uninstall -g @google/gemini-cli &>>"$LOG_FILE"; then
|
|
81
|
+
log_error "Failed to uninstall Gemini CLI"
|
|
82
|
+
return 1
|
|
83
|
+
fi
|
|
84
|
+
return 0
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
update_gemini_cli() {
|
|
88
|
+
log_info "Updating Gemini CLI..."
|
|
89
|
+
mkdir -p "$(dirname "$LOG_FILE")"
|
|
90
|
+
|
|
91
|
+
loading "Updating Gemini CLI" _update_gemini_cli_impl
|
|
92
|
+
|
|
93
|
+
log_success "Gemini CLI updated"
|
|
94
|
+
return 0
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
_update_gemini_cli_impl() {
|
|
98
|
+
export GYP_DEFINES="android_ndk_path=''"
|
|
99
|
+
export ANDROID_API_LEVEL=24
|
|
100
|
+
|
|
101
|
+
if ! npm update -g @google/gemini-cli &>>"$LOG_FILE"; then
|
|
102
|
+
log_error "Failed to update Gemini CLI"
|
|
103
|
+
return 1
|
|
104
|
+
fi
|
|
105
|
+
return 0
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
reinstall_gemini_cli() {
|
|
109
|
+
uninstall_gemini_cli
|
|
110
|
+
install_gemini_cli
|
|
111
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Gentle-AI
|
|
2
|
+
|
|
3
|
+
Ecosystem, Frameworks, Workflows for AI coding agents
|
|
4
|
+
|
|
5
|
+
**Package:** gentle-ai
|
|
6
|
+
**Author:** Gentleman-Programming
|
|
7
|
+
**Repository:** https://github.com/Gentleman-Programming/gentle-ai
|
|
8
|
+
**Type:** AI ecosystem configurator (Go source compile)
|
|
9
|
+
**License:** MIT
|
|
10
|
+
|
|
11
|
+
## Description
|
|
12
|
+
|
|
13
|
+
Gentle-AI is an ecosystem configurator for AI coding agents. It provides persistent memory (Engram), Spec-Driven Development workflows, curated coding skills, MCP servers, an AI provider switcher, a teaching-oriented persona with security-first permissions, and per-phase model assignment for 15+ supported agents.
|
|
14
|
+
|
|
15
|
+
## Dependencies
|
|
16
|
+
|
|
17
|
+
- golang (1.23+), git, curl
|
|
18
|
+
|
|
19
|
+
## Install
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
core install ai --gentle-ai
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Uninstall
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
core uninstall ai --gentle-ai
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Update
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
core update ai --gentle-ai
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Notes
|
|
38
|
+
|
|
39
|
+
- Source cloned from GitHub and compiled natively with Go
|
|
40
|
+
- Termux-specific patches applied automatically for Android compatibility
|
|
41
|
+
- Data directory: `~/.local/share/omni-data/gentle-ai/`
|
|
42
|
+
- Command: `gentle-ai`
|