@iola_adm/iola-cli 0.2.44 → 0.2.45
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/package.json
CHANGED
package/src/cli.js
CHANGED
|
@@ -16668,6 +16668,7 @@ async function onboard(args = []) {
|
|
|
16668
16668
|
if (components.includes("workspace")) await handleWorkspace(["init"]);
|
|
16669
16669
|
if (components.includes("policy")) await handlePolicy(["use", "analyst"]);
|
|
16670
16670
|
if (components.includes("archive")) await ensureArchiveTool({ install: true });
|
|
16671
|
+
if (components.includes("city-data")) await checkHealth([]);
|
|
16671
16672
|
if (components.includes("iola")) {
|
|
16672
16673
|
await setupIolaLocal(["--yes"]);
|
|
16673
16674
|
}
|
|
@@ -16754,15 +16755,16 @@ async function chooseOnboardComponents(status = null) {
|
|
|
16754
16755
|
3: "archive",
|
|
16755
16756
|
4: "index",
|
|
16756
16757
|
5: "browser",
|
|
16757
|
-
6: "
|
|
16758
|
-
7: "
|
|
16759
|
-
8: "
|
|
16760
|
-
9: "
|
|
16761
|
-
10: "
|
|
16762
|
-
11: "
|
|
16763
|
-
12: "
|
|
16764
|
-
13: "
|
|
16765
|
-
14: "
|
|
16758
|
+
6: "city-data",
|
|
16759
|
+
7: "codex-mcp",
|
|
16760
|
+
8: "iola",
|
|
16761
|
+
9: "ollama",
|
|
16762
|
+
10: "gigachat",
|
|
16763
|
+
11: "yandex",
|
|
16764
|
+
12: "yandex-cloud",
|
|
16765
|
+
13: "openai",
|
|
16766
|
+
14: "openrouter",
|
|
16767
|
+
15: "codex",
|
|
16766
16768
|
};
|
|
16767
16769
|
return [...selected].map((item) => map[item] || item).filter(Boolean);
|
|
16768
16770
|
} finally {
|
|
@@ -16775,7 +16777,7 @@ function isOnboardExitAnswer(answer) {
|
|
|
16775
16777
|
}
|
|
16776
16778
|
|
|
16777
16779
|
async function getOnboardComponentStatus() {
|
|
16778
|
-
const [config, readiness, browser, archive, codexVersion, ollamaVersion, yandexGeocoderKey, secrets] = await Promise.all([
|
|
16780
|
+
const [config, readiness, browser, archive, codexVersion, ollamaVersion, yandexGeocoderKey, secrets, cityDataHealth] = await Promise.all([
|
|
16779
16781
|
loadConfig(),
|
|
16780
16782
|
getAiReadiness(),
|
|
16781
16783
|
getBrowserStatus(),
|
|
@@ -16784,6 +16786,7 @@ async function getOnboardComponentStatus() {
|
|
|
16784
16786
|
getOllamaVersion(),
|
|
16785
16787
|
getYandexGeocoderKey(),
|
|
16786
16788
|
loadSecrets(),
|
|
16789
|
+
getMcpBaseUrl().then((baseUrl) => probeEndpoint(`${baseUrl}/mcp-health`)),
|
|
16787
16790
|
]);
|
|
16788
16791
|
const workspaceReady = existsSync(PROJECT_CONTEXT_FILE) || existsSync(PROJECT_CONTEXT_DIR_FILE) || existsSync(PROJECT_IOLA_DIR);
|
|
16789
16792
|
const policyReady = (config.toolsets?.enabled || []).includes("analyst");
|
|
@@ -16798,6 +16801,7 @@ async function getOnboardComponentStatus() {
|
|
|
16798
16801
|
openrouter: Boolean(readiness.openrouter),
|
|
16799
16802
|
codex: Boolean(codexVersion !== "не найден" && readiness.codex),
|
|
16800
16803
|
"codex-mcp": false,
|
|
16804
|
+
"city-data": cityDataHealth === "доступен",
|
|
16801
16805
|
archive: Boolean(archive),
|
|
16802
16806
|
index: false,
|
|
16803
16807
|
browser: browser.installed === "yes",
|
|
@@ -16817,33 +16821,39 @@ function onboardComponentGroups(status) {
|
|
|
16817
16821
|
["5", "browser", "Браузерный модуль", "Playwright/Chromium"],
|
|
16818
16822
|
],
|
|
16819
16823
|
},
|
|
16824
|
+
{
|
|
16825
|
+
title: "Городские сервисы",
|
|
16826
|
+
rows: [
|
|
16827
|
+
["6", "city-data", "Открытые данные Йошкар-Олы", "API/MCP gateway доступен"],
|
|
16828
|
+
["7", "codex-mcp", "Подключить городские данные к Codex", "MCP для Codex"],
|
|
16829
|
+
],
|
|
16830
|
+
},
|
|
16820
16831
|
{
|
|
16821
16832
|
title: "Локальный AI",
|
|
16822
16833
|
rows: [
|
|
16823
|
-
["
|
|
16824
|
-
["
|
|
16834
|
+
["8", "iola", "IOLA локальная модель", "локальная модель найдена"],
|
|
16835
|
+
["9", "ollama", "Ollama", "опциональный локальный runtime"],
|
|
16825
16836
|
],
|
|
16826
16837
|
},
|
|
16827
16838
|
{
|
|
16828
16839
|
title: "Российские AI и сервисы",
|
|
16829
16840
|
rows: [
|
|
16830
|
-
["
|
|
16831
|
-
["
|
|
16832
|
-
["
|
|
16841
|
+
["10", "gigachat", "GigaChat API", "authorization key сохранен или есть в env"],
|
|
16842
|
+
["11", "yandex", "Yandex Connector", "Диск, Почта, Календарь, Контакты"],
|
|
16843
|
+
["12", "yandex-cloud", "Yandex Cloud Connector", "геокодинг и YandexGPT"],
|
|
16833
16844
|
],
|
|
16834
16845
|
},
|
|
16835
16846
|
{
|
|
16836
16847
|
title: "Зарубежные AI",
|
|
16837
16848
|
rows: [
|
|
16838
|
-
["
|
|
16839
|
-
["
|
|
16849
|
+
["13", "openai", "OpenAI API", "API-ключ сохранен или есть в env"],
|
|
16850
|
+
["14", "openrouter", "OpenRouter API", "API-ключ сохранен или есть в env"],
|
|
16840
16851
|
],
|
|
16841
16852
|
},
|
|
16842
16853
|
{
|
|
16843
16854
|
title: "Codex",
|
|
16844
16855
|
rows: [
|
|
16845
|
-
["
|
|
16846
|
-
["14", "codex-mcp", "Подключение IOLA к Codex", "MCP для Codex"],
|
|
16856
|
+
["15", "codex", "Codex CLI", "CLI установлен и авторизация найдена"],
|
|
16847
16857
|
],
|
|
16848
16858
|
},
|
|
16849
16859
|
];
|
|
@@ -16862,12 +16872,12 @@ function defaultOnboardSelection(status) {
|
|
|
16862
16872
|
if (!status.workspace) defaults.push("1");
|
|
16863
16873
|
if (!status.policy) defaults.push("2");
|
|
16864
16874
|
if (!status.archive) defaults.push("3");
|
|
16865
|
-
if (!status.iola) defaults.push("
|
|
16875
|
+
if (!status.iola) defaults.push("8");
|
|
16866
16876
|
return defaults.length ? defaults : ["1", "2"];
|
|
16867
16877
|
}
|
|
16868
16878
|
|
|
16869
16879
|
function defaultOnboardComponents(status) {
|
|
16870
|
-
const map = { 1: "workspace", 2: "policy", 3: "archive", 4: "index", 5: "browser", 6: "
|
|
16880
|
+
const map = { 1: "workspace", 2: "policy", 3: "archive", 4: "index", 5: "browser", 6: "city-data", 7: "codex-mcp", 8: "iola", 9: "ollama", 10: "gigachat", 11: "yandex", 12: "yandex-cloud", 13: "openai", 14: "openrouter", 15: "codex" };
|
|
16871
16881
|
return defaultOnboardSelection(status).map((item) => map[item]).filter(Boolean);
|
|
16872
16882
|
}
|
|
16873
16883
|
|
|
@@ -18,7 +18,7 @@ iola master
|
|
|
18
18
|
В мастере выберите:
|
|
19
19
|
|
|
20
20
|
```text
|
|
21
|
-
|
|
21
|
+
12. Yandex Cloud Connector - геокодинг и YandexGPT
|
|
22
22
|
```
|
|
23
23
|
|
|
24
24
|
CLI не просто открывает консоль. Он печатает короткую инструкцию, что делать дальше, и только потом просит вставить ключи.
|
|
@@ -22,22 +22,25 @@ iola master
|
|
|
22
22
|
4. Индекс локальных документов
|
|
23
23
|
5. Браузерный модуль
|
|
24
24
|
|
|
25
|
+
Городские сервисы
|
|
26
|
+
6. Открытые данные Йошкар-Олы
|
|
27
|
+
7. Подключить городские данные к Codex
|
|
28
|
+
|
|
25
29
|
Локальный AI
|
|
26
|
-
|
|
27
|
-
|
|
30
|
+
8. IOLA локальная модель
|
|
31
|
+
9. Ollama
|
|
28
32
|
|
|
29
33
|
Российские AI и сервисы
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
34
|
+
10. GigaChat API
|
|
35
|
+
11. Yandex Connector
|
|
36
|
+
12. Yandex Cloud Connector
|
|
33
37
|
|
|
34
38
|
Зарубежные AI
|
|
35
|
-
|
|
36
|
-
|
|
39
|
+
13. OpenAI API
|
|
40
|
+
14. OpenRouter API
|
|
37
41
|
|
|
38
42
|
Codex
|
|
39
|
-
|
|
40
|
-
14. Подключение IOLA к Codex
|
|
43
|
+
15. Codex CLI
|
|
41
44
|
```
|
|
42
45
|
|
|
43
46
|
## Базовая настройка
|
|
@@ -70,9 +73,23 @@ iola index folder ./docs
|
|
|
70
73
|
|
|
71
74
|
Проверяет Playwright/Chromium runtime. Нужен для браузерного агента.
|
|
72
75
|
|
|
76
|
+
## Городские сервисы
|
|
77
|
+
|
|
78
|
+
### 6. Открытые данные Йошкар-Олы
|
|
79
|
+
|
|
80
|
+
Проверяет доступность городского API/MCP-шлюза `apiiola.yasg.ru`.
|
|
81
|
+
|
|
82
|
+
Этот пункт ничего не устанавливает локально. Он нужен, чтобы пользователь явно видел: CLI подключен к городским слоям открытых данных и может проверять школы, детские сады и другие подключенные городские сервисы через проверяемый gateway.
|
|
83
|
+
|
|
84
|
+
### 7. Подключить городские данные к Codex
|
|
85
|
+
|
|
86
|
+
Добавляет MCP-сервер открытых данных Йошкар-Олы во внешний Codex CLI. Этот пункт нужен только тем, кто хочет, чтобы Codex CLI тоже видел городские данные как MCP-инструменты.
|
|
87
|
+
|
|
88
|
+
Для обычной работы `iola-cli` с городскими слоями этот пункт не обязателен: сам CLI уже ходит к городскому API/MCP-шлюзу напрямую.
|
|
89
|
+
|
|
73
90
|
## Локальный AI
|
|
74
91
|
|
|
75
|
-
###
|
|
92
|
+
### 8. IOLA локальная модель
|
|
76
93
|
|
|
77
94
|
Проверяет штатную локальную модель IOLA и готовит ее к работе через доступный runtime.
|
|
78
95
|
|
|
@@ -80,7 +97,7 @@ iola index folder ./docs
|
|
|
80
97
|
|
|
81
98
|
После настройки локальную модель можно менять в интерактивном агенте через `/model`. Помимо штатной IOLA-модели можно выбрать установленную или рекомендуемую Ollama-модель, либо вручную ввести имя любой модели из библиотеки Ollama.
|
|
82
99
|
|
|
83
|
-
###
|
|
100
|
+
### 9. Ollama
|
|
84
101
|
|
|
85
102
|
Опциональный локальный runtime для выбора сторонних моделей из библиотеки Ollama.
|
|
86
103
|
|
|
@@ -88,13 +105,13 @@ iola index folder ./docs
|
|
|
88
105
|
|
|
89
106
|
## Российские AI и сервисы
|
|
90
107
|
|
|
91
|
-
###
|
|
108
|
+
### 10. GigaChat API
|
|
92
109
|
|
|
93
110
|
Настраивает профиль GigaChat и сохраняет authorization key локально у пользователя.
|
|
94
111
|
|
|
95
112
|
Российский провайдер вызывается напрямую, без gateway/proxy.
|
|
96
113
|
|
|
97
|
-
###
|
|
114
|
+
### 11. Yandex Connector
|
|
98
115
|
|
|
99
116
|
Настраивает единый коннектор пользовательских сервисов Яндекса.
|
|
100
117
|
|
|
@@ -109,7 +126,7 @@ iola index folder ./docs
|
|
|
109
126
|
|
|
110
127
|
Инструкция: [Yandex Connector](Yandex-Connector).
|
|
111
128
|
|
|
112
|
-
###
|
|
129
|
+
### 12. Yandex Cloud Connector
|
|
113
130
|
|
|
114
131
|
Настраивает Yandex Cloud Connector: геокодер и, при необходимости, YandexGPT.
|
|
115
132
|
|
|
@@ -123,13 +140,13 @@ iola index folder ./docs
|
|
|
123
140
|
|
|
124
141
|
## Зарубежные AI
|
|
125
142
|
|
|
126
|
-
###
|
|
143
|
+
### 13. OpenAI API
|
|
127
144
|
|
|
128
145
|
Настраивает профиль OpenAI и сохраняет API-ключ локально у пользователя.
|
|
129
146
|
|
|
130
147
|
После сохранения ключа мастер предлагает выбрать модель из доступного списка.
|
|
131
148
|
|
|
132
|
-
###
|
|
149
|
+
### 14. OpenRouter API
|
|
133
150
|
|
|
134
151
|
Настраивает профиль OpenRouter и сохраняет API-ключ локально у пользователя.
|
|
135
152
|
|
|
@@ -137,14 +154,10 @@ iola index folder ./docs
|
|
|
137
154
|
|
|
138
155
|
## Codex
|
|
139
156
|
|
|
140
|
-
###
|
|
157
|
+
### 15. Codex CLI
|
|
141
158
|
|
|
142
159
|
Проверяет наличие Codex CLI и авторизации. Если Codex уже установлен и вход выполнен, пункт показывается как `готово`.
|
|
143
160
|
|
|
144
|
-
### 14. Подключение IOLA к Codex
|
|
145
|
-
|
|
146
|
-
Добавляет MCP-сервер открытых данных Йошкар-Олы в Codex. Этот пункт можно запускать повторно для обновления подключения.
|
|
147
|
-
|
|
148
161
|
## Повторный запуск
|
|
149
162
|
|
|
150
163
|
Если компонент уже настроен, его можно не выбирать. Если нужно переустановить или обновить компонент, выберите его номер вручную.
|