berimor 0.24.0 → 0.25.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/README.md +9 -3
- package/checksums.json +4 -4
- package/package.json +1 -2
- package/dist/postinstall.js +0 -19
- package/dist/postinstall.js.map +0 -1
package/README.md
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
[](https://www.npmjs.com/package/berimor)
|
|
15
15
|
[](https://github.com/devpilgrin/berimor/actions/workflows/ci.yml)
|
|
16
16
|
[](LICENSE)
|
|
17
|
-
[](#инфраструктура-проекта)
|
|
18
18
|
|
|
19
19
|

|
|
20
20
|

|
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|

|
|
25
25
|

|
|
26
26
|

|
|
27
|
+
[](https://socket.dev/npm/package/berimor)
|
|
27
28
|

|
|
28
29
|
|
|
29
30
|
---
|
|
@@ -64,6 +65,7 @@ Deny-таблица деструктивных операций не переи
|
|
|
64
65
|
- **Скилы** (SKILL.md) — экспертные роли для чата: триггер — кодом (не моделью), потолок инструментов — фильтром диспетча.
|
|
65
66
|
- **Субагенты** (agent.yaml) — вложенный агентный цикл с собственным бюджетом и журналом; права ребёнка = пересечение с правами родителя, расшириться нельзя. Вложенное порождение — только с явным `allow_spawn: true`, глубина ограничена кодом.
|
|
66
67
|
- **Плагины** — изолированные процессы с ACL-манифестом и keyless-подписью sigstore: установка из доверенного списка с TOFU-подтверждением, как SSH.
|
|
68
|
+
- **MCP** — внешние серверы инструментов по открытому протоколу Model Context Protocol (официальный Rust SDK rmcp, ADR-0023): подключаются секцией `[[mcp_servers]]` в конфиге, встают в общий диспетчер после встроенных инструментов и плагинов и проходят тот же capability-гейт, что и любой шаг процесса. Работает и в обратную сторону: Berimor может отдавать собственные инструменты по MCP.
|
|
67
69
|
|
|
68
70
|
Всё это устанавливается одной командой — из каталога или **любого git-репозитория**: `berimor skill install code-review-ru --from https://github.com/...`.
|
|
69
71
|
|
|
@@ -71,10 +73,12 @@ Deny-таблица деструктивных операций не переи
|
|
|
71
73
|
|
|
72
74
|
**Rust-workspace по крейту на компонент** — Process Engine, Mediation, Executors, Memory, Capability, Model Pool, Actors, Tool Runtime, Context Engine, Eval, Storage. Гостевой WASM-модуль (`codeact-guest/`) живёт отдельным crate и закоммичен как готовый артефакт — обычная сборка не замедляется.
|
|
73
75
|
|
|
74
|
-
**Дисциплина проверок.** Каждый релиз: `cargo fmt` + `clippy -D warnings` + `cargo test --workspace` (
|
|
76
|
+
**Дисциплина проверок.** Каждый релиз: `cargo fmt` + `clippy -D warnings` + `cargo test --workspace` (843 тестов: юнит, интеграционные, e2e через настоящий бинарник, золотые фикстуры процессов и вредоносных вводов). Критические компоненты проходят обязательное независимое ревью. Полный самостоятельный аудит (`docs/audit-2026-07-31.md`) — **все находки закрыты или осознанно задокументированы**.
|
|
75
77
|
|
|
76
78
|
**Supply chain как у взрослых.** Кросс-платформенные релизы (Linux x64/arm64, macOS arm64, Windows x64) с keyless-подписью cosign/sigstore — приватного ключа не существует нигде. Проверка: `berimor verify <архив>`. npm-публикация с provenance, SBOM (CycloneDX) в пайплайне, самообновление (`berimor self-update`) реализовано на примитивах Process Engine — тот же журнал и восстановление после сбоя, что у обычных процессов, а не ad hoc скрипт.
|
|
77
79
|
|
|
80
|
+
**npm-установщик вообще без install-скриптов** (класс замечаний Socket.dev закрыт структурно, с 0.24.1): на этапе `npm install` не выполняется НИЧЕГО — в пакете нет ни одного life-cycle скрипта. Скачивание происходит при первом запуске — с фиксированного `github.com/devpilgrin/berimor/releases`, со сверкой SHA-256 скачанного архива против пина `checksums.json`, который CI кладёт в сам npm-пакет при публикации (доверие из npm-канала, независимого от раздающего GitHub Release). Сравнение — константным временем, несовпадение — отказ без распаковки.
|
|
81
|
+
|
|
78
82
|
**Архитектура задокументирована до кода.** `docs/arch/` — самодостаточная спецификация, реализуемая на любом стеке; `docs/ADR/` — журнал решений с отклонёнными альтернативами; `docs/ROADMAP.md` — очередь задач с классом модели-исполнителя на каждую.
|
|
79
83
|
|
|
80
84
|
## Установка
|
|
@@ -148,12 +152,14 @@ cargo build --release -p berimor-cli
|
|
|
148
152
|
berimor # = berimor chat: интерактивный диалог с агентом
|
|
149
153
|
```
|
|
150
154
|
|
|
151
|
-
При первом запуске мастер предложит подключить модели из пресетов (Kimi, DeepSeek, OpenAI, Claude через OpenRouter, локальные через Ollama/llama.cpp/LM Studio) — выберите номера или имена, вставьте ключ API (он попадёт в `~/.config/berimor/secrets.env` с правами «только владелец», не в конфиг). Позже то же самое — `berimor setup` или прямо в чате командой `/models add`.
|
|
155
|
+
При первом запуске мастер предложит подключить модели из пресетов (Kimi, DeepSeek, OpenAI, Claude через OpenRouter, локальные через Ollama/llama.cpp/LM Studio) — выберите номера или имена, вставьте ключ API (он попадёт в `~/.config/berimor/secrets.env` с правами «только владелец», не в конфиг). Вместо API-ключа можно войти по подписке — `berimor login` (OAuth с PKCE: Claude Pro/Max, ChatGPT Plus/Pro; токены — в том же `secrets.env`, обновление — прозрачно). Позже то же самое — `berimor setup` или прямо в чате командой `/models add`.
|
|
152
156
|
|
|
153
157
|
Полезные команды чата: `/help`, `/models`, `/skills`, `/config`, `/exit`.
|
|
154
158
|
|
|
155
159
|
Детерминированные процессы (декларативный YAML-план со строгими контрактами — основной «боевой» режим): `berimor run <process.yaml>`. Примеры процессов и конфигураций — в [`fixtures/golden/processes/`](fixtures/golden/processes/) и [`CONTRIBUTING.md`](CONTRIBUTING.md).
|
|
156
160
|
|
|
161
|
+
Автоматизация поверх процессов: `berimor schedule add` + `berimor daemon` — исполнение процессов по расписанию; `berimor serve` — HTTP-сервис поверх run/schedule/sessions (с токеном, без анонимного доступа); `berimor sessions` — реестр живых сессий хоста; `berimor trace <инстанс>` — человекочитаемая трассировка журнала любого прогона.
|
|
162
|
+
|
|
157
163
|
Расширения одной командой:
|
|
158
164
|
|
|
159
165
|
```sh
|
package/checksums.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"berimor-v0.
|
|
3
|
-
"berimor-v0.
|
|
4
|
-
"berimor-v0.
|
|
5
|
-
"berimor-v0.
|
|
2
|
+
"berimor-v0.25.0-darwin-arm64.tar.gz": "fd7e224736f30e1a1df1cb3bc2fe4f947018419263dc56a3440a31a42d7cd6a7",
|
|
3
|
+
"berimor-v0.25.0-linux-arm64.tar.gz": "071e545f677f899f6cec09197eb5ffeb69e10603ae152ffe22c49002907313e9",
|
|
4
|
+
"berimor-v0.25.0-linux-x64.tar.gz": "2ffbb75c32fb9f52378f863df24ee2e1ae4981bc49e322cd27eddf4d1a000ca4",
|
|
5
|
+
"berimor-v0.25.0-win32-x64.zip": "e0ddb3a93bf100d617043236c836e2122bb3d2750642c2dcf1a61610e2225b28"
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "berimor",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.25.0",
|
|
4
4
|
"description": "Berimor — агентный CLI для LLM: интерактивный чат с инструментами (файлы, терминал, HTTP), детерминированные процессы, аудит и replay. Этот пакет — установщик платформенного бинарника.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -21,7 +21,6 @@
|
|
|
21
21
|
},
|
|
22
22
|
"scripts": {
|
|
23
23
|
"build": "tsc -p tsconfig.json",
|
|
24
|
-
"postinstall": "node dist/postinstall.js",
|
|
25
24
|
"test": "node --test dist/*.test.js"
|
|
26
25
|
},
|
|
27
26
|
"devDependencies": {
|
package/dist/postinstall.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* postinstall-хук npm.
|
|
3
|
-
*
|
|
4
|
-
* Источник: docs/arch/deployment.md §9 — граница №4: «bootstrap не выполняет
|
|
5
|
-
* ничего, кроме определения платформы, на этапе установки». Это крупнейшая
|
|
6
|
-
* типовая поверхность атаки цепочки поставок для npm-пакетов, поэтому здесь
|
|
7
|
-
* нет ни скачивания, ни исполнения чего-либо — только определение платформы.
|
|
8
|
-
* Скачивание и верификация — на первом запуске (index.ts), не здесь.
|
|
9
|
-
*/
|
|
10
|
-
import { detectPlatform } from "./platform.js";
|
|
11
|
-
try {
|
|
12
|
-
const info = detectPlatform(process.env.npm_package_version ?? "0.0.0");
|
|
13
|
-
console.log(`[berimor] платформа определена: ${info.platform}/${info.arch}`);
|
|
14
|
-
}
|
|
15
|
-
catch (err) {
|
|
16
|
-
console.error(`[berimor] ${err.message}`);
|
|
17
|
-
process.exitCode = 1;
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=postinstall.js.map
|
package/dist/postinstall.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"postinstall.js","sourceRoot":"","sources":["../src/postinstall.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,IAAI,CAAC;IACH,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,OAAO,CAAC,CAAC;IACxE,OAAO,CAAC,GAAG,CAAC,mCAAmC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;AAC/E,CAAC;AAAC,OAAO,GAAG,EAAE,CAAC;IACb,OAAO,CAAC,KAAK,CAAC,aAAc,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;IACrD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACvB,CAAC"}
|