omnish 2.1.9 → 2.2.1
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/CHANGELOG.md +21 -0
- package/README.md +23 -8
- package/contrib/install-omnish.ps1 +133 -0
- package/contrib/install-omnish.sh +17 -0
- package/dist/downloads/omnish-claude.tar.gz +0 -0
- package/dist/downloads/omnish-cursor.tar.gz +0 -0
- package/dist/index.js +270 -270
- package/dist/install-script-url.cjs +7 -0
- package/package.json +2 -1
- package/scripts/install-script-url.cjs +7 -0
- package/scripts/node-version.cjs +9 -2
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,26 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [2.2.1] - 2026-07-11
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
|
|
14
|
+
- **Platform attached reply loop:** stop echoing `reply_error` deliveries back to the same peer (prevented CPU/log storms when Omnish Chat client disconnects).
|
|
15
|
+
- **Tunnel relay:** cooldown drops outbound replies for disconnected `ochat:` peers; normalize `ochat:ochat:` peer keys.
|
|
16
|
+
- **Omnishchat allowlist:** strip `ochat:` prefix from stored install ids so lifecycle broadcasts do not double-prefix peer keys.
|
|
17
|
+
|
|
18
|
+
## [2.2.0] - 2026-07-11
|
|
19
|
+
|
|
20
|
+
### Added
|
|
21
|
+
|
|
22
|
+
- **Windows installer:** `contrib/install-omnish.ps1` at `https://platform.omnish.dev/action/install-omnish.ps1` (`irm … | iex`); nvm-windows and winget paths.
|
|
23
|
+
- **macOS Homebrew path** in `contrib/install-omnish.sh` when Node is below 22.13.
|
|
24
|
+
|
|
25
|
+
### Changed
|
|
26
|
+
|
|
27
|
+
- **Install docs:** README and quick-start use per-OS table (Linux, macOS, Windows, WSL); script-first hero line.
|
|
28
|
+
- **Preinstall/runtime errors:** Windows lead with PowerShell installer URL.
|
|
29
|
+
|
|
10
30
|
## [2.1.9] - 2026-07-11
|
|
11
31
|
|
|
12
32
|
### Added
|
|
@@ -112,6 +132,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
112
132
|
|
|
113
133
|
- Documentation and formatting updates across chat components and feature docs.
|
|
114
134
|
|
|
135
|
+
[2.2.0]: https://github.com/labKnowledge/omnish/compare/v2.1.9...v2.2.0
|
|
115
136
|
[2.1.9]: https://github.com/labKnowledge/omnish/compare/v2.1.8...v2.1.9
|
|
116
137
|
[2.1.8]: https://github.com/labKnowledge/omnish/compare/v2.1.7...v2.1.8
|
|
117
138
|
[2.1.7]: https://github.com/labKnowledge/omnish/compare/v2.1.6...v2.1.7
|
package/README.md
CHANGED
|
@@ -8,7 +8,17 @@
|
|
|
8
8
|
|
|
9
9
|
**Allowlisted inbox → your real shell.** No AI layer: commands run on **your** machine, and only identities you allow can trigger them.
|
|
10
10
|
|
|
11
|
-
**Try it:** [omnish.dev](https://omnish.dev) ·
|
|
11
|
+
**Try it:** [omnish.dev](https://omnish.dev) · one-command install → **[Quick start](docs/guides/quick-start.md)** (first `!` command in minutes).
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
# Linux / macOS / WSL
|
|
15
|
+
curl -fsSL https://platform.omnish.dev/action/install-omnish.sh | bash
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
```powershell
|
|
19
|
+
# Windows (PowerShell)
|
|
20
|
+
irm https://platform.omnish.dev/action/install-omnish.ps1 | iex
|
|
21
|
+
```
|
|
12
22
|
|
|
13
23
|
> The OpenClaw alternative that puts developers back in control.
|
|
14
24
|
|
|
@@ -107,18 +117,23 @@ Each **chat** (WhatsApp DM / Telegram DM) has its own shortcut map on disk (`sho
|
|
|
107
117
|
|
|
108
118
|
Names are alphanumeric plus `_`/`-`, max 32 characters; several names are reserved (e.g. `help`, `apps`, `bg`). See `/shortcut help` for the full behavior.
|
|
109
119
|
|
|
110
|
-
## Install
|
|
120
|
+
## Install
|
|
111
121
|
|
|
112
|
-
**
|
|
122
|
+
Use the **guided installer** — it upgrades Node when needed and runs `npm install -g omnish`. Pick your OS:
|
|
113
123
|
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
124
|
+
| OS | Command |
|
|
125
|
+
| --------------------- | ------------------------------------------------------------------------------- |
|
|
126
|
+
| **Linux** (incl. VPS) | `curl -fsSL https://platform.omnish.dev/action/install-omnish.sh \| bash` |
|
|
127
|
+
| **macOS** | Same as Linux (Terminal). Uses Homebrew, nvm, or fnm when Node is below 22.13 |
|
|
128
|
+
| **Windows** | `irm https://platform.omnish.dev/action/install-omnish.ps1 \| iex` (PowerShell) |
|
|
129
|
+
| **WSL** | Use the Linux command inside your WSL distro |
|
|
117
130
|
|
|
118
|
-
The installer
|
|
131
|
+
The installer prints next steps: `omnish link` → `omnish allow` → `omnish start` → first `!` command in chat.
|
|
119
132
|
|
|
120
133
|
### Already on Node 22.13+
|
|
121
134
|
|
|
135
|
+
If `node -v` shows v22.13 or newer, you can skip the installer:
|
|
136
|
+
|
|
122
137
|
```bash
|
|
123
138
|
npm install -g omnish
|
|
124
139
|
omnish link
|
|
@@ -126,7 +141,7 @@ omnish allow +YOUR_E164
|
|
|
126
141
|
omnish run
|
|
127
142
|
```
|
|
128
143
|
|
|
129
|
-
`npm install -g omnish` on Node below 22.13 will fail by design — use the installer above
|
|
144
|
+
`npm install -g omnish` on Node below 22.13 will fail by design — use the installer above (ignore `EBADENGINE` warnings on old distro Node).
|
|
130
145
|
|
|
131
146
|
**Single phone:** omnish runs on a PC or server; you link it like WhatsApp Web (one QR scan on your phone). See [Quick start — One phone with WhatsApp](docs/guides/quick-start.md#one-phone-with-whatsapp).
|
|
132
147
|
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
# omnish bootstrap installer for Windows — Node 22.13+ then npm install -g omnish
|
|
2
|
+
# Canonical URL: https://platform.omnish.dev/action/install-omnish.ps1
|
|
3
|
+
# Usage: irm https://platform.omnish.dev/action/install-omnish.ps1 | iex
|
|
4
|
+
|
|
5
|
+
$ErrorActionPreference = "Stop"
|
|
6
|
+
|
|
7
|
+
$OmnishSpec = if ($env:OMNISH_NPM_SPEC) { $env:OMNISH_NPM_SPEC } else { "omnish" }
|
|
8
|
+
$NodeMajor = if ($env:OMNISH_NODE_MAJOR) { $env:OMNISH_NODE_MAJOR } else { "22" }
|
|
9
|
+
$InstallScriptUrl = "https://platform.omnish.dev/action/install-omnish.ps1"
|
|
10
|
+
|
|
11
|
+
function Write-Banner {
|
|
12
|
+
Write-Host ""
|
|
13
|
+
Write-Host " omnish — allowlisted inbox → your real shell"
|
|
14
|
+
Write-Host " ────────────────────────────────────────────"
|
|
15
|
+
Write-Host " WhatsApp / Telegram / 20+ channels. No AI layer."
|
|
16
|
+
Write-Host ""
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
function Write-Step([string]$Message) {
|
|
20
|
+
Write-Host ""
|
|
21
|
+
Write-Host "▸ $Message" -ForegroundColor Cyan
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
function Get-NodeVersionLabel {
|
|
25
|
+
try {
|
|
26
|
+
return (node -v)
|
|
27
|
+
} catch {
|
|
28
|
+
return "(not installed)"
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
function Test-NodeVersionOk {
|
|
33
|
+
try {
|
|
34
|
+
$raw = (node -v) -replace '^v', ''
|
|
35
|
+
$parts = $raw.Split('.')
|
|
36
|
+
if ($parts.Count -lt 2) { return $false }
|
|
37
|
+
$maj = [int]$parts[0]
|
|
38
|
+
$min = [int]$parts[1]
|
|
39
|
+
return ($maj -gt 22) -or ($maj -eq 22 -and $min -ge 13)
|
|
40
|
+
} catch {
|
|
41
|
+
return $false
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
function Install-Omnish {
|
|
46
|
+
Write-Step "Installing omnish CLI (npm install -g $OmnishSpec) …"
|
|
47
|
+
npm install -g $OmnishSpec
|
|
48
|
+
Write-Host ""
|
|
49
|
+
try {
|
|
50
|
+
$ver = omnish --version 2>$null
|
|
51
|
+
if ($ver) { Write-Host "✓ omnish $ver" -ForegroundColor Green }
|
|
52
|
+
else { Write-Host "✓ omnish installed (reopen PowerShell if omnish not found)" -ForegroundColor Green }
|
|
53
|
+
} catch {
|
|
54
|
+
Write-Host "✓ omnish installed (reopen PowerShell if omnish not found)" -ForegroundColor Green
|
|
55
|
+
}
|
|
56
|
+
Write-Host ""
|
|
57
|
+
Write-Host @"
|
|
58
|
+
You're ready. Run these next (≈2 minutes to first command):
|
|
59
|
+
|
|
60
|
+
omnish link Link WhatsApp (QR) or Telegram (--tg <token>)
|
|
61
|
+
omnish allow +E164 Allow your phone number
|
|
62
|
+
omnish start Run the gateway in the background
|
|
63
|
+
|
|
64
|
+
Then message yourself: !pwd or !ls
|
|
65
|
+
|
|
66
|
+
Docs: https://omnish.dev · Help: omnish --help
|
|
67
|
+
"@
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
function Try-NvmWindows {
|
|
71
|
+
$nvm = Get-Command nvm -ErrorAction SilentlyContinue
|
|
72
|
+
if (-not $nvm) { return $false }
|
|
73
|
+
Write-Step "Upgrading Node via nvm-windows ($NodeMajor) …"
|
|
74
|
+
nvm install $NodeMajor
|
|
75
|
+
nvm use $NodeMajor
|
|
76
|
+
return $true
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
function Try-WingetNode {
|
|
80
|
+
$winget = Get-Command winget -ErrorAction SilentlyContinue
|
|
81
|
+
if (-not $winget) { return $false }
|
|
82
|
+
Write-Step "Installing Node.js LTS via winget …"
|
|
83
|
+
winget install --id OpenJS.NodeJS.LTS -e --accept-source-agreements --accept-package-agreements
|
|
84
|
+
$env:Path = [System.Environment]::GetEnvironmentVariable("Path", "Machine") + ";" + [System.Environment]::GetEnvironmentVariable("Path", "User")
|
|
85
|
+
return $true
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
function Show-ManualHelp {
|
|
89
|
+
Write-Host ""
|
|
90
|
+
Write-Host "omnish needs Node.js 22.13 or newer."
|
|
91
|
+
Write-Host "You have: $(Get-NodeVersionLabel)"
|
|
92
|
+
Write-Host ""
|
|
93
|
+
Write-Host "Automatic upgrade failed. Pick one path:"
|
|
94
|
+
Write-Host ""
|
|
95
|
+
Write-Host " nvm-windows (recommended):"
|
|
96
|
+
Write-Host " nvm install $NodeMajor"
|
|
97
|
+
Write-Host " nvm use $NodeMajor"
|
|
98
|
+
Write-Host " npm install -g $OmnishSpec"
|
|
99
|
+
Write-Host ""
|
|
100
|
+
Write-Host " winget:"
|
|
101
|
+
Write-Host " winget install OpenJS.NodeJS.LTS"
|
|
102
|
+
Write-Host " npm install -g $OmnishSpec"
|
|
103
|
+
Write-Host ""
|
|
104
|
+
Write-Host " Official installer:"
|
|
105
|
+
Write-Host " https://nodejs.org/en/download"
|
|
106
|
+
Write-Host ""
|
|
107
|
+
Write-Host " Re-run the guided installer:"
|
|
108
|
+
Write-Host " irm $InstallScriptUrl | iex"
|
|
109
|
+
Write-Host ""
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
Write-Banner
|
|
113
|
+
Write-Step "Checking Node.js (need 22.13+, you have $(Get-NodeVersionLabel))"
|
|
114
|
+
|
|
115
|
+
if ((Get-Command omnish -ErrorAction SilentlyContinue) -and (Test-NodeVersionOk)) {
|
|
116
|
+
Write-Host "omnish is already installed."
|
|
117
|
+
try { omnish --version } catch {}
|
|
118
|
+
Write-Host "To upgrade: npm install -g omnish@latest"
|
|
119
|
+
exit 0
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
if (Test-NodeVersionOk) {
|
|
123
|
+
Install-Omnish
|
|
124
|
+
exit 0
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
if ((Try-NvmWindows -or Try-WingetNode) -and (Test-NodeVersionOk)) {
|
|
128
|
+
Install-Omnish
|
|
129
|
+
exit 0
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
Show-ManualHelp
|
|
133
|
+
exit 1
|
|
@@ -115,6 +115,17 @@ try_fnm() {
|
|
|
115
115
|
return 1
|
|
116
116
|
}
|
|
117
117
|
|
|
118
|
+
try_homebrew() {
|
|
119
|
+
if [[ "$(uname -s)" != "Darwin" ]] || ! command -v brew >/dev/null 2>&1; then
|
|
120
|
+
return 1
|
|
121
|
+
fi
|
|
122
|
+
step "Upgrading Node via Homebrew node@${NODE_MAJOR} …"
|
|
123
|
+
brew install "node@${NODE_MAJOR}"
|
|
124
|
+
brew link --overwrite --force "node@${NODE_MAJOR}"
|
|
125
|
+
hash -r || true
|
|
126
|
+
return 0
|
|
127
|
+
}
|
|
128
|
+
|
|
118
129
|
try_nodesource() {
|
|
119
130
|
if ! is_debian_ubuntu; then
|
|
120
131
|
return 1
|
|
@@ -196,6 +207,12 @@ main() {
|
|
|
196
207
|
fi
|
|
197
208
|
fi
|
|
198
209
|
|
|
210
|
+
# macOS — Homebrew before nvm when available.
|
|
211
|
+
if [[ "$(uname -s)" == "Darwin" ]] && try_homebrew && node_version_ok; then
|
|
212
|
+
install_omnish
|
|
213
|
+
exit 0
|
|
214
|
+
fi
|
|
215
|
+
|
|
199
216
|
if try_nvm || try_fnm; then
|
|
200
217
|
if node_version_ok; then
|
|
201
218
|
install_omnish
|
|
Binary file
|
|
Binary file
|