From 5b6ae8aa86217c4e48909eded25dbdfe6cb619e2 Mon Sep 17 00:00:00 2001 From: rain Date: Tue, 23 Jun 2026 19:38:51 -0400 Subject: [PATCH] Add encrypted omp models.yml with literal zai key (fix 401) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit omp v16.1.16 hardcodes the built-in zai provider to https://api.z.ai/api/anthropic (Anthropic-compatible endpoint) which requires 'x-api-key' header. omp only sends 'Authorization: Bearer', so the built-in zai provider always returns 401 on real Z.ai API keys. The OpenAI-compatible endpoint https://api.z.ai/api/coding/paas/v4 accepts Authorization: Bearer and works fine. The user's existing ~/.omp/agent/models.yml defines a custom 'zai-coding' provider pointed at this endpoint, but the apiKey field was set to 'ZAI_CODING_API_KEY' which omp treats as a literal string (not an env var reference), so the request was 'Authorization: Bearer ZAI_CODING_API_KEY' which 401s. Fix: include the literal zai API key in the apiKey field. This is identical to the existing encrypted zai.key secret (same key, decrypted on apply). The encrypted file is in chezmoi so it stays encrypted at rest and chmod 644 on disk — same perms as the existing zai.key. Verified manually on byte before commit: omp --print --model zai-coding/glm-5.2:xhigh 'hi' → 'Hi! What can I help you with today?' (was: '401 token expired or incorrect') After applying this commit on all boxes: omp --print --model zai-coding/glm-5.2:xhigh 'hi' should work everywhere. --- dot_omp/agent/encrypted_models.yml.age | 106 +++++++++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 dot_omp/agent/encrypted_models.yml.age diff --git a/dot_omp/agent/encrypted_models.yml.age b/dot_omp/agent/encrypted_models.yml.age new file mode 100644 index 0000000..ef54c23 --- /dev/null +++ b/dot_omp/agent/encrypted_models.yml.age @@ -0,0 +1,106 @@ +-----BEGIN AGE ENCRYPTED FILE----- +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB4NmtBczcxRkIzMHNFaGR6 +QVRFb1hROFFBUGc4dUp6SVpRYXhLSDMrOFh3CjIxWE1JZ0w2TS9WdW1TWGQ4STIv +WWdhWm5zTjVIb0lMN0l4b2ZFTEZFV2cKLT4gWDI1NTE5IHlzaC9nL2dXamJSd1Jr +SU9QeWoxdkF3QkNOVjFxL2cyTmduU3I1eUdWM1kKMVlRcVVPcDlYWEg3dkJXS1k5 +N2kybGZjMm5aSFUvTGRhVHNqQlQybUxCcwotPiBYMjU1MTkgQlFuYm05aWlwVElQ +cVp0dkplM2hEUGo2ckgrVXR2akwwRUhWcWVkd3VncwpSaE10dXgxTVpMYlhlY1NN +azh1dlIxU3ZzY0taNDQ3bklFZmVTMFdCSWFjCi0+IFgyNTUxOSBUdWNIWS8yTkhI +T1c3QVNyMVdjVlU3WVpVdERBdmxhQzQrMUNzKzN2MVY4Ckl3SVdKc0pzU3RqZVM1 +dFJyOEc1N1dZT2M0cmZEU0h2QjZlSXdkMlF2SlEKLT4gWDI1NTE5IDZzVExyTjI5 +VEQ4UnVpbGY5V0g5RGtiL0pqN1B5YVlhYmhRMW9wdkh3WFkKSnVEVy9RUEFBR28y +RDgrY255U292SVBJS3BHRXd2NS8wSlkvTVpGMGVVawotPiBYMjU1MTkgV0JXbDFP +alV2WEp2a2Q3aG40dFdaY201VUtoM3BQMHEwUWlVOTJsYnpITQpGWllRWEMva1Fh +aG1ZTHNScTRFclhsTnFHQU9SSCs5VWNJZFZHNElaeVhZCi0+IFgyNTUxOSBkWHRv +Rm9GS1lnc1dTdTJSMXlPbFVEOU1jbW5kS1B3Z2NDeDB4L21mK1Q4CkVjdlhYeHUz +M3RyV0RaMVRKZjNEa2pYSjRmbG5nRWxtUVh2NEtPU3J6UWMKLT4gWDI1NTE5IFUr +aGt2cUFXeW9ySWtLalVTMnJqUHg5UThiMEFKS2FqekZhU3Z2eFNqRjQKWkdxc1dJ +aEFRNmxKNnZNOFYxMjVmZWcrcSs1dTNyekxrN0RlTlF2TTdNawotLS0gUDhNV08y +S2I0U0JxY2xLLzdPWXlpNk1TQ3ZkSW9rSWZURThUeUVMTUhnQQpgQXgBX/iz0AYh +/bicBagQKmFDtoAUGxQnSISy2p/hv1SCX34IkgC3LcmpC21AwVxGJJ6CcPh031uE +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 +-----END AGE ENCRYPTED FILE-----