docs: update README, CHANGELOG, CLAUDE.md with new ssh.py features

This commit is contained in:
chrome-storm-c442
2026-02-24 07:19:02 -05:00
parent e75afddb99
commit e7634bf397
3 changed files with 48 additions and 9 deletions

View File

@@ -1,6 +1,22 @@
# Changelog # Changelog
## [1.8.24] - 2026-02-24
### Added
- **ssh.py --info ALIAS** — safe server information (no credentials like IP/login/password)
- **ssh.py --set-note ALIAS "desc"** — update server notes from command line
- **ssh.py --list** now shows Notes column
- **Fuzzy alias search** — keyword search (e.g. "tor" finds "API TOR contabo..."), word-boundary priority
- **--no-sudo** flag documented in skill template
- **SFTP upload/download** — fix for Windows/Git Bash: remote path normalization with double slash //
- **Security improvements** — --add no longer shows user@ip:port, --list-full has WARNING, --info doesn't show credentials
- **Global ~/.claude/CLAUDE.md** — Claude Code guidelines for all projects
- **Memory Bank algorithm** — auto-sync data from live sources
## [1.6.2] - 2026-02-23

View File

@@ -25,8 +25,10 @@ Claude Code → /ssh investor "uptime" → ssh.py → servers.json (encryp
**ЗАПРЕЩЕНО:** **ЗАПРЕЩЕНО:**
- Читать файлы в `~/.server-connections/` напрямую - Читать файлы в `~/.server-connections/` напрямую
- Использовать `ssh.py --list-full` (выводит IP/логины) - Использовать `ssh.py --list-full` (выводит IP/логины) — имеет WARNING
- Добавлять IP/логины/пароли в memory bank, контекст, логи - Добавлять IP/логины/пароли в memory bank, контекст, логи
- Использовать `ssh.py --add` — не показывает user@ip:port, но всё равно безопасность важна
- Для получения информации о сервере использовать `ssh.py --info ALIAS` — безопасно, без credentials
## Команды разработки ## Команды разработки
@@ -50,13 +52,17 @@ pip install -r requirements.txt
## Как пользоваться /ssh ## Как пользоваться /ssh
```bash ```bash
/ssh investor "uptime" # Выполнить команду /ssh investor "uptime" # Выполнить команду
/ssh main-ovh "systemctl status nginx" # Команда на другом сервере /ssh main-ovh "systemctl status nginx" # Команда на другом сервере
/ssh --list # Список серверов (без паролей) /ssh --list # Список серверов (без паролей) + колонка Notes
/ssh --status # Статус всех серверов /ssh --status # Статус всех серверов
/ssh investor --upload /local/file /remote/ # Загрузить файл /ssh investor --upload /local/file /remote/ # Загрузить файл
/ssh investor --download /remote/file /local/ # Скачать файл /ssh investor --download /remote/file /local/ # Скачать файл
/ssh investor --ping # Проверить доступность /ssh investor --ping # Проверить доступность
/ssh investor --info # Безопасная информация о сервере (без creds)
/ssh investor --set-note "описание сервера" # Обновить заметки сервера
/ssh tor --info # Поиск по ключевому слову (fuzzy search)
/ssh investor --no-sudo "whoami" # Выполнить без sudo
``` ```
## Версионирование ## Версионирование
@@ -95,7 +101,8 @@ ServerManager/
│ ├── status_checker.py # Background monitoring (every 60s) │ ├── status_checker.py # Background monitoring (every 60s)
│ ├── totp.py # TOTP/2FA (pyotp) │ ├── totp.py # TOTP/2FA (pyotp)
│ ├── i18n.py # EN/RU/ZH translations, t(key) API │ ├── i18n.py # EN/RU/ZH translations, t(key) API
── logger.py # Rotating file logger ── logger.py # Rotating file logger
│ └── connection_factory.py # Connection factory for different protocols
├── gui/ # CustomTkinter UI ├── gui/ # CustomTkinter UI
│ ├── app.py # Main window: sidebar + tabview │ ├── app.py # Main window: sidebar + tabview
│ ├── sidebar.py # Server list + session indicators + search │ ├── sidebar.py # Server list + session indicators + search

View File

@@ -81,6 +81,14 @@ ServerManager GUI ←→ ~/.server-connections/servers.json ←→ ssh.py (C
- Both use the same `ssh.py` + `servers.json` - Both use the same `ssh.py` + `servers.json`
- Passwords **never** pass through the AI API - Passwords **never** pass through the AI API
**New SSH Commands:**
- `ssh.py --info ALIAS` — safe server information (no credentials)
- `ssh.py --set-note ALIAS "desc"` — update server notes
- `ssh.py --list` now shows Notes column
- Fuzzy alias search: search by keyword (e.g., "tor" finds "API TOR contabo..."), word-boundary priority
- SFTP path fix: remote path normalization for Windows/Git Bash with double slash //
- `--no-sudo` flag for commands that don't need elevation
**Setup on a new machine:** **Setup on a new machine:**
1. Install ServerManager (clone repo or download binary) 1. Install ServerManager (clone repo or download binary)
2. Open Setup tab → click "Install Everything" 2. Open Setup tab → click "Install Everything"
@@ -251,6 +259,14 @@ ServerManager GUI ←→ ~/.server-connections/servers.json ←→ ssh.py (C
- Оба используют один `ssh.py` + `servers.json` - Оба используют один `ssh.py` + `servers.json`
- Пароли **никогда** не проходят через API нейронки - Пароли **никогда** не проходят через API нейронки
**Новые SSH команды:**
- `ssh.py --info ALIAS` — безопасная информация о сервере (без учетных данных)
- `ssh.py --set-note ALIAS "desc"` — обновление заметок сервера
- `ssh.py --list` теперь показывает колонку Notes
- Нечеткий поиск по алиасу: поиск по ключевому слову (например, "tor" находит "API TOR contabo..."), приоритет границ слова
- Исправление пути SFTP: нормализация удаленного пути для Windows/Git Bash с двойным слешем //
- Флаг `--no-sudo` для команд, не требующих повышения привилегий
**Настройка на новой машине:** **Настройка на новой машине:**
1. Установить ServerManager (клонировать репо или скачать бинарник) 1. Установить ServerManager (клонировать репо или скачать бинарник)
2. Открыть вкладку Setup → нажать "Install Everything" 2. Открыть вкладку Setup → нажать "Install Everything"