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.
Files changed (237) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1137 -0
  3. package/core/bin/core +85 -0
  4. package/core/bin/omni +21 -0
  5. package/core/cli/commands/--version.sh +8 -0
  6. package/core/cli/commands/brain.sh +1549 -0
  7. package/core/cli/commands/doctor.sh +834 -0
  8. package/core/cli/commands/env.sh +226 -0
  9. package/core/cli/commands/init.sh +1266 -0
  10. package/core/cli/commands/install.sh +759 -0
  11. package/core/cli/commands/list.sh +397 -0
  12. package/core/cli/commands/open.sh +71 -0
  13. package/core/cli/commands/pg.sh +761 -0
  14. package/core/cli/commands/reinstall.sh +694 -0
  15. package/core/cli/commands/show.sh +90 -0
  16. package/core/cli/commands/uninstall.sh +700 -0
  17. package/core/cli/commands/update.sh +754 -0
  18. package/core/cli/commands/voice.sh +170 -0
  19. package/core/cli/core.sh +82 -0
  20. package/core/cli/omni.sh +634 -0
  21. package/core/modules/ai.sh +152 -0
  22. package/core/modules/auto.sh +90 -0
  23. package/core/modules/db.sh +94 -0
  24. package/core/modules/deploy.sh +50 -0
  25. package/core/modules/dev.sh +126 -0
  26. package/core/modules/editor.sh +101 -0
  27. package/core/modules/lang.sh +100 -0
  28. package/core/modules/npm.sh +122 -0
  29. package/core/modules/shell.sh +312 -0
  30. package/core/modules/ui.sh +115 -0
  31. package/core/tools/ai/all.sh +63 -0
  32. package/core/tools/ai/antigravity-cli/README.md +45 -0
  33. package/core/tools/ai/antigravity-cli/bin/agy +28 -0
  34. package/core/tools/ai/antigravity-cli/helper/agy_helper.c +39 -0
  35. package/core/tools/ai/antigravity-cli/install.sh +469 -0
  36. package/core/tools/ai/claude-code/README.md +45 -0
  37. package/core/tools/ai/claude-code/bin/claude +29 -0
  38. package/core/tools/ai/claude-code/helper/claude_helper.c +42 -0
  39. package/core/tools/ai/claude-code/install.sh +278 -0
  40. package/core/tools/ai/codegraph/README.md +43 -0
  41. package/core/tools/ai/codegraph/bin/codegraph +3 -0
  42. package/core/tools/ai/codegraph/install.sh +149 -0
  43. package/core/tools/ai/codex/README.md +44 -0
  44. package/core/tools/ai/codex/install.sh +104 -0
  45. package/core/tools/ai/command-code/README.md +62 -0
  46. package/core/tools/ai/command-code/install.sh +136 -0
  47. package/core/tools/ai/engram/README.md +44 -0
  48. package/core/tools/ai/engram/install.sh +127 -0
  49. package/core/tools/ai/freebuff/README.md +52 -0
  50. package/core/tools/ai/freebuff/bin/freebuff +28 -0
  51. package/core/tools/ai/freebuff/helper/freebuff_helper.c +47 -0
  52. package/core/tools/ai/freebuff/install.sh +301 -0
  53. package/core/tools/ai/gemini-cli/README.md +46 -0
  54. package/core/tools/ai/gemini-cli/install.sh +111 -0
  55. package/core/tools/ai/gentle-ai/README.md +42 -0
  56. package/core/tools/ai/gentle-ai/install.sh +253 -0
  57. package/core/tools/ai/gentle-ai/termux-patches.go +256 -0
  58. package/core/tools/ai/gga/README.md +49 -0
  59. package/core/tools/ai/gga/install.sh +134 -0
  60. package/core/tools/ai/hermes-agent/README.md +50 -0
  61. package/core/tools/ai/hermes-agent/install.sh +80 -0
  62. package/core/tools/ai/heygen/README.md +24 -0
  63. package/core/tools/ai/heygen/install.sh +126 -0
  64. package/core/tools/ai/kilocode-cli/README.md +45 -0
  65. package/core/tools/ai/kilocode-cli/bin/kilocode +21 -0
  66. package/core/tools/ai/kilocode-cli/helper/kilocode_helper.c +47 -0
  67. package/core/tools/ai/kilocode-cli/install.sh +179 -0
  68. package/core/tools/ai/kimchi-code/README.md +8 -0
  69. package/core/tools/ai/kimchi-code/install.sh +120 -0
  70. package/core/tools/ai/kimi-code/README.md +45 -0
  71. package/core/tools/ai/kimi-code/install.sh +111 -0
  72. package/core/tools/ai/kiro-cli/README.md +23 -0
  73. package/core/tools/ai/kiro-cli/install.sh +127 -0
  74. package/core/tools/ai/mimocode/README.md +43 -0
  75. package/core/tools/ai/mimocode/bin/mimo +28 -0
  76. package/core/tools/ai/mimocode/helper/mimocode_helper.c +47 -0
  77. package/core/tools/ai/mimocode/install.sh +287 -0
  78. package/core/tools/ai/minimax-cli/README.md +45 -0
  79. package/core/tools/ai/minimax-cli/install.sh +111 -0
  80. package/core/tools/ai/mistral-vibe/README.md +46 -0
  81. package/core/tools/ai/mistral-vibe/install.sh +119 -0
  82. package/core/tools/ai/odysseus/README.md +35 -0
  83. package/core/tools/ai/odysseus/install.sh +163 -0
  84. package/core/tools/ai/ollama/README.md +44 -0
  85. package/core/tools/ai/ollama/install.sh +78 -0
  86. package/core/tools/ai/openclaude/README.md +46 -0
  87. package/core/tools/ai/openclaude/install.sh +110 -0
  88. package/core/tools/ai/openclaw/README.md +47 -0
  89. package/core/tools/ai/openclaw/install.sh +112 -0
  90. package/core/tools/ai/opencode/README.md +51 -0
  91. package/core/tools/ai/opencode/bin/opencode +28 -0
  92. package/core/tools/ai/opencode/helper/opencode_helper.c +57 -0
  93. package/core/tools/ai/opencode/install.sh +290 -0
  94. package/core/tools/ai/pi/README.md +46 -0
  95. package/core/tools/ai/pi/install.sh +104 -0
  96. package/core/tools/ai/qwen-code/README.md +45 -0
  97. package/core/tools/ai/qwen-code/install.sh +111 -0
  98. package/core/tools/ai/seedance/README.md +22 -0
  99. package/core/tools/ai/seedance/install.sh +134 -0
  100. package/core/tools/ai/veo3/README.md +36 -0
  101. package/core/tools/ai/veo3/install.sh +151 -0
  102. package/core/tools/auto/all.sh +57 -0
  103. package/core/tools/auto/n8n/README.md +47 -0
  104. package/core/tools/auto/n8n/install.sh +102 -0
  105. package/core/tools/db/all.sh +60 -0
  106. package/core/tools/db/mariadb/README.md +43 -0
  107. package/core/tools/db/mariadb/install.sh +65 -0
  108. package/core/tools/db/mongodb/README.md +42 -0
  109. package/core/tools/db/mongodb/install.sh +73 -0
  110. package/core/tools/db/postgresql/README.md +45 -0
  111. package/core/tools/db/postgresql/install.sh +65 -0
  112. package/core/tools/db/sqlite/README.md +44 -0
  113. package/core/tools/db/sqlite/install.sh +65 -0
  114. package/core/tools/deploy/all.sh +39 -0
  115. package/core/tools/deploy/netlify/install.sh +41 -0
  116. package/core/tools/deploy/railway/install.sh +47 -0
  117. package/core/tools/deploy/vercel/install.sh +43 -0
  118. package/core/tools/dev/all.sh +75 -0
  119. package/core/tools/dev/bat/README.md +44 -0
  120. package/core/tools/dev/bat/install.sh +82 -0
  121. package/core/tools/dev/bc/README.md +44 -0
  122. package/core/tools/dev/bc/install.sh +82 -0
  123. package/core/tools/dev/cloudflared/README.md +43 -0
  124. package/core/tools/dev/cloudflared/install.sh +82 -0
  125. package/core/tools/dev/curl/README.md +43 -0
  126. package/core/tools/dev/curl/install.sh +82 -0
  127. package/core/tools/dev/fzf/README.md +44 -0
  128. package/core/tools/dev/fzf/install.sh +82 -0
  129. package/core/tools/dev/gh/README.md +43 -0
  130. package/core/tools/dev/gh/install.sh +82 -0
  131. package/core/tools/dev/html2text/README.md +44 -0
  132. package/core/tools/dev/html2text/install.sh +82 -0
  133. package/core/tools/dev/imagemagick/README.md +44 -0
  134. package/core/tools/dev/imagemagick/install.sh +82 -0
  135. package/core/tools/dev/jq/README.md +44 -0
  136. package/core/tools/dev/jq/install.sh +82 -0
  137. package/core/tools/dev/lsd/README.md +44 -0
  138. package/core/tools/dev/lsd/install.sh +82 -0
  139. package/core/tools/dev/make/README.md +44 -0
  140. package/core/tools/dev/make/install.sh +82 -0
  141. package/core/tools/dev/ncurses/README.md +42 -0
  142. package/core/tools/dev/ncurses/install.sh +82 -0
  143. package/core/tools/dev/proot/README.md +43 -0
  144. package/core/tools/dev/proot/install.sh +82 -0
  145. package/core/tools/dev/shfmt/README.md +44 -0
  146. package/core/tools/dev/shfmt/install.sh +82 -0
  147. package/core/tools/dev/tmate/README.md +44 -0
  148. package/core/tools/dev/tmate/install.sh +82 -0
  149. package/core/tools/dev/translate/README.md +44 -0
  150. package/core/tools/dev/translate/install.sh +82 -0
  151. package/core/tools/dev/tree/README.md +44 -0
  152. package/core/tools/dev/tree/install.sh +82 -0
  153. package/core/tools/dev/udocker/README.md +44 -0
  154. package/core/tools/dev/udocker/install.sh +82 -0
  155. package/core/tools/dev/wget/README.md +44 -0
  156. package/core/tools/dev/wget/install.sh +82 -0
  157. package/core/tools/editor/all.sh +58 -0
  158. package/core/tools/editor/neovim/README.md +43 -0
  159. package/core/tools/editor/neovim/install.sh +66 -0
  160. package/core/tools/editor/nvchad/README.md +45 -0
  161. package/core/tools/editor/nvchad/install.sh +110 -0
  162. package/core/tools/lang/all.sh +63 -0
  163. package/core/tools/lang/clang/README.md +43 -0
  164. package/core/tools/lang/clang/install.sh +79 -0
  165. package/core/tools/lang/golang/README.md +43 -0
  166. package/core/tools/lang/golang/install.sh +79 -0
  167. package/core/tools/lang/nodejs/README.md +43 -0
  168. package/core/tools/lang/nodejs/install.sh +79 -0
  169. package/core/tools/lang/perl/README.md +43 -0
  170. package/core/tools/lang/perl/install.sh +79 -0
  171. package/core/tools/lang/php/README.md +43 -0
  172. package/core/tools/lang/php/install.sh +79 -0
  173. package/core/tools/lang/python/README.md +43 -0
  174. package/core/tools/lang/python/install.sh +79 -0
  175. package/core/tools/lang/rust/README.md +43 -0
  176. package/core/tools/lang/rust/install.sh +79 -0
  177. package/core/tools/npm/all.sh +67 -0
  178. package/core/tools/npm/live-server/README.md +43 -0
  179. package/core/tools/npm/live-server/install.sh +95 -0
  180. package/core/tools/npm/localtunnel/README.md +43 -0
  181. package/core/tools/npm/localtunnel/install.sh +111 -0
  182. package/core/tools/npm/markserv/README.md +43 -0
  183. package/core/tools/npm/markserv/install.sh +94 -0
  184. package/core/tools/npm/ncu/README.md +43 -0
  185. package/core/tools/npm/ncu/install.sh +94 -0
  186. package/core/tools/npm/nestjs/README.md +43 -0
  187. package/core/tools/npm/nestjs/install.sh +94 -0
  188. package/core/tools/npm/ngrok/README.md +44 -0
  189. package/core/tools/npm/ngrok/install.sh +94 -0
  190. package/core/tools/npm/prettier/README.md +43 -0
  191. package/core/tools/npm/prettier/install.sh +94 -0
  192. package/core/tools/npm/psqlformat/README.md +43 -0
  193. package/core/tools/npm/psqlformat/install.sh +94 -0
  194. package/core/tools/npm/turbopack/README.md +8 -0
  195. package/core/tools/npm/turbopack/install.sh +41 -0
  196. package/core/tools/npm/typescript/README.md +43 -0
  197. package/core/tools/npm/typescript/install.sh +94 -0
  198. package/core/tools/npm/vercel/README.md +43 -0
  199. package/core/tools/npm/vercel/install.sh +94 -0
  200. package/core/tools/shell/all.sh +67 -0
  201. package/core/tools/shell/better-npm/README.md +43 -0
  202. package/core/tools/shell/better-npm/install.sh +85 -0
  203. package/core/tools/shell/fzf-tab/README.md +44 -0
  204. package/core/tools/shell/fzf-tab/install.sh +85 -0
  205. package/core/tools/shell/history-substring/README.md +43 -0
  206. package/core/tools/shell/history-substring/install.sh +85 -0
  207. package/core/tools/shell/powerlevel10k/README.md +43 -0
  208. package/core/tools/shell/powerlevel10k/install.sh +85 -0
  209. package/core/tools/shell/you-should-use/README.md +43 -0
  210. package/core/tools/shell/you-should-use/install.sh +85 -0
  211. package/core/tools/shell/zsh-autopair/README.md +44 -0
  212. package/core/tools/shell/zsh-autopair/install.sh +85 -0
  213. package/core/tools/shell/zsh-autosuggestions/README.md +43 -0
  214. package/core/tools/shell/zsh-autosuggestions/install.sh +85 -0
  215. package/core/tools/shell/zsh-completions/README.md +43 -0
  216. package/core/tools/shell/zsh-completions/install.sh +85 -0
  217. package/core/tools/shell/zsh-defer/README.md +43 -0
  218. package/core/tools/shell/zsh-defer/install.sh +85 -0
  219. package/core/tools/shell/zsh-syntax-highlighting/README.md +43 -0
  220. package/core/tools/shell/zsh-syntax-highlighting/install.sh +72 -0
  221. package/core/tools/ui/all.sh +61 -0
  222. package/core/tools/ui/banner/README.md +42 -0
  223. package/core/tools/ui/banner/install.sh +151 -0
  224. package/core/tools/ui/cursor/README.md +42 -0
  225. package/core/tools/ui/cursor/install.sh +58 -0
  226. package/core/tools/ui/extra-keys/README.md +43 -0
  227. package/core/tools/ui/extra-keys/install.sh +62 -0
  228. package/core/tools/ui/font/README.md +43 -0
  229. package/core/tools/ui/font/install.sh +63 -0
  230. package/core/utils/banner.sh +519 -0
  231. package/core/utils/bootstrap.sh +25 -0
  232. package/core/utils/colors.sh +31 -0
  233. package/core/utils/dialogrc +30 -0
  234. package/core/utils/env.sh +53 -0
  235. package/core/utils/log.sh +598 -0
  236. package/install.sh +272 -0
  237. package/package.json +43 -0
