Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Request for system prompt / complete context in `preRequest` hook

Aperta
#358 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 2 giorni

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
35/100
Tipo di issue
Funzionalità
Chiarezza
Specificata chiaramente
Stato di attività
Ferma
Stack tecnologico
clojure

Direzione di ricerca

The issue does not name relevant files or tests. Start by tracing how preRequest hooks are invoked and what context is available to them; then assess how conversation or injected-context data could be exposed safely. Done means the hook can inspect context that the model will receive, including changes caused by compaction, without relying on external state.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

enhancement

To upvote this issue, give it a thumbs up. See this list for the most upvoted issues.

I've been building a persistent memory system that hooks into ECA via chatStart + preRequest to inject recalled memories into the prompt. It works well, but I've run into a limitation with the preRequest hook that makes deduplication harder than it needs to be.

Each preRequest invocation is a fresh process - it only gets { hook_type, prompt }. I want to avoid re-injecting memories the agent has already seen, but I have no way to know what's currently in the conversation context. Right now I'm working around this with a statefile that tracks what I've surfaced, but it's blind to context compaction; if ECA truncates older context, those memories should be re-surfaced, but my statefile still thinks they're present.

The opencode plugin doesn't have this problem because its hook receives the full system prompt state, so it can scan for what's already there.
What would help: If the preRequest payload included the current conversation messages (or at least the system prompt / injected context entries), the hook could inspect what's actually present and make smarter decisions. Something like:

{
  "hook_type": "preRequest",
  "prompt": "...",
  "messages": [
    { "role": "system", "content": "..." },
    { "role": "user", "content": "..." },
    { "role": "assistant", "content": "..." }
  ]
}

Even a lighter version would work, just the system/injected context entries, not the full message history. The key thing is being able to see what the model will actually receive, so hooks can avoid redundancy and respond to compaction. Any hook that wants to inject contextual information (RAG, memory, project state, etc.) benefits from knowing what's already in the context. Without it, you either accept duplicates (wasting tokens) or maintain fragile external state that can't account for compaction.

Lingua principale
Clojure
Stelle
1k
Fork
82
Merge medio
1g 14h
PR unite (30g)
16

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di editor-code-assistant/eca

Tutte le issue di editor-code-assistant/eca

Issue simili

Altre issue su Clojure

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.