zames_pro 2.81.3 → 2.81.5

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 CHANGED
@@ -7,6 +7,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [2.81.5] - 2026-10-21
11
+
12
+ ### Changed
13
+
14
+ - docs(readme): mention GLM everywhere DeepSeek and Qwen were listed
15
+
16
+ ## [2.81.4] - 2026-10-21
17
+
18
+ ### Fixed
19
+
20
+ - **web:** SSRF guard blocks metadata/kubernetes service aliases
21
+
10
22
  ## [2.81.3] - 2026-10-21
11
23
 
12
24
  ### Fixed
package/README.md CHANGED
@@ -5,7 +5,7 @@
5
5
  <h1 align="center">zames_pro</h1>
6
6
 
7
7
  <p align="center">
8
- <strong>A terminal coding agent that drives real web chat LLMs (DeepSeek, Qwen, …) through a browser — no API key required.</strong>
8
+ <strong>A terminal coding agent that drives real web chat LLMs (DeepSeek, Qwen, GLM) through a browser — no API key required.</strong>
9
9
  </p>
10
10
 
11
11
  <p align="center">
@@ -23,13 +23,13 @@
23
23
  </p>
24
24
 
25
25
  A terminal coding agent that works on top of real web chat LLMs
26
- ([chat.deepseek.com](https://chat.deepseek.com/), [chat.qwen.ai](https://chat.qwen.ai/), …)
26
+ ([chat.deepseek.com](https://chat.deepseek.com/), [chat.qwen.ai](https://chat.qwen.ai/), [chat.z.ai](https://chat.z.ai/), …)
27
27
  through Playwright.
28
28
  In spirit it is similar to Claude Code / Codex CLI: it starts in the current
29
29
  directory, reads and edits files, runs commands, and commits to git.
30
30
 
31
- > No API key required — it drives a DeepSeek or Qwen web chat like a regular
32
- > user through a real (headless) browser.
31
+ > No API key required — it drives a DeepSeek, Qwen or GLM web chat like a
32
+ > regular user through a real (headless) browser.
33
33
 
34
34
  <p align="center">
35
35
  <img src="https://raw.githubusercontent.com/Viqto0r/zames_pro/master/docs/demo.png" alt="zames session in the terminal" width="860">
@@ -44,12 +44,13 @@ zames # sign in once, then describe your task
44
44
  ```
45
45
 
46
46
  There is **no API key and no per-token bill**: zames signs in to **your own
47
- [chat.deepseek.com](https://chat.deepseek.com/) or
48
- [chat.qwen.ai](https://chat.qwen.ai/) account** in a real (headless) Chromium
49
- and drives the web chat like a regular user. The first launch asks for your
50
- login once (the session is stored in `~/.zames/profile` for DeepSeek or
51
- `~/.zames/qwen-profile` for Qwen); after that just run `zames` and type a task
52
- in plain language:
47
+ [chat.deepseek.com](https://chat.deepseek.com/),
48
+ [chat.qwen.ai](https://chat.qwen.ai/) or [chat.z.ai](https://chat.z.ai/)
49
+ account** in a real (headless) Chromium and drives the web chat like a regular
50
+ user. The first launch asks for your login once (the session is stored in
51
+ `~/.zames/profile` for DeepSeek, `~/.zames/qwen-profile` for Qwen or
52
+ `~/.zames/glm-profile` for GLM); after that just run `zames` and type a task in
53
+ plain language:
53
54
 
54
55
  ```text
55
56
  ❯ refactor the config loader and add a test for the new default
@@ -70,15 +71,15 @@ Three chat backends are available, switched with `/provider <deepseek|qwen|glm>`
70
71
  and **GLM** (`chat.z.ai`).
71
72
  The switch is **live** — zames closes the current backend and opens the other
72
73
  one in place, no restart needed. Each keeps its own persistent profile
73
- (`~/.zames/profile` and `~/.zames/qwen-profile`), so switching never signs the
74
- other one out.
74
+ (`~/.zames/profile`, `~/.zames/qwen-profile` and `~/.zames/glm-profile`), so
75
+ switching never signs the other one out.
75
76
 
76
77
  <p align="center">
77
78
  <img src="https://raw.githubusercontent.com/Viqto0r/zames_pro/master/docs/how-it-works.png" alt="how zames works" width="860">
78
79
  </p>
79
80
 
80
81
  In text: you type a task → zames sends the system prompt plus the task into
81
- the active chat web app (DeepSeek or Qwen) → the model answers → zames parses
82
+ the active chat web app (DeepSeek, Qwen or GLM) → the model answers → zames parses
82
83
  the tool call, runs the tool locally, feeds the result back, and prints the
83
84
  final answer for you.
84
85
 
@@ -90,7 +91,8 @@ Key pieces:
90
91
  `~/.zames/qwen-profile` for Qwen) keeps you signed in; the headless
91
92
  User-Agent is patched so the site's CDN does not 403 the login.
92
93
  - **A send throttle** (15 s on DeepSeek, ~1 s on Qwen, which tolerates rapid
93
- sends) keeps the web chat's rate limit happy during long tool-heavy runs.
94
+ sends; GLM uses an adaptive pause that starts at 0) keeps the web chat's rate
95
+ limit happy during long tool-heavy runs.
94
96
  - **The agent is sandboxed** to the directory it was started in — no tool can
95
97
  read or write above it.
96
98
 
@@ -129,8 +131,8 @@ Key pieces:
129
131
  coding agent is used on this repository: the agent in this very terminal
130
132
  reads the sources, runs the tests, fixes the bugs and commits the result.
131
133
  That is the daily proof that it works and is actually used.
132
- - **No API key, no per-token bill** — it uses your own DeepSeek or Qwen chat
133
- account, not the paid API. Good for long, tool-heavy tasks.
134
+ - **No API key, no per-token bill** — it uses your own DeepSeek, Qwen or GLM
135
+ chat account, not the paid API. Good for long, tool-heavy tasks.
134
136
  - **Same workflow as Claude Code / Codex** — tools, `AGENTS.md`, skills, MCP
135
137
  and slash commands, so it feels familiar from day one.
136
138
  - **Runs unattended** — headless by default, resumable sessions, and `/loop`
@@ -142,8 +144,8 @@ Key pieces:
142
144
 
143
145
  - Node.js >= 20
144
146
  - An account on the chat you want to use — **DeepSeek** (`chat.deepseek.com`,
145
- the default) or **Qwen** (`chat.qwen.ai`). Qwen also works in guest mode for
146
- a few messages. On first launch zames asks for your login in the terminal
147
+ the default), **Qwen** (`chat.qwen.ai`) or **GLM** (`chat.z.ai`). Qwen also
148
+ works in guest mode for a few messages. On first launch zames asks for your login in the terminal
147
149
  (and stores it in `~/.zames/config.json` after a successful sign-in, so a
148
150
  later logout is handled automatically without asking you again). You can also
149
151
  sign in manually in the browser window when the browser is headed.
@@ -307,7 +309,7 @@ You can paste an image or a file into the input line (Ctrl+Shift+V / Shift+Inser
307
309
  or the terminal's own paste). zames saves it under `<project>/tmp` and shows a
308
310
  marker in the line - `[image#1]` for images, `[file#1]` for other files - then
309
311
  uploads the real file to the chat together with your message. These are the
310
- same formats the DeepSeek / Qwen web chat accepts (PNG, JPEG, GIF, WEBP, BMP,
312
+ same formats the DeepSeek / Qwen / GLM web chat accepts (PNG, JPEG, GIF, WEBP, BMP,
311
313
  SVG and the usual document types).
312
314
 
313
315
  Pasting an image works when the terminal sends it as a `data:` URL or as a
@@ -391,15 +393,15 @@ Codex CLI:
391
393
  - /rename <title> — set the current session title (shown in /sessions).
392
394
  - /copy — copy the last assistant answer to the OS clipboard.
393
395
  - /cost (alias /usage) — session stats: tasks, tool calls, duration, and the
394
- context size in tokens (DeepSeek's `accumulated_token_usage`; Qwen
395
- reports `input_tokens`).
396
+ context size in tokens (DeepSeek's `accumulated_token_usage`, Qwen's
397
+ `input_tokens`, GLM's `prompt_tokens`).
396
398
  - /export [file] — write the session transcript to a Markdown file
397
399
  (zames-export-<stamp>.md by default).
398
400
  - /doctor — diagnose node, git, config, browser, clipboard, MCP and the
399
401
  active chat provider (it also reports that provider's UI health).
400
- - /provider <deepseek|qwen> — switch the chat backend (applied live, no
402
+ - /provider <deepseek|qwen|glm> — switch the chat backend (applied live, no
401
403
  restart); /provider status shows the active provider/model/login; /provider
402
- login re-runs the sign-in check. /model [id] lists or picks a Qwen model at
404
+ login re-runs the sign-in check. /model [id] lists or picks a Qwen/GLM model at
403
405
  runtime.
404
406
  - /add-dir <path> — validate an extra directory (the sandbox is fixed at
405
407
  startup; relaunch with --dir to write there).
@@ -445,7 +447,8 @@ The token context is also shown live: the status line above the input has the
445
447
  spinner/text on the left and the context on the right (e.g. `125k · 13%`,
446
448
  percent of a 1M context). It is COLORED by fill level: green below 50%,
447
449
  yellow 50-80%, red above 80%. It comes from the provider's own token
448
- counter (DeepSeek's `accumulated_token_usage`, Qwen's `input_tokens`) and is
450
+ counter (DeepSeek's `accumulated_token_usage`, Qwen's `input_tokens`, GLM's
451
+ `prompt_tokens`) and is
449
452
  hidden until the first answer delivers it.
450
453
 
451
454
  ## Project context, skills and memory
@@ -485,7 +488,7 @@ Skills and custom commands show up in the «/» completion list and in `/help`.
485
488
  zames can use tools from [MCP](https://modelcontextprotocol.io) servers.
486
489
  The flagship example is @playwright/mcp: it gives the agent a real browser
487
490
  (navigate, click, snapshot, type, ...) on top of the one zames already uses
488
- for the DeepSeek or Qwen chat.
491
+ for the DeepSeek, Qwen or GLM chat.
489
492
 
490
493
  Drop a config file (same shape as Claude Code / Cursor):
491
494
 
@@ -518,8 +521,9 @@ agent.
518
521
 
519
522
  ### Recommended servers (verified)
520
523
 
521
- A few small, high-value servers tested end to end with zames (both the
522
- DeepSeek and Qwen backends):
524
+ A few small, high-value servers tested end to end with zames (on the DeepSeek
525
+ and Qwen backends; the MCP layer is provider-agnostic, so they work with GLM
526
+ too):
523
527
 
524
528
  - **Context7** (`@upstash/context7-mcp`) — fetches CURRENT, version-specific
525
529
  documentation for a library before the agent writes code, instead of relying
@@ -584,15 +588,16 @@ Agent data is stored in `~/.zames`: browser profile, logs, undo history, session
584
588
 
585
589
  ## FAQ
586
590
 
587
- **Is this an official DeepSeek or Qwen product?**
588
- No. zames drives the public `chat.deepseek.com` / `chat.qwen.ai` web UIs through
589
- a real browser, like a regular user. It is not affiliated with DeepSeek or
590
- Alibaba.
591
+ **Is this an official DeepSeek, Qwen or GLM product?**
592
+ No. zames drives the public `chat.deepseek.com` / `chat.qwen.ai` / `chat.z.ai`
593
+ web UIs through a real browser, like a regular user. It is not affiliated with
594
+ DeepSeek, Alibaba or Zhipu AI.
591
595
 
592
596
  **Do I need an API key?**
593
597
  No. You sign in with your own account on the chat you use — DeepSeek (stored in
594
- `~/.zames/profile`) or Qwen (stored in `~/.zames/qwen-profile`) — and the session
595
- is reused. Qwen also works in guest mode for a few messages a day.
598
+ `~/.zames/profile`), Qwen (stored in `~/.zames/qwen-profile`) or GLM (stored in
599
+ `~/.zames/glm-profile`) — and the session is reused. Qwen also works in guest
600
+ mode for a few messages a day.
596
601
 
597
602
  **Which model does it use?**
598
603
  Whichever the active web chat uses. On DeepSeek that is DeepSeek-V3 (or the
@@ -610,8 +615,8 @@ not hammer the rate limit.
610
615
 
611
616
  **How is it different from Claude Code / Codex?**
612
617
  Same shape (tools, `AGENTS.md`, skills, MCP, slash commands) but it runs on your
613
- DeepSeek or Qwen account instead of an API, as a browser automation rather than
614
- a first-party API client.
618
+ DeepSeek, Qwen or GLM account instead of an API, as a browser automation rather
619
+ than a first-party API client.
615
620
 
616
621
  ## Links
617
622
 
@@ -631,13 +636,13 @@ MIT
631
636
  <summary>🇷🇺 Читать по-русски (Russian)</summary>
632
637
 
633
638
  Терминальный coding-агент, работающий поверх веб-чатов LLM
634
- ([chat.deepseek.com](https://chat.deepseek.com/), [chat.qwen.ai](https://chat.qwen.ai/), …)
639
+ ([chat.deepseek.com](https://chat.deepseek.com/), [chat.qwen.ai](https://chat.qwen.ai/), [chat.z.ai](https://chat.z.ai/), …)
635
640
  через Playwright.
636
641
  По духу он похож на Claude Code / Codex CLI: запускается в текущей
637
642
  директории, читает и правит файлы, выполняет команды и коммитит в git.
638
643
 
639
- > API-ключ не нужен — агент управляет веб-чатом DeepSeek или Qwen как обычный
640
- > пользователь через настоящий (headless) браузер.
644
+ > API-ключ не нужен — агент управляет веб-чатом DeepSeek, Qwen или GLM как
645
+ > обычный пользователь через настоящий (headless) браузер.
641
646
 
642
647
  <p align="center">
643
648
  <img src="https://raw.githubusercontent.com/Viqto0r/zames_pro/master/docs/demo.png" alt="сессия zames в терминале" width="860">
@@ -652,11 +657,12 @@ zames # один раз войти, дальше прост
652
657
  ```
653
658
 
654
659
  Здесь **нет API-ключа и нет оплаты за токены**: zames входит в **ваш
655
- собственный аккаунт [chat.deepseek.com](https://chat.deepseek.com/) или
656
- [chat.qwen.ai](https://chat.qwen.ai/)** в настоящем (headless) Chromium и
657
- управляет веб-чатом как обычный пользователь. При первом запуске он один раз
658
- спросит логин (сессия сохраняется в `~/.zames/profile` для DeepSeek или
659
- `~/.zames/qwen-profile` для Qwen); после этого достаточно запустить `zames` и
660
+ собственный аккаунт [chat.deepseek.com](https://chat.deepseek.com/),
661
+ [chat.qwen.ai](https://chat.qwen.ai/) или [chat.z.ai](https://chat.z.ai/)** в
662
+ настоящем (headless) Chromium и управляет веб-чатом как обычный пользователь.
663
+ При первом запуске он один раз спросит логин (сессия сохраняется в
664
+ `~/.zames/profile` для DeepSeek, `~/.zames/qwen-profile` для Qwen или
665
+ `~/.zames/glm-profile` для GLM); после этого достаточно запустить `zames` и
660
666
  написать задачу обычным языком:
661
667
 
662
668
  ```text
@@ -688,7 +694,7 @@ zames не вызывает API модели. Он запускает headless C
688
694
  </p>
689
695
 
690
696
  Словами: вы вводите задачу → zames отправляет системный промпт и задачу в
691
- активный веб-чат (DeepSeek или Qwen) → модель отвечает → zames разбирает
697
+ активный веб-чат (DeepSeek, Qwen или GLM) → модель отвечает → zames разбирает
692
698
  вызов инструмента, выполняет его локально, возвращает результат обратно и
693
699
  печатает финальный ответ.
694
700
 
@@ -698,11 +704,12 @@ zames не вызывает API модели. Он запускает headless C
698
704
  DOM, поэтому JSON вызова инструмента с шаблонными строками и экранированием
699
705
  остаётся целым.
700
706
  - **Постоянный профиль на каждого провайдера** (`~/.zames/profile` у DeepSeek,
701
- `~/.zames/qwen-profile` у Qwen) держит вас залогиненным; User-Agent
707
+ `~/.zames/qwen-profile` у Qwen, `~/.zames/glm-profile` у GLM) держит вас
708
+ залогиненным; User-Agent
702
709
  headless-браузера подменяется, чтобы CDN сайта не отдавал 403 на вход.
703
710
  - **Троттлинг отправки** (15 с у DeepSeek, ~1 с у Qwen, который спокойно
704
- переносит частые отправки) щадит рейт-лимит веб-чата во время долгих
705
- прогонов с инструментами.
711
+ переносит частые отправки; у GLM — адаптивная пауза с нуля) щадит рейт-лимит
712
+ веб-чата во время долгих прогонов с инструментами.
706
713
  - **Агент запесочен** в директорию запуска — ни один инструмент не может
707
714
  читать или писать выше неё.
708
715
 
@@ -744,7 +751,7 @@ zames не вызывает API модели. Он запускает headless C
744
751
  гоняет тесты, чинит баги и коммитит результат. Это ежедневное доказательство,
745
752
  что он работает и реально используется.
746
753
  - **Нет API-ключа и счёта за токены** — используется ваш собственный аккаунт
747
- чата DeepSeek или Qwen, а не платный API. Удобно для долгих задач с
754
+ чата DeepSeek, Qwen или GLM, а не платный API. Удобно для долгих задач с
748
755
  инструментами.
749
756
  - **Тот же рабочий процесс, что в Claude Code / Codex** — инструменты,
750
757
  `AGENTS.md`, навыки, MCP и слэш-команды, так что всё знакомо с первого дня.
@@ -756,9 +763,9 @@ zames не вызывает API модели. Он запускает headless C
756
763
  ## Требования
757
764
 
758
765
  - Node.js >= 20
759
- - Аккаунт в нужном чате — **DeepSeek** (`chat.deepseek.com`, по умолчанию) или
760
- **Qwen** (`chat.qwen.ai`). Qwen также работает в гостевом режиме на несколько
761
- сообщений. При первом запуске zames спросит логин в терминале (и сохранит его
766
+ - Аккаунт в нужном чате — **DeepSeek** (`chat.deepseek.com`, по умолчанию),
767
+ **Qwen** (`chat.qwen.ai`) или **GLM** (`chat.z.ai`). Qwen также работает в
768
+ гостевом режиме на несколько сообщений. При первом запуске zames спросит логин в терминале (и сохранит его
762
769
  в `~/.zames/config.json` после успешного входа, поэтому более поздний
763
770
  разлогин обрабатывается автоматически, без повторных вопросов). Можно также
764
771
  войти вручную в окне браузера, когда он headed.
@@ -922,7 +929,7 @@ zames
922
929
  или собственной вставкой терминала). zames сохраняет его в `<project>/tmp` и
923
930
  показывает маркер в строке — `[image#1]` для картинок, `[file#1]` для прочих
924
931
  файлов — затем загружает реальный файл в чат вместе с вашим сообщением. Это те
925
- же форматы, что принимает веб-чат DeepSeek / Qwen (PNG, JPEG, GIF, WEBP, BMP,
932
+ же форматы, что принимает веб-чат DeepSeek / Qwen / GLM (PNG, JPEG, GIF, WEBP, BMP,
926
933
  SVG и обычные типы документов).
927
934
 
928
935
  Вставка картинки работает, когда терминал передаёт её как `data:` URL или как
@@ -1008,12 +1015,12 @@ zames --task "..." --output-format jsonl \
1008
1015
  - /copy — скопировать последний ответ ассистента в буфер обмена ОС.
1009
1016
  - /cost (алиас /usage) — статистика сессии: задачи, вызовы инструментов,
1010
1017
  длительность и размер контекста в токенах (у DeepSeek —
1011
- `accumulated_token_usage`, у Qwen — `input_tokens`).
1018
+ `accumulated_token_usage`, у Qwen — `input_tokens`, у GLM — `prompt_tokens`).
1012
1019
  - /export [file] — записать транскрипт сессии в Markdown-файл
1013
1020
  (по умолчанию zames-export-<stamp>.md).
1014
1021
  - /doctor — диагностика node, git, конфига, браузера, буфера обмена, MCP и
1015
1022
  активного провайдера чата (плюс состояние UI его страницы).
1016
- - /provider <deepseek|qwen> — сменить бэкенд чата (применяется сразу, без
1023
+ - /provider <deepseek|qwen|glm> — сменить бэкенд чата (применяется сразу, без
1017
1024
  перезапуска); /provider status показывает активный провайдер/модель/вход;
1018
1025
  /provider login повторно проверяет вход. /model [id] покажет или выберет
1019
1026
  модель Qwen на лету.
@@ -1062,7 +1069,8 @@ zames --task "..." --output-format jsonl \
1062
1069
  спиннер/текст, справа — контекст (например, `125k · 13%`, процент от 1M
1063
1070
  контекста). Он ОКРАШЕН по уровню заполнения: зелёный ниже 50%, жёлтый 50-80%,
1064
1071
  красный выше 80%. Значение приходит из счётчика токенов провайдера (у DeepSeek —
1065
- `accumulated_token_usage`, у Qwen — `input_tokens`) и скрыто до первого ответа.
1072
+ `accumulated_token_usage`, у Qwen — `input_tokens`, у GLM — `prompt_tokens`) и
1073
+ скрыто до первого ответа.
1066
1074
 
1067
1075
  ## Контекст проекта, навыки и память
1068
1076
 
@@ -1102,7 +1110,7 @@ zames --task "..." --output-format jsonl \
1102
1110
  zames может использовать инструменты с серверов [MCP](https://modelcontextprotocol.io).
1103
1111
  Главный пример — @playwright/mcp: он даёт агенту настоящий браузер
1104
1112
  (navigate, click, snapshot, type, ...) поверх того, который zames уже
1105
- использует для чата DeepSeek или Qwen.
1113
+ использует для чата DeepSeek, Qwen или GLM.
1106
1114
 
1107
1115
  Положите файл конфига (той же формы, что в Claude Code / Cursor):
1108
1116
 
@@ -1136,12 +1144,13 @@ MCP-браузер и браузер агента подерутся за оди
1136
1144
  ### Рекомендованные серверы (проверены)
1137
1145
 
1138
1146
  Несколько небольших полезных серверов, протестированных вживую с zames
1139
- (на обоих бэкендах — DeepSeek и Qwen):
1147
+ (на бэкендах DeepSeek, Qwen и GLM):
1140
1148
 
1141
1149
  - **Context7** (`@upstash/context7-mcp`) — подтягивает АКТУАЛЬНУЮ
1142
1150
  документацию библиотеки (для конкретной версии) до того, как агент пишет код,
1143
1151
  вместо устаревших знаний из обучения. Инструменты: `resolve_library_id`, затем
1144
- `query_docs`. Проверено вживую на DeepSeek И Qwen: агент вызвал оба инструмента
1152
+ `query_docs`. Проверено вживую на DeepSeek и Qwen (слой MCP не зависит от провайдера,
1153
+ поэтому работает и с GLM): агент вызвал оба инструмента
1145
1154
  и получил актуальный API Zod. Именно его стоит подключить первым.
1146
1155
 
1147
1156
  ```json
@@ -1202,15 +1211,16 @@ enum переключаются на месте; числа и строки от
1202
1211
 
1203
1212
  ## FAQ
1204
1213
 
1205
- **Это официальный продукт DeepSeek или Qwen?**
1214
+ **Это официальный продукт DeepSeek, Qwen или GLM?**
1206
1215
  Нет. zames управляет публичными веб-интерфейсами `chat.deepseek.com` /
1207
- `chat.qwen.ai` через настоящий браузер, как обычный пользователь. Он не связан
1208
- ни с DeepSeek, ни с Alibaba.
1216
+ `chat.qwen.ai` / `chat.z.ai` через настоящий браузер, как обычный пользователь.
1217
+ Он не связан ни с DeepSeek, ни с Alibaba, ни с Zhipu AI.
1209
1218
 
1210
1219
  **Нужен ли API-ключ?**
1211
1220
  Нет. Вы один раз входите в свой аккаунт на нужном чате — DeepSeek (хранится в
1212
- `~/.zames/profile`) или Qwen (хранится в `~/.zames/qwen-profile`) — и сессия
1213
- переиспользуется. Qwen также работает в гостевом режиме на несколько сообщений.
1221
+ `~/.zames/profile`), Qwen (хранится в `~/.zames/qwen-profile`) или GLM
1222
+ (хранится в `~/.zames/glm-profile`) — и сессия переиспользуется. Qwen также
1223
+ работает в гостевом режиме на несколько сообщений.
1214
1224
 
1215
1225
  **Какую модель он использует?**
1216
1226
  Ту, которую использует активный веб-чат. В DeepSeek это DeepSeek-V3 (или
@@ -1229,7 +1239,7 @@ reasoning-модель при включённом «Deep thinking»). В Qwen
1229
1239
 
1230
1240
  **Чем отличается от Claude Code / Codex?**
1231
1241
  Та же форма (инструменты, `AGENTS.md`, навыки, MCP, слэш-команды), но работает
1232
- на вашем аккаунте DeepSeek или Qwen вместо API, как автоматизация браузера, а
1242
+ на вашем аккаунте DeepSeek, Qwen или GLM вместо API, как автоматизация браузера, а
1233
1243
  не first-party API-клиент.
1234
1244
 
1235
1245
  ## Ссылки
package/dist/web.js CHANGED
@@ -318,8 +318,15 @@ export function isPrivateHostname(host) {
318
318
  return true;
319
319
  if (h === 'localhost' || h.endsWith('.localhost'))
320
320
  return true;
321
+ // Cloud metadata / cluster service ALIASES. `metadata` (GCP), `instance-data`
322
+ // (AWS) and `kubernetes.default[.svc]` are internal-only names; blocking them
323
+ // by name does not depend on a split-horizon DNS answering with a private IP.
321
324
  if (h === 'metadata.google.internal')
322
325
  return true;
326
+ if (h === 'metadata' || h === 'instance-data')
327
+ return true;
328
+ if (h === 'kubernetes.default' || h === 'kubernetes.default.svc')
329
+ return true;
323
330
  // Internal/mDNS/service names that never belong to the public internet.
324
331
  if (h.endsWith('.internal') || h === 'internal')
325
332
  return true;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zames_pro",
3
- "version": "2.81.3",
3
+ "version": "2.81.5",
4
4
  "description": "Terminal coding agent that drives a real browser to chat with DeepSeek, Qwen and other web LLMs — no API key required. Reads and edits files, runs commands, commits to git, like Claude Code / Codex CLI.",
5
5
  "type": "module",
6
6
  "bin": {