- noweb support (rksm#46)
- Bind canceling
org-ai-on-project--confirm-selection
toC-c C-k
instead ofC-c k
.
- Ensure that request errors are shown (fix #43)
- Use markers instead of positions when inserting streamed content
- For the global mode, use a prefix-map.
org-ai-global-prefix-map
, it is bound toC-c M-a
by default but can be easily bound to another key. - don't show
org-ai-global-mode
in the mode-line - no
show-trailing-whitespace
for org-ai-on-project - load
org-ai-talk
by default
org-ai-on-project
: Load by default.
- with consecutive
org-ai-kill-region-at-point
invocations, append kill in right order (#32)
org-ai-on-project
: Offers a new method for running prompts and modifying multiple files at once.
org-ai-on-region
(and related functions such asorg-ai-refactor
) do not quote user input with "> " anymore as this could be repeated in the output (see #30)org-ai-on-region
now outputs both prompt and answer into anorg-mode
buffer. This allows to easily edit the answer and re-run the prompt withC-c C-c
(see #29). You can customize the variableorg-ai-on-region-file
to specify a file to store the conversations in. E.g.(setq org-ai-on-region-file (expand-file-name "org-ai-on-region.org" org-directory))
. New prompts will be appended.
- Deactivating read-only mode when reusing the
*org-ai-on-region*
buffer. This blocked repeated on-region requests if the buffer was still open.
- Another attempt to fix unicode / multi-byte inputs. The string encoding we had before 0.2.3 was correct, but I missed that the entirety of the request body needs to be encoded as utf-8, including the headers need to be utf-8. In my case my openai auth token was not utf-8, and so i got a
Multibyte text in HTTP request
and wrongly assumed this is due to the content. This should be fixed now.
- Make 'org-ai-summarize' treat the region as text not as code (rksm#22)
- fix "Error on checkbox C-c C-c after org-ai loaded" (rksm#23)
- correctly encode UTF-8 strings when sending them to the API. This should fix non-ascii characters and multi-byte characters such as emojis in the input.
- start markdown codeblock AI responses on their own line (see rksm#17 (comment))
- add
"ai"
toorg-protecting-blocks
to fix the block syntax highlighting.
org-ai-switch-chat-model
- No max-tokens in ai snippet
- modified global shortcuts:
C-c M-a r
:org-ai-on-region
C-c M-a c
:org-ai-refactor-code
C-c M-a s
:org-ai-summarize
C-c M-a m
:org-ai-switch-chat-model
C-c M-a !
:org-ai-open-request-buffer
C-c M-a $
:org-ai-open-account-usage-page
C-c M-a t
:org-ai-talk-input-toggle
C-c M-a T
:org-ai-talk-output-toggle
- Make greader dependency optional
- In org-mode /
#+begin_ai..#+end_ai
blocks:C-c r
to record and transcribe speech via whisper.el in org blocks.
- Everywhere else:
- Enable speech input with
org-ai-talk-input-toggle
for other commands (see below).
- Enable speech input with
- Enable speech output with
org-ai-talk-output-enable
. Speech output uses os internal speech synth (macOS) orespeak
otherwise.
org-ai-prompt
: prompt the user for a text and then print the AI's response in current buffer.org-ai-on-region
: Ask a question about the selected text or tell the AI to do something with it.org-ai-summarize
: Summarize the selected text.org-ai-explain-code
: Explain the selected code.org-ai-refactor-code
: Tell the AI how to change the selected code, a diff buffer will appear with the changes.
- In org-mode /
#+begin_ai..#+end_ai
blocks:- Press
C-c <backspace>
(org-ai-kill-region-at-point
) to remove the chat part under point. org-ai-mark-region-at-point
will mark the region at point.org-ai-mark-last-region
will mark the last chat part.
- Press
org-ai-open-account-usage-page
show how much money you burned.org-ai-install-yasnippets
install snippets for#+begin_ai..#+end_ai
blocks.org-ai-open-request-buffer
for debugging, open the request buffer.
- Support for retrieving
org-ai-openai-api-token
fromauthinfo
file.
- org-ai yasnippets
- Correctly utf decode/encode input/output.
- Set mark before inserting output. This allows to quickly select the output with
C-x C-x
. - Fix parsing messages that contain a
:
.
- Add
org-ai-default-chat-system-prompt
,org-ai-default-inject-sys-prompt-for-all-messages
,:sys-everywhere
option and allow specifying custom per-block[SYS]:
system prompts. - Correctly assign system, user, assistant roles (see https://platform.openai.com/docs/guides/chat/introduction). Before I mixed up system/assistant roles.
#+begin_ai...#+end_ai
blocks that can be used for:
- chatgpt input / output
- "normal" text completion with older gpt models
- image genration (text -> image)
org-ai-image-variation
command to generate variations of an image.