CommandCodeAI / CommandCodeAI/command-code
<think> tags and "thought" leaks into transcript feed with qwen-3.7-plus
Nessuno ha ancora preso questa issue.
- Lingua principale
- Nessun dato sulla lingua
- Stelle
- 4k
- Fork
- 350
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
Summary
I am building a spell checking mod with qwen-3.7-plus and several times (when context gets a big longer), the <think> end tag isn't parsed and thus "thought" leaks into the feed window of TUI:
✻ Thought for 4 seconds [ctrl+o to expand]
⠶ </think>
The user wants me to continue. I need to fix the __dirname / import.meta issue. Since this is a mod that runs in Command Code's jiti environment, __dirname
should be available. But the TypeScript checker is complaining because it doesn't know about the runtime environment.
Let me simplify the _dirname resolution to just use __dirname since jiti provides it. Or I can use a different approach - use cmd.cwd which is the workspace
root, and then resolve relative to that.
Actually, looking at the mod-builder docs, mods are loaded by jiti which compiles TypeScript at load time. The __dirname should be available in that context.
But the TypeScript checker doesn't know about it.
Let me just use a simpler approach - declare __dirname as a global or use a try/catch approach. Or better yet, since the mod file and the dictionary file are in
the same directory, I can use import.meta.url but that also has issues with TypeScript.
The simplest fix is to just declare __dirname at the top of the file or use a different approach. Let me check what the mod-builder examples do.
Actually, looking at the mod-builder skill instructions, it says mods are loaded by jiti which compiles TypeScript at load time. In a CommonJS context (which
jiti uses), __dirname is available. The issue is just that TypeScript doesn't know about it.
Let me just add a declaration at the top of the file or use a workaround. The simplest is to use process.cwd() or pass the path as a parameter.
Actually, the best approach is to just use __dirname but declare it properly. Let me fix this.
Now fix the __dirname issue — jiti provides __dirname at runtime, but TypeScript doesn't know about it:
───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Edit File .commandcode/mods/spell-checker.ts
534 │ - const _dirname = typeof __dirname !== 'undefined'
535 │ - ? __dirname
536 │ - : dirname(fileURLToPath(import.meta.url));
534 │ + // jiti (the mod loader) provides __dirname at runtime
535 │ + declare const __dirname: string;
536 │
538 │ - const BUILTIN_DICTIONARY_PATH = join(_dirname, 'frequency_dictionary_en_82_765.txt');
537 │ + const BUILTIN_DICTIONARY_PATH = join(__dirname, 'frequency_dictionary_en_82_765.txt');
Expected Behavior
- model though is hidden behind expand ctrl+0
Actual Behavior
The </think> end tag is seen in the feed conversation transcript.
Steps to reproduce the issue
- Use qwen-3.7-plus
Command Code Version
1.4.6
Operating System
macOS
Terminal/IDE
ghostty
Shell
zsh
Additional context
No response
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Riproduci il problema con qwen-3.7-plus e analizza la gestione da parte del feed della trascrizione dei blocchi e dei relativi tag di chiusura. Verifica che il contenuto del pensiero del modello sia nascosto dietro il controllo di espansione e che nel feed non compaia alcun tag letterale .
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- typescript
- Ambito
- ai, cli
- Tipo di issue
- Bug
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Stato di attività
- Tranquilla
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 52/100