refactor: ai — merge gemini/openrouter into unified plugin architecture
gates / consistency-and-conventions (push) Successful in 1m59s
gates / consistency-and-conventions (push) Successful in 1m59s
- bin/pos-ai: single provider-agnostic tool (ask/chat/sessions/capture/models/providers) - lib/ai-providers/gemini.sh: Gemini adapter (59 ln) - lib/ai-providers/openrouter.sh: OpenRouter adapter (59 ln) - bin/pos-ai-gemini/openrouter: thin forwarders for backward compat - Provider adapter interface: provider_name/default_model/generate/models_list - Unified session format (OpenAI messages), auto-migrate old gemini contents - Config: AI_PROVIDER/AI_API_KEY/AI_MODEL/AI_SYSTEM_PROMPT in ai.env - Config fallback: AI_API_KEY → provider-specific env var → error - Default system prompt configurable via AI_SYSTEM_PROMPT - New subcommand: pos ai providers (lists providers + config status) - Shell hook (pos-ai-hook.sh) for auto-capture
This commit is contained in:
+11
-4
@@ -1,8 +1,15 @@
|
||||
# ~/.config/linux_post_install/ai.env — Google Gemini config for 'pos ai gemini'
|
||||
# ~/.config/linux_post_install/ai.env — AI provider config for 'pos ai'
|
||||
# Copied to ~/.config/linux_post_install/ai.env on install (no clobber).
|
||||
# Edit with: pos config ai
|
||||
#
|
||||
# Syntax:
|
||||
# AI_GEMINI_API_KEY=<key> # required — API key from aistudio.google.com
|
||||
# # (never commit this to the repo)
|
||||
# AI_GEMINI_MODEL=<model> # optional — model id, default gemini-2.5-flash
|
||||
# AI_PROVIDER=gemini # provider: gemini|openrouter (default gemini)
|
||||
# AI_API_KEY=<key> # API key for the active provider (secret)
|
||||
# AI_MODEL=<model> # model id (default depends on provider)
|
||||
# AI_SYSTEM_PROMPT=<prompt> # custom system prompt (overrides built-in; empty to reset)
|
||||
#
|
||||
# Legacy provider-specific keys (still supported as fallback):
|
||||
# AI_GEMINI_API_KEY=<key> # Gemini API key (used when AI_API_KEY is empty)
|
||||
# AI_GEMINI_MODEL=<model> # Gemini model id (used when AI_MODEL is empty)
|
||||
# OPENROUTER_API_KEY=<key> # OpenRouter API key (used when AI_API_KEY is empty)
|
||||
# OPENROUTER_MODEL=<model> # OpenRouter model id (used when AI_MODEL is empty)
|
||||
|
||||
Reference in New Issue
Block a user