From 8ec233d79c8578d34014ad8500e61b9143d855f7 Mon Sep 17 00:00:00 2001 From: Karthik Chikmagalur Date: Fri, 5 Jan 2024 21:53:20 -0800 Subject: [PATCH] gptel: Name gptel buffer according to backend * gptel.el (gptel-default-session, gptel): Name the gptel buffer according to the default backend. Delete the variable `gptel-default-session`. Fix #174. * gptel-openai.el (gptel-make-openai): Don't specify a key by default. Fix #170. --- gptel-openai.el | 3 +-- gptel-transient.el | 4 +++- gptel.el | 37 ++++++++++++++++++++----------------- 3 files changed, 24 insertions(+), 20 deletions(-) diff --git a/gptel-openai.el b/gptel-openai.el index b4ccb8d..f90854b 100644 --- a/gptel-openai.el +++ b/gptel-openai.el @@ -113,8 +113,7 @@ ;;;###autoload (cl-defun gptel-make-openai - (name &key header models stream - (key 'gptel-api-key) + (name &key header models stream key (host "api.openai.com") (protocol "https") (endpoint "/v1/chat/completions")) diff --git a/gptel-transient.el b/gptel-transient.el index 9b2b5ec..8288943 100644 --- a/gptel-transient.el +++ b/gptel-transient.el @@ -132,7 +132,9 @@ which see." :reader (lambda (prompt _ history) (read-string - prompt (generate-new-buffer-name "*ChatGPT*") history))) + prompt (generate-new-buffer-name + (concat "*" (gptel-backend-name gptel-backend) "*")) + history))) ("e" "Existing session" "e" :class transient-option :prompt "Existing session: " diff --git a/gptel.el b/gptel.el index 9d4a6dd..8d9bae7 100644 --- a/gptel.el +++ b/gptel.el @@ -236,7 +236,6 @@ to the LLM, and after a text insertion." :group 'gptel :type 'hook) -(defvar gptel-default-session "*ChatGPT*") (defcustom gptel-default-mode (if (fboundp 'markdown-mode) 'markdown-mode 'text-mode) @@ -1104,22 +1103,26 @@ If region is active, use it as the INITIAL prompt. Returns the buffer created or switched to. INTERACTIVEP is t when gptel is called interactively." - (interactive (list (if current-prefix-arg - (read-string "Session name: " (generate-new-buffer-name gptel-default-session)) - gptel-default-session) - (let ((backend (default-value 'gptel-backend))) - (condition-case nil - (gptel--get-api-key - (gptel-backend-key backend)) - ((error user-error) - (setq gptel-api-key - (read-passwd - (format "%s API key: " - (gptel-backend-name backend))))))) - (and (use-region-p) - (buffer-substring (region-beginning) - (region-end))) - t)) + (interactive + (let* ((backend (default-value 'gptel-backend)) + (backend-name + (format "*%s*" (gptel-backend-name backend)))) + (list (if current-prefix-arg + (read-string "Session name: " + (generate-new-buffer-name + backend-name)) + backend-name) + (condition-case nil + (gptel--get-api-key + (gptel-backend-key backend)) + ((error user-error) + (setq gptel-api-key + (read-passwd + (format "%s API key: " backend-name))))) + (and (use-region-p) + (buffer-substring (region-beginning) + (region-end))) + t))) (with-current-buffer (get-buffer-create name) (cond ;Set major mode ((eq major-mode gptel-default-mode))