chore: add patches, new project skills, and utility scripts
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
(in-package :org-agent)
|
||||
|
||||
(defvar *provider-pain-table* (make-hash-table :test 'equal))
|
||||
|
||||
(defun token-accountant-record-pain (provider)
|
||||
"Marks a provider as 'pained' (failed). It will be de-prioritized."
|
||||
(setf (gethash provider *provider-pain-table*) (+ (get-universal-time) 600)) ; 10 min penalty
|
||||
(kernel-log "ACCOUNTANT - Provider ~a de-prioritized due to failure." provider))
|
||||
|
||||
(defun token-accountant-get-cascade (context)
|
||||
"Returns a dynamic list of providers, routing around pained ones."
|
||||
(let ((all-providers '(:openrouter :groq :gemini))
|
||||
(healthy nil)
|
||||
(pained nil)
|
||||
(now (get-universal-time)))
|
||||
(dolist (p all-providers)
|
||||
(if (> (or (gethash p *provider-pain-table*) 0) now)
|
||||
(push p pained)
|
||||
(push p healthy)))
|
||||
(append (nreverse healthy) (nreverse pained))))
|
||||
|
||||
|
||||
(defun token-accountant-get-model-for-provider (provider &optional context)
|
||||
"Returns the recommended model for the provider."
|
||||
(case provider
|
||||
(:openrouter "moonshotai/kimi-k2.5")
|
||||
(:groq "llama-3.3-70b-versatile")
|
||||
(:gemini "gemini-1.5-flash-latest")
|
||||
(t nil)))
|
||||
|
||||
(defun token-accountant-patch-kernel ()
|
||||
"Hot-patches the kernel's cascade to use our dynamic logic."
|
||||
(setf *provider-cascade* #'token-accountant-get-cascade))
|
||||
16
projects/org-skill-token-accountant/src/economist-logic.lisp
Normal file
16
projects/org-skill-token-accountant/src/economist-logic.lisp
Normal file
@@ -0,0 +1,16 @@
|
||||
(in-package :org-agent)
|
||||
|
||||
(defun economist-route-task (context)
|
||||
(declare (ignore context))
|
||||
'(:openrouter))
|
||||
|
||||
(defun economist-get-model-for-provider (provider &optional context)
|
||||
"Returns 100% Free/Subsidized model IDs from OpenRouter. Updated April 2026."
|
||||
(let ((complexity (ignore-errors (uiop:symbol-call :org-agent.skills.org-skill-router :router-classify-complexity context))))
|
||||
(case provider
|
||||
(:openrouter
|
||||
(case complexity
|
||||
(:REASONING "meta-llama/llama-3.3-70b-instruct:free") ; High fidelity, zero cost
|
||||
(:COGNITION "qwen/qwen3.6-plus:free") ; Latest interaction, zero cost
|
||||
(t "meta-llama/llama-3.2-3b-instruct:free"))) ; Ultra-fast reflex, zero cost
|
||||
(t nil))))
|
||||
Reference in New Issue
Block a user