From 86f3a83b7923c29795c530a2edb59f7ca63ac15a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=9C=BF=20corey=20=28they/them=29?= Date: Tue, 17 Mar 2026 14:10:30 -0700 Subject: [PATCH 1/2] feat(glyph): enable Kagi web search in Open WebUI Enable web search with agentic query generation using Kagi as the search engine. KAGI_SEARCH_API_KEY is loaded from open-webui-env.age. Co-Authored-By: Claude Sonnet 4.6 (1M context) --- hosts/glyph/services/open-webui.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/hosts/glyph/services/open-webui.nix b/hosts/glyph/services/open-webui.nix index f00b1213..1e1223ef 100644 --- a/hosts/glyph/services/open-webui.nix +++ b/hosts/glyph/services/open-webui.nix @@ -42,6 +42,11 @@ USER_PERMISSIONS_FEATURES_API_KEYS = "True"; DATABASE_URL = "postgresql:///open-webui?host=/run/postgresql"; + # Web search via Kagi (API key in open-webui-env.age) + ENABLE_WEB_SEARCH = "True"; + ENABLE_SEARCH_QUERY_GENERATION = "True"; + WEB_SEARCH_ENGINE = "kagi"; + # System prompt sourced from llm-profile flake input (github:stackptr/llm-profile) DEFAULT_SYSTEM_PROMPT = builtins.readFile "${inputs.llm-profile}/README.md"; From 1fde451bc7dd045a19333f298c1efa03f248fc92 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=9C=BF=20corey=20=28they/them=29?= Date: Tue, 17 Mar 2026 14:12:18 -0700 Subject: [PATCH 2/2] update env to include Kagi API key --- hosts/glyph/secrets/open-webui-env.age | Bin 889 -> 997 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/hosts/glyph/secrets/open-webui-env.age b/hosts/glyph/secrets/open-webui-env.age index 8be2c9756dc102b492d897f8d0319d386aba6b51..e08898fcf788e65f469056f853b25f47c14573f1 100644 GIT binary patch delta 967 zcmV;&133Ko2IU8kEPqmSSZp;*RCqH~K~iu^NiTUva8hM=acgK-ZA@`jLTh$LMsRj( zP%AYvYYI_!I4eY9XmwXb8%2kdM|i*D|16mO$seO zAaiqQEoEdfH8n9gATvc*Xl_v;Sxz`lY*RvESvgoaa4R-eGk-8gXJ%$2$;bK6A^#iV2}v_8pe-R`K?I3=GyB+@PnYxFQr-WXeDDME?SA zlY+D}hW>AQ4v{71f~kv7bX9am6p}18zARRc@7>6kQ3~c0(Z2j@|67 z9qsz!et&*GgntA$Q|t|{RQMeezR!`poZjzD)pLmj135iAK@gKg_X%F?BO8aby6^2W z;iOUJ!-t)0&IbC~Eg5J#`+1LM?pb zNCVzg`Ktm-s<0B&wI#zB$fb-6H<0VDDV)XsgMYkvJw8m>FmkQ{L34l8InH8g2O-u? z-`$kH@{D)wdboZpgxmlx4oY{eRCp*7BetYQm&UkYygzkoIcjL$9Qgm(r|M|!aciea zts+Y*4gZ-NraJgyC&=Xc4A!=GD^ytDbUf4bfauHvV0;1Z8h4F-^y@sSzzgi&MlKR@~ zB00^TA!$u-^5xj`4e|cMLyUINtDo2n zq^A1^&802}H+P+JI5|>2q_vxto`dC(h(LiuV7Xxbt=jUpu2L4kl~5@+P9R$VYf_&> pQcEF&PSxlCWuA^-Ou;ykA%g4ddCd2F#Ma!6zj`%=*ji_j5seoVw>SU* delta 858 zcmV-g1Eu`s2l)n&EPrP=Pd05%R%v=SW=&abdSNsxGg53~c4lHzayV8@LQPp|VNf-1 zS8+3EX9`17Wl~8^O)^(lHAYiMMm9K3b5?Y8RbxVVNiS(wH+NBGSWZtcQ$tilO$seO zAaiqQEoEdfH8n9gATvc*Xl_v;Om;Xhbw+JVX=-hFXK+tMRexqyOg3mkN=HUDVK-t; zM`SctQ+H5hb4_|t3RE<7IeBwKPc=7fNo9FPZbxEhXEJa@PI^Z+S~qhsaYsXAG(%Nm zYIJyK3N0-yAXsczHd%5`T6slsc{NrmZZ&l)PAf@bQ$>1DIC(EdL`XMsVNhmSLr^kB z3huv)gPG%ZF@Ih$Z~>c|6&V?9H#Ti}z2e)5UQ9UYCLdfz@~$_6#T|jaUOY>9JdI&R z`%ZN6IOnOLh`cM9V4habO$5Fr&r4HB$}d>$xr_2Bs~?>x-{!wcz9%4Ba!_)oILSt1Ra5{z+x&2)Ww(Bmh!cb5Dmv>3b| zm0I3Va%48KXc3!(z*9vXaBkPX)h53Z)#x+K-n+)F4q{~-Lu*@zLdM~g#S=Rv2%xEo zT2pY$u^J!tk}e}riQ!ogvjJmNAdMV?0?&H*W(a_>za&+w>=zpf6XYRLsn#iUrz>R= kLY>ZsOK(#pdn)Z{_X6v8qa*7{*w2IJZHkRl^msCMBn1q1Hvj+t