Harden DeepSeek agent: LiteLLM adapter, DSML/reasoning/embeddings/error fixes
- LiteLLMAdapter (subclasses OpenAIAdapter via _acreate hook): routes DeepSeek through LiteLLM. Opt-in AGENTIC_DEFAULT_MODEL_PROVIDER=litellm. A/B beat the hand-rolled adapter (0 DSML, 0 parse-fails). Defensive chunk.usage getattr, token-estimate usage fallback for billing, quiet litellm logs. - DSML parser: tolerate single/multi fullwidth pipes, honor string="true/false" typed args (openai_adapter fallback when DeepSeek leaks tool calls as text). - Thinking mode: capture and round-trip reasoning_content across turns. - Embeddings: dedicated AGENTIC_EMBEDDINGS_API_KEY (DeepSeek has no embeddings); disable cleanly when unset to avoid per-turn 401. - claude_format: friendly generic error messages to the chat, raw only in logs. - acai agent max_tokens 4096->16384 (whole-file writes no longer truncate); system.md size-based edit policy; strict tools opt-in (off). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -74,6 +74,26 @@ cms/data/schema/ # .ini.php — SOLO con tools de schema
|
||||
14. **URL del proyecto**: `get_web_url` + `?pruebas=1` siempre.
|
||||
15. **Operaciones destructivas**: confirma con el usuario antes de ejecutar.
|
||||
|
||||
# Eficiencia de edición (menos pasos Y menos tokens)
|
||||
|
||||
Elige la herramienta por el TAMAÑO del cambio. Ni micro-editar todo (muchos
|
||||
pasos), ni reescribir el fichero entero por cada retoque (muchos tokens):
|
||||
|
||||
1. **Cambio pequeño o localizado** (un color, un valor, una regla, pocas zonas)
|
||||
→ `acai-line-replace`. Barato: solo emites las líneas que cambian. NO
|
||||
reescribas el fichero entero por un retoque.
|
||||
2. **Creación o reescritura mayor** (cambias casi todo el fichero o lo creas de
|
||||
cero) → UN solo `acai-write` del fichero completo. Reescribir entero por un
|
||||
cambio pequeño desperdicia tokens; hazlo solo cuando de verdad cambia casi todo.
|
||||
3. **Itera con `line-replace`, no con writes repetidos.** Tras ver el resultado
|
||||
en el navegador, aplica los ajustes con `line-replace` puntuales. NO reescribas
|
||||
el fichero completo en cada iteración de diseño.
|
||||
4. **Cap de micro-ediciones.** Si te ves haciendo >4-5 `line-replace` sobre el
|
||||
mismo fichero en un turno, para y reescríbelo entero de una vez (`acai-write`).
|
||||
5. **NO hagas `acai-view` tras cada edición.** Ya tienes el contenido en contexto;
|
||||
reléelo solo si una edición falló o dudas del estado real.
|
||||
6. **Verificación visual al final, una sola pasada** — no tras cada retoque.
|
||||
|
||||
# Patrones canónicos (aplica por defecto)
|
||||
|
||||
- **Detalle de registro**: sección `custom-{tableName}` con `thisrecord.*`.
|
||||
|
||||
Reference in New Issue
Block a user