add deepseek

This commit is contained in:
Blake Ridgway
2026-05-05 17:57:06 -05:00
parent 8a006faf65
commit f44ef8fc60
6 changed files with 117 additions and 14 deletions

View File

@@ -0,0 +1,6 @@
[user]
email = blake.ridgway@ametrics.org
name = Blake Ridgway # optional set your name too
[core]
sshCommand = ssh -i ~/.ssh/id_rsa_ametrics -o IdentitiesOnly=yes

7
bashrc
View File

@@ -73,3 +73,10 @@ work() {
echo "main.py exited with code $code"
fi
}
# add Pulumi to the PATH
export PATH=$PATH:/home/proc/.pulumi/bin
# deepseek
export DEEPSEEK_API_KEY="sk-d75aeba06fc546a88a7ff171b9bbc098"

View File

@@ -7,3 +7,6 @@
editor = nvim +14 -c +startinsert
[init]
defaultBranch = main
[includeIf "gitdir:~/dev/AdvancedMetrics/"]
path = ~/dotfiles/.gitconfig-advancedmetrics

View File

@@ -1,35 +1,40 @@
{
"LuaSnip": { "branch": "master", "commit": "642b0c595e11608b4c18219e93b88d7637af27bc" },
"NvChad": { "branch": "v2.5", "commit": "eb209a4a82aecabe609d8206b865e00a760fb644" },
"LuaSnip": { "branch": "master", "commit": "a62e1083a3cfe8b6b206e7d3d33a51091df25357" },
"NvChad": { "branch": "v2.5", "commit": "d042cc975247c2aa55fcb228e5d146dc1dc6c648" },
"avante.nvim": { "branch": "main", "commit": "b69b0166275a36febdde1de0c92e1ef9588de963" },
"base46": { "branch": "v3.0", "commit": "884b990dcdbe07520a0892da6ba3e8d202b46337" },
"cmp-async-path": { "branch": "main", "commit": "f8af3f726e07f2e9d37672eaa9102581aefce149" },
"cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" },
"cmp-nvim-lsp": { "branch": "main", "commit": "cbc7b02bb99fae35cb42f514762b89b5126651ef" },
"cmp-nvim-lua": { "branch": "main", "commit": "e3a22cb071eb9d6508a156306b102c45cd2d573d" },
"cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
"conform.nvim": { "branch": "master", "commit": "178b8f0d70ee63db616a8b3bda637218eef121dd" },
"conform.nvim": { "branch": "master", "commit": "dca1a190aa85f9065979ef35802fb77131911106" },
"dressing.nvim": { "branch": "master", "commit": "2d7c2db2507fa3c4956142ee607431ddb2828639" },
"friendly-snippets": { "branch": "main", "commit": "6cd7280adead7f586db6fccbd15d2cac7e2188b9" },
"gitsigns.nvim": { "branch": "main", "commit": "4ed47e8c4c66c921dc1d6643977e0526e1f44396" },
"gitsigns.nvim": { "branch": "main", "commit": "dd3f588bacbeb041be6facf1742e42097f62165d" },
"harpoon": { "branch": "harpoon2", "commit": "87b1a3506211538f460786c23f98ec63ad9af4e5" },
"indent-blankline.nvim": { "branch": "master", "commit": "d28a3f70721c79e3c5f6693057ae929f3d9c0a03" },
"lazy.nvim": { "branch": "main", "commit": "85c7ff3711b730b4030d03144f6db6375044ae82" },
"lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" },
"lazygit.nvim": { "branch": "main", "commit": "a04ad0dbc725134edbee3a5eea29290976695357" },
"mason.nvim": { "branch": "main", "commit": "57e5a8addb8c71fb063ee4acda466c7cf6ad2800" },
"mason.nvim": { "branch": "main", "commit": "cb8445f8ce85d957416c106b780efd51c6298f89" },
"menu": { "branch": "main", "commit": "7a0a4a2896b715c066cfbe320bdc048091874cc6" },
"minty": { "branch": "main", "commit": "aafc9e8e0afe6bf57580858a2849578d8d8db9e0" },
"minuet-ai.nvim": { "branch": "main", "commit": "7e696b717082e524286192ddaf397f709427f1a5" },
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
"nvim-autopairs": { "branch": "master", "commit": "59bce2eef357189c3305e25bc6dd2d138c1683f5" },
"nvim-cmp": { "branch": "main", "commit": "a1d504892f2bc56c2e79b65c6faded2fd21f3eca" },
"nvim-dap": { "branch": "master", "commit": "4f5deb110d9ff8994d96c21df95e2271d11214f9" },
"nvim-dap": { "branch": "master", "commit": "45a69eba683a2c448dd9ecfc4de89511f0646b5f" },
"nvim-dap-go": { "branch": "main", "commit": "b4421153ead5d726603b02743ea40cf26a51ed5f" },
"nvim-dap-ui": { "branch": "master", "commit": "d9770a55188bb34c2bdce7d90a6151181beb6966" },
"nvim-lspconfig": { "branch": "master", "commit": "dc7e7c7699cc01b1b6fefa97f9b496d8f447d7a1" },
"nvim-dap-ui": { "branch": "master", "commit": "1a66cabaa4a4da0be107d5eda6d57242f0fe7e49" },
"nvim-lspconfig": { "branch": "master", "commit": "31026a13eefb20681124706a79fc1df6bf11ab27" },
"nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" },
"nvim-tree.lua": { "branch": "master", "commit": "31503ad5d869fca61461d82a9126f62480ecb0ab" },
"nvim-treesitter": { "branch": "main", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
"nvim-web-devicons": { "branch": "master", "commit": "40e9d5a6cc3db11b309e39593fc7ac03bb844e38" },
"nvim-tree.lua": { "branch": "master", "commit": "f9bfc0059eca24546b69a7006110463da4808f8f" },
"nvim-treesitter": { "branch": "main", "commit": "4916d6592ede8c07973490d9322f187e07dfefac" },
"nvim-web-devicons": { "branch": "master", "commit": "4fc505ac7bd7692824a142e96e5f529c133862f8" },
"oil.nvim": { "branch": "master", "commit": "0fcc83805ad11cf714a949c98c605ed717e0b83e" },
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
"telescope.nvim": { "branch": "master", "commit": "cfb85dcf7f822b79224e9e6aef9e8c794211b20b" },
"plenary.nvim": { "branch": "master", "commit": "74b06c6c75e4eeb3108ec01852001636d85a932b" },
"render-markdown.nvim": { "branch": "main", "commit": "3f3eea97b80839f629c951ca660ffd125bfa5b34" },
"telescope.nvim": { "branch": "master", "commit": "f04ab730b8f9c6bf3f54a206d0dcddfd70c52d59" },
"todo-comments.nvim": { "branch": "main", "commit": "31e3c38ce9b29781e4422fc0322eb0a21f4e8668" },
"toggleterm.nvim": { "branch": "main", "commit": "50ea089fc548917cc3cc16b46a8211833b9e3c7c" },
"trouble.nvim": { "branch": "main", "commit": "bd67efe408d4816e25e8491cc5ad4088e708a69a" },

View File

@@ -62,11 +62,16 @@ map("n", "<leader>hn", function() require("harpoon"):list():next() end, { d
map("n", "-", "<cmd>Oil<cr>", { desc = "Open parent dir (Oil)" })
map("n", "<leader>oo", "<cmd>Oil --float<cr>", { desc = "Oil (float)" })
-- ── AI (Minuet inline completions) ───────────────────────────────────────────
map("i", "<A-m>", function() require("minuet").make_cmp_map() end, { desc = "Minuet: trigger completion" })
map("n", "<A-m>", function() require("minuet").complete_with_minuet() end, { desc = "Minuet: inline suggestion" })
-- ── which-key group labels ────────────────────────────────────────────────────
vim.schedule(function()
local ok, wk = pcall(require, "which-key")
if not ok then return end
wk.add {
{ "<leader>a", group = "AI" },
{ "<leader>d", group = "Debug" },
{ "<leader>dg", group = "Go" },
{ "<leader>x", group = "Diagnostics" },

View File

@@ -110,6 +110,83 @@ return {
opts = {},
},
-- ── AI ───────────────────────────────────────────────────────────────────────
-- Avante: AI sidebar chat + inline editing (DeepSeek)
{
"yetone/avante.nvim",
event = "VeryLazy",
build = "make",
dependencies = {
"stevearc/dressing.nvim",
"nvim-lua/plenary.nvim",
"MunifTanjim/nui.nvim",
{
"MeanderingProgrammer/render-markdown.nvim",
opts = { file_types = { "markdown", "Avante" } },
ft = { "markdown", "Avante" },
},
},
opts = {
provider = "deepseek",
providers = {
deepseek = {
__inherited_from = "openai",
api_key_name = "cmd:grep -m1 DEEPSEEK_API_KEY ~/.bashrc | grep -oP '(?<=\")[^\"]*(?=\")'",
endpoint = "https://api.deepseek.com/v1",
model = "deepseek-chat",
extra_request_body = { temperature = 0, max_tokens = 8192 },
},
},
-- Use dressing for concealed API-key prompts (native provider has a bug)
input = { provider = "dressing" },
},
config = function(_, opts)
require("avante").setup(opts)
-- DeepSeek is a REST API provider, not an ACP agent — remove ACP-only keys
pcall(vim.keymap.del, "n", "<leader>aM")
pcall(vim.keymap.del, "n", "<leader>am")
end,
},
-- Minuet: inline ghost-text completions (DeepSeek via OpenAI-compat endpoint)
{
"milanglacier/minuet-ai.nvim",
event = "BufReadPost",
dependencies = { "nvim-lua/plenary.nvim" },
opts = {
provider = "openai_compatible",
provider_options = {
openai_compatible = {
api_key = "DEEPSEEK_API_KEY",
end_point = "https://api.deepseek.com/chat/completions",
model = "deepseek-chat",
name = "DeepSeek",
optional = { max_tokens = 256, top_p = 0.9 },
},
},
virtualtext = {
auto_trigger_ft = {}, -- manual trigger only (<A-m>)
keymap = {
accept = "<A-l>",
accept_line = "<A-j>",
prev = "<A-[>",
next = "<A-]>",
dismiss = "<A-e>",
},
},
},
},
-- Expose minuet as a nvim-cmp source
{
"hrsh7th/nvim-cmp",
opts = function(_, opts)
table.insert(opts.sources, { name = "minuet" })
return opts
end,
},
-- Oil: edit the filesystem like a buffer
{
"stevearc/oil.nvim",