инструмент организатора команд для хранения всех ваших драгоценных команд ??
Органайзер команд позволяет сохранять команды, которые вы часто используете, но которые слишком сложны или длинные, чтобы их можно было запомнить. Для каждой сохраненной команды сохраняется hoard
.
#
) Если вы заблудились в своей огромной истории команд и не можете найти, например, конкретную команду docker
из тысяч команд docker
, которые вы уже запускали, просто сохраните ее. Имея имя и описание, его будет гораздо легче найти снова. Когда вы снова будете искать эту команду месяц спустя, взгляните на свои сохраненные команды.
hoard
не должен заменять средство поиска истории оболочки, такое как fzf
atuin
или подобные утилиты. Скорее, его следует использовать вместе с ними.
Теперь с интеграцией ChatGPT?
Лучше всего использовать Rustup для настройки с помощью набора инструментов Rust, после чего вы можете запустить:
cargo install hoard-rs
Или создайте его самостоятельно:
cargo build --release
Найдите двоичные файлы в ./target/release/hoard
Переместите их туда, где они вам нужны (например, /usr/local/bin/hoard
). Или запустите.
cargo install --path .
Протестировано на:
Установите hoard
, запустив
./install.sh
Если вы используете fish
ракушку
LATEST_RELEASE=1.4.2 ./install.fish
paru -S hoard
brew tap Hyde46/hoard
brew install hoard
sudo port install hoard-cli
Дополнительная информация здесь
Лучше всего установить из исходников, удачи
Установите hoard
как плагин, чтобы включить автозаполнение. В зависимости от вашей оболочки выполните одну из следующих команд. Чтобы сохранить его установленным для следующего сеанса оболочки, добавьте source
команду с абсолютным путем к вашему .bashrc
или скопируйте и вставьте содержимое плагинов в ваш .bashrc
.
source src/shell/hoard.bash
source src/shell/hoard.zsh
source src/shell/hoard.fish
Пакет hoard находится в репозитории пакетов nixpkgs.
Либо установите его с помощью nix-env -iA hoard
, либо временно получите его с помощью nix-shell -p hoard
, либо добавьте в свою конфигурацию.
hoard new
Если при сохранении команды параметр неизвестен, поставьте #
(или свой собственный токен из ~/.config/hoard/config.yml
). Вы также можете назвать свои параметры следующим образом:
echo "My name is #first and I live at #city. Did I tell you my name, #first?"
Ставя #first
вам нужно делать это только один раз для каждого появления в команде. Имя параметра определяется как все, за которым следует токен, пока не будет найден первый символ пробела. Альтернативно вы можете определить, где заканчивается именованный параметр, поставив !
(Или ваш индивидуальный токен из вашего ~/.config/hoard.config.yml
)
echo "My name is #first named parameter! and I live at #city. Did I tell you my name, #first?"
<Ctrl-h>
Или, альтернативно, если он не установлен в виде плагина, интерактивный поиск все равно можно выполнять, но без автозаполнения. Предполагается, что пользователь скопирует команду мышью из пользовательского интерфейса.
hoard list
При запуске hoard list
в качестве плагина оболочки и выборе параметризованной команды hoard
запросит ввод всех недостающих параметров перед отправкой полной команды на вход вашей оболочки.
Если в локальном каталоге присутствует файл trove.yml
, hoard
загрузит только этот файл, а не отобразит ваш «глобальный» файл! (Отредактируйте ~/.config/hoard/config.yml read_from_current_directory
, чтобы отключить)
При запуске hoard list
или с помощью ярлыка сокровищ нажмите Ctrl-a
чтобы получить запрос на подсказку. Опишите, что должна делать ваша команда, и ChatGPT создаст и сохранит новую команду на основе вашего запроса.
Если у вас еще нет учетной записи OpenAI для создания ключа API, перейдите на эту страницу. (Учитывая небольшое количество потребляемых токенов, это очень дешево. ~ 0,01$ за 30 сгенерированных команд)
Вам либо нужно установить переменную env
export OPENAI_API_KEY=abcabcabc
Или для постоянного решения установите gpt_api_key
в вашем ~/.config/hoard/config.yml
ChatGPT не всегда отвечает в одном и том же формате. Иногда полученная команда будет добавлена в описание. Используйте режим редактирования <TAB>/<Ctrl-E>
, чтобы отредактировать сохраненную команду до ее правильной формы.
Вы можете синхронизировать свои команды на нескольких терминалах, используя hoard sync
Сначала зарегистрируйте новую учетную запись
hoard sync register
Затем войдите в свою новую учетную запись
hoard sync login
Сохраняйте локальные команды онлайн
hoard sync save
Войдите в систему с той же учетной записью на другом компьютере/терминале и затем запустите.
hoard sync get
Это объединит ваш локальный файл Trove с облачным. Вам будет предложено, как обрабатывать конфликты, если они есть. Однако, если вы недовольны тем, как произошло слияние, у вас есть возможность отменить последнюю команду hoard sync get
.
hoard sync revert
Если вы хотите разместить собственный сервер синхронизации, проверьте его репозиторий. Затем обновите файл конфигурации, чтобы он указывал на новое расположение сервера ~/.config/hoard/config.yml
hoard remove <name>
hoard remove_namespace <namespace_name>
hoard edit <name>
Показывает расположение файла конфигурации и файла сокровищ.
hoard info
Изменить токен параметра файла конфигурации
hoard set_parameter_token <parameter_token>
trove.yml
или URL-адреса, указывающие на файл trove.yml. hoard import /path/to/trove.yml
или
hoard import https://troves.com/new_trove.yml
hoard export /path/to/exported/trove.yml
Показать список команд в графическом интерфейсе
<F1>
Следующий элемент в списке команд
<Ctrl-N> / <Down-Arrow>
Предыдущий элемент в списке команд
<Ctrl-P> / <Ctrl-Y> / <Up-Arrow>
Следующая вкладка пространства имен
<Ctrl-L> / <Right-Arrow>
Предыдущая вкладка пространства имен
<Ctrl-H> / <Left-Arrow>
Выберите команду
<Enter>
Покидать
<Esc> / <Ctrl-D> / <Ctrl-C> / <Ctrl-G>