zames_pro 2.88.2 → 2.90.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/CHANGELOG.md +54 -0
- package/README.md +32 -585
- package/dist/agent-loop.js +47 -4
- package/dist/ask-retry.js +49 -0
- package/dist/ask-state.js +80 -0
- package/dist/browser-base.js +69 -0
- package/dist/browser.js +170 -41
- package/dist/command-registry.js +58 -0
- package/dist/commands.js +25 -2
- package/dist/completion-check.js +77 -0
- package/dist/config-commands.js +12 -4
- package/dist/config-menu.js +179 -81
- package/dist/config-schema.js +562 -0
- package/dist/config.js +19 -405
- package/dist/dev-commands.js +27 -0
- package/dist/dev-watch.js +96 -0
- package/dist/first-run.js +80 -0
- package/dist/glm-browser.js +133 -32
- package/dist/i18n/common.js +6 -3
- package/dist/i18n/config.js +78 -3
- package/dist/i18n/deepseek.js +1 -0
- package/dist/i18n/wizard.js +25 -0
- package/dist/i18n.js +6 -1
- package/dist/index.js +1299 -924
- package/dist/info-commands.js +61 -0
- package/dist/input/layout.js +38 -1
- package/dist/input.js +2 -2
- package/dist/password-store.js +48 -0
- package/dist/prompt-budget.js +23 -0
- package/dist/provider-errors.js +53 -0
- package/dist/provider-fallback.js +46 -0
- package/dist/qwen-browser.js +155 -39
- package/dist/run-task.js +2 -1
- package/dist/scheduler-commands.js +41 -0
- package/dist/send-slot.js +36 -0
- package/dist/session-commands.js +42 -0
- package/dist/spinner.js +3 -3
- package/dist/swallow.js +45 -0
- package/dist/system-prompt.js +2 -2
- package/dist/tree-commands.js +36 -0
- package/dist/tui/ConfigMenu.js +149 -64
- package/dist/tui/FullScreenApp.js +13 -4
- package/dist/tui/InputLine.js +20 -3
- package/dist/tui/LogView.js +11 -5
- package/dist/tui/StatusBar.js +4 -1
- package/dist/tui/TuiApp.js +11 -2
- package/dist/tui/layout.js +14 -1
- package/dist/tui/store.js +2 -1
- package/dist/tui/ui-colors.js +2 -0
- package/dist/width.js +10 -5
- package/llms-full.txt +16 -292
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -66,6 +66,15 @@ While the agent works you can keep typing — a message sent mid-task is queued
|
|
|
66
66
|
and runs right after it, in the same chat. `Esc` aborts the current generation,
|
|
67
67
|
`/help` lists commands, `/exit` quits.
|
|
68
68
|
|
|
69
|
+
## Table of contents
|
|
70
|
+
|
|
71
|
+
- [Quick start](#quick-start) · [How it works](#how-it-works) · [Features](#features)
|
|
72
|
+
- [Why zames?](#why-zames) · [Requirements](#requirements) · [Signing in](#signing-in)
|
|
73
|
+
- [Switching providers (DeepSeek / Qwen / GLM)](#switching-providers-deepseek--qwen--glm)
|
|
74
|
+
- [Installation](#installation) · [Usage](#usage) · [FAQ](#faq)
|
|
75
|
+
- Reference: [Commands and tools](docs/commands.md) · [MCP](docs/mcp.md) · [Configuration and themes](docs/configuration.md) · [Troubleshooting](docs/troubleshooting.md)
|
|
76
|
+
- [Keywords and alternatives](#keywords-and-alternatives) · [Links](#links) · [License](#license)
|
|
77
|
+
|
|
69
78
|
## How it works
|
|
70
79
|
|
|
71
80
|
zames does not call the model API. It launches a headless Chromium with a
|
|
@@ -102,15 +111,6 @@ Key pieces:
|
|
|
102
111
|
- **The agent is sandboxed** to the directory it was started in — no tool can
|
|
103
112
|
read or write above it.
|
|
104
113
|
|
|
105
|
-
## Table of contents
|
|
106
|
-
|
|
107
|
-
- [Quick start](#quick-start) · [Features](#features) · [Why zames?](#why-zames) · [Requirements](#requirements)
|
|
108
|
-
- [How it works](#how-it-works) · [Installation](#installation) · [Signing in](#signing-in) · [Usage](#usage)
|
|
109
|
-
- [Switching providers (DeepSeek / Qwen / GLM)](#switching-providers-deepseek--qwen--glm)
|
|
110
|
-
- [Tools](#tools) · [Slash commands](#slash-commands)
|
|
111
|
-
- [Project context, skills and memory](#project-context-skills-and-memory) · [MCP (external tools)](#mcp-external-tools) · [Configuration](#configuration)
|
|
112
|
-
- [FAQ](#faq) · [Keywords and alternatives](#keywords-and-alternatives) · [Links](#links) · [License](#license)
|
|
113
|
-
|
|
114
114
|
## Features
|
|
115
115
|
|
|
116
116
|
- **Tools like Claude Code / Codex** — `Read`, `Write`, `Edit`, `Bash`,
|
|
@@ -376,291 +376,14 @@ zames --task "..." --output-format jsonl \
|
|
|
376
376
|
| jq -r 'select(.type=="assistant_final") | .message'
|
|
377
377
|
```
|
|
378
378
|
|
|
379
|
-
## Tools
|
|
380
|
-
|
|
381
|
-
The agent has the same style of tools as Claude Code / Codex CLI:
|
|
382
|
-
|
|
383
|
-
- **File tools** — `Read`, `Write`, `Edit`, `Bash`, `BashOutput`, `Glob`,
|
|
384
|
-
`Grep`. `Read` returns raw content by default; pass `numbered=true` to get
|
|
385
|
-
`cat -n`-style line numbers (for reference only — do not paste them into
|
|
386
|
-
`Edit`). `Bash` takes `run_in_background`; `BashOutput` then polls or kills
|
|
387
|
-
that process.
|
|
388
|
-
- **Extra tools** — `LS` (list a directory), `MultiEdit` (several edits to one
|
|
389
|
-
file applied atomically), `TodoWrite` (session task checklist), `ApplyPatch`
|
|
390
|
-
(multi-file patch in Codex's V4A format: `*** Begin Patch` … `*** End Patch`).
|
|
391
|
-
- **Git** — `GitStatus`, `GitDiff`, `GitLog`, `GitShow`, `GitBranchList`,
|
|
392
|
-
`GitAdd`, `GitCommit`, `GitPush`.
|
|
393
|
-
- **Web** — `WebFetch`, `WebSearch`.
|
|
394
|
-
- **Subagents** — `Task` (delegate a self-contained sub-task to an agent in
|
|
395
|
-
its own chat; `explore` is read-only, `general` may edit; capped per task).
|
|
396
|
-
- **Operator** — `AskUser` (a modal question with options; skipped in plan
|
|
397
|
-
mode so a plan is never interrupted).
|
|
398
|
-
- **Service** — `respond` (final answer to the operator, ends the task).
|
|
399
|
-
|
|
400
|
-
All file tools stay inside the working directory (sandbox). `Write`/`Edit` and
|
|
401
|
-
`MultiEdit`/`ApplyPatch` make a backup (undo) before touching a file.
|
|
402
|
-
|
|
403
|
-
## Slash commands
|
|
404
|
-
|
|
405
|
-
Type / in the prompt for hints (Tab completes) — that list is always complete,
|
|
406
|
-
`/help <command>` describes any single one. Besides the session and config
|
|
407
|
-
commands (/new or /clear, /sessions, /chats, /resume-id, /last, /chat, /cd,
|
|
408
|
-
/pwd, /status, /config, /undo, /undo-list, /rewind, /rewind-list, /transcript,
|
|
409
|
-
/tasks, /mcp, /skills, /memory, /remember, /init, /reload, /debug-dom, /help,
|
|
410
|
-
/exit) there are a few that mirror Claude Code / Codex CLI:
|
|
411
|
-
|
|
412
|
-
- /diff [--staged] — show the working-tree git diff (--staged for the index).
|
|
413
|
-
- /diffstat — a one-line change summary (`git diff --stat`).
|
|
414
|
-
- /context — show what is loaded into the prompt (AGENTS.md, MEMORY.md,
|
|
415
|
-
skills, custom commands) and the system-prompt size.
|
|
416
|
-
- /retry — resend the last task into the same chat (handy after a truncated
|
|
417
|
-
or empty answer).
|
|
418
|
-
- /rename <title> — set the current session title (shown in /sessions).
|
|
419
|
-
- /copy — copy the last assistant answer to the OS clipboard.
|
|
420
|
-
- /cost (alias /usage) — session stats: tasks, tool calls, duration, and the
|
|
421
|
-
context size in tokens (DeepSeek's `accumulated_token_usage`, Qwen's
|
|
422
|
-
`input_tokens`, GLM's `prompt_tokens`).
|
|
423
|
-
- /export [file] — write the session transcript to a Markdown file
|
|
424
|
-
(zames-export-<stamp>.md by default).
|
|
425
|
-
- /doctor — diagnose node, git, config, browser, clipboard, MCP and the
|
|
426
|
-
active chat provider (it also reports that provider's UI health).
|
|
427
|
-
- /provider <deepseek|qwen|glm> — switch the chat backend (applied live, no
|
|
428
|
-
restart); /provider status shows the active provider/model/login; /provider
|
|
429
|
-
login re-runs the sign-in check. /model [id] lists or picks a Qwen/GLM model at
|
|
430
|
-
runtime.
|
|
431
|
-
- /add-dir <path> — validate an extra directory (the sandbox is fixed at
|
|
432
|
-
startup; relaunch with --dir to write there).
|
|
433
|
-
- /resume-id <id> (or picking a chat in the /chats list) — open a chat and
|
|
434
|
-
PRINT its dialogue into the terminal, so the restored context is visible. Only the
|
|
435
|
-
last 20 messages are shown (`RESTORED_HISTORY_LIMIT`). /last reopens the last
|
|
436
|
-
chat of the current directory with no lookup step; /sessions shows the saved
|
|
437
|
-
sessions with their relative age.
|
|
438
|
-
- /help <command> — the full description of a single command (e.g. `/help diff`)
|
|
439
|
-
instead of the whole list.
|
|
440
|
-
- /review [focus] [--staged] — ask the agent to review uncommitted changes
|
|
441
|
-
and report findings (no code changes).
|
|
442
|
-
- /plan [on|off] — plan (read-only) mode. While it is on, the mutating tools
|
|
443
|
-
(Write/Edit/MultiEdit/ApplyPatch/Bash/BashOutput, GitAdd/GitCommit/GitPush,
|
|
444
|
-
AskUser) are removed from the tool set, and so are MCP tools with a mutating
|
|
445
|
-
name, so the agent can investigate without touching the tree.
|
|
446
|
-
Start in it with `--plan`.
|
|
447
|
-
- /compact — ask the active backend to compress the current chat into a handover
|
|
448
|
-
summary, then open a NEW chat, resend the system prompt and post the summary
|
|
449
|
-
as the carried-over context. Use it when the context gets long.
|
|
450
|
-
- /goal <condition> — set a **completion condition** (Claude Code parity). The
|
|
451
|
-
agent starts working toward it at once and keeps starting new turns until a
|
|
452
|
-
separate evaluator model judges the condition met. The goal clears itself
|
|
453
|
-
automatically when it is met (or judged impossible), or with `/goal clear`
|
|
454
|
-
(or its synonym `/goal off`). The condition is stored in `<project>/.zames-goal`
|
|
455
|
-
(git-ignored) and restored on the next launch. `/goal` with no argument — or
|
|
456
|
-
`/goal on` — shows the current state.
|
|
457
|
-
- /loop <interval> <task> — repeat a task periodically (e.g. `/loop 10m run the
|
|
458
|
-
tests`). /cron "<min> <hour> <dom> <month> <dow>" <task> — run on a schedule.
|
|
459
|
-
/jobs [rm <id>|clear] lists and stops them. A fired job is put into the same
|
|
460
|
-
message queue you type into, so it runs when the agent is free (never mid-
|
|
461
|
-
generation) and still respects the send throttle. The FIRST run of a `/loop`
|
|
462
|
-
is due at once (and runs as soon as the agent is idle); a `/cron` job waits
|
|
463
|
-
for its schedule.
|
|
464
|
-
- /thinking [on|off] and /web [on|off] — toggle the reasoning / web-search
|
|
465
|
-
behaviour. On **DeepSeek** these are the "Deep thinking" / "Smart search"
|
|
466
|
-
toggles; on **Qwen** they drive its thinking MODE (Thinking / Fast) and the
|
|
467
|
-
"Web search" item in the "+" menu.
|
|
468
|
-
These (and /queue, /jobs, /goal, `/config <sub>`) can be used WHILE the agent
|
|
469
|
-
is working — they do not touch the in-flight generation.
|
|
470
|
-
- /queue [list|ls|clear|c|clean] — list (`list`/`ls`) or clear
|
|
471
|
-
(`clear`/`c`/`clean`) the messages waiting to be sent after the current
|
|
472
|
-
task.
|
|
473
|
-
|
|
474
|
-
The token context is also shown live: the status line above the input has the
|
|
475
|
-
spinner/text on the left and the context on the right (e.g. `125k · 13%`). The
|
|
476
|
-
percentage is of the ACTIVE provider's window — 1M for DeepSeek, a per-model
|
|
477
|
-
value for Qwen and GLM (`qwen.contextLimit` / `glm.contextLimit`) — and it is
|
|
478
|
-
COLORED by fill level: green below 50%, yellow 50-80%, red above 80%.
|
|
479
|
-
It comes from the provider's own token counter (DeepSeek's
|
|
480
|
-
`accumulated_token_usage`, Qwen's `input_tokens`, GLM's `prompt_tokens`) and is
|
|
481
|
-
hidden until the first answer delivers it.
|
|
482
|
-
|
|
483
|
-
## Project context, skills and memory
|
|
484
|
-
|
|
485
|
-
Like Codex / Claude Code, zames reads project instructions and reusable
|
|
486
|
-
workflows from your repository and from `~/.zames`.
|
|
487
|
-
|
|
488
|
-
- **AGENTS.md** — project instructions, in the repo root (or any parent folder
|
|
489
|
-
of the working directory); the agent writes it with `/init`. Global
|
|
490
|
-
instructions live in
|
|
491
|
-
`~/.zames/AGENTS.md` (and `~/.claude/CLAUDE.md`). Run `/init` and the agent
|
|
492
|
-
will explore the project and write an AGENTS.md based on the real build/test
|
|
493
|
-
commands and conventions (use `/init --force` to overwrite an existing file).
|
|
494
|
-
- **MEMORY.md** — durable notes that persist between sessions. The agent
|
|
495
|
-
appends useful facts here as it works; `/remember <text>` adds one from the
|
|
496
|
-
prompt, and any `/task`-style edit through the agent keeps the file in sync.
|
|
497
|
-
- **Skills** — a folder with a `SKILL.md` file (YAML frontmatter: `name`,
|
|
498
|
-
`description`, optional `allowed-tools`, `user-invokable`) plus any helper
|
|
499
|
-
files. Discovered under `.zames/skills/`, `.claude/skills/`,
|
|
500
|
-
`.agents/skills/`, `skills/`, and `~/.zames/skills/`. The agent reads the
|
|
501
|
-
body only when a task matches the description. List them with `/skills`;
|
|
502
|
-
invoke one with `/<skill-name>`.
|
|
503
|
-
- **Custom commands** — `.md` files under `.zames/commands/` (or
|
|
504
|
-
`.claude/commands/`). They support `$ARGUMENTS` / `{{args}}` placeholders and
|
|
505
|
-
are invoked with `/<command-name>`.
|
|
506
|
-
|
|
507
|
-
Skills and custom commands show up in the «/» completion list and in `/help`.
|
|
508
|
-
|
|
509
|
-
```
|
|
510
|
-
/skills list discovered skills
|
|
511
|
-
/memory show AGENTS.md / MEMORY.md in effect
|
|
512
|
-
/remember <text> append a durable note to MEMORY.md
|
|
513
|
-
/init [--force] analyze the project and create AGENTS.md
|
|
514
|
-
```
|
|
515
|
-
|
|
516
|
-
## MCP (external tools)
|
|
517
|
-
|
|
518
|
-
zames can use tools from [MCP](https://modelcontextprotocol.io) servers.
|
|
519
|
-
The flagship example is @playwright/mcp: it gives the agent a real browser
|
|
520
|
-
(navigate, click, snapshot, type, ...) on top of the one zames already uses
|
|
521
|
-
for the DeepSeek, Qwen or GLM chat.
|
|
522
|
-
|
|
523
|
-
Drop a config file (same shape as Claude Code / Cursor):
|
|
524
|
-
|
|
525
|
-
- `~/.zames/mcp.json` - global
|
|
526
|
-
- `<project>/.zames/mcp.json` - project-scoped (later files win)
|
|
527
|
-
- `<project>/.mcp.json` - the common MCP name
|
|
528
|
-
|
|
529
|
-
```json
|
|
530
|
-
{
|
|
531
|
-
"mcpServers": {
|
|
532
|
-
"playwright": {
|
|
533
|
-
"command": "npx",
|
|
534
|
-
"args": ["-y", "@playwright/mcp@latest", "--headless", "--isolated"]
|
|
535
|
-
}
|
|
536
|
-
}
|
|
537
|
-
}
|
|
538
|
-
```
|
|
539
|
-
|
|
540
|
-
IMPORTANT: keep the MCP browser isolated. @playwright/mcp defaults to the
|
|
541
|
-
SAME profile directory as zames (~/.zames/profile). If it is launched
|
|
542
|
-
without --isolated (or without its own --user-data-dir), the MCP browser
|
|
543
|
-
and the agent browser fight over one profile and the DeepSeek chat shows
|
|
544
|
-
"Something went wrong when opening your profile". Always pass --isolated
|
|
545
|
-
as in the example above.
|
|
546
|
-
Servers can also be remote ("url": "https://...", "transport": "sse").
|
|
547
|
-
Their tools show up in the agent as `server__tool` (e.g.
|
|
548
|
-
`playwright__browser_navigate`) and are listed with `/mcp` and in `/status`.
|
|
549
|
-
A server that fails to connect is skipped with a warning and never breaks the
|
|
550
|
-
agent.
|
|
551
|
-
|
|
552
|
-
### Recommended servers (verified)
|
|
553
|
-
|
|
554
|
-
A few small, high-value servers tested end to end with zames (on the DeepSeek
|
|
555
|
-
and Qwen backends; the MCP layer is provider-agnostic, so they work with GLM
|
|
556
|
-
too):
|
|
557
|
-
|
|
558
|
-
- **Context7** (`@upstash/context7-mcp`) — fetches CURRENT, version-specific
|
|
559
|
-
documentation for a library before the agent writes code, instead of relying
|
|
560
|
-
on a stale training snapshot. Tools: `resolve_library_id` then `query_docs`.
|
|
561
|
-
Verified live on DeepSeek AND Qwen: the agent called both tools and got the
|
|
562
|
-
current Zod API. This is the one to add first.
|
|
563
|
-
|
|
564
|
-
```json
|
|
565
|
-
{
|
|
566
|
-
"context7": {
|
|
567
|
-
"command": "npx",
|
|
568
|
-
"args": ["-y", "@upstash/context7-mcp@latest"]
|
|
569
|
-
}
|
|
570
|
-
}
|
|
571
|
-
```
|
|
572
|
-
|
|
573
|
-
- **Sequential Thinking** (`@modelcontextprotocol/server-sequential-thinking`)
|
|
574
|
-
— one `sequentialthinking` tool that gives the model an explicit, revisable
|
|
575
|
-
plan before it acts; useful for long multi-step tasks.
|
|
576
|
-
|
|
577
|
-
- **Memory** (`@modelcontextprotocol/server-memory`) — a local knowledge graph
|
|
578
|
-
(9 tools) for durable facts across chats. NOTE: zames already has `MEMORY.md`
|
|
579
|
-
+ `AGENTS.md`; add this only if you want a queryable graph.
|
|
580
|
-
|
|
581
|
-
Keep the stack SMALL: every server loads its tool definitions into the model's
|
|
582
|
-
context. Add one when you feel its absence, not before.
|
|
583
|
-
|
|
584
|
-
## Configuration
|
|
585
|
-
|
|
586
|
-
Global config: `~/.zames/config.json`
|
|
587
|
-
Local (per project): `.zamesrc.json`
|
|
588
|
-
|
|
589
|
-
You can view and change settings without leaving the agent — use the
|
|
590
|
-
`/config` command. Run it without arguments to open an interactive menu
|
|
591
|
-
(↑/↓ to move, Enter to change, `d` to reset, `q` to quit). Booleans and enums
|
|
592
|
-
toggle in place; numbers and strings open an input prompt.
|
|
593
|
-
|
|
594
|
-
```
|
|
595
|
-
/config interactive settings menu (alias: menu)
|
|
596
|
-
/config list print all editable settings (aliases: show, ls)
|
|
597
|
-
/config get <path> show a setting
|
|
598
|
-
/config set <path> <value> change a setting
|
|
599
|
-
/config reset <path> reset a setting to its default (alias: unset)
|
|
600
|
-
/config path show config file paths (alias: paths)
|
|
601
|
-
/config lang <ru|en> switch interface and agent language
|
|
602
|
-
(aliases: language, язык)
|
|
603
|
-
```
|
|
604
|
-
|
|
605
|
-
Examples:
|
|
606
|
-
|
|
607
|
-
```
|
|
608
|
-
/config set maxIterations 20
|
|
609
|
-
/config set browser.deepThinking true # DeepSeek Deep thinking (slow; reasoning is hidden)
|
|
610
|
-
/config set browser.webSearch false # DeepSeek Smart web search
|
|
611
|
-
/config lang en
|
|
612
|
-
```
|
|
613
|
-
|
|
614
|
-
Changes are written to the HOME config (`~/.zames/config.json`), NOT to the
|
|
615
|
-
project `.zamesrc.json` — a personal toggle must not leak into git — and applied
|
|
616
|
-
right away (where possible without a restart).
|
|
617
|
-
|
|
618
|
-
### Language
|
|
619
|
-
|
|
620
|
-
`/config lang ru` or `/config lang en` switches both the interface language
|
|
621
|
-
(help, messages, spinner) and the language the agent answers you in. The
|
|
622
|
-
locale lives in `ui.locale` in the config file.
|
|
623
|
-
|
|
624
|
-
### Themes
|
|
625
|
-
|
|
626
|
-
`/theme` opens a pick list with a LIVE preview: the arrow keys repaint the
|
|
627
|
-
terminal as you move, Enter saves, Esc restores the previous palette.
|
|
628
|
-
`/theme <id>` applies a palette directly, `/theme list` prints every id.
|
|
629
|
-
The switch also works WHILE the agent is generating: `/theme <id>` and
|
|
630
|
-
`/config set ui.theme <id>` neither interrupt the turn nor touch the chat (it is
|
|
631
|
-
a pure terminal repaint); the bare `/theme` pick list is queued instead, because
|
|
632
|
-
it opens a full-screen list.
|
|
633
|
-
The same setting is reachable from the settings side:
|
|
634
|
-
`/config set ui.theme <id>` or the `/config` menu («Terminal color theme»).
|
|
635
|
-
The switch is instant, no restart. `zames` is the default; the bundled palettes
|
|
636
|
-
are ports of well-known editor schemes:
|
|
637
|
-
|
|
638
|
-
`zames` (default), `one-dark`, `dracula`, `gruvbox`, `nord`, `monokai`,
|
|
639
|
-
`solarized-dark`, `tokyo-night`, `tokyo-storm`, `catppuccin`, `github-dark`,
|
|
640
|
-
`ayu`, `rose-pine`, `everforest`, `kanagawa`, `night-owl`, `material`,
|
|
641
|
-
`palenight`, `zenburn`, `selenized`, `iceberg`, `sonokai`, `aurora`, `cobalt2`,
|
|
642
|
-
plus the LIGHT ones: `one-light`, `github-light`, `solarized-light`,
|
|
643
|
-
`gruvbox-light`, `ayu-light`.
|
|
644
|
-
|
|
645
|
-
A theme repaints EVERYTHING: the interface, the agent's answers, the code
|
|
646
|
-
highlighting inside them, the status row and the input frame. The terminal's
|
|
647
|
-
BACKGROUND follows too: the theme emits OSC-11 with the palette's `bg`
|
|
648
|
-
(supported by iTerm2, Windows Terminal, kitty, WezTerm, Alacritty, GNOME
|
|
649
|
-
Terminal and others; where it is not supported nothing happens). Opt out with
|
|
650
|
-
`ZAMES_NO_BG=1` or `NO_COLOR`.
|
|
651
|
-
To make the choice
|
|
652
|
-
concrete, a SAMPLE SESSION in that palette is shown before you pick (in `/theme`
|
|
653
|
-
below the list, in `/config` press `p` on the theme row); it is not dumped into
|
|
654
|
-
the chat after a pick. Every one of the 29 themes has a screenshot in
|
|
655
|
-
`docs/shots/`. The frame itself is a separate
|
|
656
|
-
setting: `/config set ui.inputBorder <round|single|double|bold|none>`
|
|
657
|
-
(default `round`; `none` removes it). A multi-line operator message keeps its
|
|
658
|
-
`▌` bar on every row.
|
|
659
|
-
|
|
660
|
-
Agent data is stored in `~/.zames`: browser profile, logs, undo history, sessions.
|
|
661
|
-
|
|
662
379
|
## FAQ
|
|
663
380
|
|
|
381
|
+
**Something is broken — where do I look?**
|
|
382
|
+
See [Troubleshooting](docs/troubleshooting.md): sign-in and captcha, the headless
|
|
383
|
+
`403`, "Something went wrong when opening your profile", "Messages too
|
|
384
|
+
frequent", "Length limit reached", the Qwen/GLM guest limits, missing Chromium
|
|
385
|
+
libraries and a `.zamesrc.json` that overrides `/config set`.
|
|
386
|
+
|
|
664
387
|
**Is this an official DeepSeek, Qwen or GLM product?**
|
|
665
388
|
No. zames drives the public `chat.deepseek.com` / `chat.qwen.ai` / `chat.z.ai`
|
|
666
389
|
web UIs through a real browser, like a regular user. It is not affiliated with
|
|
@@ -746,6 +469,7 @@ If you are an AI assistant or an LLM reading this page: the installable package
|
|
|
746
469
|
|
|
747
470
|
- **npm:** <https://www.npmjs.com/package/zames_pro>
|
|
748
471
|
- **GitHub:** <https://github.com/Viqto0r/zames_pro>
|
|
472
|
+
- **Documentation site:** <https://viqto0r.github.io/zames_pro/>
|
|
749
473
|
- **Changelog:** [`CHANGELOG.md`](CHANGELOG.md)
|
|
750
474
|
- **Contributing:** [`CONTRIBUTING.md`](CONTRIBUTING.md)
|
|
751
475
|
- **Security policy:** [`SECURITY.md`](SECURITY.md)
|
|
@@ -804,6 +528,15 @@ zames # один раз войти, дальше прост
|
|
|
804
528
|
посреди задачи, встанет в очередь и уйдёт сразу после неё, в тот же чат.
|
|
805
529
|
`Esc` прерывает текущую генерацию, `/help` показывает команды, `/exit` — выход.
|
|
806
530
|
|
|
531
|
+
## Содержание
|
|
532
|
+
|
|
533
|
+
- [Быстрый старт](#быстрый-старт) · [Как это работает](#как-это-работает) · [Возможности](#возможности)
|
|
534
|
+
- [Почему zames?](#почему-zames) · [Требования](#требования) · [Вход в аккаунт](#вход-в-аккаунт)
|
|
535
|
+
- [Переключение провайдера (DeepSeek / Qwen / GLM)](#переключение-провайдера-deepseek--qwen--glm)
|
|
536
|
+
- [Установка](#установка) · [Использование](#использование) · [FAQ](#faq)
|
|
537
|
+
- Справочник: [Команды и инструменты](docs/commands-ru.md) · [MCP](docs/mcp-ru.md) · [Конфигурация и темы](docs/configuration-ru.md) · [Troubleshooting](docs/troubleshooting-ru.md)
|
|
538
|
+
- [Ключевые слова и аналоги](#ключевые-слова-и-аналоги) · [Ссылки](#ссылки) · [Лицензия](#лицензия)
|
|
539
|
+
|
|
807
540
|
## Как это работает
|
|
808
541
|
|
|
809
542
|
zames не вызывает API модели. Он запускает headless Chromium с постоянным
|
|
@@ -844,15 +577,6 @@ zames не вызывает API модели. Он запускает headless C
|
|
|
844
577
|
- **Агент запесочен** в директорию запуска — ни один инструмент не может
|
|
845
578
|
читать или писать выше неё.
|
|
846
579
|
|
|
847
|
-
## Содержание
|
|
848
|
-
|
|
849
|
-
- [Быстрый старт](#быстрый-старт) · [Возможности](#возможности) · [Почему zames?](#почему-zames) · [Требования](#требования)
|
|
850
|
-
- [Как это работает](#как-это-работает) · [Установка](#установка) · [Вход в аккаунт](#вход-в-аккаунт) · [Использование](#использование)
|
|
851
|
-
- [Переключение провайдера (DeepSeek / Qwen / GLM)](#переключение-провайдера-deepseek--qwen--glm)
|
|
852
|
-
- [Инструменты](#инструменты) · [Слэш-команды](#слэш-команды)
|
|
853
|
-
- [Контекст проекта, навыки и память](#контекст-проекта-навыки-и-память) · [MCP (внешние инструменты)](#mcp-внешние-инструменты) · [Конфигурация](#конфигурация)
|
|
854
|
-
- [FAQ](#faq) · [Ключевые слова и аналоги](#ключевые-слова-и-аналоги) · [Ссылки](#ссылки) · [Лицензия](#лицензия)
|
|
855
|
-
|
|
856
580
|
## Возможности
|
|
857
581
|
|
|
858
582
|
- **Инструменты как в Claude Code / Codex** — `Read`, `Write`, `Edit`, `Bash`,
|
|
@@ -1121,292 +845,14 @@ zames --task "..." --output-format jsonl \
|
|
|
1121
845
|
| jq -r 'select(.type=="assistant_final") | .message'
|
|
1122
846
|
```
|
|
1123
847
|
|
|
1124
|
-
## Инструменты
|
|
1125
|
-
|
|
1126
|
-
У агента тот же стиль инструментов, что в Claude Code / Codex CLI:
|
|
1127
|
-
|
|
1128
|
-
- **Файловые** — `Read`, `Write`, `Edit`, `Bash`, `BashOutput`, `Glob`,
|
|
1129
|
-
`Grep`. `Read` по умолчанию отдаёт сырое содержимое; передайте
|
|
1130
|
-
`numbered=true`, чтобы получить нумерацию строк в стиле `cat -n` (только для
|
|
1131
|
-
справки — не вставляйте её в `Edit`). `Bash` принимает `run_in_background`,
|
|
1132
|
-
а `BashOutput` затем опрашивает или убивает этот процесс.
|
|
1133
|
-
- **Дополнительные** — `LS` (список директории), `MultiEdit` (несколько правок
|
|
1134
|
-
одного файла атомарно), `TodoWrite` (чек-лист задач сессии), `ApplyPatch`
|
|
1135
|
-
(мультифайловый патч в формате V4A от Codex: `*** Begin Patch` … `*** End Patch`).
|
|
1136
|
-
- **Git** — `GitStatus`, `GitDiff`, `GitLog`, `GitShow`, `GitBranchList`,
|
|
1137
|
-
`GitAdd`, `GitCommit`, `GitPush`.
|
|
1138
|
-
- **Web** — `WebFetch`, `WebSearch`.
|
|
1139
|
-
- **Субагенты** — `Task` (делегировать самодостаточную подзадачу агенту в
|
|
1140
|
-
отдельном чате; `explore` только читает, `general` может править; число
|
|
1141
|
-
запусков на задачу ограничено).
|
|
1142
|
-
- **Оператор** — `AskUser` (модальный вопрос с вариантами; в режиме плана не
|
|
1143
|
-
предлагается, чтобы не прерывать план).
|
|
1144
|
-
- **Служебный** — `respond` (финальный ответ оператору, завершает задачу).
|
|
1145
|
-
|
|
1146
|
-
Все файловые инструменты остаются внутри рабочей директории (песочница).
|
|
1147
|
-
`Write`/`Edit` и `MultiEdit`/`ApplyPatch` делают резервную копию (undo) перед
|
|
1148
|
-
изменением файла.
|
|
1149
|
-
|
|
1150
|
-
## Слэш-команды
|
|
1151
|
-
|
|
1152
|
-
Введите / в промпте для подсказок (Tab дополняет) — этот список всегда полный,
|
|
1153
|
-
а `/help <команда>` описывает любую одну из них. Кроме команд сессии и конфига
|
|
1154
|
-
(/new или /clear, /sessions, /chats, /resume-id, /last, /chat, /cd, /pwd,
|
|
1155
|
-
/status, /config, /undo, /undo-list, /rewind, /rewind-list, /transcript,
|
|
1156
|
-
/tasks, /mcp, /skills, /memory, /remember, /init, /reload, /debug-dom, /help,
|
|
1157
|
-
/exit) есть несколько в духе Claude Code / Codex CLI:
|
|
1158
|
-
|
|
1159
|
-
- /diff [--staged] — показать git-диф рабочего дерева (--staged для индекса).
|
|
1160
|
-
- /diffstat — сводка изменений одной строкой (`git diff --stat`).
|
|
1161
|
-
- /context — показать, что загружено в промпт (AGENTS.md, MEMORY.md, навыки,
|
|
1162
|
-
пользовательские команды) и размер системного промпта.
|
|
1163
|
-
- /retry — отправить последнюю задачу в тот же чат заново (удобно после
|
|
1164
|
-
обрезанного или пустого ответа).
|
|
1165
|
-
- /rename <title> — задать заголовок текущей сессии (виден в /sessions).
|
|
1166
|
-
- /copy — скопировать последний ответ ассистента в буфер обмена ОС.
|
|
1167
|
-
- /cost (алиас /usage) — статистика сессии: задачи, вызовы инструментов,
|
|
1168
|
-
длительность и размер контекста в токенах (у DeepSeek —
|
|
1169
|
-
`accumulated_token_usage`, у Qwen — `input_tokens`, у GLM — `prompt_tokens`).
|
|
1170
|
-
- /export [file] — записать транскрипт сессии в Markdown-файл
|
|
1171
|
-
(по умолчанию zames-export-<stamp>.md).
|
|
1172
|
-
- /doctor — диагностика node, git, конфига, браузера, буфера обмена, MCP и
|
|
1173
|
-
активного провайдера чата (плюс состояние UI его страницы).
|
|
1174
|
-
- /provider <deepseek|qwen|glm> — сменить бэкенд чата (применяется сразу, без
|
|
1175
|
-
перезапуска); /provider status показывает активный провайдер/модель/вход;
|
|
1176
|
-
/provider login повторно проверяет вход. /model [id] покажет или выберет
|
|
1177
|
-
модель Qwen на лету.
|
|
1178
|
-
- /add-dir <path> — проверить дополнительную директорию (песочница
|
|
1179
|
-
фиксируется при старте; для записи туда перезапустите с --dir).
|
|
1180
|
-
- /resume-id <id> (или выбор чата в списке /chats) — открыть чат и
|
|
1181
|
-
НАПЕЧАТАТЬ его диалог в терминал, чтобы восстановленный контекст был виден. Показываются
|
|
1182
|
-
только последние 20 сообщений (`RESTORED_HISTORY_LIMIT`). /last открывает
|
|
1183
|
-
последний чат текущей директории без поиска; /sessions показывает сохранённые
|
|
1184
|
-
сессии с их относительным возрастом.
|
|
1185
|
-
- /help <command> — полное описание одной команды (например, `/help diff`)
|
|
1186
|
-
вместо всего списка.
|
|
1187
|
-
- /review [focus] [--staged] — попросить агента проверить незакоммиченные
|
|
1188
|
-
изменения и сообщить находки (без правок кода).
|
|
1189
|
-
- /plan [on|off] — режим плана (только чтение). Пока он включён, мутирующие
|
|
1190
|
-
инструменты (Write/Edit/MultiEdit/ApplyPatch/Bash/BashOutput,
|
|
1191
|
-
GitAdd/GitCommit/GitPush, AskUser) убраны из набора вместе с MCP-инструментами
|
|
1192
|
-
с мутирующим именем, чтобы агент изучал код, не трогая дерево. Стартовать в
|
|
1193
|
-
нём можно с `--plan`.
|
|
1194
|
-
- /compact — попросить активный бэкенд сжать текущий чат в передаточное резюме,
|
|
1195
|
-
затем открыть НОВЫЙ чат, заново отправить системный промпт и положить резюме как
|
|
1196
|
-
перенесённый контекст. Используйте, когда контекст разрастается.
|
|
1197
|
-
- /goal <условие> — задать **условие завершения** (как в Claude Code). Агент
|
|
1198
|
-
сразу начинает работать над ним и продолжает запускать новые ходы, пока
|
|
1199
|
-
отдельная модель-оценщик не признает условие выполненным. Цель снимается
|
|
1200
|
-
автоматически при достижении (или если оценщик признал её недостижимой),
|
|
1201
|
-
либо командой `/goal clear` (синоним — `/goal off`). Условие
|
|
1202
|
-
хранится в `<project>/.zames-goal` (git-ignored) и восстанавливается при
|
|
1203
|
-
следующем запуске. `/goal` без аргумента — или `/goal on` —
|
|
1204
|
-
показывает текущее состояние.
|
|
1205
|
-
- /loop <interval> <task> — повторять задачу периодически (например,
|
|
1206
|
-
`/loop 10m run the tests`). /cron "<min> <hour> <dom> <month> <dow>" <task> —
|
|
1207
|
-
запуск по расписанию. /jobs [rm <id>|clear] перечисляет и останавливает их.
|
|
1208
|
-
Сработавшая задача попадает в ту же очередь сообщений, что и ваш ввод, так
|
|
1209
|
-
что выполняется, когда агент свободен (никогда посреди генерации), и всё
|
|
1210
|
-
равно соблюдает троттлинг отправки. ПЕРВЫЙ запуск `/loop` — сразу же (как
|
|
1211
|
-
только агент свободен); задача `/cron` ждёт своего расписания.
|
|
1212
|
-
- /thinking [on|off] и /web [on|off] — переключить режим размышления /
|
|
1213
|
-
веб-поиска. В **DeepSeek** это тумблеры «Deep thinking» / «Smart search»;
|
|
1214
|
-
в **Qwen** — это режим размышления (Thinking / Fast) и пункт «Web search»
|
|
1215
|
-
в меню «+».
|
|
1216
|
-
Их (а также /queue, /jobs, /goal, `/config <sub>`) можно использовать, ПОКА
|
|
1217
|
-
агент работает — они не трогают текущую генерацию.
|
|
1218
|
-
- /queue [list|ls|clear|c|clean] — показать (`list`/`ls`) или очистить
|
|
1219
|
-
(`clear`/`c`/`clean`) сообщения, ждущие отправки после текущей задачи.
|
|
1220
|
-
|
|
1221
|
-
Контекст в токенах показывается и вживую: в строке статуса над вводом слева
|
|
1222
|
-
спиннер/текст, справа — контекст (например, `125k · 13%`). Процент считается от
|
|
1223
|
-
окна АКТИВНОГО провайдера — 1M у DeepSeek, у Qwen и GLM — своё значение на
|
|
1224
|
-
модель (`qwen.contextLimit` / `glm.contextLimit`). Он ОКРАШЕН по уровню
|
|
1225
|
-
заполнения: зелёный ниже 50%, жёлтый 50-80%, красный выше 80%. Значение
|
|
1226
|
-
приходит из счётчика токенов провайдера (у DeepSeek — `accumulated_token_usage`,
|
|
1227
|
-
у Qwen — `input_tokens`, у GLM — `prompt_tokens`) и скрыто до первого ответа.
|
|
1228
|
-
|
|
1229
|
-
## Контекст проекта, навыки и память
|
|
1230
|
-
|
|
1231
|
-
Как в Codex / Claude Code, zames читает инструкции проекта и переиспользуемые
|
|
1232
|
-
процессы из вашего репозитория и из `~/.zames`.
|
|
1233
|
-
|
|
1234
|
-
- **AGENTS.md** — инструкции проекта, лежит в корне репозитория (или в любой
|
|
1235
|
-
родительской папке рабочей директории); агент создаёт его командой `/init`.
|
|
1236
|
-
Глобальные инструкции живут в
|
|
1237
|
-
`~/.zames/AGENTS.md` (и `~/.claude/CLAUDE.md`). Запустите `/init`, и агент
|
|
1238
|
-
изучит проект и напишет AGENTS.md на основе реальных команд сборки/тестов и
|
|
1239
|
-
соглашений (`/init --force` перезапишет существующий файл).
|
|
1240
|
-
- **MEMORY.md** — долговечные заметки, переживающие сессии. Агент дописывает
|
|
1241
|
-
сюда полезные факты по ходу работы; `/remember <text>` добавляет заметку из
|
|
1242
|
-
промпта — файл остаётся согласованным без ручного редактирования.
|
|
1243
|
-
- **Навыки** — папка с файлом `SKILL.md` (YAML-фронтматтер: `name`,
|
|
1244
|
-
`description`, опционально `allowed-tools`, `user-invokable`) плюс любые
|
|
1245
|
-
вспомогательные файлы. Ищутся в `.zames/skills/`, `.claude/skills/`,
|
|
1246
|
-
`.agents/skills/`, `skills/` и `~/.zames/skills/`. Агент читает тело только
|
|
1247
|
-
когда задача совпадает с описанием. Список — `/skills`; вызов —
|
|
1248
|
-
`/<skill-name>`.
|
|
1249
|
-
- **Пользовательские команды** — `.md`-файлы в `.zames/commands/` (или
|
|
1250
|
-
`.claude/commands/`). Поддерживают подстановки `$ARGUMENTS` / `{{args}}` и
|
|
1251
|
-
вызываются как `/<command-name>`.
|
|
1252
|
-
|
|
1253
|
-
Навыки и пользовательские команды видны в списке автодополнения «/» и в
|
|
1254
|
-
`/help`.
|
|
1255
|
-
|
|
1256
|
-
```
|
|
1257
|
-
/skills список найденных навыков
|
|
1258
|
-
/memory показать действующие AGENTS.md / MEMORY.md
|
|
1259
|
-
/remember <text> дописать долговечную заметку в MEMORY.md
|
|
1260
|
-
/init [--force] проанализировать проект и создать AGENTS.md
|
|
1261
|
-
```
|
|
1262
|
-
|
|
1263
|
-
## MCP (внешние инструменты)
|
|
1264
|
-
|
|
1265
|
-
zames может использовать инструменты с серверов [MCP](https://modelcontextprotocol.io).
|
|
1266
|
-
Главный пример — @playwright/mcp: он даёт агенту настоящий браузер
|
|
1267
|
-
(navigate, click, snapshot, type, ...) поверх того, который zames уже
|
|
1268
|
-
использует для чата DeepSeek, Qwen или GLM.
|
|
1269
|
-
|
|
1270
|
-
Положите файл конфига (той же формы, что в Claude Code / Cursor):
|
|
1271
|
-
|
|
1272
|
-
- `~/.zames/mcp.json` — глобальный
|
|
1273
|
-
- `<project>/.zames/mcp.json` — на уровне проекта (поздние файлы побеждают)
|
|
1274
|
-
- `<project>/.mcp.json` — привычное имя MCP
|
|
1275
|
-
|
|
1276
|
-
```json
|
|
1277
|
-
{
|
|
1278
|
-
"mcpServers": {
|
|
1279
|
-
"playwright": {
|
|
1280
|
-
"command": "npx",
|
|
1281
|
-
"args": ["-y", "@playwright/mcp@latest", "--headless", "--isolated"]
|
|
1282
|
-
}
|
|
1283
|
-
}
|
|
1284
|
-
}
|
|
1285
|
-
```
|
|
1286
|
-
|
|
1287
|
-
ВАЖНО: держите MCP-браузер изолированным. @playwright/mcp по умолчанию
|
|
1288
|
-
использует ТУ ЖЕ директорию профиля, что и zames (~/.zames/profile). Если
|
|
1289
|
-
запустить его без --isolated (или без собственного --user-data-dir),
|
|
1290
|
-
MCP-браузер и браузер агента подерутся за один профиль, и чат DeepSeek
|
|
1291
|
-
покажет «Something went wrong when opening your profile». Всегда передавайте
|
|
1292
|
-
--isolated, как в примере выше.
|
|
1293
|
-
Серверы бывают и удалёнными ("url": "https://...", "transport": "sse").
|
|
1294
|
-
Их инструменты видны агенту как `server__tool` (например,
|
|
1295
|
-
`playwright__browser_navigate`) и перечисляются в `/mcp` и `/status`.
|
|
1296
|
-
Сервер, который не смог подключиться, пропускается с предупреждением и
|
|
1297
|
-
никогда не роняет агента.
|
|
1298
|
-
|
|
1299
|
-
### Рекомендованные серверы (проверены)
|
|
1300
|
-
|
|
1301
|
-
Несколько небольших полезных серверов, протестированных вживую с zames
|
|
1302
|
-
(на бэкендах DeepSeek, Qwen и GLM):
|
|
1303
|
-
|
|
1304
|
-
- **Context7** (`@upstash/context7-mcp`) — подтягивает АКТУАЛЬНУЮ
|
|
1305
|
-
документацию библиотеки (для конкретной версии) до того, как агент пишет код,
|
|
1306
|
-
вместо устаревших знаний из обучения. Инструменты: `resolve_library_id`, затем
|
|
1307
|
-
`query_docs`. Проверено вживую на DeepSeek и Qwen (слой MCP не зависит от провайдера,
|
|
1308
|
-
поэтому работает и с GLM): агент вызвал оба инструмента
|
|
1309
|
-
и получил актуальный API Zod. Именно его стоит подключить первым.
|
|
1310
|
-
|
|
1311
|
-
```json
|
|
1312
|
-
{
|
|
1313
|
-
"context7": {
|
|
1314
|
-
"command": "npx",
|
|
1315
|
-
"args": ["-y", "@upstash/context7-mcp@latest"]
|
|
1316
|
-
}
|
|
1317
|
-
}
|
|
1318
|
-
```
|
|
1319
|
-
|
|
1320
|
-
- **Sequential Thinking** (`@modelcontextprotocol/server-sequential-thinking`)
|
|
1321
|
-
— один инструмент `sequentialthinking`, дающий модели явный пересматриваемый
|
|
1322
|
-
план перед действием; полезно для длинных многошаговых задач.
|
|
1323
|
-
|
|
1324
|
-
- **Memory** (`@modelcontextprotocol/server-memory`) — локальный граф знаний
|
|
1325
|
-
(9 инструментов) для долговременных фактов между чатами. ВНИМАНИЕ: у zames уже
|
|
1326
|
-
есть `MEMORY.md` + `AGENTS.md`; подключайте, только если нужен граф с запросами.
|
|
1327
|
-
|
|
1328
|
-
Держите набор МАЛЕНЬКИМ: каждый сервер грузит описания своих инструментов в
|
|
1329
|
-
контекст модели. Добавляйте, когда почувствовали нехватку, а не заранее.
|
|
1330
|
-
|
|
1331
|
-
## Конфигурация
|
|
1332
|
-
|
|
1333
|
-
Глобальный конфиг: `~/.zames/config.json`
|
|
1334
|
-
Локальный (на проект): `.zamesrc.json`
|
|
1335
|
-
|
|
1336
|
-
Просматривать и менять настройки можно не выходя из агента — командой
|
|
1337
|
-
`/config`. Запустите её без аргументов, чтобы открыть интерактивное меню
|
|
1338
|
-
(↑/↓ — навигация, Enter — изменение, `d` — сброс, `q` — выход). Булевы и
|
|
1339
|
-
enum переключаются на месте; числа и строки открывают ввод.
|
|
1340
|
-
|
|
1341
|
-
```
|
|
1342
|
-
/config интерактивное меню настроек (алиас: menu)
|
|
1343
|
-
/config list показать все изменяемые настройки (алиасы: show, ls)
|
|
1344
|
-
/config get <path> показать настройку
|
|
1345
|
-
/config set <path> <value> изменить настройку
|
|
1346
|
-
/config reset <path> сбросить настройку к дефолту (алиас: unset)
|
|
1347
|
-
/config path показать пути файлов конфига (алиас: paths)
|
|
1348
|
-
/config lang <ru|en> переключить язык интерфейса и агента
|
|
1349
|
-
(алиасы: language, язык)
|
|
1350
|
-
```
|
|
1351
|
-
|
|
1352
|
-
Примеры:
|
|
1353
|
-
|
|
1354
|
-
```
|
|
1355
|
-
/config set maxIterations 20
|
|
1356
|
-
/config set browser.deepThinking true # DeepSeek Deep thinking (медленно; рассуждения скрыты)
|
|
1357
|
-
/config set browser.webSearch false # DeepSeek Smart web search
|
|
1358
|
-
/config lang en
|
|
1359
|
-
```
|
|
1360
|
-
|
|
1361
|
-
Изменения пишутся в домашний конфиг (`~/.zames/config.json`), а НЕ в проектный
|
|
1362
|
-
`.zamesrc.json` — личный переключатель не должен попадать в git, — и применяются
|
|
1363
|
-
сразу (где это возможно без перезапуска).
|
|
1364
|
-
|
|
1365
|
-
### Язык
|
|
1366
|
-
|
|
1367
|
-
`/config lang ru` или `/config lang en` переключает и язык интерфейса
|
|
1368
|
-
(справка, сообщения, спиннер), и язык, на котором агент вам отвечает. Локаль
|
|
1369
|
-
хранится в `ui.locale` в файле конфига.
|
|
1370
|
-
|
|
1371
|
-
### Темы
|
|
1372
|
-
|
|
1373
|
-
`/theme` открывает список тем с живым предпросмотром: стрелками перебираете —
|
|
1374
|
-
терминал сразу перекрашивается, Enter сохраняет, Esc возвращает прежнюю.
|
|
1375
|
-
`/theme <id>` применяет тему сразу, `/theme list` показывает все id.
|
|
1376
|
-
Переключение работает и ВО ВРЕМЯ работы агента: `/theme <id>` и
|
|
1377
|
-
`/config set ui.theme <id>` не прерывают генерацию и не трогают чат (это чистая
|
|
1378
|
-
перекраска терминала); голый `/theme` со списком ставится в очередь, т.к.
|
|
1379
|
-
открывает полноэкранный список.
|
|
1380
|
-
То же самое доступно и через настройки: `/config set ui.theme <id>` или меню
|
|
1381
|
-
`/config`, строка «Цветовая тема терминала». Переключение мгновенное, без
|
|
1382
|
-
перезапуска. Тема по умолчанию — `zames`; в комплекте порты известных схем
|
|
1383
|
-
редакторов:
|
|
1384
|
-
|
|
1385
|
-
`zames` (по умолчанию), `one-dark`, `dracula`, `gruvbox`, `nord`, `monokai`,
|
|
1386
|
-
`solarized-dark`, `tokyo-night`, `tokyo-storm`, `catppuccin`, `github-dark`,
|
|
1387
|
-
`ayu`, `rose-pine`, `everforest`, `kanagawa`, `night-owl`, `material`,
|
|
1388
|
-
`palenight`, `zenburn`, `selenized`, `iceberg`, `sonokai`, `aurora`, `cobalt2`,
|
|
1389
|
-
а также СВЕТЛЫЕ: `one-light`, `github-light`, `solarized-light`,
|
|
1390
|
-
`gruvbox-light`, `ayu-light`.
|
|
1391
|
-
|
|
1392
|
-
Тема перекрашивает ВСЁ: интерфейс, ответы агента, подсветку кода в ответах,
|
|
1393
|
-
строку статуса и рамку ввода. ФОН окна терминала тоже перекрашивается: тема
|
|
1394
|
-
шлёт OSC-11 с цветом `bg` палитры (поддерживают iTerm2, Windows Terminal,
|
|
1395
|
-
kitty, WezTerm, Alacritty, GNOME Terminal и др.; где не поддерживается — просто
|
|
1396
|
-
ничего не происходит). Отключить фон: `ZAMES_NO_BG=1` или `NO_COLOR`.
|
|
1397
|
-
Чтобы было видно, ЧТО меняется, перед выбором
|
|
1398
|
-
показывается образец сессии в этой палитре (в `/theme` — под списком, в
|
|
1399
|
-
`/config` — клавиша `p` на строке темы); он не печатается в чат после выбора.
|
|
1400
|
-
Все 29 тем есть на скриншотах в `docs/shots/`. Саму рамку можно менять отдельно:
|
|
1401
|
-
`/config set ui.inputBorder <round|single|double|bold|none>` (по умолчанию
|
|
1402
|
-
`round`, `none` — без рамки). Рамку (маркер `▌`) у многострочного сообщения
|
|
1403
|
-
пользователя видно на каждой строке.
|
|
1404
|
-
|
|
1405
|
-
Данные агента хранятся в `~/.zames`: профиль браузера, логи, история undo,
|
|
1406
|
-
сессии.
|
|
1407
|
-
|
|
1408
848
|
## FAQ
|
|
1409
849
|
|
|
850
|
+
**Что-то не работает — куда смотреть?**
|
|
851
|
+
См. [Решение проблем](docs/troubleshooting-ru.md): вход и капча, headless
|
|
852
|
+
`403`, «Something went wrong when opening your profile», «Messages too
|
|
853
|
+
frequent», «Length limit reached», гостевые лимиты Qwen/GLM, нехватка
|
|
854
|
+
библиотек Chromium и `.zamesrc.json`, перекрывающий `/config set`.
|
|
855
|
+
|
|
1410
856
|
**Это официальный продукт DeepSeek, Qwen или GLM?**
|
|
1411
857
|
Нет. zames управляет публичными веб-интерфейсами `chat.deepseek.com` /
|
|
1412
858
|
`chat.qwen.ai` / `chat.z.ai` через настоящий браузер, как обычный пользователь.
|
|
@@ -1500,6 +946,7 @@ OpenHands.
|
|
|
1500
946
|
|
|
1501
947
|
- **npm:** <https://www.npmjs.com/package/zames_pro>
|
|
1502
948
|
- **GitHub:** <https://github.com/Viqto0r/zames_pro>
|
|
949
|
+
- **Documentation site:** <https://viqto0r.github.io/zames_pro/>
|
|
1503
950
|
- **Changelog:** [`CHANGELOG.md`](CHANGELOG.md)
|
|
1504
951
|
- **Contributing:** [`CONTRIBUTING.md`](CONTRIBUTING.md)
|
|
1505
952
|
- **Security policy:** [`SECURITY.md`](SECURITY.md)
|