docs: añadir política create_command y actualizar docs
Nueva política create_command.md que documenta cómo añadir comandos directos (!xxx) a un agente usando RegisterCommand. Actualiza create_agent.md para no usar reglas en comandos (ahora se gestionan via RegisterCommand). Actualiza index.md y CLAUDE.md para referenciar la nueva política. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -40,16 +40,9 @@ import "github.com/enmanuel/agents/pkg/decision"
|
||||
|
||||
func Rules() []decision.Rule {
|
||||
return []decision.Rule{
|
||||
// Any DM or mention → LLM
|
||||
{
|
||||
Name: "help",
|
||||
Match: decision.MatchCommand("help"),
|
||||
Actions: []decision.Action{{
|
||||
Kind: decision.ActionKindReply,
|
||||
Reply: &decision.ReplyAction{Content: "<descripción de capacidades>"},
|
||||
}},
|
||||
},
|
||||
{
|
||||
Name: "llm-fallback",
|
||||
Name: "llm-all",
|
||||
Match: func(ctx decision.MessageContext) bool {
|
||||
return ctx.IsDirectMsg || ctx.IsMention
|
||||
},
|
||||
@@ -65,10 +58,10 @@ func Rules() []decision.Rule {
|
||||
**Reglas estrictas:**
|
||||
- **PURO**: solo imports de `pkg/decision`, cero I/O, cero side effects
|
||||
- Package name = ID sin guiones ni `_bot` (e.g. `monitor-bot` → `package monitor`)
|
||||
- Reglas se evalúan en orden — específicas arriba, catch-all al final
|
||||
- El catch-all DEBE cubrir `ctx.IsDirectMsg || ctx.IsMention`
|
||||
- **No usar reglas para comandos** (`!help`, `!ping`, etc.) — los comandos se gestionan via `RegisterCommand` (ver policy `create_command.md`)
|
||||
- Las reglas solo aplican a mensajes normales (sin prefijo `!`)
|
||||
|
||||
Para añadir reglas extra, insertar antes del catch-all. Tipos de acción disponibles:
|
||||
Tipos de acción disponibles:
|
||||
- `ActionKindReply` — respuesta estática (con `ReplyAction{Content: "..."}`)
|
||||
- `ActionKindLLM` — pasa al LLM (con `LLMAction{}`)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user