Cross-platform Python CLI (3.8+) for lynse.ai backend services. Works natively on Windows / macOS / Linux.
Invoke via the Python entrypoint: , where is the Python 3
interpreter available in the current environment.
Choosing the interpreter — no single name works everywhere, so pick by environment:
| Environment | Use | Why |
|---|---|---|
| ------------- | ----- | ----- |
| macOS / Linux | python3 | Modern systems (Homebrew Python, recent Ubuntu/Debian) only ship python3; python is often absent. lynse.py's shebang is #!/usr/bin/env python3. |
| Windows (CMD / PowerShell) | python (or py -3) | Windows installs expose python, not python3. The py launcher also works. |
| If unsure | python3 lynse.py version first; fall back to python lynse.py version | The command that prints a version string is the one to use. |
python3 lynse.py me # current user info (macOS/Linux)
python3 lynse.py meetings list # recent meetings
For brevity, the command examples below use python3 as the default — substitute python
(or py -3) on Windows.
lynse_unified.sh, api_wrapper.sh) — they don't run on Windows.lynse wrapper is for end-user shell usage.python3 lynse.py me # Current user info
python3 lynse.py meetings list [--days 7] # Recent meetings (past N days)
python3 lynse.py meetings month <YYYY-MM> # Meetings in a specific month
python3 lynse.py meetings week <YYYY-Wnn> # Meetings in a specific ISO week
python3 lynse.py meetings range <start> <end> # Meetings in a date range (YYYY-MM-DD)
python3 lynse.py meetings search <keyword> # Search by title
python3 lynse.py meetings transcript <id> # Get transcription
python3 lynse.py meetings summary <id> # Get AI summary
python3 lynse.py meetings outline <id> # Get outline
python3 lynse.py meetings info <id> # Meeting details
python3 lynse.py meetings organize [--days N] [--execute] [--yes] # Auto-classify meetings into folders (dry-run by default; --execute applies)
python3 lynse.py folders list # List folders/groups
python3 lynse.py folders create <json> # Create folder
python3 lynse.py folders move <json> # Move files to folder
python3 lynse.py todos list [all|open|done] # List todos
python3 lynse.py todos delete <ids> # Delete todos
python3 lynse.py todos clear # Clear completed todos
python3 lynse.py devices list # List bound devices
python3 lynse.py devices info <id> # Device details
python3 lynse.py devices unbind <id> # Unbind device
python3 lynse.py models list # List AI models
python3 lynse.py models add <json> # Add model
python3 lynse.py models delete <id> # Delete model
python3 lynse.py models edit <json> # Edit model
python3 lynse.py models enable <id> <bool> # Enable/disable model
Date query flexibility (meetings month/week):
python3 lynse.py meetings month 2026-04 # All April 2026 meetings
python3 lynse.py meetings month 4 # April of current year
python3 lynse.py meetings week 2026-W16 # ISO week 16 of 2026
python3 lynse.py meetings range 2026-04-01 2026-04-30 # Custom date range
Auto-organize meetings into folders (meetings organize):
python3 lynse.py meetings organize # Dry-run: print a folder plan, change nothing
python3 lynse.py meetings organize --days 90 # Plan only for the last 90 days
python3 lynse.py meetings organize --execute --yes # Apply: create folders + move meetings (non-interactive)
Classifies meetings (with a summary) into topic folders by title, reusing existing folders where they match and creating new ones (icon + ≤6-char name) otherwise; caps at 10 folders + 🗂其他. Default is a safe dry-run. --execute applies changes; in a non-interactive/agent context it requires --yes (it refuses otherwise). Meetings without a summary are listed but not moved unless --include-no-conclusion is given.
First-time setup: no key is hardcoded — each user inputs their own, saved locally to ~/.lynse/config.json.
python3 lynse.py auth login # Interactive prompt for your API key (recommended)
python3 lynse.py auth login --api-key <key> [--host <url>] # Or pass the key explicitly
python3 lynse.py auth status # Show auth config
python3 lynse.py auth logout [--all] # Clear tokens (--all also clears API key)
python3 lynse.py auth doctor # Diagnose auth issues
python3 lynse.py version # Version, Python, OS, requests info
python3 lynse.py doctor # Full environment diagnostics
python3 lynse.py update # Show update instructions
--json Compact JSON (default when piped)
--pretty Pretty-printed JSON (default in terminal)
--text Human-readable text summary
--table ASCII table for list results
--output <file> Save output to file
Combine: python3 lynse.py meetings list --table --output meetings.txt
When presenting meeting query results, format as a table using these JSON fields:
| Column | JSON Field | Format |
|---|---|---|
| ---------- | ------------------------------------- | ------------------------- |
| # | (row index) | Sequential, from 1 |
| Date | recordStartTime or createTime | YYYY-MM-DD HH:MM |
| Duration | bizDuration | Convert seconds → mm:ss |
| Folder | folderName | As-is, empty if null |
| Title | originalFilename | As-is, fallback to filename |
Sort by recordStartTime ascending. Append summary line: Total: N meetings, HH:MM.
| Code | Meaning | Typical Cause |
|---|---|---|
| ------ | ------------------- | ------------------------------ |
| 0 | Success | Normal completion |
| 1 | Invalid / Unknown | Bad args, JSON parse error |
| 2 | Auth failure | Token expired, invalid API key |
| 3 | Network error | DNS, connection refused |
| 4 | Timeout | Request timed out |
| 5 | Permission denied | HTTP 403 |
| 6 | Server error | HTTP 5xx, business error |
$LYNSE_API_HOST. Never hardcode or guess the server address.共 4 个版本