From 239f2ebba2306418b0ff8ad452425a730872b598 Mon Sep 17 00:00:00 2001 From: EdenQwQ Date: Sun, 9 Mar 2025 00:07:13 +0800 Subject: [PATCH] ai: add cherry-studio; add zjuchat --- home/programs/coding/nixvim/ai.nix | 21 +++++++++++++++++++++ home/programs/utils/default.nix | 1 + os/programs/swhkd.nix | 2 +- overlays/cherry-studio.nix | 9 +++++++++ overlays/default.nix | 1 + pkgs/{swhkd => }/swhkd.nix | 0 secrets/age.nix | 2 ++ secrets/secrets.nix | 8 ++++++++ secrets/tavily_token.age | 8 ++++++++ secrets/zjuchat_token.age | Bin 0 -> 374 bytes 10 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 overlays/cherry-studio.nix rename pkgs/{swhkd => }/swhkd.nix (100%) create mode 100644 secrets/tavily_token.age create mode 100644 secrets/zjuchat_token.age diff --git a/home/programs/coding/nixvim/ai.nix b/home/programs/coding/nixvim/ai.nix index e666d57..5dafdf7 100644 --- a/home/programs/coding/nixvim/ai.nix +++ b/home/programs/coding/nixvim/ai.nix @@ -76,6 +76,27 @@ }) end ''; + adapters.zjuchat.__raw = + # lua + '' + function () + local zjuchat_token_file = io.open(os.getenv("XDG_RUNTIME_DIR") .. "/" .. "${get_base_secret config.age.secrets.zjuchat_token.path}", "r") + local zjuchat_api_key = zjuchat_token_file:read() + zjuchat_token_file:close() + return require("codecompanion.adapters").extend("openai_compatible", { + name = "zjuchat", + env = { + url = "https://chat.zju.edu.cn/api/ai", + api_key = zjuchat_api_key, + }, + schema = { + model = { + default = "deepseek-v3-671b", + } + } + }) + end + ''; adapters.gemini.__raw = # lua '' diff --git a/home/programs/utils/default.nix b/home/programs/utils/default.nix index e927f0c..96aa8d5 100644 --- a/home/programs/utils/default.nix +++ b/home/programs/utils/default.nix @@ -40,6 +40,7 @@ nurl wl-color-picker matugen + cherry-studio ]; imports = [ ./eye-candy.nix diff --git a/os/programs/swhkd.nix b/os/programs/swhkd.nix index de234dd..d1d9111 100644 --- a/os/programs/swhkd.nix +++ b/os/programs/swhkd.nix @@ -1,6 +1,6 @@ { pkgs, ... }: let - swhkd = import ../../pkgs/swhkd/swhkd.nix { + swhkd = import ../../pkgs/swhkd.nix { inherit (pkgs) lib rustPlatform diff --git a/overlays/cherry-studio.nix b/overlays/cherry-studio.nix new file mode 100644 index 0000000..7c27819 --- /dev/null +++ b/overlays/cherry-studio.nix @@ -0,0 +1,9 @@ +{ + nixpkgs.overlays = [ + (final: prev: { + cherry-studio = prev.cherry-studio.override { + commandLineArgs = "--wayland-text-input-version=3"; + }; + }) + ]; +} diff --git a/overlays/default.nix b/overlays/default.nix index be91eee..acf50f8 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -2,6 +2,7 @@ { imports = [ ./qutebrowser.nix + ./cherry-studio.nix ./customColorSchemes ]; nixpkgs.overlays = [ diff --git a/pkgs/swhkd/swhkd.nix b/pkgs/swhkd.nix similarity index 100% rename from pkgs/swhkd/swhkd.nix rename to pkgs/swhkd.nix diff --git a/secrets/age.nix b/secrets/age.nix index a242e89..eab6e92 100644 --- a/secrets/age.nix +++ b/secrets/age.nix @@ -3,5 +3,7 @@ siliconflow_token.file = ./siliconflow_token.age; gemini_token.file = ./gemini_token.age; deepseek_token.file = ./deepseek_token.age; + zjuchat_token.file = ./zjuchat_token.age; + tavily_token.file = ./tavily_token.age; }; } diff --git a/secrets/secrets.nix b/secrets/secrets.nix index 4cf784a..8e237db 100644 --- a/secrets/secrets.nix +++ b/secrets/secrets.nix @@ -15,4 +15,12 @@ in eden eden-inspiron ]; + "zjuchat_token.age".publicKeys = [ + eden + eden-inspiron + ]; + "tavily_token.age".publicKeys = [ + eden + eden-inspiron + ]; } diff --git a/secrets/tavily_token.age b/secrets/tavily_token.age new file mode 100644 index 0000000..b7ece87 --- /dev/null +++ b/secrets/tavily_token.age @@ -0,0 +1,8 @@ +age-encryption.org/v1 +-> ssh-ed25519 MpnI9A OV9oWjQE0KQmn5ph6M8sc/7vlKgCR0KpsvRvrfonhHw +J5vm/pwMonHcHm2ai9FujNxWg0FXbyUpeCuKoHOLz7A +-> ssh-ed25519 6VlDkQ tVF545JaFz+Y2oz5pG7OT9Qn1TAINIjUsZ+3K4N5XH0 +5VGfA0T2la8uVFuZ2Tq3A+3L2j6qZ5IwxGjLBYHaJDc +--- Tc5KzEtm7oyAYq5Sv41m3SfdQcEXd27lp4Rq7y8HnBo +meQ JeW +4χ4P+kBbS[vhPs)ɜ(rqwe%r36|8fYK^nǍ \ No newline at end of file diff --git a/secrets/zjuchat_token.age b/secrets/zjuchat_token.age new file mode 100644 index 0000000000000000000000000000000000000000..82caaae3fa16d99c387484468f63590f66327263 GIT binary patch literal 374 zcmYdHPt{G$OD?J`D9Oyv)5|YP*Do{V(zR14F3!+RO))YxHMCUlEy(k?&aKMxc22L#cMnR=GTyJGM%fi$f?RyJJq=?uhP&hMBm9f!!fHk z$fqQyAUHoHG%Yx*Sl`FfBR|h2Ig(3PS63meOyAqoH6=OQFE}eTFE}G7JgX=zz}3H~ zz|}b;B`h+eqBzgpS34}o&6n%Q_YdZ;WtrC%tDcv=?Vg#hA$Q27Q@VDR_f4HeyScY9 zMDAU@_t5E%M6Ew^zaqLHu}pDq_<13I@~6hF-7>2JmKZaaSNFNGCln?wn(Hz#dF`n@ H?X({NIc|s9 literal 0 HcmV?d00001