-
Notifications
You must be signed in to change notification settings - Fork 162
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Manually edited :GPTEL_SYSTEM: gets overwritten upon save #441
Comments
Are you setting the
|
Ok, thanks. So how do I adjust the
to include adjustments for an org-mode buffer in specific project? Such as a project containing C code I want to have be refactored in a certain manner. |
Yes, I want to change it manually for every Org buffer so that I get a specific prompt for each buffer I'm currenly working in. Ideally I would like to be able to make the contextual-prompt-customization as fine-grained as possible even on the symbol-level. |
Set the system message for the Org buffer -- you can do it from the transient menu ( You can set it per buffer by toggling the "per-buffer" switch:
I don't know what it means to set a system message at the symbol level. But you can set a different system message per Org heading by calling The active system message is written as the |
Ok, thanks. Where is the global system message persistently saved to disk? I've pressed C-x C-s in the transient buffer but I don't get any changes under The only modification I get is the adding of the line (gptel-menu) to Currently, I instead get the system message written to |
It's saved in the Org file, along with other model parameters. If you would like to have a bunch of pre-written system messages available to quickly select, you should customize I think there's some miscommunication about what you're trying to do and what I understand you want, because there should be no reason to look in the transient values file for anything. |
Ok, thanks. I still strongly believe that manual editings of the |
I don't see how this can work -- if |
It should both work ways analogously with how M-x This is a relatively unique feature of Emacs and may come as a surprise to some users that I (and likely many others) find very useful. You can in this case think of Emacs as a digital assistant that automates the manual work of updating the code and settings that controls the behavior. |
gptel's request parameters aren't like the customize system, for an important reason. The values in the customize buffer are "dead" until they're saved, at which point they become active. gptel's parameters stored as Org properties are "live", always active. I think I didn't explain the problem well. When you save the chat buffer to disk, there are two sources of truth for the request parameters:
When these are in conflict, there is a problem. Either source 1 has to override source 2, in which case saving the file does nothing. Or 2 has to override 1, in which case editing the properties by hand will be overwritten. gptel does 2 because it's the more consistent and automatic approach -- this way you can set whatever properties you want from the menu or via elisp, and just save the file to persist them to disk. In the other case, the only way to store the request parameters to file would be to edit the properties manually. |
An edited value of the property
:GPTEL_SYSTEM:
in an org-mode buffer gets overwritten upon save.For instance if I modify
version 1
to
version 2
it gets reverted to version 1 which is not what I want. A mode should never overwrite a users setting by default.
The text was updated successfully, but these errors were encountered: