cli-anything-nslogger — скилл для Claude Code: обзор и установка
Скилл для работы с логами NSLogger прямо из терминала. Помогает разбирать дампы .rawnsloggerdata, фильтровать ошибки и слушать живой поток событий с iOS-устройств.
npx skills add HKUDS/CLI-Anything --skill cli-anything-nslogger -a claude-codeЧто делает cli-anything-nslogger
Скилл добавляет в рабочий процесс утилиту cli-anything-nslogger для анализа бинарных файлов .rawnsloggerdata и .nsloggerdata. Через команды read, filter и stats агент читает события с фильтрацией по уровням логирования от 0 до 4, тегам и регулярным выражениям. Для отчётов доступен экспорт в CSV, JSON или обычный текст.
Для отладки сетевых сбоев и падений на устройствах предусмотрена команда listen. В режиме Bonjour утилита регистрирует сервис _nslogger-ssl._tcp в локальной сети, повторяя поведение оригинального приложения NSLogger для macOS. Если устройство настроено на прямой адрес, можно включить TCP с TLS на заданном порту.
Работать вслепую не придётся: интерактивный режим repl и флаг --json выдают структурированные данные о потоках, времени и клиентах. Без установленного Python-пакета утилиты запустить обработку не получится, поэтому окружение нужно собрать заранее.
Какие задачи решает
- разобрать бинарные дампы .rawnsloggerdata после падения iOS-приложения
- отфильтровать ошибки и предупреждения по конкретному тегу или потоку
- перехватить поток логов с мобильного устройства через Bonjour по сети
- экспортировать события сессии в JSON или CSV для передачи коллегам
Примеры запросов агенту
- Найди все ошибки с уровнем 0 в файле crash.rawnsloggerdata и выведи их в JSON.
- Собери сводную статистику по сессии session.rawnsloggerdata через команду stats.
- Запусти cli-anything-nslogger listen с Bonjour под именем bazinga и сохраняй логи в app.log.
Как установить cli-anything-nslogger
1Через Skills CLI (Vercel)
npx skills add HKUDS/CLI-Anything --skill cli-anything-nslogger -a claude-code2Вручную: положить файлы
~/.claude/skills/cli-anything-nslogger/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/cli-anything-nslogger/
1Через Skills CLI (Vercel)
npx skills add HKUDS/CLI-Anything --skill cli-anything-nslogger -a codex2Вручную: положить файлы
.agents/skills/cli-anything-nslogger/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add HKUDS/CLI-Anything --skill cli-anything-nslogger -a cursor2Вручную: положить файлы
.cursor/skills/cli-anything-nslogger/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install HKUDS/CLI-Anything cli-anything-nslogger2Вручную: положить файлы
.github/skills/cli-anything-nslogger/SKILL.md1Через Skills CLI (Vercel)
npx skills add HKUDS/CLI-Anything --skill cli-anything-nslogger -a gemini-cli2Командой платформы
gemini skills install https://github.com/HKUDS/CLI-Anything --path skills/cli-anything-nsloggerВручную: положить файлы
.devin/skills/cli-anything-nslogger/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add HKUDS/CLI-Anything --skill cli-anything-nslogger -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о cli-anything-nslogger
Как установить cli-anything-nslogger в Claude Code?
Выполните в терминале команду npx skills add HKUDS/CLI-Anything --skill cli-anything-nslogger -a claude-code. Для работы команд также потребуется локальный бинарник cli-anything-nslogger.
Что делает скилл cli-anything-nslogger?
Он даёт агенту набор команд для чтения, фильтрации и мониторинга логов NSLogger на macOS и iOS. Вы можете анализировать сохранённые файлы сессий или слушать трафик устройства в реальном времени.
В чём разница между режимами Bonjour и direct TCP?
Режим Bonjour повторяет поведение графического клиента NSLogger: Mac публикует сервис _nslogger-ssl._tcp, и iOS-приложение находит его автоматически. Прямой TCP нужен, если в коде клиента жёстко прописаны IP-адрес и порт.
Исходный текст
SKILL.md · Apache-2.0
---
name: "cli-anything-nslogger"
description: CLI harness for NSLogger — parse, filter, export, and monitor NSLogger log files (.rawnsloggerdata / .nsloggerdata)
version: 0.1.0
install: pip install git+https://github.com/HKUDS/CLI-Anything.git#subdirectory=nslogger/agent-harness
binary: cli-anything-nslogger
tags: [logging, ios, macos, debugging, nslogger]
---
# cli-anything-nslogger
A complete CLI harness for [NSLogger](https://github.com/fpillet/NSLogger), the macOS log viewer for iOS/macOS apps.
## Installation
```bash
cd nslogger/agent-harness
pip install -e .
# Verify
cli-anything-nslogger --help
```
## Command Reference
### `generate` — Create sample files for testing
```bash
cli-anything-nslogger generate sample.rawnsloggerdata --count 50
```
### `read` — Display messages from a file
```bash
# All messages
cli-anything-nslogger read session.rawnsloggerdata
# Errors only (level 0)
cli-anything-nslogger read session.rawnsloggerdata --level 0
# Filter by tag and text search
cli-anything-nslogger read session.rawnsloggerdata --tag Network --search "timeout"
# First 20 messages as JSON
cli-anything-nslogger read session.rawnsloggerdata --limit 20 --json
```
### `filter` — Advanced filtering
```bash
# Errors and warnings only
cli-anything-nslogger filter session.rawnsloggerdata --level 1
# By tag
cli-anything-nslogger filter session.rawnsloggerdata --tag Auth --tag Network
# Regex search
cli-anything-nslogger filter session.rawnsloggerdata --regex "(timeout|failed|error)"
# By thread
cli-anything-nslogger filter session.rawnsloggerdata --thread "main"
# JSON output
cli-anything-nslogger filter session.rawnsloggerdata --level 0 --json
```
### `export` — Export to text/JSON/CSV
```bash
# JSON to stdout
cli-anything-nslogger export session.rawnsloggerdata --format json
# CSV to file
cli-anything-nslogger export session.rawnsloggerdata --format csv --output logs.csv
# Filtered text export
cli-anything-nslogger export session.rawnsloggerdata --format text --level 1 --tag Network
```
### `stats` — Summary statistics
```bash
# Human-readable summary
cli-anything-nslogger stats session.rawnsloggerdata
# JSON for agent consumption
cli-anything-nslogger stats session.rawnsloggerdata --json
```
JSON output shape:
```json
{
"total": 342,
"by_level": {"ERROR": 12, "WARNING": 34, "INFO": 200, "DEBUG": 96},
"by_tag": {"Network": 89, "Auth": 45, "UI": 120},
"by_thread": {"main": 200, "bg-queue": 142},
"by_type": {"text": 340, "client_info": 1, "disconnect": 1},
"clients": ["MyApp"],
"first_timestamp": "2024-01-01T10:00:00+00:00",
"last_timestamp": "2024-01-01T10:05:30+00:00",
"duration_seconds": 330.0
}
```
### `listen` — Receive live connections
```bash
# Match the NSLogger.app GUI Bonjour behavior for iOS auto-discovery
cli-anything-nslogger listen --bonjour --name bazinga --debug
# Mirror live logs to a text file while still printing stdout
cli-anything-nslogger listen --bonjour --name bazinga --output app.log
# Write machine-readable JSON Lines
cli-anything-nslogger listen --bonjour --name bazinga --output app.jsonl --output-format jsonl
# Direct TCP/TLS mode for manually configured clients
cli-anything-nslogger listen --port 50000 --ssl --debug
# Show only errors while listening, output as JSON stream
cli-anything-nslogger listen --bonjour --name bazinga --level 0 --json
# Run until Ctrl-C
cli-anything-nslogger listen --bonjour --name bazinga
```
Use Bonjour mode first for iOS apps because it matches the desktop NSLogger GUI:
the CLI publishes a native macOS `NetService` with `_nslogger-ssl._tcp` and
accepts TLS NSLogger frames. Use direct TCP/TLS only when the app is manually
configured with the Mac host and port.
### `repl` — Interactive Command REPL
```bash
cli-anything-nslogger repl session.rawnsloggerdata
# Or launch it by running cli-anything-nslogger with no subcommand.
```
## Log Levels
| Value | Name | Use for |
|-------|---------|---------|
| 0 | ERROR | Unrecoverable failures |
| 1 | WARNING | Recoverable issues |
| 2 | INFO | Normal operation |
| 3 | DEBUG | Developer details |
| 4 | VERBOSE | Trace-level noise |
## Message JSON Shape
```json
{
"sequence": 42,
"timestamp": "2024-01-01T10:01:23+00:00",
"timestamp_ms": 456,
"thread_id": "main",
"tag": "Network",
"level": 0,
"level_name": "ERROR",
"type": "text",
"text": "Connection timed out after 30s",
"image_width": 0,
"image_height": 0,
"client_name": "MyApp",
"client_version": "2.1.0",
"os_name": "iOS",
"os_version": "17.0",
"machine": "iPhone15,2"
}
```
## Agent Workflow Examples
```bash
# 1. Inspect a captured crash session
cli-anything-nslogger stats crash.rawnsloggerdata --json
# 2. Find all errors in the 5 minutes before crash
cli-anything-nslogger filter crash.rawnsloggerdata --level 0 --json
# 3. Get network failures only
cli-anything-nslogger filter crash.rawnsloggerdata --tag Network --regex "fail|timeout|error" --json
# 4. Export full log for offline analysis
cli-anything-nslogger export crash.rawnsloggerdata --format json --output crash_log.json
# 5. Monitor an iOS app live and keep a local copy
cli-anything-nslogger listen --bonjour --name bazinga --output app.log --debug
```
© HKUDS · Apache-2.0 · HKUDS/CLI-Anything