Back in April, I shared chatgpt-shell updates, showcasing chatgpt-shell features. It's been a little while, so here's an update with the latest additions.
Like this project? Consider ✨sponsoring✨.
You can run multiple shell instances independently configured to use different versions or system prompts.
This was biggest recent change. Please report issues.
The current shell's version and system prompt are now displayed more prominently in both the shell prompt and buffer name.
With multi-session support, displaying shell details in the buffer name becomes more important as it makes it easier to find shells across your buffer list.
While buffer names are now automatically derived, one can also use chatgpt-shell-rename-buffer
to use custom buffer names.
Use :temperature
to specify the temperature.
Use :context CONTEXT-NAME
to pick and choose which source blocks to aggregate as context. Thank you Thomas Moulia.
Use :preflight t
to debug ob-chatgpt-shell
execution.
Adds chatgpt-shell-write-git-commit
, so you can generate commit messages using the current region. Thank you Simon Judd.
chatgpt-shell
now uses chatgpt-shell--approximate-context-length
to approximate the context size and discard history if necessary. This is pretty experimental but seems to work well enough. It's enabled by default to get some feedback. Please file bugs if needed or send PRs to improve.
S-<return>
for multiline inputIn addition to C-J
to insert multi-line input, S-<return>
is also supported. Thank you shouya for the submission.
A welcome message now makes the help much more discoverable for new or sporadic users. Thank you shouya for the suggestion.
While the README documents the shells and Emacs is self-documenting, we now have a help
command to make things a little more discoverable.
Both chatgpt-shell
and dall-e-shell
are both based on shell-maker
and until recently both shared shell-maker-mode
as their major mode. This didn't play well with yasnippet. Both shells now enable independent major modes: chatgpt-shell-mode
and dall-e-shell-mode
. Thank you Daniel Liden for the proposal.
Make transcript saving more customizable via shell-maker-transcript-default-path
and shell-maker-transcript-default-filename
. Thank you gnusupport.
New OpenAI model versions were recently released and added to chatgpt-shell: gpt-3.5-turbo-0613
and gpt-4-0613
. Thanks you Norio Suzuki.
M-x chatgpt-shell-load-awesome-prompts
to download and import curated prompts from awesome-chatgpt-prompts. Thank you Daniel Gomez.
We had reports that ob-chatgpt-shell didn't play nice with ob-async. Thank you William Medrano for the solution.
Functions like chatgpt-shell-describe-code
ask ChatGPT to describe the code in region. These functions used hardcoded English prompts. These are now configurable, so users can tweak or translate if preferred. Thank you Norio Suzuki.
chatgpt-shell-prompt-header-describe-code
chatgpt-shell-prompt-header-refactor-code
chatgpt-shell-prompt-header-generate-unit-test
chatgpt-shell-prompt-header-proofread-region
chatgpt-shell-prompt-header-whats-wrong-with-last-command
chatgpt-shell-prompt-header-eshell-summarize-last-command-output