@@ -0,0 +1,163 @@
1
+ #!/usr/bin/env bash
2
+
3
+ import "@/utils/log"
4
+ import "@/utils/colors"
5
+
6
+ LOG_FILE="$OMNI_CACHE/install_ai.log"
7
+ ODYSSEUS_DATA_DIR="$HOME/.local/share/omni-data/odysseus"
8
+
9
+ _odysseus_dependencies() {
10
+ loading "Installing dependencies" _odysseus_dependencies_impl
11
+ }
12
+
13
+ _odysseus_dependencies_impl() {
14
+ declare -A DEPS=(
15
+ ["git"]="git"
16
+ ["curl"]="curl"
17
+ ["proot-distro"]="proot-distro"
18
+ )
19
+
20
+ local pkg_name bin_name
21
+ for pkg_name in "${!DEPS[@]}"; do
22
+ bin_name="${DEPS[$pkg_name]}"
23
+ if ! command -v "$bin_name" &>/dev/null; then
24
+ if ! pkg install "$pkg_name" -y &>>"$LOG_FILE"; then
25
+ log_error "Failed to install $pkg_name"
26
+ return 1
27
+ fi
28
+ fi
29
+ done
30
+
31
+ return 0
32
+ }
33
+
34
+ _odysseus_detect_ubuntu_root() {
35
+ local root
36
+ root="$(find /data/data/com.termux -maxdepth 10 -type d \
37
+ -name "rootfs" -path "*/containers/ubuntu/*" 2>/dev/null | head -1)"
38
+
39
+ if [ -z "$root" ]; then
40
+ root="$(find /data/data/com.termux -maxdepth 10 -type d \
41
+ -name "ubuntu" -path "*/installed-rootfs/*" 2>/dev/null | head -1)"
42
+ fi
43
+
44
+ echo "$root"
45
+ }
46
+
47
+ _odysseus_proot_ubuntu() {
48
+ proot-distro login \
49
+ --shared-tmp \
50
+ ubuntu \
51
+ -- "$@"
52
+ }
53
+
54
+ _install_odysseus_impl() {
55
+ mkdir -p "$(dirname "$LOG_FILE")"
56
+
57
+ if ! command -v proot-distro &>/dev/null; then
58
+ pkg install proot-distro -y &>>"$LOG_FILE"
59
+ fi
60
+
61
+ if [ ! -d "$(_odysseus_detect_ubuntu_root)" ]; then
62
+ proot-distro install ubuntu:24.04 &>>"$LOG_FILE"
63
+ fi
64
+
65
+ _odysseus_proot_ubuntu /bin/bash -c '
66
+ export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
67
+ export DEBIAN_FRONTEND=noninteractive
68
+
69
+ apt-get update -qq && apt-get upgrade -y -qq && apt-get install -y -qq curl git python3-pip
70
+
71
+ python3 -m pip install --break-system-packages \
72
+ fastapi uvicorn python-multipart python-dotenv httpx pydantic pydantic-settings \
73
+ mcp bcrypt sqlalchemy aiosqlite jinja2 aiofiles python-dateutil \
74
+ pyotp qrcode croniter pypdf beautifulsoup4 charset-normalizer \
75
+ numpy chromadb-client fastembed youtube-transcript-api markdown \
76
+ nh3 icalendar caldav pytest pytest-asyncio
77
+ ' &>>"$LOG_FILE"
78
+
79
+ _odysseus_proot_ubuntu /bin/bash -c '
80
+ export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
81
+
82
+ if [ ! -d /root/odysseus ]; then
83
+ git clone --depth 1 https://github.com/pewdiepie-archdaemon/odysseus.git /root/odysseus
84
+ fi
85
+
86
+ cd /root/odysseus
87
+ if [ -f requirements.txt ]; then
88
+ python3 -m pip install --break-system-packages -r requirements.txt 2>&1
89
+ fi
90
+ ' &>>"$LOG_FILE"
91
+
92
+ local ubuntu_root
93
+ ubuntu_root="$(_odysseus_detect_ubuntu_root)"
94
+
95
+ if [ -z "$ubuntu_root" ]; then
96
+ log_error "Ubuntu rootfs not found"
97
+ return 1
98
+ fi
99
+
100
+ local wrapper_path="$PREFIX/bin/odysseus"
101
+ cat > "$wrapper_path" << WRAPPER
102
+ #!$PREFIX/bin/bash
103
+ exec proot-distro login --shared-tmp ubuntu -- bash -c 'cd /root/odysseus && exec python3 app.py "\$@"' bash "\$@"
104
+ WRAPPER
105
+ chmod +x "$wrapper_path"
106
+
107
+ log_success "Odysseus installed (proot-distro)"
108
+ echo
109
+ log_info "Start with: ${D_CYAN}odysseus${NC}"
110
+ log_info "Web UI at: ${D_CYAN}http://localhost:7000${NC}"
111
+ }
112
+
113
+ install_odysseus() {
114
+ if command -v odysseus &>/dev/null || [ -d "$ODYSSEUS_DATA_DIR/repo" ]; then
115
+ log_info "Odysseus is already installed"
116
+ return 2
117
+ fi
118
+
119
+ log_info "Installing Odysseus..."
120
+
121
+ mkdir -p "$(dirname "$LOG_FILE")"
122
+
123
+ _odysseus_dependencies || return 1
124
+
125
+ log_info "Installing via proot-distro Ubuntu (Docker not available on Termux)..."
126
+ _install_odysseus_impl
127
+
128
+ log_success "Odysseus installed successfully"
129
+ return 0
130
+ }
131
+
132
+ uninstall_odysseus() {
133
+ log_info "Uninstalling Odysseus..."
134
+ mkdir -p "$(dirname "$LOG_FILE")"
135
+
136
+ if [ -f "$PREFIX/bin/odysseus" ]; then
137
+ rm -f "$PREFIX/bin/odysseus"
138
+ fi
139
+
140
+ if [ -d "$ODYSSEUS_DATA_DIR" ]; then
141
+ rm -rf "$ODYSSEUS_DATA_DIR"
142
+ fi
143
+
144
+ log_success "Odysseus uninstalled"
145
+ return 0
146
+ }
147
+
148
+ update_odysseus() {
149
+ log_info "Updating Odysseus..."
150
+ mkdir -p "$(dirname "$LOG_FILE")"
151
+
152
+ _odysseus_proot_ubuntu /bin/bash -c '
153
+ cd /root/odysseus && git pull
154
+ ' &>>"$LOG_FILE" && log_success "Odysseus updated" || {
155
+ log_error "Failed to update Odysseus"
156
+ return 1
157
+ }
158
+ }
159
+
160
+ reinstall_odysseus() {
161
+ uninstall_odysseus
162
+ install_odysseus
163
+ }
@@ -0,0 +1,44 @@
1
+ # Ollama
2
+
3
+ Run open-source LLMs locally on Termux
4
+
5
+ **Package:** ollama
6
+ **Author:** israel676767
7
+ **Repository:** https://github.com/israel676767/omni
8
+ **Official:** https://ollama.com
9
+ **Type:** Local LLM runtime (pkg)
10
+ **License:** MIT
11
+
12
+ ## Description
13
+
14
+ Ollama allows you to run open-source LLMs locally on Termux. It supports a wide range of models including Llama, Mistral, Gemma, Qwen, DeepSeek, and many more. All processing is done locally with no data sent to external servers.
15
+
16
+ ## Dependencies
17
+
18
+ - Installed via pkg (termux package)
19
+
20
+ ## Install
21
+
22
+ ```bash
23
+ core install ai --ollama
24
+ ```
25
+
26
+ ## Uninstall
27
+
28
+ ```bash
29
+ core uninstall ai --ollama
30
+ ```
31
+
32
+ ## Update
33
+
34
+ ```bash
35
+ core update ai --ollama
36
+ ```
37
+
38
+ ## Notes
39
+
40
+ - Runs entirely locally on your device
41
+ - Supports models from Ollama library
42
+ - Command: `ollama`
43
+ - Model storage: `~/.ollama/`
44
+
@@ -0,0 +1,78 @@
1
+ #!/usr/bin/env bash
2
+
3
+ import "@/utils/log"
4
+
5
+ LOG_FILE="$OMNI_CACHE/install_ai.log"
6
+
7
+ _install_ollama_pkg() {
8
+ loading "Installing Ollama" _install_ollama_pkg_impl
9
+ }
10
+
11
+ _install_ollama_pkg_impl() {
12
+ if ! pkg install ollama -y &>>"$LOG_FILE"; then
13
+ log_error "Failed to install Ollama"
14
+ return 1
15
+ fi
16
+
17
+ return 0
18
+ }
19
+
20
+ install_ollama() {
21
+ if command -v ollama &>/dev/null; then
22
+ log_info "Ollama is already installed"
23
+ return 2
24
+ fi
25
+ log_info "Installing Ollama..."
26
+
27
+ mkdir -p "$(dirname "$LOG_FILE")"
28
+
29
+ _install_ollama_pkg || return 1
30
+
31
+ log_success "Ollama installed"
32
+ return 0
33
+ }
34
+
35
+ uninstall_ollama() {
36
+ if ! command -v ollama &>/dev/null; then
37
+ log_info "Ollama is not installed"
38
+ return 2
39
+ fi
40
+ log_info "Uninstalling Ollama..."
41
+ mkdir -p "$(dirname "$LOG_FILE")"
42
+
43
+ loading "Removing Ollama" _uninstall_ollama_impl
44
+
45
+ log_success "Ollama uninstalled"
46
+ return 0
47
+ }
48
+
49
+ _uninstall_ollama_impl() {
50
+ if ! pkg uninstall ollama -y &>>"$LOG_FILE"; then
51
+ log_error "Failed to uninstall Ollama"
52
+ return 1
53
+ fi
54
+ return 0
55
+ }
56
+
57
+ update_ollama() {
58
+ log_info "Updating Ollama..."
59
+ mkdir -p "$(dirname "$LOG_FILE")"
60
+
61
+ loading "Updating Ollama" _update_ollama_impl
62
+
63
+ log_success "Ollama updated"
64
+ return 0
65
+ }
66
+
67
+ _update_ollama_impl() {
68
+ if ! pkg upgrade ollama -y &>>"$LOG_FILE"; then
69
+ log_error "Failed to update Ollama"
70
+ return 1
71
+ fi
72
+ return 0
73
+ }
74
+
75
+ reinstall_ollama() {
76
+ uninstall_ollama
77
+ install_ollama
78
+ }
@@ -0,0 +1,46 @@
1
+ # OpenClaude
2
+
3
+ Open source Claude Code alternative
4
+
5
+ **Package:** @gitlawb/openclaude
6
+ **Author:** israel676767
7
+ **Repository:** https://github.com/israel676767/omni
8
+ **Official:** https://github.com/gitlawb/openclaude
9
+ **Type:** AI client (npm global package)
10
+ **License:** MIT
11
+
12
+ ## Description
13
+
14
+ OpenClaude is an open source Claude Code alternative. It provides a CLI interface for code generation, analysis, and AI assistance.
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 --openclaude
26
+ ```
27
+
28
+ ## Uninstall
29
+
30
+ ```bash
31
+ core uninstall ai --openclaude
32
+ ```
33
+
34
+ ## Update
35
+
36
+ ```bash
37
+ core update ai --openclaude
38
+ ```
39
+
40
+ ## Notes
41
+
42
+ - Installed as a global npm package: `@gitlawb/openclaude`
43
+ - Command: `openclaude`
44
+ - Requires an Anthropic API key
45
+ - Environment variable: `ANTHROPIC_API_KEY`
46
+
@@ -0,0 +1,110 @@
1
+ #!/usr/bin/env bash
2
+
3
+ import "@/utils/log"
4
+
5
+ LOG_FILE="$OMNI_CACHE/install_ai.log"
6
+
7
+ _openclaude_dependencies() {
8
+ loading "Installing dependencies" _openclaude_dependencies_impl
9
+ }
10
+
11
+ _openclaude_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_openclaude_npm() {
33
+ loading "Installing OpenClaude" _install_openclaude_npm_impl
34
+ }
35
+
36
+ _install_openclaude_npm_impl() {
37
+ export GYP_DEFINES="android_ndk_path=''"
38
+ export ANDROID_API_LEVEL=24
39
+
40
+ if ! npm install -g @gitlawb/openclaude &>>"$LOG_FILE"; then
41
+ log_error "Failed to install OpenClaude"
42
+ return 1
43
+ fi
44
+
45
+ return 0
46
+ }
47
+
48
+ install_openclaude() {
49
+ if command -v openclaude &>/dev/null; then
50
+ log_info "OpenClaude is already installed"
51
+ return 2
52
+ fi
53
+ log_info "Installing OpenClaude..."
54
+
55
+ mkdir -p "$(dirname "$LOG_FILE")"
56
+
57
+ _openclaude_dependencies || return 1
58
+ _install_openclaude_npm || return 1
59
+
60
+ log_success "OpenClaude installed"
61
+ return 0
62
+ }
63
+
64
+ uninstall_openclaude() {
65
+ if ! command -v openclaude &>/dev/null; then
66
+ log_info "OpenClaude is not installed"
67
+ return 2
68
+ fi
69
+ log_info "Uninstalling OpenClaude..."
70
+ mkdir -p "$(dirname "$LOG_FILE")"
71
+
72
+ loading "Removing OpenClaude" _uninstall_openclaude_impl
73
+
74
+ log_success "OpenClaude uninstalled"
75
+ return 0
76
+ }
77
+
78
+ _uninstall_openclaude_impl() {
79
+ if ! npm uninstall -g @gitlawb/openclaude &>>"$LOG_FILE"; then
80
+ log_error "Failed to uninstall OpenClaude"
81
+ return 1
82
+ fi
83
+ return 0
84
+ }
85
+
86
+ update_openclaude() {
87
+ log_info "Updating OpenClaude..."
88
+ mkdir -p "$(dirname "$LOG_FILE")"
89
+
90
+ loading "Updating OpenClaude" _update_openclaude_impl
91
+
92
+ log_success "OpenClaude updated"
93
+ return 0
94
+ }
95
+
96
+ _update_openclaude_impl() {
97
+ export GYP_DEFINES="android_ndk_path=''"
98
+ export ANDROID_API_LEVEL=24
99
+
100
+ if ! npm update -g @gitlawb/openclaude &>>"$LOG_FILE"; then
101
+ log_error "Failed to update OpenClaude"
102
+ return 1
103
+ fi
104
+ return 0
105
+ }
106
+
107
+ reinstall_openclaude() {
108
+ uninstall_openclaude
109
+ install_openclaude
110
+ }
@@ -0,0 +1,47 @@
1
+ # OpenClaw
2
+
3
+ Personal AI Assistant
4
+
5
+ **Package:** openclaw
6
+ **Author:** israel676767
7
+ **Repository:** https://github.com/israel676767/omni
8
+ **Official:** https://github.com/openclaw/openclaw
9
+ **Type:** AI assistant aggregator (npm global package)
10
+ **License:** MIT
11
+
12
+ ## Description
13
+
14
+ OpenClaw is a Personal AI Assistant. It provides a unified interface for interacting with AI services from your terminal.
15
+
16
+ ## Dependencies
17
+
18
+ - Node.js LTS (nodejs-lts)
19
+ - npm
20
+ - git, ripgrep
21
+ - Additional npm packages: @larksuiteoapi/node-sdk, nostr-tools, @slack/web-api, @whiskeysockets/baileys
22
+
23
+ ## Install
24
+
25
+ ```bash
26
+ core install ai --openclaw
27
+ ```
28
+
29
+ ## Uninstall
30
+
31
+ ```bash
32
+ core uninstall ai --openclaw
33
+ ```
34
+
35
+ ## Update
36
+
37
+ ```bash
38
+ core update ai --openclaw
39
+ ```
40
+
41
+ ## Notes
42
+
43
+ - Installed as a global npm package: `openclaw`
44
+ - Command: `openclaw`
45
+ - Installs companion SDK packages for multi-platform support
46
+ - Requires configuration for each platform
47
+
@@ -0,0 +1,112 @@
1
+ #!/usr/bin/env bash
2
+
3
+ import "@/utils/log"
4
+
5
+ LOG_FILE="$OMNI_CACHE/install_ai.log"
6
+
7
+ _openclaw_dependencies() {
8
+ loading "Installing dependencies" _openclaw_dependencies_impl
9
+ }
10
+
11
+ _openclaw_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_openclaw_npm() {
33
+ loading "Installing OpenClaw and dependencies" _install_openclaw_npm_impl
34
+ }
35
+
36
+ _install_openclaw_npm_impl() {
37
+ export GYP_DEFINES="android_ndk_path=''"
38
+ export ANDROID_API_LEVEL=24
39
+
40
+ npm install -g @larksuiteoapi/node-sdk nostr-tools @slack/web-api @whiskeysockets/baileys &>>"$LOG_FILE"
41
+
42
+ if ! npm install -g openclaw@latest &>>"$LOG_FILE"; then
43
+ log_error "Failed to install OpenClaw"
44
+ return 1
45
+ fi
46
+
47
+ return 0
48
+ }
49
+
50
+ install_openclaw() {
51
+ if command -v openclaw &>/dev/null; then
52
+ log_info "OpenClaw is already installed"
53
+ return 2
54
+ fi
55
+ log_info "Installing OpenClaw..."
56
+
57
+ mkdir -p "$(dirname "$LOG_FILE")"
58
+
59
+ _openclaw_dependencies || return 1
60
+ _install_openclaw_npm || return 1
61
+
62
+ log_success "OpenClaw installed"
63
+ return 0
64
+ }
65
+
66
+ uninstall_openclaw() {
67
+ if ! command -v openclaw &>/dev/null; then
68
+ log_info "OpenClaw is not installed"
69
+ return 2
70
+ fi
71
+ log_info "Uninstalling OpenClaw..."
72
+ mkdir -p "$(dirname "$LOG_FILE")"
73
+
74
+ loading "Removing OpenClaw" _uninstall_openclaw_impl
75
+
76
+ log_success "OpenClaw uninstalled"
77
+ return 0
78
+ }
79
+
80
+ _uninstall_openclaw_impl() {
81
+ if ! npm uninstall -g openclaw @larksuiteoapi/node-sdk nostr-tools @slack/web-api @whiskeysockets/baileys &>>"$LOG_FILE"; then
82
+ log_error "Failed to uninstall OpenClaw"
83
+ return 1
84
+ fi
85
+ return 0
86
+ }
87
+
88
+ update_openclaw() {
89
+ log_info "Updating OpenClaw..."
90
+ mkdir -p "$(dirname "$LOG_FILE")"
91
+
92
+ loading "Updating OpenClaw" _update_openclaw_impl
93
+
94
+ log_success "OpenClaw updated"
95
+ return 0
96
+ }
97
+
98
+ _update_openclaw_impl() {
99
+ export GYP_DEFINES="android_ndk_path=''"
100
+ export ANDROID_API_LEVEL=24
101
+
102
+ if ! npm update -g openclaw @larksuiteoapi/node-sdk nostr-tools @slack/web-api @whiskeysockets/baileys &>>"$LOG_FILE"; then
103
+ log_error "Failed to update OpenClaw"
104
+ return 1
105
+ fi
106
+ return 0
107
+ }
108
+
109
+ reinstall_openclaw() {
110
+ uninstall_openclaw
111
+ install_openclaw
112
+ }
@@ -0,0 +1,51 @@
1
+ # OpenCode
2
+
3
+ Open-source agent that helps you write code in your terminal
4
+
5
+ **Package:** opencode
6
+ **Author:** israel676767
7
+ **Repository:** https://github.com/israel676767/omni
8
+ **Official:** https://github.com/anomalyco/opencode
9
+ **Type:** AI coding agent (Binary + glibc bootstrapper)
10
+ **License:** MIT
11
+
12
+ ## Description
13
+
14
+ OpenCode is an AI-powered coding agent developed by anomalyco that operates directly in your terminal. It provides intelligent code completion, refactoring suggestions, and natural language code generation. Omni Catalyst offers two installation methods: native with glibc support for best performance, or via proot-distro Ubuntu container for maximum compatibility.
15
+
16
+ ## Dependencies
17
+
18
+ - **Native mode:** glibc-repo, glibc, clang, git, ripgrep, python, jq, nodejs-lts, curl, tar
19
+ - **Proot mode:** proot-distro, curl, ca-certificates
20
+
21
+ ## Install
22
+
23
+ ```bash
24
+ core install ai --opencode
25
+ ```
26
+
27
+ You will be prompted to choose:
28
+
29
+ 1. **Native (recommended)** — Compiles a glibc bootstrapper and downloads the latest OpenCode binary from GitHub releases
30
+ 2. **Proot-distro (alternative)** — Runs OpenCode inside an Ubuntu proot-distro container
31
+
32
+ ## Uninstall
33
+
34
+ ```bash
35
+ core uninstall ai --opencode
36
+ ```
37
+
38
+ ## Update
39
+
40
+ ```bash
41
+ core update ai --opencode
42
+ ```
43
+
44
+ ## Notes
45
+
46
+ - **Native mode** requires `glibc-repo`, `glibc`, `clang`, and other dependencies (installed automatically)
47
+ - The native binary is stored in `~/.local/share/omni-data/opencode/`
48
+ - A small C bootstrapper (`opencode_helper.c`) handles ELF loading via the glibc dynamic linker
49
+ - **Proot mode** uses `proot-distro ubuntu` and installs via the official opencode.ai installer
50
+ - Data directory: `~/.local/share/omni-data/opencode/`
51
+
@@ -0,0 +1,28 @@
1
+ #!/data/data/com.termux/files/usr/bin/bash
2
+
3
+ UBUNTU_ROOTFS="__UBUNTU_ROOTFS__"
4
+
5
+ EXCLUDE_REGEX="^(PATH|LD_PRELOAD|LD_LIBRARY_PATH|PREFIX|HOME|PWD|OLDPWD|SHELL|IFS|_|SHLVL|PROMPT_COMMAND|TERMCAP|LS_COLORS|TERM)="
6
+
7
+ ENV_ARGS=()
8
+ while IFS= read -r line; do
9
+ if [[ -n "$line" && ! "$line" =~ $EXCLUDE_REGEX ]]; then
10
+ ENV_ARGS+=("--env" "$line")
11
+ fi
12
+ done < <(env)
13
+
14
+ ENV_ARGS+=(
15
+ "--env" "SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt"
16
+ "--env" "TERM=$TERM"
17
+ "--env" "HOME=/root"
18
+ )
19
+
20
+ unset LD_PRELOAD
21
+ proot-distro login \
22
+ "${ENV_ARGS[@]}" \
23
+ --termux-home \
24
+ --shared-tmp \
25
+ --bind "$UBUNTU_ROOTFS/root/.opencode:/root/.opencode" \
26
+ --work-dir $PWD \
27
+ ubuntu \
28
+ -- /root/.opencode/bin/opencode "$@"