When it comes to programming LLM tools, I've seen modes of interaction in the form of code completion, patch application, improvement suggestions, and...| xenodium.com
These days, my LLM interactions primarily take place via chatgpt-shell's compose UX. I've grown fond of this hybrid style of interaction. On sharing the latest incarnation, jllw asked about the possibility to port to comint shells. With jllw's great idea in mind, I set out to prototype an eshell pager, my preferred shell. The initial results ain't too shabby: While you can easily flip through all eshell commands and outputs (via single-character n/p bindings), you can also compose and fire of...| xenodium.com @alvaro
Over the last few months, I've been chipping at implementing chatgpt-shell's most requested and biggest feature: multi-model support. Today, I get to unveil the first two implementations: Anthropic's Claude and Google's Gemini. Changing course In the past, I envisioned a different path for multi-model support. By isolating shell logic into a new package (shell-maker), folks could use it as a building block to create new shells (adding support for their favourite LLM). While each shell-maker-b...| xenodium.com @alvaro
It's been roughly 9 months since I experimented with wiring the ChatGPT API to an Emacs comint buffer in chatgpt-shell. ChatGPT's request-response nature maps fairly well to a shell's mode of interaction. In the past, I've also talked about blurring the lines between shell and editor. That is, using Emacs as your shell (eshell being my favourite) enables compounding goodies from both shell and editor when both are used from the same app. Keeping interactions within the same app also cuts down...| xenodium.com @alvaro