From 4566950ee46fef613a440d0184802ab2c203904a Mon Sep 17 00:00:00 2001 From: Kang Date: Wed, 1 Jul 2026 12:09:28 +0800 Subject: [PATCH] docs: update changelog and documentation - Added new entries in CHANGELOG.md for version 1.1.12, detailing enhancements to jump host configuration and cycle prevention. - Updated README.md and its Chinese counterpart to include new AI Assistant features, such as command generation, error analysis, and multi-step workflows. - Enhanced documentation for terminal features, file transfer capabilities, and user settings to reflect recent changes and improvements. - Introduced a new guide for the AI Assistant, detailing its working modes, command cards, and risk control mechanisms. --- CHANGELOG.md | 130 +++++++ README.md | 34 +- README.zh-CN.md | 34 +- .../docs/getting-started/installation.md | 10 +- docs-site/docs/getting-started/quick-start.md | 7 +- docs-site/docs/guide/ai-assistant.md | 14 +- docs-site/docs/guide/file-transfer.md | 17 +- docs-site/docs/guide/keyboard-shortcuts.md | 7 + docs-site/docs/guide/layout-and-workspace.md | 30 +- docs-site/docs/guide/quick-commands.md | 5 +- docs-site/docs/guide/security.md | 6 +- docs-site/docs/guide/ssh-connection.md | 14 + docs-site/docs/guide/terminal.md | 21 +- docs-site/docs/guide/tunnels-and-proxy.md | 27 +- docs-site/docs/intro.md | 29 +- .../current/getting-started/installation.md | 22 +- .../current/getting-started/quick-start.md | 54 ++- .../current/guide/ai-assistant.md | 141 +++++++ .../current/guide/file-transfer.md | 17 +- .../current/guide/keyboard-shortcuts.md | 7 + .../current/guide/layout-and-workspace.md | 36 +- .../current/guide/quick-commands.md | 5 +- .../current/guide/security.md | 6 +- .../current/guide/ssh-connection.md | 14 + .../current/guide/terminal.md | 21 +- .../current/guide/tunnels-and-proxy.md | 27 +- .../current/intro.md | 46 ++- docs-site/sidebars.ts | 1 + docs-site/src/data/changelogData.ts | 364 ++++++++++++++++++ 29 files changed, 1047 insertions(+), 99 deletions(-) create mode 100644 docs-site/i18n/en/docusaurus-plugin-content-docs/current/guide/ai-assistant.md diff --git a/CHANGELOG.md b/CHANGELOG.md index e1f582e9..25f92f07 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,136 @@ All notable changes to this project will be documented in this file. This changelog is inferred from release bump commits in git history (for example `chore: bump version to vX.Y.Z`) and grouped by Conventional Commit type. +## [1.1.12] - 2026-06-30 + +### Added + +- **connections:** Enhance jump host configuration with clearer chain handling and validation for ProxyJump-style setups. + +### Fixed + +- **connections:** Prevent cycles in jump host relationships so saved connections cannot reference each other recursively. + +### Documentation + +- **i18n:** Add localization strings for the updated jump host workflow. + +## [1.1.11] - 2026-06-30 + +### Added + +- **header:** Add a Command Palette entry for quickly finding app actions and session workflows. +- **ai:** Introduce command-execution and final-answer tools for Agent interactions while preserving approval gates. +- **app-lock:** Implement app lock state management with idle locking support. +- **terminal-layout:** Restore terminal window layout state and add related settings for persistent workspaces. +- **appearance:** Add terminal font weight options for normal and bold text rendering. +- **app:** Add minimize-to-tray and hide-main-window behavior for background workflows. + +### Changed + +- **window-management:** Improve child-window state persistence and modal focus handling. +- **themes:** Refresh terminal and app theme colors, including high-contrast variants. + +### Fixed + +- **saved-connections:** Improve pointer-event handling for connection interactions and drag behavior. +- **terminal:** Improve terminal zoom handling across nested workspace roots. + +## [1.1.10] - 2026-06-25 + +### Added + +- **ssh-auth:** Add a dedicated SSH authentication request dialog for interactive login flows. +- **proxy:** Add ProxyCommand support to proxy configuration, including OpenSSH-style placeholders. +- **transfer-dialog:** Add duplicate target handling options for uploads and downloads. +- **terminal:** Improve terminal search with persistent query state, result navigation, and clearer feedback. +- **cloud-sync:** Add more detailed cloud sync status updates and cleanup timeout handling. + +### Changed + +- **ai:** Streamline AI model client service-target configuration. +- **cloud-sync:** Adjust cloud-sync history and log handling for clearer diagnostics. + +### Fixed + +- **terminal:** Improve search focus handling and selection clearing. +- **settings:** Fix saved connection sort order on the new session page. + +### Performance + +- **serial:** Streamline serial session management and timeout handling. + +## [1.1.9] - 2026-06-21 + +### Added + +- **terminal:** Add startup commands for duplicated and multiplexed sessions. +- **terminal:** Add image path pasting behavior in terminal settings. +- **terminal:** Add workspace padding settings for terminal layout spacing. +- **interaction:** Add a macOS IME compatibility setting. +- **telnet:** Add local line editing for Telnet sessions. +- **terminal:** Enhance Windows Terminal support and shell selection. + +### Changed + +- **terminal:** Suppress command suggestions in interactive programs where inline suggestions are more likely to interfere. +- **sync-backup:** Streamline sync backup history and cloud sync manager behavior. + +### Fixed + +- **tabbar:** Prevent pointer event propagation issues in tab interactions. +- **terminal:** Improve reconnect content management and connection error handling. + +## [1.1.8] - 2026-06-21 + +### Added + +- **terminal:** Add tab splitting with drag-and-drop docking support. +- **ssh:** Add X11 forwarding support for SSH connections. +- **russh-sftp:** Introduce a new SFTP subsystem with client and server support. +- **file-explorer:** Add remote file editor flows and dedicated remote-file handling dialogs. +- **sftp:** Add OpenSSH-compatible symlink support. +- **file-transfer:** Show transfer speed in the transfer UI. +- **cloud-sync:** Enhance cloud sync and GitHub Gist startup/error handling. +- **saved-connections:** Add copy shortcuts and improve drag-and-drop behavior for selected connections. + +### Fixed + +- **scp:** Add compatibility checks for GNU `-printf` and `-c` support in remote commands. +- **file-explorer:** Improve directory loading, download handling, and error feedback. + +### Performance + +- **russh-sftp:** Improve SFTP upload throughput and transfer tracking. +- **sftp:** Use asynchronous downloads when file sizes are known. + +### Documentation + +- **ssh:** Document X11 forwarding in the SSH connection guide. +- **cloud-sync:** Update cloud sync terminology and GitHub Gist authorization guidance. + +## [1.1.7] - 2026-06-15 + +### Added + +- **panel:** Add multi-open panel behavior for opening multiple tools without losing context. +- **terminal:** Add backend output pause/resume controls. +- **session:** Add a session quick switcher dialog for faster navigation between active sessions and saved connections. +- **icons:** Add server icons and improve saved connection icon resolution. +- **network:** Add group management for proxies and tunnels. +- **sync:** Add v3 snapshot decoding and payload hash calculation. + +### Changed + +- **file-explorer:** Define a shared `FileProperties` interface and clean up the Properties dialog. +- **terminal:** Improve tab tooltips, tab management, and scrolling behavior. + +### Fixed + +- **command-history:** Correct suggestion application behavior. +- **app:** Improve Windows folder opening when permission errors occur. +- **file-explorer:** Fix opening the target directory after remote-file downloads. + ## [1.1.6] - 2026-06-12 ### Added diff --git a/README.md b/README.md index ab35cc67..ac7c554f 100644 --- a/README.md +++ b/README.md @@ -55,9 +55,10 @@ NyaTerm includes an AI Assistant panel for command generation, terminal output e - **Agent mode** for multi-step work using an observe-decide-run loop against the active terminal session - **Recent-output actions** so you can ask AI to explain the latest terminal output without manually copying it - **Structured command cards** with risk levels, execution controls, and optional save-to-quick-command support +- **Approved command execution tools** for Agent workflows, with a separate final-answer step after terminal work completes - **Inline terminal capture** during Agent execution with configurable `Terminal Output Lines` - **Session mentions** with `@` to bring other terminal sessions into the AI context -- **Provider management** for built-in providers and custom OpenAI-compatible endpoints +- **Provider management** for built-in providers, manual model entries, credential groups, and custom OpenAI-compatible endpoints - **Risk control** for high-impact commands, including approval gates and safer alternatives --- @@ -94,20 +95,22 @@ NyaTerm is built for people who move between servers, local commands, devices, a ## Sessions and Workspace - SSH, Local Terminal, Telnet, and Serial session support -- Multi-tab workspace with horizontal and vertical pane splits -- Saved connections with folders, icons, metadata, duplication, reconnect, and import flows +- Multi-tab workspace with horizontal and vertical pane splits, tab drag docking, and layout restoration +- Saved connections with folders, icons, metadata, duplication, keyboard copy, reconnect, and import flows +- Command Palette and session quick switcher for finding actions, open sessions, saved connections, and new-session entry points - Main-window `Background Image` customization with `cover` / `contain` / `stretch` / `tile` sizing and adjustable `Background Content Opacity` - Left and right activity bars for file explorer, network, Security/Auth, Sync & Backup, AI Assistant, saved connections, active sessions, command history, and resource monitoring -- Child windows for settings, new-session creation, quick-command editing, and auto-upload prompts -- Tray support with optional minimize-to-tray behavior +- Child windows for settings, new-session creation, quick-command editing, remote-file editing, and auto-upload prompts +- Tray support with optional minimize-to-tray and hide-main-window behavior ## Terminal Experience -- Terminal search, copy/paste, context menus, and selected-text actions -- Command history with fuzzy suggestions and configurable length filters for noisy commands +- Terminal search with result navigation, search history, copy/paste, context menus, and selected-text actions +- Command history with fuzzy suggestions, configurable length filters, and suppression in interactive programs - Optional line-number and timestamp gutter - Optional action links for IPv4 addresses, `host:port`, and archive filenames -- Optional keyword highlighting with built-in presets and custom rules +- Optional keyword highlighting with built-in presets, custom rules, and JSON import +- Terminal zoom, workspace padding, font weight controls, macOS IME compatibility, and image path paste handling - AI shortcuts for explaining recent output, plus inline Agent command output with configurable `Terminal Output Lines` - Large-output protection, configurable scrollback, SSH keep-alive, and session recording - Online search and translation from selected terminal text @@ -117,9 +120,9 @@ NyaTerm is built for people who move between servers, local commands, devices, a ## SFTP and File Workflows - Built-in SFTP file explorer for SSH sessions -- Upload, download, rename, move, delete, properties, new file/folder, and symlink actions +- Upload, download, rename, move, delete, properties, new file/folder, and OpenSSH-compatible symlink actions - Folder upload, multi-select, editable path bar, and manual/automatic sync with terminal cwd -- Transfer queue with pause, resume, cancel, retry, timestamp preservation, and configurable concurrency +- Transfer queue with speed display, pause, resume, cancel, retry, duplicate-target handling, timestamp preservation, and configurable concurrency - Open remote files in a local editor and upload saved changes back through the watcher-driven auto-upload flow - External drag-and-drop upload support on Windows @@ -128,16 +131,17 @@ NyaTerm is built for people who move between servers, local commands, devices, a - Password authentication, private keys, host-key verification, and encrypted local persistence - Credential management with regex-based terminal auto-fill - OTP management with TOTP/HOTP, QR import, and SSH auto-fill support -- Proxy configurations, SSH jump hosts, and local / remote / dynamic tunnels -- Screen lock, master password, diagnostics settings, local log management, and diagnostics bundle export +- Proxy configurations including SOCKS5, HTTP, and ProxyCommand; SSH jump hosts with cycle prevention; local / remote / dynamic tunnels +- SSH X11 forwarding for environments with a local X server +- Screen lock, idle app lock, master password, diagnostics settings, local log management, and diagnostics bundle export ## Sync, Backup, and Migration -- Encrypted cloud sync and backup through WebDAV and S3-compatible storage +- Encrypted cloud sync and backup through WebDAV, S3-compatible storage, and GitHub Gist - Master password required before sync, backup, encrypted import/export, or scheduled encrypted backup actions -- Startup sync checks, debounced auto-push after supported local changes, and scheduled backup retention +- Startup sync checks, debounced auto-push after supported local changes, detailed status updates, and scheduled backup retention - Manual test / push / pull / backup actions, remote backup restore, and snapshot-level conflict resolution -- Session import from Xshell, MobaXterm, and WindTerm +- Session import from Xshell, MobaXterm, WindTerm, and NyaTerm JSON definitions - Full-app encrypted `.nya` import/export for portable NyaTerm configuration --- diff --git a/README.zh-CN.md b/README.zh-CN.md index a95d34ff..6543a293 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -55,9 +55,10 @@ NyaTerm 内置 AI Assistant 面板,可用于生成命令、解释终端输出 - **Agent 模式**:基于当前活跃终端会话,按“观察、决策、执行”的循环完成多步任务 - **最近输出入口**:可以直接让 AI 解释最近的终端输出,不必手动复制 - **结构化命令卡片**:展示风险等级、执行控制,并可保存为快捷命令 +- **已审批命令执行工具**:Agent 工作流可在审批后执行命令,并在终端任务结束后给出独立最终回答 - **终端内联输出捕获**:Agent 执行命令时可把输出写回终端,并通过 `Terminal Output Lines` 控制显示行数 - **会话提及**:输入 `@` 可把其他终端会话纳入当前 AI 上下文 -- **Provider 管理**:支持内置 provider 和自定义 OpenAI Compatible 端点 +- **Provider 管理**:支持内置 provider、手动模型、凭据分组和自定义 OpenAI Compatible 端点 - **风险控制**:对高影响命令提供审批门槛和更安全的替代建议 @@ -95,20 +96,22 @@ NyaTerm 适合每天在服务器、本地命令、设备调试和配置文件之 ## 会话与工作区 - 支持 SSH、本地终端、Telnet 和串口会话 -- 多标签页工作区,标签页内支持横向和纵向分屏 -- 已保存连接支持分组、图标、元数据、复制、重连和导入 +- 多标签页工作区,标签页内支持横向/纵向分屏、标签拖拽停靠和布局恢复 +- 已保存连接支持分组、图标、元数据、复制、键盘复制、重连和导入 +- 命令面板与会话快速切换器,可查找应用动作、已打开会话、已保存连接和新建会话入口 - 主窗口支持 `Background Image` 背景图自定义,可调 `cover` / `contain` / `stretch` / `tile` 以及 `Background Content Opacity` - 左右活动栏覆盖文件浏览器、网络、Security/Auth、Sync & Backup、AI Assistant、已保存连接、活动会话、命令历史和资源监控 -- 设置、新建连接、快捷命令编辑、自动上传提示使用独立子窗口 -- 支持托盘与关闭时最小化到托盘 +- 设置、新建连接、快捷命令编辑、远程文件编辑和自动上传提示使用独立子窗口 +- 支持托盘、关闭时最小化到托盘和隐藏主窗口 ## 终端体验 -- 终端搜索、复制粘贴、右键菜单和选中文本操作 -- 命令历史、模糊建议,以及用于过滤噪音命令的长度配置 +- 终端搜索支持结果跳转和搜索历史,另有复制粘贴、右键菜单和选中文本操作 +- 命令历史、模糊建议、用于过滤噪音命令的长度配置,以及交互式程序中的建议抑制 - 可选行号和时间戳 gutter - 可选动作链接,识别 IPv4、`host:port` 和压缩包文件名 -- 可选关键词高亮,支持内置预设和自定义规则 +- 可选关键词高亮,支持内置预设、自定义规则和 JSON 导入 +- 支持终端缩放、工作区 padding、字体粗细、macOS IME 兼容和图片路径粘贴 - 可直接让 AI 解释最近输出,并通过 `Terminal Output Lines` 控制 Agent 命令的终端内联输出 - 大输出保护、可配置回滚缓冲区、SSH Keep-Alive 和会话录制 - 可从选中文本发起在线搜索和翻译 @@ -118,9 +121,9 @@ NyaTerm 适合每天在服务器、本地命令、设备调试和配置文件之 ## SFTP 与文件工作流 - SSH 会话内置 SFTP 文件浏览器 -- 支持上传、下载、重命名、移动、删除、属性、新建文件/文件夹和符号链接 +- 支持上传、下载、重命名、移动、删除、属性、新建文件/文件夹和 OpenSSH 兼容符号链接 - 支持文件夹上传、多选、可编辑路径栏,以及与终端 cwd 手动/自动同步 -- 传输队列支持暂停、继续、取消、失败重试、时间戳保留和并发配置 +- 传输队列支持速度显示、暂停、继续、取消、失败重试、重复目标处理、时间戳保留和并发配置 - 可在本地编辑远程文件,保存后通过 watcher 驱动的自动上传流程回传 - Windows 下支持从系统文件管理器拖拽文件或文件夹到文件浏览器上传 @@ -129,16 +132,17 @@ NyaTerm 适合每天在服务器、本地命令、设备调试和配置文件之 - 密码认证、私钥、主机密钥校验和本地加密持久化 - 凭据管理支持基于正则的终端自动填充 - OTP 管理支持 TOTP/HOTP、二维码导入和 SSH 自动填充 -- 支持代理配置、SSH 跳板机,以及本地/远程/动态隧道 -- 支持锁屏、主密码、诊断设置、本地日志管理和诊断包导出 +- 支持 SOCKS5、HTTP 和 ProxyCommand 代理配置;支持带环路阻止的 SSH 跳板机;支持本地/远程/动态隧道 +- 支持 SSH X11 转发,可配合本地 X server 使用 +- 支持锁屏、空闲应用锁定、主密码、诊断设置、本地日志管理和诊断包导出 ## 同步、备份与迁移 -- 通过 WebDAV 和 S3 兼容存储进行加密云同步与备份 +- 通过 WebDAV、S3 兼容存储和 GitHub Gist 进行加密云同步与备份 - 启用同步、备份、加密导入导出或定时加密备份前必须设置主密码 -- 支持启动同步检查、本地变更后的防抖自动推送和定时备份保留策略 +- 支持启动同步检查、本地变更后的防抖自动推送、详细状态更新和定时备份保留策略 - 支持手动测试、推送、拉取、备份、远程备份恢复和快照级冲突处理 -- 支持从 Xshell、MobaXterm 和 WindTerm 导入会话 +- 支持从 Xshell、MobaXterm、WindTerm 和 NyaTerm JSON 定义导入会话 - 支持完整 NyaTerm 配置的加密 `.nya` 导入导出 --- diff --git a/docs-site/docs/getting-started/installation.md b/docs-site/docs/getting-started/installation.md index 58822545..da7bef23 100644 --- a/docs-site/docs/getting-started/installation.md +++ b/docs-site/docs/getting-started/installation.md @@ -53,11 +53,11 @@ Windows 便携版解压后运行 `NyaTerm.exe` 即可。便携版不会使用自 - **设置 → 常规**:启动恢复、关闭时最小化到托盘、关闭确认 - **设置 → 常规**:日志级别、日志保留时间、打开日志目录、导出诊断包 -- **设置 → 交互**:命令建议开关、历史命令长度范围、复制与右键粘贴 -- **设置 → 终端**:回滚缓冲区、Keep-Alive、动作链接、行号 / 时间戳、关键词高亮、资源监控 -- **设置 → 传输**:默认下载目录、默认编辑器、录制保存路径、并发与重试策略 -- **设置 → 安全**:主密码、锁屏、主机密钥策略 -- **设置 → AI**:provider、模型、风险控制与上下文限制 +- **设置 → 交互**:命令建议开关、历史命令长度范围、复制与右键粘贴、macOS IME 兼容 +- **设置 → 终端**:回滚缓冲区、Keep-Alive、动作链接、行号 / 时间戳、关键词高亮、资源监控、工作区间距、字体粗细、图片路径粘贴 +- **设置 → 传输**:默认下载目录、默认编辑器、录制保存路径、并发、重试与重复目标策略 +- **设置 → 安全**:主密码、锁屏、空闲自动锁定、主机密钥策略 +- **设置 → AI**:provider、模型、风险控制、历史记录与上下文限制 如果你经常在后台保留会话或同步任务,**关闭时最小化到托盘** 值得优先确认。 diff --git a/docs-site/docs/getting-started/quick-start.md b/docs-site/docs/getting-started/quick-start.md index 4edc03e2..5eb6707d 100644 --- a/docs-site/docs/getting-started/quick-start.md +++ b/docs-site/docs/getting-started/quick-start.md @@ -28,9 +28,10 @@ sidebar_position: 2 如有需要,还可以展开高级区域配置: -- 代理 -- 跳板机 +- 代理(SOCKS5 / HTTP / ProxyCommand) +- 跳板机(会校验缺失引用与环路) - OTP 绑定与自动填充 +- X11 转发、本地 X11 DISPLAY - 图标、分组、描述等元数据 保存后,连接会出现在已保存连接列表中。 @@ -181,5 +182,5 @@ NyaTerm 支持把当前会话输出录制为日志文件。 - 想管理文件与自动回传:查看 [SFTP 文件传输](../guide/file-transfer) - 想了解终端增强与录制:查看 [终端功能](../guide/terminal) - 想配置 OTP:查看 [OTP 与认证](../guide/otp-and-auth) -- 想启用 AI 辅助:查看 [终端功能](../guide/terminal) +- 想启用 AI 辅助:查看 [AI 助手](../guide/ai-assistant) - 想启用云同步:查看 [云同步](../guide/sync-and-backup) diff --git a/docs-site/docs/guide/ai-assistant.md b/docs-site/docs/guide/ai-assistant.md index 61b10a82..1b36066e 100644 --- a/docs-site/docs/guide/ai-assistant.md +++ b/docs-site/docs/guide/ai-assistant.md @@ -31,6 +31,17 @@ Agent 模式的特点: - 可通过 `Terminal Output Lines` 控制 AI 执行命令时在终端中内联展示多少行输出 - 高风险命令仍然需要人工审批后才能执行 +## Agent 工具与最终回答 + +新版 Agent 工作流把“执行命令”和“总结结果”拆成两个清晰步骤: + +- Agent 可以在活跃终端会话中提出要执行的命令 +- 命令仍会经过风险等级、策略和人工审批控制 +- 执行过程会记录状态,并可按 `Terminal Output Lines` 在终端附近展示输出摘要 +- 当终端步骤完成后,Agent 会通过最终回答工具给出面向用户的总结,而不是把总结混在命令输出里 + +这让多步排障、构建、部署检查等任务更容易追踪:终端负责真实执行记录,最终回答负责解释结果和下一步建议。 + ## 会话管理 AI 助手支持多会话管理: @@ -97,7 +108,8 @@ AI 助手不仅能处理选中文本,也可以直接围绕“刚刚发生了 ### 模型管理 - 从 provider 拉取可用模型列表 -- 按 provider 分组显示 +- 手动添加 provider 未自动返回的模型 +- 按 provider 与凭据分组显示 - 可单独启用 / 禁用每个模型 - 选择默认模型 diff --git a/docs-site/docs/guide/file-transfer.md b/docs-site/docs/guide/file-transfer.md index f27801d3..2536cc58 100644 --- a/docs-site/docs/guide/file-transfer.md +++ b/docs-site/docs/guide/file-transfer.md @@ -35,7 +35,7 @@ NyaTerm 的远程文件能力建立在 SSH 会话之上。也就是说,**文 | 移动 | 把文件或目录移动到新路径 | | 删除 | 删除单个文件,或批量删除当前选中的多个条目 | | 属性 | 查看大小、时间、UID/GID、权限等信息 | -| 新建文件 / 文件夹 / 符号链接 | 在当前目录中直接创建 | +| 新建文件 / 文件夹 / 符号链接 | 在当前目录中直接创建,符号链接按 OpenSSH 兼容方式处理 | 其中“打开”并不只是只读预览,而是为后续本地修改后回传做准备。 @@ -92,6 +92,7 @@ NyaTerm 的远程文件能力建立在 SSH 会话之上。也就是说,**文 NyaTerm 会把上传 / 下载任务统一放进传输队列中,便于你查看: - 当前进度 +- 实时传输速度 - 成功、暂停、取消与失败状态 - 同时进行中的任务 - 当前下载目录 @@ -124,6 +125,20 @@ NyaTerm 会把上传 / 下载任务统一放进传输队列中,便于你查看 - 是否每次询问保存位置 - 默认打开远程文件所使用的本地编辑器 +### 重复目标处理 + +当上传或下载遇到同名文件时,重复目标对话框会让你选择: + +- **覆盖**:替换目标文件 +- **覆盖并不再询问本次任务**:对当前批量任务继续使用覆盖策略 +- **跳过**:保留目标文件,跳过当前项 + +如果你经常批量同步同一类目录,可以在 **设置 → 传输** 中调整默认冲突策略,减少重复确认。 + +### SFTP 可靠性与性能 + +新的 SFTP 后端改进了目录、符号链接、已知大小文件下载和大文件上传的处理。你通常不需要关心内部实现;用户可见的变化是传输速度反馈更清楚,失败时错误信息更具体,目录和符号链接操作更接近 OpenSSH 行为。 + ## 与终端路径同步 文件浏览器可以和当前 SSH 终端的工作目录配合使用: diff --git a/docs-site/docs/guide/keyboard-shortcuts.md b/docs-site/docs/guide/keyboard-shortcuts.md index cc5b2f84..9ba4bfb1 100644 --- a/docs-site/docs/guide/keyboard-shortcuts.md +++ b/docs-site/docs/guide/keyboard-shortcuts.md @@ -32,12 +32,17 @@ NyaTerm 的快捷键分成两类理解最不容易混淆: | 快捷键 | 功能 | |--------|------| | `Ctrl / Cmd + Shift + N` | 新建会话 | +| `Ctrl / Cmd + Shift + S` | 打开命令面板 / 会话快速切换 | | ``Ctrl / Cmd + ` `` | 新建本地终端 | | `Ctrl / Cmd + Shift + W` | 关闭当前标签 | | `Ctrl + Tab` | 切换到下一个标签 | | `Ctrl + Shift + Tab` | 切换到上一个标签 | | `Ctrl / Cmd + 1-8` | 跳转到指定标签 | | `Ctrl / Cmd + 9` | 跳转到最后一个标签 | +| `Ctrl / Cmd + Shift + D` | 复制当前会话 | +| `Ctrl / Cmd + Shift + M` | 多路复用当前 SSH 会话 | +| `Ctrl / Cmd + Alt + D` | 复制当前会话并指定启动命令 | +| `Ctrl / Cmd + Alt + M` | 多路复用 SSH 并指定启动命令 | ## 视图与面板 @@ -55,6 +60,8 @@ NyaTerm 的快捷键分成两类理解最不容易混淆: |--------|------| | `Ctrl / Cmd + Shift + L` | 锁定屏幕 | | `Ctrl / Cmd + ,` | 打开设置 | +| `Ctrl / Cmd + Shift + G` | 管理同步输入组 | +| `Ctrl / Cmd + Alt + C` | 复制已选保存连接(在已保存连接面板中) | ## 使用建议 diff --git a/docs-site/docs/guide/layout-and-workspace.md b/docs-site/docs/guide/layout-and-workspace.md index 6584e8e7..3a58650f 100644 --- a/docs-site/docs/guide/layout-and-workspace.md +++ b/docs-site/docs/guide/layout-and-workspace.md @@ -28,7 +28,8 @@ NyaTerm 的核心体验不是“单个终端标签页”,而是一个可组合 - 在标签之间切换 - 自定义标签名 - 给标签设置颜色 -- 复制当前会话 +- 复制当前会话,或复制后执行启动命令 +- 通过拖拽把标签停靠到其他分屏区域 - 重新连接会话 - 查看会话信息 @@ -38,7 +39,18 @@ NyaTerm 的核心体验不是“单个终端标签页”,而是一个可组合 - 不同项目 - 不同任务阶段 -## 会话快速切换器 +## 命令面板与会话快速切换器 + +**命令面板** 用于快速查找应用动作、会话入口和常用工作流。你可以从顶部菜单或快捷键打开它,再用关键词过滤目标动作。 + +适合用来: + +- 打开或切换到已存在会话 +- 创建新的 SSH / 本地终端会话 +- 找到设置、面板切换、锁定等应用级动作 +- 在不离开键盘的情况下执行常用工作区操作 + +### 会话快速切换器 当打开的标签和连接很多时,会话快速切换器是最快的导航方式。它是一个类命令面板的可搜索对话框,可通过快捷键或活动栏入口打开。 @@ -53,7 +65,7 @@ NyaTerm 的核心体验不是“单个终端标签页”,而是一个可组合 - **水平分屏** - **垂直分屏** -分屏后的窗格仍然属于同一个标签页,但每个窗格都能承载自己独立的会话内容。适合的场景包括: +分屏后的窗格仍然属于同一个标签页,但每个窗格都能承载自己独立的会话内容。较新的工作区还支持把标签拖拽到目标停靠区域,从而更直观地把会话移动到水平或垂直分屏中。适合的场景包括: - 一个窗格看日志,一个窗格执行命令 - 并排比较两台主机状态 @@ -73,6 +85,12 @@ NyaTerm 的核心体验不是“单个终端标签页”,而是一个可组合 - 分屏负责并排观察 - 活动窗格决定当前命令发往哪里 +## 布局恢复与工作区间距 + +NyaTerm 会保存终端窗口布局,重启或重新打开工作区时尽量恢复之前的标签、分屏和活动位置。这对长期维护同一组主机、日志和本地构建任务很有帮助。 + +如果你希望终端之间留出更明显的视觉边界,可以在终端相关设置中调整 **Workspace Padding**。它只影响工作区的视觉间距,不改变远端 shell 或本地 shell 的行为。 + ## 左右侧面板 ### 左侧 @@ -142,9 +160,11 @@ NyaTerm 的核心体验不是“单个终端标签页”,而是一个可组合 - 复杂配置可以独立完成 - 演示和截图时结构更清晰 -## 托盘与关闭行为 +## 托盘、子窗口与窗口状态 -如果你在 **设置 → 常规** 中开启 **关闭时最小化到托盘**,关闭主窗口时应用不会立刻退出,而是转为后台驻留。 +如果你在 **设置 → 常规** 中开启 **关闭时最小化到托盘**,关闭主窗口时应用不会立刻退出,而是转为后台驻留。主窗口也可以被隐藏后再从托盘或系统入口唤回。 + +NyaTerm 会尽量记住子窗口的位置、大小和模态关系;设置、新建连接、远程文件编辑或自动上传窗口再次打开时,会使用更稳定的焦点与窗口状态。 这适合: diff --git a/docs-site/docs/guide/quick-commands.md b/docs-site/docs/guide/quick-commands.md index cde89e3e..dc4b73b2 100644 --- a/docs-site/docs/guide/quick-commands.md +++ b/docs-site/docs/guide/quick-commands.md @@ -62,13 +62,15 @@ docker exec -it {{容器名}} bash 执行时会弹出变量填写对话框,让你把模板命令补全后再发送。 -## 分类、搜索与置顶 +## 分类、搜索、排序与视图 快捷命令面板支持这些管理方式: - 通过搜索框按标签、命令内容或描述过滤 - 通过分类下拉框只看某一类命令 - 置顶命令优先显示在列表顶部 +- 按名称、使用频率、最近使用等排序模式整理列表 +- 在紧凑视图和常规视图之间切换,以适配不同面板宽度 - 已保存分类会被复用,新命令也可以继续补充分类 这让它很适合管理诸如: @@ -161,3 +163,4 @@ C:\Users\<用户名>\.wind\profiles\default.v10\terminal\quickbar.config - 左边看日志,右边通过快捷命令触发诊断脚本 - 远程 SSH 执行部署命令,本地终端同时做构建或 Git 操作 - 把变量化命令做成团队共享模板,减少人工拼写错误 +- 将 AI Assistant 生成并通过审批的命令保存为快捷命令,后续按固定模板复用 diff --git a/docs-site/docs/guide/security.md b/docs-site/docs/guide/security.md index 1380f13c..7c024345 100644 --- a/docs-site/docs/guide/security.md +++ b/docs-site/docs/guide/security.md @@ -131,7 +131,7 @@ OTP 管理支持: 更详细的配置与行为说明见 [云同步](./sync-and-backup)。 -## 屏幕锁定 +## 屏幕锁定与应用锁定 ### 手动锁定 @@ -149,7 +149,9 @@ OTP 管理支持: - **已设置主密码**:必须输入正确主密码才能解锁 - **未设置主密码**:可以直接点击解锁 -如果你准备把 NyaTerm 用在共享办公环境或演示现场,建议把“主密码 + 屏幕锁定”一起开启。 +应用锁定状态会在主工作区、模态子窗口和空闲检测之间保持一致。进入锁定后,终端内容和敏感面板会被遮挡;解锁前不要把它当作远端系统的权限控制,它保护的是本机 NyaTerm 工作区视图和本地敏感操作入口。 + +如果你准备把 NyaTerm 用在共享办公环境或演示现场,建议把“主密码 + 屏幕锁定 + 空闲自动锁定”一起开启。 ## SSH 主机密钥策略 diff --git a/docs-site/docs/guide/ssh-connection.md b/docs-site/docs/guide/ssh-connection.md index e48631e8..16e2d923 100644 --- a/docs-site/docs/guide/ssh-connection.md +++ b/docs-site/docs/guide/ssh-connection.md @@ -61,6 +61,17 @@ NyaTerm 支持三种 SSH 认证方式: 私钥和密码都可以在 **Security/Auth** 面板中统一管理。 +### 交互式认证请求 + +当服务器要求额外的键盘交互输入、OTP 或重新认证时,NyaTerm 会通过专用 SSH 认证请求窗口收集信息,而不是把所有提示混在终端输出里。这样可以更清楚地区分: + +- 普通密码 / 私钥认证 +- 键盘交互认证 +- OTP 或二次确认提示 +- 需要重新开始的认证流程 + +如果某次认证请求来自未预期的主机或会话,请先核对连接信息再输入敏感内容。 + ## 高级配置 SSH 表单的高级区域可以把连接从“能连上”扩展成“适合日常使用”的工作流配置。 @@ -73,6 +84,7 @@ SSH 表单的高级区域可以把连接从“能连上”扩展成“适合日 - **SOCKS5** - **HTTP** +- **ProxyCommand** 代理记录中可保存: @@ -92,6 +104,8 @@ SSH 表单的高级区域可以把连接从“能连上”扩展成“适合日 - 分环境隔离的生产网络 - 多层 SSH 登录链路 +NyaTerm 会校验跳板机链路,阻止缺失引用和环路引用,避免连接时出现无限递归或难以排查的代理链路。 + ### 登录后命令 可以为当前 SSH 连接配置一条在登录后自动执行的命令。会话建立、shell 就绪后,NyaTerm 会自动运行它。 diff --git a/docs-site/docs/guide/terminal.md b/docs-site/docs/guide/terminal.md index 3e563f17..a49bab02 100644 --- a/docs-site/docs/guide/terminal.md +++ b/docs-site/docs/guide/terminal.md @@ -28,12 +28,19 @@ NyaTerm 的终端体验围绕“在同一个工作区里高频处理远程与本 - 单词分隔符 - 默认字符编码 -### 回滚缓冲区与字体 +### 回滚缓冲区、字体与缩放 - 回滚缓冲区默认保留 **10000 行** 输出 -- 可自定义字体族、字号、光标样式与闪烁 +- 可自定义字体族、字号、普通字重、粗体字重、光标样式与闪烁 +- 可通过菜单或快捷键放大、缩小、重置终端缩放;终端根节点会协调缩放,避免嵌套工作区重复处理 - **硬件加速**为可选项,默认并未开启;如果你希望对比渲染效果,可在 **设置 → 终端** 中手动切换 +### 粘贴与输入兼容 + +- 终端可以按设置处理图片路径粘贴,适合把截图或本地图片路径快速带入命令行工具 +- macOS 下如遇输入法组合文本、候选词或特殊按键行为异常,可在 **设置 → 交互** 中开启 IME 兼容选项 +- 在 vim、less、top 等交互式程序中,NyaTerm 会抑制命令建议,避免历史建议覆盖程序自己的输入体验 + ## 命令历史与建议 NyaTerm 会为会话工作流提供两类辅助: @@ -43,6 +50,16 @@ NyaTerm 会为会话工作流提供两类辅助: - 自动记录终端输入过的命令 - 支持模糊检索 - 可从右侧的 **命令历史** 面板回看历史输入 +- 搜索栏会保留近期查询,便于重复查找同一类日志或错误 + +### 终端查找 + +`Ctrl / Cmd + Shift + F` 会打开终端查找框。查找框支持: + +- 上一个 / 下一个结果跳转 +- 当前结果与总结果数提示 +- 无结果、搜索中和正则错误反馈 +- 重复使用近期查询,不必每次重新输入完整关键词 ### 输入建议 diff --git a/docs-site/docs/guide/tunnels-and-proxy.md b/docs-site/docs/guide/tunnels-and-proxy.md index 692e6e83..7e3ec2eb 100644 --- a/docs-site/docs/guide/tunnels-and-proxy.md +++ b/docs-site/docs/guide/tunnels-and-proxy.md @@ -20,6 +20,7 @@ NyaTerm 把网络相关能力分成三层: - **SOCKS5** - **HTTP** +- **ProxyCommand** 每个代理配置可保存: @@ -28,6 +29,26 @@ NyaTerm 把网络相关能力分成三层: - 主机 - 端口 - 用户名 / 密码 +- ProxyCommand 命令模板 + +### ProxyCommand + +ProxyCommand 适合复用已有命令行代理或企业网关工具。NyaTerm 会按 OpenSSH 风格替换命令模板中的占位符: + +| 占位符 | 含义 | +|--------|------| +| `%h` | 目标主机 | +| `%p` | 目标端口 | +| `%r` | 登录用户名 | +| `%%` | 字面量 `%` | + +示例: + +```bash +nc -X connect -x jump.example.com:1080 %h %p +``` + +如果你的环境依赖自定义网关、堡垒机命令或本地代理程序,可以把这些命令保存为 ProxyCommand 配置,再在 SSH 连接高级区域中选择。 代理在网络面板中统一管理,之后可以在 SSH 连接的高级区域中直接选择。 @@ -47,7 +68,11 @@ NyaTerm 把网络相关能力分成三层: - 目标主机只允许内网访问 - 多层 SSH 网络隔离 -在 SSH 连接高级区域中,你可以直接从已有 SSH 连接里选一个作为跳板机。 +在 SSH 连接高级区域中,你可以直接从已有 SSH 连接里选一个作为跳板机。NyaTerm 会检查跳板机链路: + +- 如果引用的跳板机不存在,会阻止保存或提示修正 +- 如果多个连接互相引用形成环路,会阻止该配置,避免连接时无限递归 +- 多层跳板应保持为清晰的单向链路,例如 `本机 -> 堡垒机 -> 内网主机` ## 隧道 diff --git a/docs-site/docs/intro.md b/docs-site/docs/intro.md index c6cdde7d..1d148217 100644 --- a/docs-site/docs/intro.md +++ b/docs-site/docs/intro.md @@ -30,17 +30,20 @@ NyaTerm 不只支持 SSH,还支持: ### 可组合的工作区 - 多标签页管理多个会话 -- 标签页内支持**横向/纵向分屏** +- 标签页内支持**横向/纵向分屏**,并可通过拖拽把标签停靠到目标分屏区域 +- 可恢复终端窗口布局,并通过 Workspace Padding 调整终端区域间距 +- 命令面板与会话快速切换器可快速查找动作、会话和已保存连接 - 左右活动栏可放置文件浏览器、网络、Security/Auth、云同步、设置、AI 助手、会话列表、命令历史、资源监控等面板 - 底部辅助区可承载快捷命令、串口发送、录制与锁屏入口 -- 设置、新建连接、快捷命令、自动上传提示均使用独立子窗口,减少主工作区干扰 -- 支持托盘最小化,让窗口关闭动作可以转为后台驻留 +- 设置、新建连接、快捷命令、远程文件编辑、自动上传提示均使用独立子窗口,减少主工作区干扰 +- 支持托盘最小化和隐藏主窗口,让关闭动作可以转为后台驻留 ### 面向终端操作的增强 -- 命令历史与模糊建议 +- 命令历史与模糊建议,可在交互式程序中自动抑制建议干扰 - 可配置命令建议的历史命令长度上下限,减少超长命令带来的噪音 -- 终端搜索、复制/粘贴、上下文菜单 +- 终端搜索、搜索历史、结果计数、复制/粘贴、上下文菜单 +- 支持终端缩放、字体粗细、工作区间距、macOS IME 兼容和图片路径粘贴 - 选中文本后可直接做**在线搜索**或按 provider **翻译** - 可选的**行号 / 时间戳 gutter** - 可选的**动作链接**(如 IPv4、`host:port`、压缩包文件名) @@ -52,8 +55,8 @@ NyaTerm 不只支持 SSH,还支持: ### 远程文件与传输队列 - SSH 会话下内置 SFTP 文件浏览器 -- 上传、下载、重命名、移动、删除、属性查看、新建文件 / 文件夹 / 符号链接 -- 传输队列支持暂停、继续、取消、失败重试、断点续传、时间戳保留 +- 上传、下载、重命名、移动、删除、属性查看、新建文件 / 文件夹 / OpenSSH 兼容符号链接 +- 传输队列支持速度显示、暂停、继续、取消、失败重试、重复目标处理、断点续传、时间戳保留 - 在本地编辑下载的远程文件后,可通过 watcher 流程快速上传回远端 - Windows 下支持把本地文件或文件夹直接拖进文件浏览器上传 @@ -64,7 +67,8 @@ NyaTerm 不只支持 SSH,还支持: - 可从终端输出、选中文本、文件操作或手动输入发起 AI 请求 - 支持命令生成、错误分析、输出解释、修复建议等典型场景 - Agent 模式使用 ReAct 循环自主执行命令并观察结果,可配置最大步数和超时 -- 可配置内置 provider 与自定义 **OpenAI Compatible** provider +- Agent 命令执行与最终回答分离,审批后的真实命令输出和面向用户的总结更容易追踪 +- 可配置内置 provider、自定义 **OpenAI Compatible** provider、手动模型和凭据分组 - 支持结构化命令卡片、风险等级控制、审批后执行和保存为快捷命令 - 支持推理内容展示(适配 DeepSeek R1、QwQ 等模型的推理通道) - 输入 `@` 可提及其他会话,跨会话引入上下文 @@ -76,8 +80,8 @@ NyaTerm 不只支持 SSH,还支持: - 私钥、密码、主机密钥策略、本地加密存储 - **凭据管理**:基于正则匹配的终端密码自动填充 - OTP 管理(TOTP / HOTP)、二维码导入、SSH 自动填充 -- 代理配置、跳板机、本地 / 远程 / 动态隧道 -- 锁屏与主密码能力 +- 支持 SOCKS5、HTTP、ProxyCommand、跳板机链路校验、本地 / 远程 / 动态隧道和 SSH X11 转发 +- 锁屏、主密码与空闲应用锁定能力 - 支持导入 **Xshell / MobaXterm / WindTerm** 会话 - 支持导入 / 导出 NyaTerm 自身的加密 `.nya` 配置备份 - 可打开日志目录并导出诊断包,便于问题排查与支持协作 @@ -102,5 +106,6 @@ NyaTerm 不只支持 SSH,还支持: 7. [SFTP 文件传输](./guide/file-transfer) 8. [代理、跳板机与隧道](./guide/tunnels-and-proxy) 9. [OTP 与认证](./guide/otp-and-auth) -10. [安全功能](./guide/security) -11. [云同步](./guide/sync-and-backup) +10. [AI 助手](./guide/ai-assistant) +11. [安全功能](./guide/security) +12. [云同步](./guide/sync-and-backup) diff --git a/docs-site/i18n/en/docusaurus-plugin-content-docs/current/getting-started/installation.md b/docs-site/i18n/en/docusaurus-plugin-content-docs/current/getting-started/installation.md index c9ed77d3..b71e637f 100644 --- a/docs-site/i18n/en/docusaurus-plugin-content-docs/current/getting-started/installation.md +++ b/docs-site/i18n/en/docusaurus-plugin-content-docs/current/getting-started/installation.md @@ -36,8 +36,8 @@ After installation, the main window is typically organized into these areas: - **Top menu and window bar** — File / View / Help and window controls - **Central workspace** — terminal tabs and split panes inside the active tab -- **Left activity bar and panels** — file explorer, network, Security/Auth, and related capability entry points -- **Right activity bar and panels** — saved connections, active sessions, command history, and resource monitor +- **Left activity bar and panels** — file explorer, network, Security/Auth, Cloud Sync, settings, and related capability entry points +- **Right activity bar and panels** — saved connections, AI Assistant, active sessions, command history, and resource monitor - **Bottom helper area** — quick commands, serial send, recording, and lock actions Some workflows open dedicated child windows instead of interrupting the main workspace, such as: @@ -45,8 +45,23 @@ Some workflows open dedicated child windows instead of interrupting the main wor - Settings - New session / connection creation - Quick command editing +- Remote-file editing - Auto-upload prompts +## Settings worth checking after install + +Before using NyaTerm long term, quickly review: + +- **Settings → General**: startup restore, minimize to tray when closing, close confirmation +- **Settings → General**: log level, log retention, open log directory, export diagnostics bundle +- **Settings → Interaction**: command suggestions, history-command length filters, copy, right-click paste, macOS IME compatibility +- **Settings → Terminal**: scrollback, Keep-Alive, action links, line numbers / timestamps, keyword highlighting, resource monitor, workspace padding, font weight, image path paste behavior +- **Settings → Transfer**: default download directory, default editor, recording path, concurrency, retry, duplicate-target strategy +- **Settings → Security**: master password, screen lock, idle auto-lock, host key policy +- **Settings → AI**: providers, models, risk controls, history, and context limits + +If you often keep sessions or sync tasks running in the background, check **Minimize to tray when closing** early. + ## Suggested first run For a first pass through the app, try this order: @@ -55,4 +70,5 @@ For a first pass through the app, try this order: 2. Create one **SSH** connection 3. Create one **Local Terminal** to experience the mixed workspace model 4. Open the file explorer and transfer queue in the SSH session -5. Try command history, quick commands, and terminal search +5. Try command history, quick commands, AI Assistant, recording, and terminal search +6. On Windows, also try dragging local files or folders into the file explorer for upload diff --git a/docs-site/i18n/en/docusaurus-plugin-content-docs/current/getting-started/quick-start.md b/docs-site/i18n/en/docusaurus-plugin-content-docs/current/getting-started/quick-start.md index d9fa8e07..ff252d4a 100644 --- a/docs-site/i18n/en/docusaurus-plugin-content-docs/current/getting-started/quick-start.md +++ b/docs-site/i18n/en/docusaurus-plugin-content-docs/current/getting-started/quick-start.md @@ -4,7 +4,7 @@ sidebar_position: 2 # Quick Start -This chapter helps you experience NyaTerm's core workflow as quickly as possible: create a connection, open sessions, split the workspace, browse files, and turn on terminal enhancements when you need them. +This chapter helps you experience NyaTerm's core workflow as quickly as possible: create a connection, open sessions, split the workspace, browse files, turn on terminal enhancements, and find the migration, AI assistance, and backup entry points. ## Step 1: Pick a session type @@ -35,18 +35,33 @@ If needed, expand the advanced section to configure: After saving, the connection appears in the saved-connections list. -## Step 3: Understand the workspace +## Step 3: Import existing configuration if you have it + +If you already maintain many hosts in another client, you do not need to rebuild them manually. + +NyaTerm can import from: + +- **Xshell** (`.xts`) +- **MobaXterm** (`.mxtsessions`) +- **WindTerm** (`.sessions`) +- NyaTerm encrypted backup files (`.nya`) + +Session import is best for connection inventories. `.nya` import is best for restoring a full local NyaTerm environment and requires a **Master Password**. + +## Step 4: Understand the workspace Double-click a saved connection, or use the connection context menu, to launch the session. After the connection is established, you will see: - **Center area** — the current terminal tab and any split panes inside it -- **Left activity bar** — entry points for file explorer, network, Security/Auth, and related panels -- **Right activity bar** — saved connections, active sessions, command history, and resource monitor +- **Left activity bar** — entry points for file explorer, network, Security/Auth, Cloud Sync, settings, and related panels +- **Right activity bar** — saved connections, AI Assistant, active sessions, command history, and resource monitor - **Bottom area** — quick commands, serial send, recording, and lock actions -## Step 4: Try the highest-frequency workflows +If you want the app to keep running in the background when the main window closes, enable **Minimize to tray when closing** in **Settings → General**. + +## Step 5: Try the highest-frequency workflows ### 1. Open a local terminal too @@ -63,14 +78,19 @@ This is useful when you want to watch logs, run commands, and compare output fro ### 3. Open the remote file explorer and transfer queue -Once an SSH session is active, the file explorer lets you browse remote directories and perform upload, download, delete, move, rename, and properties actions. +Once an SSH session is active, the file explorer lets you browse remote directories and perform upload, download, delete, move, rename, properties, path-bar navigation, path copy/send-to-terminal, and terminal-cwd sync actions. -When you start uploads or downloads, the transfer panel shows queue progress and supports pause, resume, cancel, and retry. +When you start uploads or downloads, the transfer panel shows queue progress, transfer speed, and supports pause, resume, cancel, retry, and duplicate-target handling. + +On Windows, you can also try dragging files or folders from the system file manager directly into the file explorer. ### 4. Open command history and quick commands - **Command History** is useful for recall and fuzzy lookup -- **Quick Commands** is useful for reusable actions with categories, execution modes, and variable prompts +- **Quick Commands** is useful for reusable actions with categories, execution modes, variable prompts, sorting, and view modes +- **Command suggestions** appear while typing based on history and built-in commands + +If suggestions are too noisy or include very long commands, tune **Minimum history command length** and **Maximum history command length** in **Settings → Interaction**. ### 5. Try search / online search / translation @@ -80,7 +100,18 @@ When text is selected in the terminal, the context menu can: - Send text to an **online search** engine - Open a **translation** dialog with a configured provider -### 6. Turn on optional terminal enhancements +### 6. Try AI Assistant + +The **AI Assistant** in the right activity bar is useful for: + +- Generating a command from your goal +- Explaining recent terminal output or selected text +- Analyzing errors and suggesting fixes +- Saving approved structured command cards as quick commands + +If no model is available the first time you open it, configure providers, models, and risk controls in **Settings → AI**. + +### 7. Turn on optional terminal enhancements In **Settings → Terminal**, you can enable: @@ -92,7 +123,7 @@ In **Settings → Terminal**, you can enable: These features are intentionally conservative by default, so you can enable them only where they help your workflow. -## Step 5: Optionally configure Cloud Sync +## Step 6: Optionally configure Cloud Sync If you want cross-device configuration sync, continue with: @@ -104,11 +135,12 @@ If you want cross-device configuration sync, continue with: If you are just evaluating NyaTerm for the first time, this step is optional. For the full workflow, see [Cloud Sync](../guide/sync-and-backup). -## Step 6: Keep exploring by use case +## Step 7: Keep exploring by use case - Want to understand the differences between sessions? See [Session Types](../guide/session-types) - Want to configure auth, proxy, or jump hosts? See [SSH Connection Management](../guide/ssh-connection) - Want to manage files and auto-upload? See [SFTP File Transfer](../guide/file-transfer) - Want to learn terminal enhancements and recording? See [Terminal Features](../guide/terminal) - Want to configure OTP? See [OTP and Authentication](../guide/otp-and-auth) +- Want to enable AI assistance? See [AI Assistant](../guide/ai-assistant) - Want to enable cloud sync? See [Cloud Sync](../guide/sync-and-backup) diff --git a/docs-site/i18n/en/docusaurus-plugin-content-docs/current/guide/ai-assistant.md b/docs-site/i18n/en/docusaurus-plugin-content-docs/current/guide/ai-assistant.md new file mode 100644 index 00000000..73c30ed0 --- /dev/null +++ b/docs-site/i18n/en/docusaurus-plugin-content-docs/current/guide/ai-assistant.md @@ -0,0 +1,141 @@ +--- +sidebar_position: 5 +--- + +# AI Assistant + +NyaTerm includes an AI Assistant panel that can start from terminal context, selected text, file operations, or a manual prompt. It supports two working modes: **Ask** and **Agent**. + +## Working modes + +### Ask mode + +Ask is the default mode and fits one-off help: + +- Generate commands +- Explain terminal output +- Analyze errors +- Derive a fix command from selected text + +Commands returned by AI are shown as structured cards with risk labels. + +### Agent mode + +Agent mode lets AI perform multi-step work. It uses a ReAct-style loop: observe terminal output → decide the next command → execute → observe again until the task is complete or a step limit is reached. + +Agent mode characteristics: + +- Requires an active terminal session +- Shows each command's state: running, completed, failed, timed out, needs approval, or blocked by policy +- Configurable maximum steps and per-step timeout in **Settings → AI → Agent Settings** +- Uses `Terminal Output Lines` to control how much AI-executed command output is shown inline near the terminal +- High-risk commands still require manual approval before execution + +## Agent tools and final answers + +Newer Agent workflows separate "run terminal commands" from "summarize the result": + +- Agent can propose commands to run in the active terminal session +- Commands still go through risk levels, policy checks, and manual approval +- Execution state is recorded, and output summaries can be shown near the terminal according to `Terminal Output Lines` +- After terminal steps finish, Agent uses a final-answer tool to provide the user-facing summary instead of mixing it into command output + +This makes multi-step troubleshooting, build checks, deployment checks, and similar workflows easier to audit: the terminal keeps the real execution record, while the final answer explains the outcome and next steps. + +## Conversation management + +AI Assistant supports multiple conversations: + +- **New conversation** creates an independent context +- **History** groups conversations by time, such as today, yesterday, last 7 days, and older +- **Search history** fuzzy-searches conversation content +- **Delete conversation** removes history you no longer need + +## Session mentions + +Type `@` in the input box to mention other terminal sessions and bring their context into the current AI conversation. This is useful for cross-session analysis or comparisons. + +## Command cards and risk control + +AI commands are displayed as structured cards with: + +- Command text +- Risk level: low / medium / high / critical +- Execute or approval actions +- Save-as-quick-command option + +### Risk levels + +| Level | Meaning | Default behavior | +|------|---------|------------------| +| Low | Read-only or information-query commands | Can be auto-executed | +| Medium | File or configuration changes | Depends on settings | +| High | Deletion, permission changes, and similar impact | Requires approval | +| Critical | Destructive patterns such as `chmod`, `chown`, or `rm -rf` | Requires confirmation text | + +In **Settings → AI**, you can configure: + +- Highest risk level that may auto-execute +- Whether risk checks are enabled +- Whether generated commands can be saved as quick commands + +### Safer alternatives + +When AI detects a high-risk command, it may also provide a safer alternative command. + +## Recent output and inline terminal output + +AI Assistant can work around "what just happened" instead of only selected text. + +- Use **Explain recent output** from the terminal context menu to send recent output from the current session to AI +- In Agent mode, AI command execution events are captured and summarized near the terminal workflow +- `Terminal Output Lines` controls the maximum number of inline feedback lines; set it to `0` to disable them + +## Reasoning content + +If the selected model exposes a reasoning channel, such as DeepSeek R1 or QwQ-style models, AI Assistant can show reasoning content in the response. Reasoning content is collapsed by default and can be expanded when needed. + +## Provider and model configuration + +Manage providers and models in **Settings → AI**. + +### Provider configuration + +- Built-in providers such as OpenAI, Anthropic, Google, and DeepSeek +- Custom **OpenAI Compatible** providers +- Each provider needs an API key and optional Base URL + +### Model management + +- Fetch available models from providers +- Manually add models that a provider does not return automatically +- Group models by provider and credential group +- Enable / disable individual models +- Choose a default model + +### Other settings + +- **Context lines**: maximum terminal output lines sent to AI +- **Request timeout**: timeout for one AI request +- **Record history**: whether to save AI conversation history +- **Sensitive redaction**: redact sensitive content before sending + +## Invoke from terminal and file explorer + +AI Assistant can be invoked from context menus, not only from the panel input. + +### Terminal context menu + +- **Explain recent output** sends recent output from the current session +- **Explain selected text** explains the selected log, error, or fragment +- **Analyze error** asks AI to generate repair suggestions from an error context +- **Fix selected text** derives the next command from selected error text +- **Generate command** asks AI to produce a command for your goal + +### File explorer context menu + +For files in the SFTP file explorer, you can send file content to AI for analysis from the context menu. File size limits apply and can be adjusted in settings. + +### Error auto-detection + +When terminal output matches error patterns, AI Assistant can suggest analyzing the error automatically. diff --git a/docs-site/i18n/en/docusaurus-plugin-content-docs/current/guide/file-transfer.md b/docs-site/i18n/en/docusaurus-plugin-content-docs/current/guide/file-transfer.md index 1f3c679e..fb3126b8 100644 --- a/docs-site/i18n/en/docusaurus-plugin-content-docs/current/guide/file-transfer.md +++ b/docs-site/i18n/en/docusaurus-plugin-content-docs/current/guide/file-transfer.md @@ -32,7 +32,7 @@ From the file list or the context menu, you can perform: | Move | Move a file or directory to another path | | Delete | Remove a file or directory | | Properties | View size, timestamps, UID/GID, permissions, and more | -| New File / Folder / Symlink | Create entries directly in the current directory | +| New File / Folder / Symlink | Create entries directly in the current directory; symlinks use OpenSSH-compatible handling | The **Open** action is not just a preview. It prepares the round-trip editing flow. @@ -76,6 +76,7 @@ Both file downloads and directory downloads are supported. NyaTerm puts uploads and downloads into a shared transfer queue so you can inspect: - Current progress +- Real-time transfer speed - Success, paused, canceled, and failed states - Concurrent transfers - The current download target @@ -108,6 +109,20 @@ In **Settings → Transfer**, you can adjust: - Whether to ask for the save location every time - The local editor used when opening remote files +### Duplicate target handling + +When an upload or download reaches an existing file, the duplicate target dialog lets you choose: + +- **Overwrite** — replace the target file +- **Overwrite and do not ask again for this task** — keep overwriting for the current batch +- **Skip** — keep the target file and skip the current item + +If you often sync the same directories in batches, tune the default conflict strategy in **Settings → Transfer** to reduce repeated prompts. + +### SFTP reliability and performance + +The newer SFTP backend improves directory handling, symlinks, known-size downloads, and large uploads. You usually do not need to think about the implementation details; the visible result is clearer speed feedback, more specific errors, and directory/symlink behavior that is closer to OpenSSH. + ## Sync with terminal paths The file explorer can work together with the current SSH terminal path: diff --git a/docs-site/i18n/en/docusaurus-plugin-content-docs/current/guide/keyboard-shortcuts.md b/docs-site/i18n/en/docusaurus-plugin-content-docs/current/guide/keyboard-shortcuts.md index 4f234805..5adccd26 100644 --- a/docs-site/i18n/en/docusaurus-plugin-content-docs/current/guide/keyboard-shortcuts.md +++ b/docs-site/i18n/en/docusaurus-plugin-content-docs/current/guide/keyboard-shortcuts.md @@ -32,12 +32,17 @@ If you want to copy text from the terminal, use NyaTerm's app-level shortcuts ra | Shortcut | Action | |--------|------| | `Ctrl / Cmd + Shift + N` | New session | +| `Ctrl / Cmd + Shift + S` | Open Command Palette / session quick switcher | | ``Ctrl / Cmd + ` `` | New local terminal | | `Ctrl / Cmd + Shift + W` | Close current tab | | `Ctrl + Tab` | Next tab | | `Ctrl + Shift + Tab` | Previous tab | | `Ctrl / Cmd + 1-8` | Jump to a specific tab | | `Ctrl / Cmd + 9` | Jump to the last tab | +| `Ctrl / Cmd + Shift + D` | Duplicate current session | +| `Ctrl / Cmd + Shift + M` | Multiplex current SSH session | +| `Ctrl / Cmd + Alt + D` | Duplicate current session with a startup command | +| `Ctrl / Cmd + Alt + M` | Multiplex SSH with a startup command | ## View and panels @@ -55,6 +60,8 @@ If you want to copy text from the terminal, use NyaTerm's app-level shortcuts ra |--------|------| | `Ctrl / Cmd + Shift + L` | Lock screen | | `Ctrl / Cmd + ,` | Open settings | +| `Ctrl / Cmd + Shift + G` | Manage synchronized input groups | +| `Ctrl / Cmd + Alt + C` | Copy selected saved connections in the Saved Connections panel | ## Usage tips diff --git a/docs-site/i18n/en/docusaurus-plugin-content-docs/current/guide/layout-and-workspace.md b/docs-site/i18n/en/docusaurus-plugin-content-docs/current/guide/layout-and-workspace.md index 4b2473d9..22b05096 100644 --- a/docs-site/i18n/en/docusaurus-plugin-content-docs/current/guide/layout-and-workspace.md +++ b/docs-site/i18n/en/docusaurus-plugin-content-docs/current/guide/layout-and-workspace.md @@ -28,7 +28,8 @@ Common tab actions include: - Switching between tabs - Renaming a tab - Setting a tab color -- Duplicating the current session +- Duplicating the current session, optionally with a startup command +- Dragging a tab into another dock/split area - Reconnecting a session - Viewing session details @@ -38,7 +39,18 @@ This makes NyaTerm a good fit for separating: - Different projects - Different task phases -## Session quick switcher +## Command Palette and session quick switcher + +The **Command Palette** helps you find app actions, session entry points, and common workspace workflows. Open it from the top menu or keyboard shortcut, then filter by keyword. + +It is useful for: + +- Opening or switching to an existing session +- Creating new SSH or Local Terminal sessions +- Finding settings, panel toggles, lock actions, and other app-level commands +- Staying keyboard-first while navigating the workspace + +### Session quick switcher When you have many tabs and connections open, the session quick switcher is the fastest way to navigate. It is a command-palette-style searchable dialog that you open via its keyboard shortcut or activity-bar entry. @@ -53,7 +65,7 @@ Right-click a tab to split the current session into: - **Horizontal Split** - **Vertical Split** -The panes still belong to the same tab, but each pane can hold its own independent session content. This is useful for: +The panes still belong to the same tab, but each pane can hold its own independent session content. Newer workspace builds also let you drag tabs into target docking areas, which is a more visual way to move sessions into horizontal or vertical splits. This is useful for: - Watching logs in one pane and running commands in another - Comparing two hosts side by side @@ -73,6 +85,12 @@ For day-to-day usage, the simple mental model is: - Splits let you observe things side by side - The active pane decides where input goes +## Layout restoration and workspace padding + +NyaTerm saves the terminal window layout and tries to restore tabs, splits, and active positions when the workspace is reopened. This helps if you maintain the same set of hosts, logs, and local build tasks over time. + +If you want clearer visual separation between terminal areas, adjust **Workspace Padding** in terminal-related settings. This only changes the workspace spacing; it does not change remote or local shell behavior. + ## Left and right panels ### Left side @@ -123,6 +141,18 @@ This helps because it: - Gives complex configuration its own focused space - Makes screenshots and demos easier to structure +## Tray, child windows, and window state + +If **Minimize to tray when closing** is enabled in **Settings → General**, closing the main window keeps the app running in the background instead of quitting immediately. The main window can also be hidden and restored later from the tray or system entry point. + +NyaTerm also tries to remember child-window size, position, and modal relationships. Settings, new-session, remote-file editing, and auto-upload windows should reopen with more stable focus and window state. + +This is useful when you want to: + +- Keep active sessions alive +- Let sync or backup continue in the background +- Reopen the main workspace quickly from the tray + ## Recommended workflow combinations ### Local + remote diff --git a/docs-site/i18n/en/docusaurus-plugin-content-docs/current/guide/quick-commands.md b/docs-site/i18n/en/docusaurus-plugin-content-docs/current/guide/quick-commands.md index 9549812a..4992c8db 100644 --- a/docs-site/i18n/en/docusaurus-plugin-content-docs/current/guide/quick-commands.md +++ b/docs-site/i18n/en/docusaurus-plugin-content-docs/current/guide/quick-commands.md @@ -62,13 +62,15 @@ docker exec -it {{container_name}} bash When you run the command, NyaTerm opens a variable input dialog so the template can be completed before sending it. -## Categories, search, and pinned items +## Categories, search, sorting, and view modes The Quick Commands panel supports these management patterns: - Search by label, command content, or description - Filter by category from the dropdown - Keep pinned commands at the top +- Sort by modes such as name, usage frequency, or recently used +- Switch between compact and regular views to fit different panel widths - Reuse existing categories when creating new commands That makes it useful for organizing sets like: @@ -161,3 +163,4 @@ Common combinations include: - Watching logs on one side while triggering diagnostics from Quick Commands on the other - Running deploy commands remotely while building or using Git locally - Turning variable-based commands into team-friendly templates +- Saving approved commands generated by AI Assistant as quick commands for later reuse diff --git a/docs-site/i18n/en/docusaurus-plugin-content-docs/current/guide/security.md b/docs-site/i18n/en/docusaurus-plugin-content-docs/current/guide/security.md index 36af96fe..55f3c1c0 100644 --- a/docs-site/i18n/en/docusaurus-plugin-content-docs/current/guide/security.md +++ b/docs-site/i18n/en/docusaurus-plugin-content-docs/current/guide/security.md @@ -97,7 +97,7 @@ not as a collaborative merge tool. For the complete setup and workflow details, see [Cloud Sync](./sync-and-backup). -## Screen lock +## Screen lock and app lock ### Manual lock @@ -115,7 +115,9 @@ In **Settings → Security**, once screen lock is enabled, you can also configur - **With a master password** — entering the correct master password is required - **Without a master password** — unlocking can happen directly -If you plan to use NyaTerm on a shared machine or during demos, enabling both **master password** and **screen lock** is the safer setup. +The app lock state is shared across the main workspace, modal child windows, and idle detection. When locked, terminal content and sensitive panels are covered; treat it as protection for the local NyaTerm workspace and local sensitive-operation entry points, not as remote-system access control. + +If you plan to use NyaTerm on a shared machine or during demos, enabling **master password**, **screen lock**, and **idle auto-lock** together is the safer setup. ## SSH host key policies diff --git a/docs-site/i18n/en/docusaurus-plugin-content-docs/current/guide/ssh-connection.md b/docs-site/i18n/en/docusaurus-plugin-content-docs/current/guide/ssh-connection.md index e70cb802..a00f37bf 100644 --- a/docs-site/i18n/en/docusaurus-plugin-content-docs/current/guide/ssh-connection.md +++ b/docs-site/i18n/en/docusaurus-plugin-content-docs/current/guide/ssh-connection.md @@ -61,6 +61,17 @@ Useful for: Both passwords and keys can be managed centrally in **Security/Auth**. +### Interactive authentication requests + +When a server asks for additional keyboard-interactive input, OTP, or a restarted authentication step, NyaTerm collects the information through a dedicated SSH authentication request window instead of mixing every prompt into terminal output. This makes it easier to distinguish: + +- Normal password / private-key authentication +- Keyboard-interactive authentication +- OTP or second-factor prompts +- Authentication flows that need to restart + +If an authentication request comes from an unexpected host or session, verify the connection details before entering sensitive information. + ## Advanced configuration The advanced section is where an SSH connection goes from "can connect" to "fits a real daily workflow." @@ -73,6 +84,7 @@ Supported proxy types: - **SOCKS5** - **HTTP** +- **ProxyCommand** A proxy record can store: @@ -92,6 +104,8 @@ Typical cases include: - Reaching internal production hosts - Multi-hop SSH login chains +NyaTerm validates jump-host chains and rejects missing or cyclic references, so a saved connection cannot recurse forever through its own proxy path. + ### Post-login command You can configure a command that NyaTerm runs automatically once the SSH session is established and the shell is ready. diff --git a/docs-site/i18n/en/docusaurus-plugin-content-docs/current/guide/terminal.md b/docs-site/i18n/en/docusaurus-plugin-content-docs/current/guide/terminal.md index 2e8f9b5e..52a820ea 100644 --- a/docs-site/i18n/en/docusaurus-plugin-content-docs/current/guide/terminal.md +++ b/docs-site/i18n/en/docusaurus-plugin-content-docs/current/guide/terminal.md @@ -27,12 +27,19 @@ In **Settings → Interaction**, you can also adjust: - Word separators - Default character encoding -### Scrollback and fonts +### Scrollback, fonts, and zoom - The default scrollback buffer keeps **10000 lines** -- You can customize font family, font size, cursor style, and cursor blink +- You can customize font family, font size, normal font weight, bold font weight, cursor style, and cursor blink +- Use the menu or keyboard shortcuts to zoom in, zoom out, or reset zoom; the terminal root coordinates zoom handling so nested workspaces do not process it twice - **Hardware acceleration** is optional and is **not enabled by default**; you can toggle it manually in **Settings → Terminal** if you want to compare rendering behavior +### Paste and input compatibility + +- Terminal settings can control image path pasting, which is useful when you want to pass screenshot or local image paths to command-line tools +- On macOS, enable the IME compatibility option in **Settings → Interaction** if composition text, candidate windows, or special key behavior feels wrong +- In interactive programs such as vim, less, or top, NyaTerm suppresses command suggestions so history completions do not interfere with the program's own input handling + ## Command history and suggestions NyaTerm provides two related helpers for session workflows. @@ -42,6 +49,16 @@ NyaTerm provides two related helpers for session workflows. - Commands entered in the terminal are recorded automatically - Fuzzy search is supported - You can review history from the **Command History** panel on the right +- The search UI keeps recent queries so repeated log/error searches are easier + +### Terminal find + +`Ctrl / Cmd + Shift + F` opens terminal find. The find UI supports: + +- Previous / next result navigation +- Current-result and total-result feedback +- No-result, searching, and invalid-regex states +- Reusing recent queries without retyping the full keyword ### Input suggestions diff --git a/docs-site/i18n/en/docusaurus-plugin-content-docs/current/guide/tunnels-and-proxy.md b/docs-site/i18n/en/docusaurus-plugin-content-docs/current/guide/tunnels-and-proxy.md index ce9933fa..e2c9d240 100644 --- a/docs-site/i18n/en/docusaurus-plugin-content-docs/current/guide/tunnels-and-proxy.md +++ b/docs-site/i18n/en/docusaurus-plugin-content-docs/current/guide/tunnels-and-proxy.md @@ -20,6 +20,7 @@ Currently supported: - **SOCKS5** - **HTTP** +- **ProxyCommand** Each proxy configuration can store: @@ -28,6 +29,26 @@ Each proxy configuration can store: - Host - Port - Username / password +- ProxyCommand command template + +### ProxyCommand + +ProxyCommand is useful when you already have a command-line proxy, gateway, or corporate network helper. NyaTerm replaces OpenSSH-style placeholders in the command template: + +| Placeholder | Meaning | +|-------------|---------| +| `%h` | Target host | +| `%p` | Target port | +| `%r` | Login username | +| `%%` | Literal `%` | + +Example: + +```bash +nc -X connect -x jump.example.com:1080 %h %p +``` + +If your environment depends on a custom gateway, bastion command, or local proxy program, save it as a ProxyCommand profile and select it from the advanced section of an SSH connection. Proxies are managed centrally in the Network panel, then selected from the advanced section of an SSH connection. @@ -47,7 +68,11 @@ Typical use cases: - Internal hosts that are not directly reachable - Multi-layer SSH network isolation -In the SSH connection advanced section, you can pick an existing saved SSH connection as the jump host. +In the SSH connection advanced section, you can pick an existing saved SSH connection as the jump host. NyaTerm validates the jump-host chain: + +- Missing referenced jump hosts are blocked or surfaced for correction +- Recursive relationships are rejected so connections cannot loop forever +- Multi-hop designs should stay as clear one-way chains, for example `local -> bastion -> internal host` ## Tunnels diff --git a/docs-site/i18n/en/docusaurus-plugin-content-docs/current/intro.md b/docs-site/i18n/en/docusaurus-plugin-content-docs/current/intro.md index 008d0564..c1c55980 100644 --- a/docs-site/i18n/en/docusaurus-plugin-content-docs/current/intro.md +++ b/docs-site/i18n/en/docusaurus-plugin-content-docs/current/intro.md @@ -5,7 +5,7 @@ slug: / # Introduction -**NyaTerm** is a desktop client built around remote terminal workflows. It pairs a Tauri + React interface with a Rust backend that handles SSH, SFTP, session lifecycle, tunnels, authentication, and config persistence, so you can work with remote servers, local shells, serial devices, and network helpers inside one workspace. +**NyaTerm** is a desktop client built around remote terminal workflows. It pairs a Tauri + React interface with a Rust backend that handles SSH, SFTP, session lifecycle, tunnels, authentication, AI features, Cloud Sync, and config persistence, so you can work with remote servers, local shells, serial devices, and network helpers inside one workspace. ## Where NyaTerm fits best @@ -13,7 +13,8 @@ slug: / - Switching between local terminals, Telnet sessions, and serial devices during troubleshooting - Working with remote files while watching terminal output - Standardizing common operations with reusable commands, jump-host chains, and saved connection metadata -- Using OTP, recording, resource monitoring, auto-upload, cross-device config sync, and local encrypted backup in the same desktop app +- Using OTP, recording, resource monitoring, auto-upload, AI assistance, cross-device config sync, and local encrypted backup in the same desktop app +- Migrating existing configuration from Xshell, MobaXterm, WindTerm, or NyaTerm backup files ## Core capabilities @@ -29,15 +30,20 @@ NyaTerm supports more than SSH: ### Composable workspace - Multi-tab workflow for different tasks and environments -- **Horizontal and vertical splits** inside a tab -- Left and right activity bars for file explorer, network, Security/Auth, saved connections, active sessions, command history, and resource monitor panels +- **Horizontal and vertical splits** inside a tab, with drag docking for moving tabs into target split areas +- Terminal layout restoration and Workspace Padding for clearer terminal spacing +- Command Palette and session quick switcher for finding actions, sessions, and saved connections +- Left and right activity bars for file explorer, network, Security/Auth, Cloud Sync, settings, AI Assistant, saved connections, active sessions, command history, and resource monitor panels - Bottom helper areas for quick commands, serial send, recording, and lock controls -- Separate child windows for settings, new-session, quick-command editing, and auto-upload prompts +- Separate child windows for settings, new-session, quick-command editing, remote-file editing, and auto-upload prompts +- Tray minimize and hide-main-window behavior for background workflows ### Terminal-focused enhancements -- Command history and fuzzy suggestions -- Terminal search, copy/paste, and context actions +- Command history and fuzzy suggestions, with automatic suppression in interactive programs +- Configurable history-command length filters to reduce noise from very long commands +- Terminal search, search history, result counts, copy/paste, and context actions +- Terminal zoom, font weights, workspace spacing, macOS IME compatibility, and image path pasting - **Online search** and **translation** from selected terminal text - Optional **line-number / timestamp gutter** - Optional **action links** for IPv4 addresses, `host:port`, and archive names @@ -47,16 +53,30 @@ NyaTerm supports more than SSH: ### Remote file and transfer workflows - Built-in SFTP file explorer for SSH sessions -- Upload, download, rename, move, delete, properties, and symlink actions -- Transfer queue with pause, resume, cancel, retry, timestamp preservation, and configurable concurrency +- Upload, download, rename, move, delete, properties, and OpenSSH-compatible symlink actions +- Transfer queue with speed display, pause, resume, cancel, retry, duplicate-target handling, timestamp preservation, and configurable concurrency - Open a remote file in a local editor, then send changes back through the watcher-driven auto-upload flow +- External drag-and-drop uploads from the system file manager on Windows + +### AI Assistant and automation + +- Built-in **AI Assistant** panel in the right activity bar +- **Ask** mode for one-off command generation, output explanation, and error analysis +- **Agent** mode for multi-step command execution against the active terminal session +- Agent command execution and final answers are separated so command output remains auditable +- Built-in providers, custom **OpenAI Compatible** providers, manual model entries, and credential groups +- Structured command cards with risk controls, approvals, and save-to-quick-command support ### Security and networking - Passwords, private keys, host-key policies, and encrypted local storage +- Credential management with regex-based terminal password auto-fill - OTP management with TOTP/HOTP, QR import, and SSH auto-fill support -- Proxy configs, jump hosts, and local / remote / dynamic tunnels -- Screen lock and master-password support +- SOCKS5, HTTP, ProxyCommand, validated jump-host chains, local / remote / dynamic tunnels, and SSH X11 forwarding +- Screen lock, master password, and idle app lock support +- Import **Xshell / MobaXterm / WindTerm** sessions +- Encrypted `.nya` import / export for NyaTerm configuration backups +- Open log folders and export diagnostic bundles for troubleshooting and support ### Cloud Sync @@ -77,4 +97,6 @@ If you are new to NyaTerm, this order works well: 6. [SFTP File Transfer](./guide/file-transfer) 7. [Tunnels and Proxy](./guide/tunnels-and-proxy) 8. [OTP and Authentication](./guide/otp-and-auth) -9. [Cloud Sync](./guide/sync-and-backup) +9. [AI Assistant](./guide/ai-assistant) +10. [Security](./guide/security) +11. [Cloud Sync](./guide/sync-and-backup) diff --git a/docs-site/sidebars.ts b/docs-site/sidebars.ts index 79c0074f..b1fa91dd 100644 --- a/docs-site/sidebars.ts +++ b/docs-site/sidebars.ts @@ -20,6 +20,7 @@ const sidebars: SidebarsConfig = { 'guide/ssh-connection', 'guide/layout-and-workspace', 'guide/terminal', + 'guide/ai-assistant', 'guide/file-transfer', 'guide/tunnels-and-proxy', 'guide/quick-commands', diff --git a/docs-site/src/data/changelogData.ts b/docs-site/src/data/changelogData.ts index a543e096..2270fe7e 100644 --- a/docs-site/src/data/changelogData.ts +++ b/docs-site/src/data/changelogData.ts @@ -9,6 +9,190 @@ export type ChangelogRelease = { }; const changelogReleasesEn: ChangelogRelease[] = [ + { + version: '[1.1.12] - 2026-06-30', + sections: [ + { + title: 'Added', + items: [ + '**connections:** Enhance jump host configuration with clearer chain handling and validation for ProxyJump-style setups.', + ], + }, + { + title: 'Fixed', + items: [ + '**connections:** Prevent cycles in jump host relationships so saved connections cannot reference each other recursively.', + ], + }, + { + title: 'Documentation', + items: ['**i18n:** Add localization strings for the updated jump host workflow.'], + }, + ], + }, + { + version: '[1.1.11] - 2026-06-30', + sections: [ + { + title: 'Added', + items: [ + '**header:** Add a Command Palette entry for quickly finding app actions and session workflows.', + '**ai:** Introduce command-execution and final-answer tools for Agent interactions while preserving approval gates.', + '**app-lock:** Implement app lock state management with idle locking support.', + '**terminal-layout:** Restore terminal window layout state and add related settings for persistent workspaces.', + '**appearance:** Add terminal font weight options for normal and bold text rendering.', + '**app:** Add minimize-to-tray and hide-main-window behavior for background workflows.', + ], + }, + { + title: 'Changed', + items: [ + '**window-management:** Improve child-window state persistence and modal focus handling.', + '**themes:** Refresh terminal and app theme colors, including high-contrast variants.', + ], + }, + { + title: 'Fixed', + items: [ + '**saved-connections:** Improve pointer-event handling for connection interactions and drag behavior.', + '**terminal:** Improve terminal zoom handling across nested workspace roots.', + ], + }, + ], + }, + { + version: '[1.1.10] - 2026-06-25', + sections: [ + { + title: 'Added', + items: [ + '**ssh-auth:** Add a dedicated SSH authentication request dialog for interactive login flows.', + '**proxy:** Add ProxyCommand support to proxy configuration, including OpenSSH-style placeholders.', + '**transfer-dialog:** Add duplicate target handling options for uploads and downloads.', + '**terminal:** Improve terminal search with persistent query state, result navigation, and clearer feedback.', + '**cloud-sync:** Add more detailed cloud sync status updates and cleanup timeout handling.', + ], + }, + { + title: 'Changed', + items: [ + '**ai:** Streamline AI model client service-target configuration.', + '**cloud-sync:** Adjust cloud-sync history and log handling for clearer diagnostics.', + ], + }, + { + title: 'Fixed', + items: [ + '**terminal:** Improve search focus handling and selection clearing.', + '**settings:** Fix saved connection sort order on the new session page.', + ], + }, + { + title: 'Performance', + items: ['**serial:** Streamline serial session management and timeout handling.'], + }, + ], + }, + { + version: '[1.1.9] - 2026-06-21', + sections: [ + { + title: 'Added', + items: [ + '**terminal:** Add startup commands for duplicated and multiplexed sessions.', + '**terminal:** Add image path pasting behavior in terminal settings.', + '**terminal:** Add workspace padding settings for terminal layout spacing.', + '**interaction:** Add a macOS IME compatibility setting.', + '**telnet:** Add local line editing for Telnet sessions.', + '**terminal:** Enhance Windows Terminal support and shell selection.', + ], + }, + { + title: 'Changed', + items: [ + '**terminal:** Suppress command suggestions in interactive programs where inline suggestions are more likely to interfere.', + '**sync-backup:** Streamline sync backup history and cloud sync manager behavior.', + ], + }, + { + title: 'Fixed', + items: [ + '**tabbar:** Prevent pointer event propagation issues in tab interactions.', + '**terminal:** Improve reconnect content management and connection error handling.', + ], + }, + ], + }, + { + version: '[1.1.8] - 2026-06-21', + sections: [ + { + title: 'Added', + items: [ + '**terminal:** Add tab splitting with drag-and-drop docking support.', + '**ssh:** Add X11 forwarding support for SSH connections.', + '**russh-sftp:** Introduce a new SFTP subsystem with client and server support.', + '**file-explorer:** Add remote file editor flows and dedicated remote-file handling dialogs.', + '**sftp:** Add OpenSSH-compatible symlink support.', + '**file-transfer:** Show transfer speed in the transfer UI.', + '**cloud-sync:** Enhance cloud sync and GitHub Gist startup/error handling.', + '**saved-connections:** Add copy shortcuts and improve drag-and-drop behavior for selected connections.', + ], + }, + { + title: 'Fixed', + items: [ + '**scp:** Add compatibility checks for GNU `-printf` and `-c` support in remote commands.', + '**file-explorer:** Improve directory loading, download handling, and error feedback.', + ], + }, + { + title: 'Performance', + items: [ + '**russh-sftp:** Improve SFTP upload throughput and transfer tracking.', + '**sftp:** Use asynchronous downloads when file sizes are known.', + ], + }, + { + title: 'Documentation', + items: [ + '**ssh:** Document X11 forwarding in the SSH connection guide.', + '**cloud-sync:** Update cloud sync terminology and GitHub Gist authorization guidance.', + ], + }, + ], + }, + { + version: '[1.1.7] - 2026-06-15', + sections: [ + { + title: 'Added', + items: [ + '**panel:** Add multi-open panel behavior for opening multiple tools without losing context.', + '**terminal:** Add backend output pause/resume controls.', + '**session:** Add a session quick switcher dialog for faster navigation between active sessions and saved connections.', + '**icons:** Add server icons and improve saved connection icon resolution.', + '**network:** Add group management for proxies and tunnels.', + '**sync:** Add v3 snapshot decoding and payload hash calculation.', + ], + }, + { + title: 'Changed', + items: [ + '**file-explorer:** Define a shared `FileProperties` interface and clean up the Properties dialog.', + '**terminal:** Improve tab tooltips, tab management, and scrolling behavior.', + ], + }, + { + title: 'Fixed', + items: [ + '**command-history:** Correct suggestion application behavior.', + '**app:** Improve Windows folder opening when permission errors occur.', + '**file-explorer:** Fix opening the target directory after remote-file downloads.', + ], + }, + ], + }, { version: '[1.1.6] - 2026-06-12', sections: [ @@ -1285,6 +1469,186 @@ const changelogReleasesEn: ChangelogRelease[] = [ ]; const changelogReleasesZhCN: ChangelogRelease[] = [ + { + version: '[1.1.12] - 2026-06-30', + sections: [ + { + title: '新增', + items: ['**connections:** 增强跳板机配置,改进 ProxyJump 风格链路的展示与校验。'], + }, + { + title: '修复', + items: ['**connections:** 阻止跳板机关系形成环路,避免已保存连接递归引用。'], + }, + { + title: '文档', + items: ['**i18n:** 为更新后的跳板机工作流补充本地化字符串。'], + }, + ], + }, + { + version: '[1.1.11] - 2026-06-30', + sections: [ + { + title: '新增', + items: [ + '**header:** 新增命令面板入口,便于快速查找应用动作和会话工作流。', + '**ai:** 为 Agent 交互引入命令执行与最终回答工具,同时保留审批门槛。', + '**app-lock:** 实现应用锁定状态管理,并支持空闲自动锁定。', + '**terminal-layout:** 恢复终端窗口布局状态,并加入持久工作区相关设置。', + '**appearance:** 新增终端普通文本与粗体文本的字重选项。', + '**app:** 新增最小化到托盘和隐藏主窗口行为,适合后台驻留工作流。', + ], + }, + { + title: '变更', + items: [ + '**window-management:** 改进子窗口状态持久化和模态焦点处理。', + '**themes:** 刷新终端与应用主题颜色,包括高对比度变体。', + ], + }, + { + title: '修复', + items: [ + '**saved-connections:** 改进连接交互和拖拽行为中的 pointer event 处理。', + '**terminal:** 改进嵌套工作区根节点中的终端缩放处理。', + ], + }, + ], + }, + { + version: '[1.1.10] - 2026-06-25', + sections: [ + { + title: '新增', + items: [ + '**ssh-auth:** 新增专用 SSH 认证请求对话框,用于交互式登录流程。', + '**proxy:** 在代理配置中新增 ProxyCommand 支持,并兼容 OpenSSH 风格占位符。', + '**transfer-dialog:** 为上传和下载新增重复目标处理选项。', + '**terminal:** 改进终端搜索,支持持久查询状态、结果跳转和更清晰反馈。', + '**cloud-sync:** 新增更详细的云同步状态更新和清理超时处理。', + ], + }, + { + title: '变更', + items: [ + '**ai:** 精简 AI 模型客户端的服务目标配置。', + '**cloud-sync:** 调整云同步历史和日志处理,便于诊断。', + ], + }, + { + title: '修复', + items: [ + '**terminal:** 改进搜索焦点处理和选区清理。', + '**settings:** 修复新建会话页面中的已保存连接排序。', + ], + }, + { + title: '性能', + items: ['**serial:** 精简串口会话管理并改进超时处理。'], + }, + ], + }, + { + version: '[1.1.9] - 2026-06-21', + sections: [ + { + title: '新增', + items: [ + '**terminal:** 为复制会话和多路复用会话新增启动命令。', + '**terminal:** 在终端设置中新增图片路径粘贴行为。', + '**terminal:** 新增工作区 padding 设置,用于调整终端布局间距。', + '**interaction:** 新增 macOS IME 兼容性设置。', + '**telnet:** 为 Telnet 会话新增本地行编辑。', + '**terminal:** 增强 Windows Terminal 支持和 shell 选择。', + ], + }, + { + title: '变更', + items: [ + '**terminal:** 在交互式程序中抑制命令建议,避免内联建议干扰输入。', + '**sync-backup:** 精简同步备份历史和云同步管理器行为。', + ], + }, + { + title: '修复', + items: [ + '**tabbar:** 阻止标签交互中的 pointer event 传播问题。', + '**terminal:** 改进重连内容管理和连接错误处理。', + ], + }, + ], + }, + { + version: '[1.1.8] - 2026-06-21', + sections: [ + { + title: '新增', + items: [ + '**terminal:** 新增标签页分屏和拖拽停靠支持。', + '**ssh:** 为 SSH 连接新增 X11 转发支持。', + '**russh-sftp:** 引入新的 SFTP 子系统,提供客户端和服务端支持。', + '**file-explorer:** 新增远程文件编辑流程和专用远程文件处理对话框。', + '**sftp:** 新增 OpenSSH 兼容的符号链接支持。', + '**file-transfer:** 在传输界面显示传输速度。', + '**cloud-sync:** 增强云同步和 GitHub Gist 的启动检查与错误处理。', + '**saved-connections:** 新增连接复制快捷键,并改进已选连接的拖拽行为。', + ], + }, + { + title: '修复', + items: [ + '**scp:** 为远端命令增加 GNU `-printf` 和 `-c` 支持检查。', + '**file-explorer:** 改进目录加载、下载处理和错误反馈。', + ], + }, + { + title: '性能', + items: [ + '**russh-sftp:** 提升 SFTP 上传吞吐和传输跟踪。', + '**sftp:** 对已知大小的文件使用异步下载。', + ], + }, + { + title: '文档', + items: [ + '**ssh:** 在 SSH 连接指南中记录 X11 转发。', + '**cloud-sync:** 更新云同步术语和 GitHub Gist 授权说明。', + ], + }, + ], + }, + { + version: '[1.1.7] - 2026-06-15', + sections: [ + { + title: '新增', + items: [ + '**panel:** 新增多面板打开行为,可在不丢失上下文的情况下打开多个工具。', + '**terminal:** 新增后端输出暂停/恢复控制。', + '**session:** 新增会话快速切换器对话框,便于在活动会话和已保存连接间快速导航。', + '**icons:** 新增服务器图标并改进已保存连接的图标解析。', + '**network:** 为代理和隧道新增分组管理。', + '**sync:** 新增 v3 快照解码和 payload hash 计算。', + ], + }, + { + title: '变更', + items: [ + '**file-explorer:** 定义共享 `FileProperties` 接口并清理属性对话框。', + '**terminal:** 改进标签提示、标签管理和滚动行为。', + ], + }, + { + title: '修复', + items: [ + '**command-history:** 修正命令建议应用行为。', + '**app:** 改进 Windows 上权限错误时的文件夹打开逻辑。', + '**file-explorer:** 修复远程文件下载后打开目标目录失败的问题。', + ], + }, + ], + }, { version: '[1.1.6] - 2026-06-12', sections: [