The latest version of gptel has some cool features and refinements! See Version v0.9.8 Latest.
Watching gptel
get developed is a MASTER CLASS in software development! Observe the constant consideration and addition of user facing features, refinement the existing code, adding new code and concepts (request FSM for example). It is the work of true masters.
If you love programming elisp
it is yet another perfect example of writing re-world supportable and maintainable and flexible code. Might sound trifing but here are some elisp
features that are extremely useful in real-world programming so check them out if you haven’t before:
cl-assert
cl-loop
cl-typep
condition-case
condition-case-unless-debug
if-let*
letrec
pcase-let
plist-put
quasiquote
structs
when-let
Here are the commits I found cool with a reason why.
- (#499) README: add prefix string docs for gptel-org-branching-context
- Adds critical tip for using
org-branching-context
97218f8247a3772114d2e47f2ca59ec0e905a96a
- Adds critical tip for using
- (#506) gptel-rewrite: Simplify messaging, add iterate option
- Grows the Rewrite (functionality) UI
6df69e5c6500086cb55deb564c563c9342b98e83
- gptel: WIP Add a template option to `gptel-menu’
- “Templates provides easy access to one-shot, predefined tasks. A template is a combination of a system message (when applicable) and a pre-written conversation that is filled in using user input.”
b58b4e3de3e3ba329d64e8b41bf4b9274596e5ed
- gptel: dry runs can be edited and continued
0f4136e93b10d474eb832c85c29b68d553c0a3b2
- gptel: Add finite state machine
- Refactor request handling into a FSM—Cool to learn from!
091065941fcba00782d264a63d06a5ed7113bfeb
- (#438) gptel: Support adding directories to context
9abff7f77c72947d27483df519fcad1c320ff724
- gptel: Add gptel-post-request-hook
- “Hook run after sending a gptel request”
47e15bad161e69efbadb84521965aa197ac0b7cd
- gptel-transient: Add “oneshot” scope to set vars
676503e88e7d26e862a74a6f3c9c3895b7870e1f
- gptel: Initialize gptel–system-message more robustly
- Notable commit to help understand building user-focused supportable software
5eb88bdae1752f5b527ddb7c50a684aa4114e2c4
- gptel: Support gptel-mode in text-derived modes (#454)
- Now you can use gptel virtually everywhere (descendeds of text-mode)
4c553e41bb26c34bb13c0172833ab84737336099
- gptel-org: Handle LLMs mixing up Markdown/Org src blocks
- Continued conversion work: harder problem then one would guess
- gptel-org: Handle LLMs mixing up Markdown/Org src blocks
5115d441e7426287836d0e9bd39b02f69e63eb11
- gptel: Change JSON parsing semantics
- How to handle data brokering
07ab8a5d8339e5f1874d4ddce18656aeb06175ca
- gptel: Add tool call parsing (only) to most backends
- Process begins of adding tool support!
eb96d04544b54bc5286ae809002159937ce7d89d
- gptel: Add a diagnostic display for latest request
- If you are curious about starting to look at how the FSM works
e18e4bf897fd174d41a9140338f2efff55232efe
- gptel: Bump transient required version to 0.7.4
df015a47d43fd0d913cd6b035d04c323afea4414
- gptel-openai-extras: Add gptel-perplexity backend (#581)
- Unfamiliar with PrivateGPT and Perplexity
de0dedbe31703e2235278868821a3cc364061f74
- (#564)gptel-rewrite: Add post-rewrite hook
- “Abnormal hook run after a `gptel-rewrite’ action”
ff2bc1b8e94269f4a590ba34f4096e1fe58d0e93
- (#599) gptel: Make response separator customizable
- Nice UX setting
5f616d123ac4686803ab28e88b5ce28cfa6bf38b
- (#606) gptel: Make gptel-model definition dynamic
- Another example of how to write supportable flexible software
e235f1da8cc5cd9c2db1947c64ec4fb138575de6
- (#615) gptel-transient: Improve parsing of crowdsourced prompts CSV file
- Crowdsource prompt refinements. Feature helpful with one-shots!
d57eb9896eb1d1f9dc19a420c3e88498f2898780
- (#642) gptel-transient: Report what is being sent from kill-ring
- Another UX bump: Help ensure user understand what is happening
a502ca547c22e51c9c6a21227c5744b17c4fd1c3
- gptel-rewrite: Appease byte-compiler
- Another developing real software
5d5610dfb62d218447b210ec8c8f833c6aca262e
- (#635) gptel: Use “model” instead of “GPT model”
- Continues update to general LLM support vs OpenAI only
ce042d692a5d31bb1aadcf5ad96817547b1b3045
- gptel-org: Always create prompt in a temp buffer
- Another example of how to write supportable flexible software
d222ed823afe2648a37fef4368e4414b90205b72
- gptel: Add support for handling reasoning blocks
- High demand feature
6af54839d08cc74c59d786a0a2364fc96d1b0381
- gptel-openai-extras: Add support for Deepseek
- High demand feature
addca990e7f3fd3555f55f1cc73332fcae944631
- (#355) gptel-anthropic: Add prompt caching
- Exciting to know about caching savings on Anthropic
gptel-cache
d9ce451f21812576b2a906382214cc81fce3fc45
- NEWS: Add news file
- Another developing real software
d9edbbc3d809ab9d699d08504e4385ef7724f04b
- gptel-curl: Add gptel-curl-extra-args
7de8e885c12865beb6d2ec8bf6698ce3b2ad4f7f