mirror of
https://github.com/yusufipk/dikte.git
synced 2026-09-11 10:56:10 +00:00
Clean up on Google AI Studio, or on Antigravity
OpenRouter's free tier rate-limits and carries no free Gemini model, and cleaning up through Claude Code costs a fixed few seconds because it opens a whole CLI session to drop three "uh"s. Google's own free tier suits a short, frequent request, and its OpenAI-compatible endpoint answers /chat/completions, so cleanup there is one request and the same code path OpenRouter already takes. The one thing that is not shared is the thinking level. Google reads OpenAI's flat reasoning_effort rather than OpenRouter's object, and "none" is how thinking is turned off, so it is sent rather than skipped: a Flash model left to think spends exactly the second this provider was chosen to save. Its top two rungs land on "high", which is as far as Google goes. Speech to text stays where it was. That endpoint has no /audio/transcriptions behind it, audio only goes in as base64 inside a chat message, and what comes back has none of the segment times a subtitle file or a meeting transcript is built out of. Antigravity joins as well, on cleanup and as an agent. It is a CLI like the other two and costs the same session, so it is here for people who already pay for it rather than as an answer to the speed. It takes neither an empty tool list nor a read-only sandbox, and cleanup.py now says so plainly instead of implying parity; what it gets is a project of its own, the home directory, and its slash commands off. Three things were already wrong and are fixed on the way past, because the new providers walk the same paths: doctor raised KeyError on the local model, whose executable is ""; the history recorded Claude's model whoever answered; and every agent row read "asked Claude". Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
@@ -134,6 +134,8 @@ class Keys(DikteTest):
|
||||
def test_every_provider_falls_back_to_the_variable_of_its_own_name(self):
|
||||
with mock.patch.dict(os.environ, {"GROQ_API_KEY": "gsk-env"}):
|
||||
self.assertEqual(cfg.Config().groq_key(), "gsk-env")
|
||||
with mock.patch.dict(os.environ, {"GEMINI_API_KEY": "AIza-env"}):
|
||||
self.assertEqual(cfg.Config().gemini_key(), "AIza-env")
|
||||
|
||||
|
||||
class TranscribeTarget(DikteTest):
|
||||
@@ -449,6 +451,12 @@ class Defaults(unittest.TestCase):
|
||||
def test_the_keys_ship_empty(self):
|
||||
self.assertEqual(cfg.DEFAULTS["openai_api_key"], "")
|
||||
self.assertEqual(cfg.DEFAULTS["openrouter_api_key"], "")
|
||||
self.assertEqual(cfg.DEFAULTS["gemini_api_key"], "")
|
||||
|
||||
def test_google_ai_studio_is_a_cleanup_provider_and_not_a_transcriber(self):
|
||||
"""Its compatible endpoint has no /audio/transcriptions behind it."""
|
||||
self.assertNotIn("gemini", cfg.TRANSCRIBERS)
|
||||
self.assertIn("gemini", cleanup.PROVIDERS)
|
||||
|
||||
def test_every_language_specific_prompt_has_both_languages(self):
|
||||
for name in ("CLEANUP_PROMPT", "FILE_CLEANUP_PROMPT", "MEETING_PROMPT",
|
||||
|
||||
Reference in New Issue
Block a user