Compare commits
52
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
895e1d116d | ||
|
|
2164ae776d | ||
|
|
0d3da375de | ||
|
|
5e1657904c | ||
|
|
e640293f68 | ||
|
|
a17db8e395 | ||
|
|
eafb3b317d | ||
|
|
28b50aa0a1 | ||
|
|
7144d7d703 | ||
|
|
83731e3b50 | ||
|
|
091959e796 | ||
|
|
b0a33ad8b3 | ||
|
|
9bfc49c0dc | ||
|
|
dd7d62105a | ||
|
|
297e85f632 | ||
|
|
6f3df355f3 | ||
|
|
a7d9595984 | ||
|
|
61ed068e37 | ||
|
|
0f02e79398 | ||
|
|
05141af8fe | ||
|
|
57e627bad0 | ||
|
|
5f838b7146 | ||
|
|
66c9938867 | ||
|
|
1d0fb30915 | ||
|
|
e333963f0f | ||
|
|
8e4677d96d | ||
|
|
78f590667d | ||
|
|
7390c0b8e6 | ||
|
|
e68f3b7c6c | ||
|
|
22c9b7d36a | ||
|
|
bc4f2e2293 | ||
|
|
75a21ac33b | ||
|
|
4223e7079d | ||
|
|
a53a238b30 | ||
|
|
75601493bd | ||
|
|
8915650074 | ||
|
|
92b51b0e86 | ||
|
|
ab225264bf | ||
|
|
b7e235dab1 | ||
|
|
dd2a9b8a3c | ||
|
|
6e4f2a831d | ||
|
|
a0d66325c9 | ||
|
|
088de74389 | ||
|
|
8d5b68125a | ||
|
|
28124fcfd6 | ||
|
|
150af949c5 | ||
|
|
df3b0435cd | ||
|
|
034dcf4609 | ||
|
|
4cd800ce08 | ||
|
|
f3b3fc6b6f | ||
|
|
c762e152aa | ||
|
|
23c2841119 |
No files matched your search
@@ -10,6 +10,7 @@
|
|||||||
|-------|-----|
|
|-------|-----|
|
||||||
| [`agent-arka/`](agent-arka/) | Agent Arka: демон + **веб-дашборд** (`http://127.0.0.1:4545`), установщик и пакеты |
|
| [`agent-arka/`](agent-arka/) | Agent Arka: демон + **веб-дашборд** (`http://127.0.0.1:4545`), установщик и пакеты |
|
||||||
| [`opencode/`](opencode/) | Провайдер OpenCode **Arka-AI**: установщик, плагин, skill, каталог чат-моделей |
|
| [`opencode/`](opencode/) | Провайдер OpenCode **Arka-AI**: установщик, плагин, skill, каталог чат-моделей |
|
||||||
|
| [`multica/`](multica/) | **Multica fork CLI**: daemon c поддержкой agent-arka, установщик |
|
||||||
|
|
||||||
Agent Arka (веб-интерфейс), Linux / WSL:
|
Agent Arka (веб-интерфейс), Linux / WSL:
|
||||||
|
|
||||||
@@ -17,6 +18,9 @@ Agent Arka (веб-интерфейс), Linux / WSL:
|
|||||||
curl -fsSL https://git.arka-ai.ru/arka/public/raw/branch/main/agent-arka/install.sh | bash
|
curl -fsSL https://git.arka-ai.ru/arka/public/raw/branch/main/agent-arka/install.sh | bash
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Agent Arka (Windows desktop): скачайте `Agent Arka_*_x64-setup.exe` из [релизов](https://git.arka-ai.ru/arka/public/releases/tag/agent-arka-v2026.9.1).
|
||||||
|
Установщик не подписан — SmartScreen → «Подробнее» → «Выполнить в любом случае».
|
||||||
|
|
||||||
Подробности: [agent-arka/README.md](agent-arka/README.md).
|
Подробности: [agent-arka/README.md](agent-arka/README.md).
|
||||||
|
|
||||||
OpenCode, macOS / Linux / WSL:
|
OpenCode, macOS / Linux / WSL:
|
||||||
@@ -32,3 +36,17 @@ irm https://git.arka-ai.ru/arka/public/raw/branch/main/opencode/install-arka-pro
|
|||||||
```
|
```
|
||||||
|
|
||||||
Подробности: [opencode/README.md](opencode/README.md) — Windows, Desktop, установка из чата OpenCode.
|
Подробности: [opencode/README.md](opencode/README.md) — Windows, Desktop, установка из чата OpenCode.
|
||||||
|
|
||||||
|
Multica fork CLI, macOS / Linux / WSL:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
curl -fsSL https://git.arka-ai.ru/arka/public/raw/branch/main/multica/install.sh | bash
|
||||||
|
```
|
||||||
|
|
||||||
|
Multica fork CLI, Windows (PowerShell):
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
irm https://git.arka-ai.ru/arka/public/raw/branch/main/multica/install.ps1 | iex
|
||||||
|
```
|
||||||
|
|
||||||
|
Подробности: [multica/README.md](multica/README.md).
|
||||||
+34
-21
@@ -1,10 +1,11 @@
|
|||||||
# Agent Arka — дистрибутив с веб-интерфейсом
|
# Agent Arka — дистрибутив с веб-интерфейсом и Windows desktop
|
||||||
|
|
||||||
Ставит CLI `agent-arka`, поднимает демон и открывает **веб-дашборд** на `http://127.0.0.1:4545`. Это не приложение Tauri (Dock / NSIS); это агент с браузерным UI.
|
На Linux / WSL ставит CLI `agent-arka`, поднимает демон и открывает **веб-дашборд** на `http://127.0.0.1:4545`.
|
||||||
|
На Windows — отдельный установщик NSIS (`Agent Arka_*_x64-setup.exe`): то же ядро и дашборд внутри окна Tauri.
|
||||||
|
|
||||||
Исходники приватны: [`arka/agent-arka`](https://git.arka-ai.ru/arka/agent-arka). Сборки и этот установщик публичные, без токена.
|
Исходники приватны: [`arka/agent-arka`](https://git.arka-ai.ru/arka/agent-arka). Сборки и этот установщик публичные, без токена.
|
||||||
|
|
||||||
Версия пакета: **2026.9.1**.
|
Версия пакета: **2026.10.7**.
|
||||||
|
|
||||||
## Установка (Linux / WSL)
|
## Установка (Linux / WSL)
|
||||||
|
|
||||||
@@ -26,7 +27,7 @@ curl -fsSL https://git.arka-ai.ru/arka/public/raw/branch/main/agent-arka/install
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
curl -fsSL https://git.arka-ai.ru/arka/public/raw/branch/main/agent-arka/install.sh \
|
curl -fsSL https://git.arka-ai.ru/arka/public/raw/branch/main/agent-arka/install.sh \
|
||||||
| AGENT_ARKA_VERSION=2026.9.1 bash
|
| AGENT_ARKA_VERSION=2026.10.7 bash
|
||||||
```
|
```
|
||||||
|
|
||||||
Не стартовать демон:
|
Не стартовать демон:
|
||||||
@@ -37,6 +38,8 @@ curl -fsSL https://git.arka-ai.ru/arka/public/raw/branch/main/agent-arka/install
|
|||||||
agent-arka start
|
agent-arka start
|
||||||
```
|
```
|
||||||
|
|
||||||
|
На **pc162** (Armbian aarch64, PocketClaw) та же команда: установщик сам берёт `linux-aarch64`.
|
||||||
|
|
||||||
## Что нужно
|
## Что нужно
|
||||||
|
|
||||||
- `curl`, `tar`, `sha256sum` (Linux) или `shasum` (macOS)
|
- `curl`, `tar`, `sha256sum` (Linux) или `shasum` (macOS)
|
||||||
@@ -45,19 +48,33 @@ agent-arka start
|
|||||||
- Ключ API для моделей: [arka-ai.ru → API keys](https://arka-ai.ru). Один раз показывается секрет. В `~/.agent-arka/secrets.env` (или `~/.librefang/secrets.env`):
|
- Ключ API для моделей: [arka-ai.ru → API keys](https://arka-ai.ru). Один раз показывается секрет. В `~/.agent-arka/secrets.env` (или `~/.librefang/secrets.env`):
|
||||||
|
|
||||||
```
|
```
|
||||||
ARKA_API_KEY=sk-...
|
ARKA_API_KEY=ABCDEFGHIJKLMNOPQRSTUVWXYZ234567ABCDEFGHIJKL
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Ключ — голый токен: заглавные A–Z и 0–9, ~40 символов, без префикса `sk-`.
|
||||||
|
|
||||||
После правки `secrets.env` перезапуск: `agent-arka restart`.
|
После правки `secrets.env` перезапуск: `agent-arka restart`.
|
||||||
|
|
||||||
|
## Windows (desktop)
|
||||||
|
|
||||||
|
Скачайте `Agent Arka_*_x64-setup.exe` с [страницы релиза](https://git.arka-ai.ru/arka/public/releases/tag/agent-arka-v2026.10.7).
|
||||||
|
|
||||||
|
- Установщик **не подписан**. SmartScreen: «Подробнее» → «Выполнить в любом случае».
|
||||||
|
- При первой установке нужен интернет: подтягивается WebView2 Evergreen, если его ещё нет.
|
||||||
|
- Демон слушает `http://127.0.0.1:4545` внутри приложения.
|
||||||
|
|
||||||
|
Альтернатива на Windows — WSL (`wsl --install`) и команда Linux выше.
|
||||||
|
|
||||||
## Платформы
|
## Платформы
|
||||||
|
|
||||||
| Архив | Для кого |
|
| Архив | Для кого |
|
||||||
|-------|----------|
|
|-------|----------|
|
||||||
| `agent-arka-*-linux-x86_64.tar.gz` | Linux / WSL, x86_64 (glibc ≥ 2.35) |
|
| `agent-arka-*-linux-x86_64.tar.gz` | Linux / WSL, x86_64 (glibc ≥ 2.35) |
|
||||||
| `agent-arka-*-linux-aarch64.tar.gz` | Linux aarch64 (Orange Pi, PC162, Ampere; glibc ≥ 2.35) |
|
| `agent-arka-*-linux-aarch64.tar.gz` | Linux aarch64 — Armbian / pc162 (PocketClaw, sunxi64), Orange Pi, Ampere (glibc ≥ 2.35) |
|
||||||
|
| `Agent Arka_*_x64-setup.exe` | Windows 10/11 x64, desktop (NSIS) |
|
||||||
|
| `Agent Arka_*_aarch64.dmg` | macOS Apple Silicon (arm64), desktop |
|
||||||
|
|
||||||
macOS и Windows native в этом релизе **нет** (установщик на Darwin честно завершится с ошибкой скачивания). На Mac — Desktop DMG, когда он опубликован; на Windows — WSL (`wsl --install`) и команда Linux выше.
|
macOS — только Apple Silicon (arm64), в виде `Agent Arka_*_aarch64.dmg`. Интел (x86_64) версии нет. Установщик на Darwin из tarball завершится ошибкой скачивания — используйте DMG.
|
||||||
|
|
||||||
## Команды после установки
|
## Команды после установки
|
||||||
|
|
||||||
@@ -81,21 +98,11 @@ agent-arka doctor
|
|||||||
|
|
||||||
Пароль вкладки Password — аварийный (`dashboard_user = operator`). Init печатает его один раз.
|
Пароль вкладки Password — аварийный (`dashboard_user = operator`). Init печатает его один раз.
|
||||||
|
|
||||||
## Сборка из исходников (если нет пакета под вашу OS)
|
|
||||||
|
|
||||||
Репозиторий приватный. У кого есть доступ:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cargo install --git ssh://git@git.arka-ai.ru:4001/arka/agent-arka.git librefang-cli --bin agent-arka
|
|
||||||
agent-arka init --quick
|
|
||||||
agent-arka start
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# Agent Arka — web UI distribution
|
# Agent Arka — web UI and Windows desktop
|
||||||
|
|
||||||
Installs the `agent-arka` CLI, starts the daemon, and serves the **browser dashboard** at `http://127.0.0.1:4545`. This is not the Tauri desktop app.
|
On Linux / WSL this installs the `agent-arka` CLI, starts the daemon, and serves the **browser dashboard** at `http://127.0.0.1:4545`.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
curl -fsSL https://git.arka-ai.ru/arka/public/raw/branch/main/agent-arka/install.sh | bash
|
curl -fsSL https://git.arka-ai.ru/arka/public/raw/branch/main/agent-arka/install.sh | bash
|
||||||
@@ -103,8 +110,14 @@ curl -fsSL https://git.arka-ai.ru/arka/public/raw/branch/main/agent-arka/install
|
|||||||
|
|
||||||
Then open [http://127.0.0.1:4545](http://127.0.0.1:4545) and use **Arka AI** to sign in.
|
Then open [http://127.0.0.1:4545](http://127.0.0.1:4545) and use **Arka AI** to sign in.
|
||||||
|
|
||||||
Pin a version with `AGENT_ARKA_VERSION=2026.9.1`. Skip autostart with `AGENT_ARKA_AUTO_START=0`.
|
On **pc162** (Armbian aarch64, PocketClaw) the same command fetches `linux-aarch64`.
|
||||||
|
|
||||||
|
On Windows, download `Agent Arka_*_x64-setup.exe` from <https://git.arka-ai.ru/arka/public/releases/tag/agent-arka-v2026.10.7>.
|
||||||
|
The installer is unsigned: SmartScreen → More info → Run anyway.
|
||||||
|
First install needs network for the WebView2 Evergreen bootstrapper.
|
||||||
|
|
||||||
|
Pin a version with `AGENT_ARKA_VERSION=2026.10.7`. Skip autostart with `AGENT_ARKA_AUTO_START=0`.
|
||||||
|
|
||||||
Put `ARKA_API_KEY` in `~/.agent-arka/secrets.env` (or `~/.librefang/secrets.env` if that home already exists). Create a key at [arka-ai.ru](https://arka-ai.ru).
|
Put `ARKA_API_KEY` in `~/.agent-arka/secrets.env` (or `~/.librefang/secrets.env` if that home already exists). Create a key at [arka-ai.ru](https://arka-ai.ru).
|
||||||
|
|
||||||
Releases (tarballs + `SHA256SUMS`): <https://git.arka-ai.ru/arka/public/releases>
|
Releases (Linux tarballs, Windows NSIS, `SHA256SUMS`): <https://git.arka-ai.ru/arka/public/releases>
|
||||||
+61
-13
@@ -11,6 +11,14 @@
|
|||||||
# AGENT_ARKA_INIT 1 to run `agent-arka init --quick` when no config.toml exists (default: 1)
|
# AGENT_ARKA_INIT 1 to run `agent-arka init --quick` when no config.toml exists (default: 1)
|
||||||
# LIBREFANG_* names for the same keys still work.
|
# LIBREFANG_* names for the same keys still work.
|
||||||
|
|
||||||
|
# Fail with a clear hint when piped into POSIX `sh` (dash) — this script needs
|
||||||
|
# bash (pipefail, [[ ]], indirect expansion). `curl … | bash`, not `| sh`.
|
||||||
|
if [ -z "${BASH_VERSION:-}" ]; then
|
||||||
|
echo "Agent Arka installer needs bash. Run:" >&2
|
||||||
|
echo " curl -fsSL https://git.arka-ai.ru/arka/public/raw/branch/main/agent-arka/install.sh | bash" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
PUBLIC_API="${AGENT_ARKA_PUBLIC_API:-https://git.arka-ai.ru/api/v1}"
|
PUBLIC_API="${AGENT_ARKA_PUBLIC_API:-https://git.arka-ai.ru/api/v1}"
|
||||||
@@ -33,6 +41,10 @@ ok() { printf '%s✓%s %s\n' "$C_GREEN" "$C_RESET" "$*"; }
|
|||||||
warn() { printf '%s⚠%s %s\n' "$C_YELLOW" "$C_RESET" "$*"; }
|
warn() { printf '%s⚠%s %s\n' "$C_YELLOW" "$C_RESET" "$*"; }
|
||||||
die() { printf '%s✗%s %s\n' "$C_RED" "$C_RESET" "$*" >&2; exit 1; }
|
die() { printf '%s✗%s %s\n' "$C_RED" "$C_RESET" "$*" >&2; exit 1; }
|
||||||
|
|
||||||
|
_aa_tmp=""
|
||||||
|
cleanup() { [[ -n "${_aa_tmp:-}" ]] && rm -rf "$_aa_tmp"; }
|
||||||
|
trap cleanup EXIT
|
||||||
|
|
||||||
brand_env() {
|
brand_env() {
|
||||||
local suffix="$1"
|
local suffix="$1"
|
||||||
local new_name="AGENT_ARKA_${suffix}"
|
local new_name="AGENT_ARKA_${suffix}"
|
||||||
@@ -70,7 +82,7 @@ detect_platform() {
|
|||||||
linux) PLATFORM="linux-${arch}" ;;
|
linux) PLATFORM="linux-${arch}" ;;
|
||||||
darwin) PLATFORM="darwin-${arch}" ;;
|
darwin) PLATFORM="darwin-${arch}" ;;
|
||||||
mingw*|msys*|cygwin*)
|
mingw*|msys*|cygwin*)
|
||||||
die "On Windows use WSL, then this installer, or wait for the Desktop NSIS build. PowerShell: wsl --install"
|
die "This curl installer is for Linux/WSL. On Windows download Agent Arka_*_x64-setup.exe from https://git.arka-ai.ru/arka/public/releases/tag/agent-arka-v2026.9.1 (SmartScreen: More info → Run anyway). Or install WSL and re-run: wsl --install"
|
||||||
;;
|
;;
|
||||||
*) die "Unsupported OS: $os" ;;
|
*) die "Unsupported OS: $os" ;;
|
||||||
esac
|
esac
|
||||||
@@ -145,6 +157,19 @@ ensure_path() {
|
|||||||
warn "Added ${bindir} to PATH in ${rc} (open a new shell, or: source ${rc})"
|
warn "Added ${bindir} to PATH in ${rc} (open a new shell, or: source ${rc})"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Normalize a CalVer "YYYY.M.D" into a single sortable integer (YYYYMMDD pads).
|
||||||
|
ver_cmp_key() {
|
||||||
|
printf '%s' "$1" | awk -F. '{ printf "%04d%02d%02d", $1, $2, $3 }' 2>/dev/null || printf '%s' 0
|
||||||
|
}
|
||||||
|
|
||||||
|
# Installed version, or empty when there is no binary/detectable version.
|
||||||
|
installed_version() {
|
||||||
|
local bin="$1" out
|
||||||
|
[[ -x "$bin" ]] || return 1
|
||||||
|
out=$("$bin" --version 2>/dev/null | head -n 1) || return 1
|
||||||
|
printf '%s\n' "$out" | grep -oE '[0-9]{4}\.[0-9]+(\.[0-9]+)?' | tail -n 1
|
||||||
|
}
|
||||||
|
|
||||||
main() {
|
main() {
|
||||||
printf '%s\n' "${C_BOLD}Agent Arka${C_RESET} — web dashboard installer"
|
printf '%s\n' "${C_BOLD}Agent Arka${C_RESET} — web dashboard installer"
|
||||||
command -v curl >/dev/null 2>&1 || die "curl is required"
|
command -v curl >/dev/null 2>&1 || die "curl is required"
|
||||||
@@ -171,31 +196,54 @@ main() {
|
|||||||
info "Latest: ${version}"
|
info "Latest: ${version}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Update handling: detect an existing install and skip / stop / back it up.
|
||||||
|
local existing
|
||||||
|
existing=$(installed_version "${bindir}/agent-arka" 2>/dev/null || true)
|
||||||
|
if [[ -n "$existing" ]]; then
|
||||||
|
local ek tk
|
||||||
|
ek=$(ver_cmp_key "$existing")
|
||||||
|
tk=$(ver_cmp_key "$version")
|
||||||
|
if [[ "$ek" == "$tk" ]]; then
|
||||||
|
info "Already up to date: agent-arka ${existing} (target ${version})"
|
||||||
|
ensure_path "$bindir"
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
if [[ "$ek" -gt "$tk" ]]; then
|
||||||
|
warn "Downgrading ${existing} -> ${version}"
|
||||||
|
else
|
||||||
|
info "Upgrading ${existing} -> ${version}"
|
||||||
|
fi
|
||||||
|
# Bring the running daemon down before replacing the binary.
|
||||||
|
if AGENT_ARKA_HOME="${HOME_DIR}" LIBREFANG_HOME="${HOME_DIR}" "${bindir}/agent-arka" stop >/dev/null 2>&1; then
|
||||||
|
ok "Stopped running agent-arka ${existing}"
|
||||||
|
fi
|
||||||
|
# Keep a rollback copy of the current binary.
|
||||||
|
cp -f "${bindir}/agent-arka" "${bindir}/agent-arka.previous" 2>/dev/null || true
|
||||||
|
fi
|
||||||
|
|
||||||
local tag="${TAG_PREFIX}${version}"
|
local tag="${TAG_PREFIX}${version}"
|
||||||
local asset="agent-arka-${version}-${PLATFORM}.tar.gz"
|
local asset="agent-arka-${version}-${PLATFORM}.tar.gz"
|
||||||
local url="${PUBLIC_DL}/${tag}/${asset}"
|
local url="${PUBLIC_DL}/${tag}/${asset}"
|
||||||
local sums_url="${PUBLIC_DL}/${tag}/SHA256SUMS"
|
local sums_url="${PUBLIC_DL}/${tag}/SHA256SUMS"
|
||||||
local tmp
|
_aa_tmp=$(mktemp -d)
|
||||||
tmp=$(mktemp -d)
|
|
||||||
trap 'rm -rf "$tmp"' EXIT
|
|
||||||
|
|
||||||
info "Downloading ${asset}"
|
info "Downloading ${asset}"
|
||||||
if ! curl -fL --retry 3 -o "${tmp}/${asset}" "$url"; then
|
if ! curl -fsSL --retry 3 -o "${_aa_tmp}/${asset}" "$url"; then
|
||||||
die "No package for ${PLATFORM} in ${tag}. See https://git.arka-ai.ru/arka/public/releases"
|
die "No package for ${PLATFORM} in ${tag}. See https://git.arka-ai.ru/arka/public/releases"
|
||||||
fi
|
fi
|
||||||
curl -fsSL -o "${tmp}/SHA256SUMS" "$sums_url" || die "Missing SHA256SUMS for ${tag}"
|
curl -fsSL -o "${_aa_tmp}/SHA256SUMS" "$sums_url" || die "Missing SHA256SUMS for ${tag}"
|
||||||
local expected actual
|
local expected actual
|
||||||
expected=$(grep -E "[[:space:]]${asset}\$" "${tmp}/SHA256SUMS" | awk '{print $1}' | head -n 1)
|
expected=$(grep -E "[[:space:]]${asset}\$" "${_aa_tmp}/SHA256SUMS" | awk '{print $1}' | head -n 1)
|
||||||
[[ -n "$expected" ]] || die "SHA256SUMS has no entry for ${asset}"
|
[[ -n "$expected" ]] || die "SHA256SUMS has no entry for ${asset}"
|
||||||
actual=$(sha256_file "${tmp}/${asset}")
|
actual=$(sha256_file "${_aa_tmp}/${asset}")
|
||||||
[[ "$expected" == "$actual" ]] || die "SHA256 mismatch for ${asset} (got ${actual}, want ${expected})"
|
[[ "$expected" == "$actual" ]] || die "SHA256 mismatch for ${asset} (got ${actual}, want ${expected})"
|
||||||
ok "Checksum ok"
|
ok "Checksum ok"
|
||||||
|
|
||||||
tar -xzf "${tmp}/${asset}" -C "$tmp"
|
tar -xzf "${_aa_tmp}/${asset}" -C "$_aa_tmp"
|
||||||
[[ -f "${tmp}/agent-arka" ]] || die "Archive did not contain agent-arka"
|
[[ -f "${_aa_tmp}/agent-arka" ]] || die "Archive did not contain agent-arka"
|
||||||
chmod 755 "${tmp}/agent-arka"
|
chmod 755 "${_aa_tmp}/agent-arka"
|
||||||
"${tmp}/agent-arka" --version >/dev/null || die "Downloaded binary failed to run on this host"
|
"${_aa_tmp}/agent-arka" --version >/dev/null || die "Downloaded binary failed to run on this host"
|
||||||
cp -f "${tmp}/agent-arka" "${bindir}/agent-arka"
|
cp -f "${_aa_tmp}/agent-arka" "${bindir}/agent-arka"
|
||||||
ln -sfn agent-arka "${bindir}/librefang"
|
ln -sfn agent-arka "${bindir}/librefang"
|
||||||
ok "Installed ${bindir}/agent-arka ($("${bindir}/agent-arka" --version 2>/dev/null | head -n 1))"
|
ok "Installed ${bindir}/agent-arka ($("${bindir}/agent-arka" --version 2>/dev/null | head -n 1))"
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,59 @@
|
|||||||
|
# Multica fork CLI (Arka)
|
||||||
|
|
||||||
|
Кастомный билд CLI Multica от Arka: поддержка **agent-arka** runtime (провайдер
|
||||||
|
`agent-arka` на `plan.arka-ai.ru`), Arka SSO, русская локализация. Скачивается
|
||||||
|
из публичных релизов этого репозитория; токен не нужен.
|
||||||
|
|
||||||
|
## Установка
|
||||||
|
|
||||||
|
macOS / Linux / WSL:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
curl -fsSL https://git.arka-ai.ru/arka/public/raw/branch/main/multica/install.sh | bash
|
||||||
|
```
|
||||||
|
|
||||||
|
Windows (PowerShell):
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
irm https://git.arka-ai.ru/arka/public/raw/branch/main/multica/install.ps1 | iex
|
||||||
|
```
|
||||||
|
|
||||||
|
Бинарь ставится в `/usr/local/bin` (или `~/.local/bin`), на Windows — в
|
||||||
|
`~\.multica\bin`, и добавляется в `PATH`.
|
||||||
|
|
||||||
|
## Подключение к серверу
|
||||||
|
|
||||||
|
```bash
|
||||||
|
multica setup self-host \
|
||||||
|
--server-url https://plan.arka-ai.ru \
|
||||||
|
--app-url https://plan.arka-ai.ru
|
||||||
|
```
|
||||||
|
|
||||||
|
Команда настроит CLI, откроет браузер для входа и запустит daemon.
|
||||||
|
|
||||||
|
## Проверка
|
||||||
|
|
||||||
|
```bash
|
||||||
|
multica version # 0.6.2-arka
|
||||||
|
multica daemon status # running; агенты включают agent-arka
|
||||||
|
```
|
||||||
|
|
||||||
|
Проверить, что бинарь умеет agent-arka:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
multica daemon probe-runtimes
|
||||||
|
# provider_summary должен содержать "agent-arka"
|
||||||
|
```
|
||||||
|
|
||||||
|
## Пин версии
|
||||||
|
|
||||||
|
```bash
|
||||||
|
MULTICA_VERSION=0.6.2-arka curl -fsSL .../multica/install.sh | bash
|
||||||
|
```
|
||||||
|
|
||||||
|
## Релизы
|
||||||
|
|
||||||
|
Бинари публикуются в [релизах](https://git.arka-ai.ru/arka/public/releases/tag/multica-v0.6.2-arka):
|
||||||
|
`multica-cli-<version>-linux-{amd64,arm64}.tar.gz`,
|
||||||
|
`multica-cli-<version>-darwin-{amd64,arm64}.tar.gz`,
|
||||||
|
`multica-cli-<version>-windows-amd64.zip`, `checksums.txt`.
|
||||||
@@ -0,0 +1,133 @@
|
|||||||
|
# Multica fork CLI — Windows installer
|
||||||
|
#
|
||||||
|
# Installs the fork-built `multica.exe` CLI (with agent-arka runtime support,
|
||||||
|
# Arka SSO, Russian i18n) from arka/public releases.
|
||||||
|
#
|
||||||
|
# irm https://git.arka-ai.ru/arka/public/raw/branch/main/multica/install.ps1 | iex
|
||||||
|
#
|
||||||
|
# Environment:
|
||||||
|
# $env:MULTICA_VERSION pin a release (e.g. 0.6.1-arka). Default: newest multica-v* on git.arka-ai.ru/arka/public
|
||||||
|
|
||||||
|
$ErrorActionPreference = "Stop"
|
||||||
|
|
||||||
|
$PublicApi = if ($env:MULTICA_PUBLIC_API) { $env:MULTICA_PUBLIC_API } else { "https://git.arka-ai.ru/api/v1" }
|
||||||
|
$PublicDl = if ($env:MULTICA_PUBLIC_DL) { $env:MULTICA_PUBLIC_DL } else { "https://git.arka-ai.ru/arka/public/releases/download" }
|
||||||
|
$Repo = "arka/public"
|
||||||
|
$TagPrefix = "multica-v"
|
||||||
|
|
||||||
|
$BinDir = Join-Path $env:USERPROFILE ".multica\bin"
|
||||||
|
|
||||||
|
function Write-Info { Write-Host "==> $args" -ForegroundColor Cyan }
|
||||||
|
function Write-Ok { Write-Host "OK $args" -ForegroundColor Green }
|
||||||
|
function Write-Warn { Write-Host "WARN $args" -ForegroundColor Yellow }
|
||||||
|
function Write-Fail { Write-Host "FAIL $args" -ForegroundColor Red; exit 1 }
|
||||||
|
|
||||||
|
function Get-WindowsCliArch {
|
||||||
|
$arch = $env:PROCESSOR_ARCHITECTURE
|
||||||
|
if ($arch -eq "AMD64" -or $arch -eq "x86_64") { return "amd64" }
|
||||||
|
if ($arch -eq "ARM64") { return "arm64" }
|
||||||
|
Write-Fail "Unsupported architecture: $arch"
|
||||||
|
}
|
||||||
|
|
||||||
|
function Get-LatestMulticaVersion {
|
||||||
|
$url = "$PublicApi/repos/$Repo/releases?limit=50"
|
||||||
|
try {
|
||||||
|
$releases = Invoke-RestMethod -Uri $url -UseBasicParsing -ErrorAction Stop
|
||||||
|
} catch {
|
||||||
|
Write-Fail "Cannot list releases at $url : $_"
|
||||||
|
}
|
||||||
|
$tags = $releases | Where-Object { $_.tag_name -like "$TagPrefix*" } | ForEach-Object { $_.tag_name }
|
||||||
|
if (-not $tags) { Write-Fail "No ${TagPrefix}* releases on $Repo yet" }
|
||||||
|
$latest = $tags | Sort-Object -Descending | Select-Object -First 1
|
||||||
|
return $latest.Substring($TagPrefix.Length)
|
||||||
|
}
|
||||||
|
|
||||||
|
function Add-ToUserPath {
|
||||||
|
param([string]$Dir)
|
||||||
|
$currentPath = [Environment]::GetEnvironmentVariable("Path", "User")
|
||||||
|
if ($currentPath -and $currentPath.Split(";") -contains $Dir) { return }
|
||||||
|
$newPath = if ($currentPath) { "$currentPath;$Dir" } else { $Dir }
|
||||||
|
[Environment]::SetEnvironmentVariable("Path", $newPath, "User")
|
||||||
|
if ($env:Path -notlike "*$Dir*") {
|
||||||
|
$env:Path = "$Dir;$env:Path"
|
||||||
|
}
|
||||||
|
Write-Ok "Added $Dir to user PATH"
|
||||||
|
}
|
||||||
|
|
||||||
|
if (-not [Environment]::Is64BitOperatingSystem) {
|
||||||
|
Write-Fail "Multica requires a 64-bit Windows installation."
|
||||||
|
}
|
||||||
|
|
||||||
|
$arch = Get-WindowsCliArch
|
||||||
|
|
||||||
|
$version = if ($env:MULTICA_VERSION) { $env:MULTICA_VERSION.TrimStart("v").TrimStart($TagPrefix) } else { Get-LatestMulticaVersion }
|
||||||
|
Write-Info "Installing Multica fork CLI ${version} (windows-$arch)..."
|
||||||
|
|
||||||
|
$asset = "multica-cli-$version-windows-$arch.zip"
|
||||||
|
$url = "$PublicDl/$TagPrefix$version/$asset"
|
||||||
|
$tmpDir = Join-Path ([System.IO.Path]::GetTempPath()) "multica-install"
|
||||||
|
|
||||||
|
if (Test-Path $tmpDir) { Remove-Item $tmpDir -Recurse -Force }
|
||||||
|
New-Item -ItemType Directory -Path $tmpDir | Out-Null
|
||||||
|
|
||||||
|
Write-Info "Downloading $url ..."
|
||||||
|
try {
|
||||||
|
Invoke-WebRequest -Uri $url -OutFile (Join-Path $tmpDir "multica.zip") -UseBasicParsing
|
||||||
|
} catch {
|
||||||
|
Remove-Item $tmpDir -Recurse -Force
|
||||||
|
Write-Fail "Failed to download CLI binary: $_"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Verify SHA256 checksum
|
||||||
|
$checksumUrl = "$PublicDl/$TagPrefix$version/checksums.txt"
|
||||||
|
try {
|
||||||
|
$checksums = Invoke-WebRequest -Uri $checksumUrl -UseBasicParsing -ErrorAction Stop
|
||||||
|
$checksumContent = if ($checksums.Content -is [byte[]]) {
|
||||||
|
[System.Text.Encoding]::UTF8.GetString($checksums.Content)
|
||||||
|
} else {
|
||||||
|
[string]$checksums.Content
|
||||||
|
}
|
||||||
|
$zipFile = Join-Path $tmpDir "multica.zip"
|
||||||
|
$actualHash = (Get-FileHash -Path $zipFile -Algorithm SHA256).Hash.ToLower()
|
||||||
|
$expectedLine = ($checksumContent -split "`r?`n") | Where-Object { $_ -match [regex]::Escape($asset) } | Select-Object -First 1
|
||||||
|
if ($expectedLine) {
|
||||||
|
$expectedHash = ($expectedLine -split "\s+")[0].ToLower()
|
||||||
|
if ($actualHash -ne $expectedHash) {
|
||||||
|
Remove-Item $tmpDir -Recurse -Force
|
||||||
|
Write-Fail "Checksum verification failed. Expected: $expectedHash, Got: $actualHash"
|
||||||
|
}
|
||||||
|
Write-Ok "Checksum verified"
|
||||||
|
} else {
|
||||||
|
Write-Warn "Could not find checksum entry for $asset - skipping verification."
|
||||||
|
}
|
||||||
|
} catch {
|
||||||
|
Write-Warn "Could not download checksums.txt - skipping verification."
|
||||||
|
}
|
||||||
|
|
||||||
|
Expand-Archive -Path (Join-Path $tmpDir "multica.zip") -DestinationPath $tmpDir -Force
|
||||||
|
|
||||||
|
if (-not (Test-Path $BinDir)) {
|
||||||
|
New-Item -ItemType Directory -Path $BinDir -Force | Out-Null
|
||||||
|
}
|
||||||
|
|
||||||
|
$exeSrc = Join-Path $tmpDir "multica.exe"
|
||||||
|
if (-not (Test-Path $exeSrc)) {
|
||||||
|
$exeSrc = Get-ChildItem -Path $tmpDir -Filter "multica.exe" -Recurse | Select-Object -First 1 -ExpandProperty FullName
|
||||||
|
}
|
||||||
|
if (-not $exeSrc -or -not (Test-Path $exeSrc)) {
|
||||||
|
Remove-Item $tmpDir -Recurse -Force
|
||||||
|
Write-Fail "multica.exe not found in downloaded archive."
|
||||||
|
}
|
||||||
|
|
||||||
|
Copy-Item $exeSrc (Join-Path $BinDir "multica.exe") -Force
|
||||||
|
Remove-Item $tmpDir -Recurse -Force
|
||||||
|
|
||||||
|
Add-ToUserPath $BinDir
|
||||||
|
Write-Ok "Multica CLI installed to $BinDir\multica.exe"
|
||||||
|
|
||||||
|
Write-Host ""
|
||||||
|
Write-Host " Next — connect to your Multica server:"
|
||||||
|
Write-Host " multica setup self-host"
|
||||||
|
Write-Host " Or for this instance:"
|
||||||
|
Write-Host " multica setup self-host --server-url https://plan.arka-ai.ru --app-url https://plan.arka-ai.ru"
|
||||||
|
Write-Host ""
|
||||||
@@ -0,0 +1,175 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# Multica fork CLI — installer (Linux / macOS / WSL).
|
||||||
|
#
|
||||||
|
# Installs the fork-built `multica` CLI (with agent-arka runtime support, Arka
|
||||||
|
# SSO, Russian i18n) from arka/public releases.
|
||||||
|
#
|
||||||
|
# curl -fsSL https://git.arka-ai.ru/arka/public/raw/branch/main/multica/install.sh | bash
|
||||||
|
#
|
||||||
|
# Environment:
|
||||||
|
# MULTICA_VERSION pin a release (e.g. 0.6.1-arka). Default: newest multica-v* on git.arka-ai.ru/arka/public
|
||||||
|
# MULTICA_BIN_DIR install dir (default: /usr/local/bin, else ~/.local/bin)
|
||||||
|
# NO_COLOR 1 to disable color output
|
||||||
|
|
||||||
|
if [ -z "${BASH_VERSION:-}" ]; then
|
||||||
|
echo "The Multica installer needs bash. Run:" >&2
|
||||||
|
echo " curl -fsSL https://git.arka-ai.ru/arka/public/raw/branch/main/multica/install.sh | bash" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
PUBLIC_API="${MULTICA_PUBLIC_API:-https://git.arka-ai.ru/api/v1}"
|
||||||
|
PUBLIC_DL="${MULTICA_PUBLIC_DL:-https://git.arka-ai.ru/arka/public/releases/download}"
|
||||||
|
REPO="arka/public"
|
||||||
|
TAG_PREFIX="multica-v"
|
||||||
|
|
||||||
|
if [[ -t 1 && -z "${NO_COLOR:-}" ]]; then
|
||||||
|
C_GREEN=$'\033[32m'; C_YELLOW=$'\033[33m'; C_RED=$'\033[31m'; C_BOLD=$'\033[1m'; C_RESET=$'\033[0m'
|
||||||
|
else
|
||||||
|
C_GREEN=''; C_YELLOW=''; C_RED=''; C_BOLD=''; C_RESET=''
|
||||||
|
fi
|
||||||
|
|
||||||
|
info() { printf '%s\n' "$*"; }
|
||||||
|
ok() { printf '%s✓%s %s\n' "$C_GREEN" "$C_RESET" "$*"; }
|
||||||
|
warn() { printf '%s⚠%s %s\n' "$C_YELLOW" "$C_RESET" "$*"; }
|
||||||
|
die() { printf '%s✗%s %s\n' "$C_RED" "$C_RESET" "$*" >&2; exit 1; }
|
||||||
|
|
||||||
|
_mc_tmp=""
|
||||||
|
cleanup() { [[ -n "${_mc_tmp:-}" ]] && rm -rf "$_mc_tmp"; }
|
||||||
|
trap cleanup EXIT
|
||||||
|
|
||||||
|
detect_platform() {
|
||||||
|
local os arch
|
||||||
|
os=$(uname -s | tr '[:upper:]' '[:lower:]')
|
||||||
|
arch=$(uname -m)
|
||||||
|
case "$arch" in
|
||||||
|
x86_64|amd64) arch="amd64" ;;
|
||||||
|
aarch64|arm64) arch="arm64" ;;
|
||||||
|
*) die "Unsupported architecture: $arch" ;;
|
||||||
|
esac
|
||||||
|
case "$os" in
|
||||||
|
linux) PLATFORM="linux-${arch}" ;;
|
||||||
|
darwin) PLATFORM="darwin-${arch}" ;;
|
||||||
|
mingw*|msys*|cygwin*)
|
||||||
|
die "This curl installer is for Linux/macOS/WSL. On Windows run the PowerShell installer instead:"$'\n'" irm https://git.arka-ai.ru/arka/public/raw/branch/main/multica/install.ps1 | iex"
|
||||||
|
;;
|
||||||
|
*) die "Unsupported OS: $os" ;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
fetch_latest_version() {
|
||||||
|
local json tags
|
||||||
|
json=$(curl -fsSL "${PUBLIC_API}/repos/${REPO}/releases?limit=50") || die "Cannot list releases at ${PUBLIC_API}/repos/${REPO}/releases"
|
||||||
|
tags=$(printf '%s' "$json" | grep -oE '"tag_name":[[:space:]]*"'"${TAG_PREFIX}"'[^"]+"' | sed 's/.*"'"${TAG_PREFIX}"'//;s/"$//' || true)
|
||||||
|
if [[ -z "$tags" ]]; then
|
||||||
|
die "No ${TAG_PREFIX}* releases on ${REPO} yet"
|
||||||
|
fi
|
||||||
|
printf '%s\n' "$tags" | head -n 1
|
||||||
|
}
|
||||||
|
|
||||||
|
sha256_file() {
|
||||||
|
if command -v sha256sum >/dev/null 2>&1; then
|
||||||
|
sha256sum "$1" | awk '{print $1}'
|
||||||
|
elif command -v shasum >/dev/null 2>&1; then
|
||||||
|
shasum -a 256 "$1" | awk '{print $1}'
|
||||||
|
else
|
||||||
|
die "Need sha256sum or shasum"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
ensure_path() {
|
||||||
|
local bindir="$1"
|
||||||
|
case ":$PATH:" in
|
||||||
|
*":${bindir}:"*) return 0 ;;
|
||||||
|
esac
|
||||||
|
local line="export PATH=\"${bindir}:\$PATH\""
|
||||||
|
local rc
|
||||||
|
for rc in "${HOME}/.zprofile" "${HOME}/.zshrc" "${HOME}/.bash_profile" "${HOME}/.bashrc" "${HOME}/.profile"; do
|
||||||
|
[[ -f "$rc" ]] || continue
|
||||||
|
if grep -Fqs "$bindir" "$rc"; then
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if [[ -n "${SHELL:-}" && "${SHELL}" == *zsh* ]]; then
|
||||||
|
rc="${HOME}/.zshrc"
|
||||||
|
else
|
||||||
|
rc="${HOME}/.bashrc"
|
||||||
|
[[ -f "$rc" ]] || rc="${HOME}/.profile"
|
||||||
|
fi
|
||||||
|
printf '\n# Multica CLI\n%s\n' "$line" >>"$rc"
|
||||||
|
warn "Added ${bindir} to PATH in ${rc} (open a new shell, or: source ${rc})"
|
||||||
|
}
|
||||||
|
|
||||||
|
main() {
|
||||||
|
printf '%s\n' "${C_BOLD}Multica${C_RESET} — fork CLI installer (agent-arka support)"
|
||||||
|
command -v curl >/dev/null 2>&1 || die "curl is required"
|
||||||
|
command -v tar >/dev/null 2>&1 || die "tar is required"
|
||||||
|
|
||||||
|
detect_platform
|
||||||
|
|
||||||
|
local version
|
||||||
|
if [[ -n "${MULTICA_VERSION:-}" ]]; then
|
||||||
|
version="${MULTICA_VERSION#v}"
|
||||||
|
version="${version#multica-v}"
|
||||||
|
info "Using pinned version ${version}"
|
||||||
|
else
|
||||||
|
info "Resolving latest Multica release…"
|
||||||
|
version=$(fetch_latest_version)
|
||||||
|
info "Latest: ${version}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
local asset="multica-cli-${version}-${PLATFORM}.tar.gz"
|
||||||
|
local url="${PUBLIC_DL}/${TAG_PREFIX}${version}/${asset}"
|
||||||
|
|
||||||
|
_mc_tmp=$(mktemp -d)
|
||||||
|
info "Downloading ${url} ..."
|
||||||
|
curl -fsSL "$url" -o "$_mc_tmp/multica.tar.gz" || die "Failed to download ${asset}"
|
||||||
|
|
||||||
|
info "Verifying checksum …"
|
||||||
|
local expected actual
|
||||||
|
expected=$(curl -fsSL "${PUBLIC_DL}/${TAG_PREFIX}${version}/checksums.txt" | awk -v a="$asset" '$2==a {print $1; exit}' 2>/dev/null || true)
|
||||||
|
actual=$(sha256_file "$_mc_tmp/multica.tar.gz")
|
||||||
|
if [[ -n "$expected" ]]; then
|
||||||
|
if [[ "$expected" != "$actual" ]]; then
|
||||||
|
die "Checksum mismatch for ${asset}: expected ${expected}, got ${actual}"
|
||||||
|
fi
|
||||||
|
ok "Checksum verified"
|
||||||
|
else
|
||||||
|
warn "No checksum entry for ${asset}; skipping verification"
|
||||||
|
fi
|
||||||
|
|
||||||
|
tar -xzf "$_mc_tmp/multica.tar.gz" -C "$_mc_tmp" multica || die "Failed to extract multica"
|
||||||
|
|
||||||
|
local bindir
|
||||||
|
if [[ -n "${MULTICA_BIN_DIR:-}" ]]; then
|
||||||
|
bindir="${MULTICA_BIN_DIR}"
|
||||||
|
elif [[ -w /usr/local/bin ]]; then
|
||||||
|
bindir="/usr/local/bin"
|
||||||
|
elif command -v sudo >/dev/null 2>&1; then
|
||||||
|
bindir="/usr/local/bin"
|
||||||
|
else
|
||||||
|
bindir="${HOME}/.local/bin"
|
||||||
|
fi
|
||||||
|
mkdir -p "$bindir"
|
||||||
|
|
||||||
|
if [[ ! -w "$bindir" ]]; then
|
||||||
|
sudo mv "$_mc_tmp/multica" "$bindir/multica" || die "Cannot write to ${bindir}"
|
||||||
|
else
|
||||||
|
mv "$_mc_tmp/multica" "$bindir/multica"
|
||||||
|
fi
|
||||||
|
chmod +x "$bindir/multica"
|
||||||
|
ensure_path "$bindir"
|
||||||
|
|
||||||
|
ok "Multica CLI ${version} installed to ${bindir}/multica"
|
||||||
|
rm -rf "$_mc_tmp"; _mc_tmp=""
|
||||||
|
|
||||||
|
printf '\n'
|
||||||
|
printf ' Next — connect to your Multica server:\n'
|
||||||
|
printf ' multica setup self-host\n'
|
||||||
|
printf ' Or for this instance:\n'
|
||||||
|
printf ' multica setup self-host --server-url https://plan.arka-ai.ru --app-url https://plan.arka-ai.ru\n'
|
||||||
|
printf '\n'
|
||||||
|
}
|
||||||
|
|
||||||
|
main "$@"
|
||||||
+103
-75
@@ -1,14 +1,22 @@
|
|||||||
{
|
{
|
||||||
"updated_at": "2026-09-02T23:00:02Z",
|
"updated_at": "2026-10-09T23:00:01Z",
|
||||||
"source": "https://api.arka-ai.ru/v1/models",
|
"source": "https://api.arka-ai.ru/v1/models",
|
||||||
"raw_count": 216,
|
"raw_count": 230,
|
||||||
"chat_count": 116,
|
"chat_count": 123,
|
||||||
"object": "list",
|
"object": "list",
|
||||||
"data": [
|
"data": [
|
||||||
{
|
{
|
||||||
"id": "ACE-Step-v1-3.5B",
|
"id": "ACE-Step-v1-3.5B",
|
||||||
"object": "model"
|
"object": "model"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"id": "APUS-OpenJev-v1-4B",
|
||||||
|
"object": "model"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "APUS-OpenJev-v1-9B",
|
||||||
|
"object": "model"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "Align-DS-V",
|
"id": "Align-DS-V",
|
||||||
"object": "model"
|
"object": "model"
|
||||||
@@ -17,16 +25,20 @@
|
|||||||
"id": "AnimeSharp",
|
"id": "AnimeSharp",
|
||||||
"object": "model"
|
"object": "model"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"id": "Atria-Dawn-Preview",
|
||||||
|
"object": "model"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "AutoGLM-Phone-9B-Multilingual",
|
"id": "AutoGLM-Phone-9B-Multilingual",
|
||||||
"object": "model"
|
"object": "model"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "DeepSeek-Prover-V2-7B",
|
"id": "Bespoke-Nimble-9B",
|
||||||
"object": "model"
|
"object": "model"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "DeepSeek-R1",
|
"id": "DeepSeek-Prover-V2-7B",
|
||||||
"object": "model"
|
"object": "model"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -45,32 +57,20 @@
|
|||||||
"id": "DeepSeek-R1-Distill-Qwen-7B",
|
"id": "DeepSeek-R1-Distill-Qwen-7B",
|
||||||
"object": "model"
|
"object": "model"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"id": "DeepSeek-V3",
|
|
||||||
"object": "model"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "DeepSeek-V3.2",
|
|
||||||
"object": "model"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "DeepSeek-V3_1",
|
|
||||||
"object": "model"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "DeepSeek-V3_1-Terminus",
|
|
||||||
"object": "model"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"id": "DeepSeek-V4-Pro",
|
"id": "DeepSeek-V4-Pro",
|
||||||
"object": "model"
|
"object": "model"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"id": "DeepSeek-V4-Pro-0813",
|
||||||
|
"object": "model"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "DianJin-R1-32B",
|
"id": "DianJin-R1-32B",
|
||||||
"object": "model"
|
"object": "model"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "Duix.Heygem",
|
"id": "Duix-Avatar",
|
||||||
"object": "model"
|
"object": "model"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -85,10 +85,6 @@
|
|||||||
"id": "ERNIE-5.0-Thinking",
|
"id": "ERNIE-5.0-Thinking",
|
||||||
"object": "model"
|
"object": "model"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"id": "ERNIE-X1-Turbo",
|
|
||||||
"object": "model"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"id": "Fin-R1",
|
"id": "Fin-R1",
|
||||||
"object": "model"
|
"object": "model"
|
||||||
@@ -101,30 +97,10 @@
|
|||||||
"id": "GLM-4-9B-0414",
|
"id": "GLM-4-9B-0414",
|
||||||
"object": "model"
|
"object": "model"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"id": "GLM-4.6",
|
|
||||||
"object": "model"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"id": "GLM-4.7",
|
"id": "GLM-4.7",
|
||||||
"object": "model"
|
"object": "model"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"id": "GLM-4.7-Flash",
|
|
||||||
"object": "model"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "GLM-4_5",
|
|
||||||
"object": "model"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "GLM-4_5-Air",
|
|
||||||
"object": "model"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "GLM-4_5V",
|
|
||||||
"object": "model"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"id": "GLM-5",
|
"id": "GLM-5",
|
||||||
"object": "model"
|
"object": "model"
|
||||||
@@ -141,6 +117,14 @@
|
|||||||
"id": "GLM-5.3",
|
"id": "GLM-5.3",
|
||||||
"object": "model"
|
"object": "model"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"id": "GLM-5.3-Flash",
|
||||||
|
"object": "model"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "GigaAM-v3",
|
||||||
|
"object": "model"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "HY-MT1.5-7B",
|
"id": "HY-MT1.5-7B",
|
||||||
"object": "model"
|
"object": "model"
|
||||||
@@ -173,6 +157,14 @@
|
|||||||
"id": "InfiniteTalk",
|
"id": "InfiniteTalk",
|
||||||
"object": "model"
|
"object": "model"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"id": "Intern-Decision-4B",
|
||||||
|
"object": "model"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Intern-S2",
|
||||||
|
"object": "model"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "InternVL2-8B",
|
"id": "InternVL2-8B",
|
||||||
"object": "model"
|
"object": "model"
|
||||||
@@ -225,6 +217,10 @@
|
|||||||
"id": "MinerU2.5-Pro",
|
"id": "MinerU2.5-Pro",
|
||||||
"object": "model"
|
"object": "model"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"id": "MiniMax-H3",
|
||||||
|
"object": "model"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "MiniMax-M2.1",
|
"id": "MiniMax-M2.1",
|
||||||
"object": "model"
|
"object": "model"
|
||||||
@@ -241,6 +237,10 @@
|
|||||||
"id": "MiniMax-M3",
|
"id": "MiniMax-M3",
|
||||||
"object": "model"
|
"object": "model"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"id": "NeoHorse-Jev-4B",
|
||||||
|
"object": "model"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "PDF-Extract-Kit-1.0",
|
"id": "PDF-Extract-Kit-1.0",
|
||||||
"object": "model"
|
"object": "model"
|
||||||
@@ -273,14 +273,6 @@
|
|||||||
"id": "Qwen3-0.6B",
|
"id": "Qwen3-0.6B",
|
||||||
"object": "model"
|
"object": "model"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"id": "Qwen3-14B",
|
|
||||||
"object": "model"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "Qwen3-30B-A3B-Instruct-2507",
|
|
||||||
"object": "model"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"id": "Qwen3-32B",
|
"id": "Qwen3-32B",
|
||||||
"object": "model"
|
"object": "model"
|
||||||
@@ -333,14 +325,6 @@
|
|||||||
"id": "Qwen3-VL-32B-Thinking",
|
"id": "Qwen3-VL-32B-Thinking",
|
||||||
"object": "model"
|
"object": "model"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"id": "Qwen3-VL-4B-Instruct",
|
|
||||||
"object": "model"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "Qwen3-VL-8B-Instruct",
|
|
||||||
"object": "model"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"id": "Qwen3-VL-8B-Thinking",
|
"id": "Qwen3-VL-8B-Thinking",
|
||||||
"object": "model"
|
"object": "model"
|
||||||
@@ -353,14 +337,6 @@
|
|||||||
"id": "Qwen3.5-27B",
|
"id": "Qwen3.5-27B",
|
||||||
"object": "model"
|
"object": "model"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"id": "Qwen3.5-27B-Claude-4.6-Opus-Reasoning-Distilled",
|
|
||||||
"object": "model"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "Qwen3.5-9B",
|
|
||||||
"object": "model"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"id": "Qwen3.5-Flash",
|
"id": "Qwen3.5-Flash",
|
||||||
"object": "model"
|
"object": "model"
|
||||||
@@ -381,10 +357,6 @@
|
|||||||
"id": "Qwen3.6-Flash",
|
"id": "Qwen3.6-Flash",
|
||||||
"object": "model"
|
"object": "model"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"id": "Qwen3.6-Max",
|
|
||||||
"object": "model"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"id": "Qwen3.6-Plus",
|
"id": "Qwen3.6-Plus",
|
||||||
"object": "model"
|
"object": "model"
|
||||||
@@ -397,6 +369,10 @@
|
|||||||
"id": "Qwen3.7-Plus",
|
"id": "Qwen3.7-Plus",
|
||||||
"object": "model"
|
"object": "model"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"id": "Qwen3.8-Omni-Flash",
|
||||||
|
"object": "model"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "Qwen3Guard-Gen-0.6B",
|
"id": "Qwen3Guard-Gen-0.6B",
|
||||||
"object": "model"
|
"object": "model"
|
||||||
@@ -413,6 +389,10 @@
|
|||||||
"id": "SeedVR2-3B",
|
"id": "SeedVR2-3B",
|
||||||
"object": "model"
|
"object": "model"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"id": "SemIf-OpenJev-4B",
|
||||||
|
"object": "model"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "Sinong1.0-32B",
|
"id": "Sinong1.0-32B",
|
||||||
"object": "model"
|
"object": "model"
|
||||||
@@ -437,6 +417,10 @@
|
|||||||
"id": "deepseek-v4-flash-0731",
|
"id": "deepseek-v4-flash-0731",
|
||||||
"object": "model"
|
"object": "model"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"id": "deepseek-v4.1-flash",
|
||||||
|
"object": "model"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "gemma-4-26B-A4B-it",
|
"id": "gemma-4-26B-A4B-it",
|
||||||
"object": "model"
|
"object": "model"
|
||||||
@@ -446,7 +430,7 @@
|
|||||||
"object": "model"
|
"object": "model"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "gpt-oss-120b",
|
"id": "gui-plus-2026-02-26",
|
||||||
"object": "model"
|
"object": "model"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -461,13 +445,57 @@
|
|||||||
"id": "kimi-k3",
|
"id": "kimi-k3",
|
||||||
"object": "model"
|
"object": "model"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"id": "laya-multilingual",
|
||||||
|
"object": "model"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "nonescape-v0",
|
"id": "nonescape-v0",
|
||||||
"object": "model"
|
"object": "model"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"id": "qwen-flash",
|
||||||
|
"object": "model"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "qwen-max",
|
||||||
|
"object": "model"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "qwen-plus-2025-12-01",
|
||||||
|
"object": "model"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "qwen3-coder-plus",
|
||||||
|
"object": "model"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "qwen3-vl-plus",
|
||||||
|
"object": "model"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "qwen3.8-27b",
|
||||||
|
"object": "model"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "qwen3.8-flash",
|
||||||
|
"object": "model"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "qwen3.8-max",
|
"id": "qwen3.8-max",
|
||||||
"object": "model"
|
"object": "model"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "qwen3.8-max-0902",
|
||||||
|
"object": "model"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "tongyi-xiaomi-analysis-flash",
|
||||||
|
"object": "model"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "tongyi-xiaomi-analysis-pro",
|
||||||
|
"object": "model"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
Reference in new issue
Block a user