diff --git a/.gitmodules b/.gitmodules index 32eb21f..483ff06 100644 --- a/.gitmodules +++ b/.gitmodules @@ -199,3 +199,6 @@ [submodule "tree-sitter-langs/tree-sitter-prisma"] path = tree-sitter-langs/tree-sitter-prisma url = https://github.com/victorhqc/tree-sitter-prisma.git +[submodule "site-lisp/gptel"] + path = site-lisp/gptel + url = https://github.com/karthink/gptel.git diff --git a/init.el b/init.el index 7dba3c9..78fb273 100644 --- a/init.el +++ b/init.el @@ -90,6 +90,7 @@ If freezing sometimes, decrease it. If stuttering, increase it.") (require 'init-media) (require 'init-plantuml) (require 'init-prisma) +(require 'init-gptel) (setq custom-file (expand-file-name "custom.el" creature/cache-dir)) diff --git a/lisp/init-gptel.el b/lisp/init-gptel.el new file mode 100644 index 0000000..8adfdf4 --- /dev/null +++ b/lisp/init-gptel.el @@ -0,0 +1,23 @@ +;; -*- coding: utf-8; lexical-binding: t; -*- + +(add-pkg-in-pkg-dir "gptel") + +(let ((gptel-autoload-file + (file-name-concat creature/cache-dir "gptel-autoloads.el"))) + (unless (file-exists-p gptel-autoload-file) + (loaddefs-generate (file-name-concat creature/pkg-dir "gptel") + gptel-autoload-file)) + (load-file gptel-autoload-file)) + +(with-eval-after-load 'gptel + (setq gptel-model 'deepseek-coder + gptel-backend + (gptel-make-openai "DeepSeek" + :host "api.deepseek.com" + :endpoint "/chat/completions" + :stream t + :key (lambda () + (gptel-api-key-from-auth-source "api.deepseek.com")) + :models '(deepseek-chat deepseek-coder)))) + +(provide 'init-gptel) diff --git a/site-lisp/gptel b/site-lisp/gptel new file mode 160000 index 0000000..d07dd19 --- /dev/null +++ b/site-lisp/gptel @@ -0,0 +1 @@ +Subproject commit d07dd190de3c1100641312e00b929f599106afd6