init
This commit is contained in:
@@ -11,92 +11,93 @@ make install
|
||||
## Commands
|
||||
|
||||
```bash
|
||||
mycli --help
|
||||
mytoolkit --help
|
||||
|
||||
# PDF utilities
|
||||
mycli pdf compress *.pdf
|
||||
mycli pdf crop *.pdf
|
||||
mycli pdf to-tiff *.pdf
|
||||
mytoolkit pdf compress *.pdf
|
||||
mytoolkit pdf crop *.pdf
|
||||
mytoolkit pdf to-tiff *.pdf
|
||||
|
||||
# Image utilities
|
||||
mycli image eps-to-pdf *.eps
|
||||
mycli image jpg-to-pdf *.jpg -o output.pdf
|
||||
mycli image tiff-to-pdf *.tiff
|
||||
mycli image tiff-compress *.tiff
|
||||
mytoolkit image eps-to-pdf *.eps
|
||||
mytoolkit image jpg-to-pdf *.jpg -o output.pdf
|
||||
mytoolkit image tiff-to-pdf *.tiff
|
||||
mytoolkit image tiff-compress *.tiff
|
||||
|
||||
# LaTeX utilities
|
||||
mycli latex compile *.tex
|
||||
mycli latex count document.tex
|
||||
mytoolkit latex compile *.tex
|
||||
mytoolkit latex count document.tex
|
||||
|
||||
# Video utilities
|
||||
mycli video avi-to-mp4 *.avi
|
||||
mytoolkit video avi-to-mp4 *.avi
|
||||
|
||||
# BibTeX utilities
|
||||
mycli bib to-markdown *.bib
|
||||
mycli bib cv-update
|
||||
mytoolkit bib to-markdown *.bib
|
||||
mytoolkit bib cv-update
|
||||
|
||||
# Utilities
|
||||
mycli utils albany-cleanup
|
||||
mytoolkit utils albany-cleanup
|
||||
|
||||
# Environment & Navigation
|
||||
mycli env list # List configured paths
|
||||
mycli env goto research # Print path for cd
|
||||
mycli env cd apaam # Start shell in path
|
||||
mycli env status # Show environment status
|
||||
cd $(mycli env goto study) # Use in scripts
|
||||
mytoolkit env list # List configured paths
|
||||
mytoolkit env goto research # Print path for cd
|
||||
mytoolkit env cd apaam # Start shell in path
|
||||
mytoolkit env status # Show environment status
|
||||
cd $(mytoolkit env goto study) # Use in scripts
|
||||
|
||||
# SSH Connections
|
||||
mycli ssh list # List configured hosts
|
||||
mycli ssh connect tianhe # SSH to host
|
||||
mycli ssh connect starlight
|
||||
mycli ssh tunnel tianhe # Create port tunnel
|
||||
mycli ssh cmd tianhe "ls" # Run remote command
|
||||
mytoolkit ssh list # List configured hosts
|
||||
mytoolkit ssh connect tianhe # SSH to host
|
||||
mytoolkit ssh connect starlight
|
||||
mytoolkit ssh tunnel tianhe # Create port tunnel
|
||||
mytoolkit ssh cmd tianhe "ls" # Run remote command
|
||||
|
||||
# Git Proxy Management
|
||||
mycli git proxy # Show proxy status
|
||||
mycli git proxy fastgithub # Set proxy
|
||||
mycli git proxy pandafan
|
||||
mycli git proxy -u # Unset proxy
|
||||
mycli git proxy-list # List available proxies
|
||||
# Git Proxy Management
|
||||
mytoolkit git proxy status # Show proxy status
|
||||
mytoolkit git proxy set fastgithub # Set proxy
|
||||
mytoolkit git proxy set pandafan
|
||||
mytoolkit git proxy unset # Unset proxy
|
||||
mytoolkit git proxy list # List available proxies
|
||||
|
||||
# Self Management
|
||||
mycli self update # Update mycli
|
||||
mycli self uninstall # Uninstall mycli
|
||||
mycli self info # Show installation info
|
||||
mytoolkit self update # Update mytoolkit
|
||||
mytoolkit self uninstall # Uninstall mytoolkit
|
||||
mytoolkit self info # Show installation info
|
||||
|
||||
# Configuration (config.json) - 增删改查
|
||||
# 方式1: 交互式向导(推荐,无需记忆命令)
|
||||
mycli wizard # 启动交互式配置向导
|
||||
mytoolkit wizard # 启动交互式配置向导
|
||||
# 方式2: 命令行直接操作
|
||||
mycli config show # Show full config
|
||||
mycli config list # List top-level sections
|
||||
mycli config get paths # Get paths section
|
||||
mycli config get paths.apaam # Get specific path
|
||||
mycli config get api_keys.deepseek # Get API key
|
||||
mycli config set paths.new ~/Documents/new # Set simple value
|
||||
mycli config set api_keys.newkey abc123 # Set new API key
|
||||
mycli config set --json ssh_hosts.new '{"host":"user@host","port":22}'
|
||||
mycli config delete paths.old # Delete a key
|
||||
mycli config delete api_keys.old -y # Delete without confirmation
|
||||
mycli config paths # List all paths with existence check
|
||||
mycli config where # Show config file location
|
||||
mycli config edit # Edit config in $EDITOR
|
||||
mycli config init # Create config from template
|
||||
mytoolkit config show # Show full config
|
||||
mytoolkit config list # List top-level sections
|
||||
mytoolkit config get paths # Get paths section
|
||||
mytoolkit config get paths.apaam # Get specific path
|
||||
mytoolkit config get api_keys.deepseek # Get API key
|
||||
mytoolkit config set paths.new ~/Documents/new # Set simple value
|
||||
mytoolkit config set api_keys.newkey abc123 # Set new API key
|
||||
mytoolkit config set --json ssh_hosts.new '{"host":"user@host","port":22}'
|
||||
mytoolkit config delete paths.old # Delete a key
|
||||
mytoolkit config delete api_keys.old -y # Delete without confirmation
|
||||
mytoolkit config paths # List all paths with existence check
|
||||
mytoolkit config where # Show config file location
|
||||
mytoolkit config edit # Edit config in $EDITOR
|
||||
mytoolkit config init # Create config from template
|
||||
|
||||
# Environment Variables (API Keys)
|
||||
mycli env status # Show paths, API keys, Feishu status
|
||||
mycli env export # Print all export statements
|
||||
mycli env export deepseek # Export specific API key
|
||||
mycli env export qwen
|
||||
mycli env export feishu # Export all Feishu apps
|
||||
mycli env export claude # Export specific Feishu app
|
||||
eval "$(mycli env export)" # Load all in current shell
|
||||
mycli env init # Print shell init snippet
|
||||
mytoolkit env status # Show paths, API keys, Feishu status
|
||||
mytoolkit env export # Print all export statements
|
||||
mytoolkit env export deepseek # Export specific API key
|
||||
mytoolkit env export qwen
|
||||
mytoolkit env export feishu # Export all Feishu apps
|
||||
mytoolkit env export claude # Export specific Feishu app
|
||||
eval "$(mytoolkit env export)" # Load all in current shell
|
||||
mytoolkit env init # Print shell init snippet
|
||||
```
|
||||
|
||||
## Configuration
|
||||
|
||||
All settings are stored in `mycli/config.json`:
|
||||
All settings are stored in `mytoolkit/config.json`:
|
||||
- `paths`: Quick navigation paths
|
||||
- `ssh_hosts`: SSH connection settings
|
||||
- `git_proxies`: Git proxy URLs
|
||||
@@ -113,17 +114,17 @@ The repository includes `config.json.example` as a template.
|
||||
|
||||
1. Copy the example config:
|
||||
```bash
|
||||
cp mycli/config.json.example mycli/config.json
|
||||
cp mytoolkit/config.json.example mytoolkit/config.json
|
||||
```
|
||||
|
||||
2. Edit with your actual API keys:
|
||||
```bash
|
||||
mycli config edit
|
||||
mytoolkit config edit
|
||||
```
|
||||
|
||||
3. Add to your `~/.zshrc` to auto-load:
|
||||
```bash
|
||||
eval "$(mycli env export 2>/dev/null)"
|
||||
eval "$(mytoolkit env export 2>/dev/null)"
|
||||
```
|
||||
|
||||
## Uninstall
|
||||
|
||||
Reference in New Issue
Block a user