natureco-cli 5.4.5 → 5.4.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "natureco-cli",
3
- "version": "5.4.5",
3
+ "version": "5.4.6",
4
4
  "description": "OpenClaw'dan daha güvenli, daha hızlı, daha ucuz AI agent CLI. Multi-agent, self-evolving skills, audit log, maliyet optimizasyonu ve NatureCo platform-native.",
5
5
  "bin": {
6
6
  "natureco": "bin/natureco.js"
@@ -448,11 +448,12 @@ async function startRepl(args) {
448
448
  // Memory yükle
449
449
  let memory = loadMemory(cfg.userName);
450
450
 
451
+ // v5.4.6: Memory'de botName yoksa otomatik İchigo set et
452
+ if (!memory.botName) memory.botName = 'İchigo';
451
453
  // v5.4.5: SOUL.md'yi yukle ve kisiligi system prompt'a enjekte et
452
454
  const { loadSoul, summarizeSoul } = require("../tools/soul");
453
455
  const soulContent = loadSoul();
454
456
  const soulSummary = soulContent ? summarizeSoul(soulContent, 2500) : null;
455
- if (memory.botName) memory.botName = memory.botName || 'İchigo';
456
457
 
457
458
  // Resume?
458
459
  let messages = [];
@@ -467,15 +468,22 @@ async function startRepl(args) {
467
468
  }
468
469
 
469
470
  // System prompt oluştur (memory + identity + persistent bağlam)
470
- // v5.4.4: Samimi kisisel + Bot adi zorlamasi
471
+ // v5.4.6: Bot adı zorlaması EN GÜÇLÜ + SOUL.md EN BAŞTA
471
472
  const botName = memory.botName || 'İchigo';
472
473
  const userName = memory.name || memory.nickname || 'kanka';
473
474
  const systemPrompt = [
474
- // === KIMLIK (en basta, en guclu) ===
475
- `Senin adin: ${botName}. Bu SENIN gercek adin. Sen ${botName}sin.`,
476
- `Kullanici "adin ne?", "sen kimsin?", "kendini tanit" gibi soru sordugunda ILK cumlende mutlaka "Ben ${botName}" diye yanit ver. Asla model adi (MiniMax, Claude, GPT) soyleme.`,
477
- `Sen bir marka veya urun degilsin. Sen ${botName}sin, NatureCo CLI'nin Turkce yapay zeka asistanisin.`,
478
- `Kullanici: ${userName}.` + (memory.nickname ? ` Sana "${memory.nickname}" diye hitap ediyor.` : ` Kendine "Parton", "abi" veya kullanici ismiyle hitap edebilirsin.`),
475
+ // === v5.4.6: EN GÜÇLÜ KİMLİK BLOĞU (en başta, tekrarlı) ===
476
+ `!!! KRİTİK KİMLİK !!! Senin ADIN: ${botName}. Bu SENİN GERÇEK ADIN. Sen ${botName}'sin.`,
477
+ `ASLA "MiniMax", "MiniMax-M2.5", "Claude", "GPT", "AI asistanı", "yapay zeka" gibi ifadeleri KENDİNİ tanıtmak için KULLANMA. Sen bunlar DEĞİLSİN.`,
478
+ `Kullanıcı "adın ne?", "sen kimsin?", "kendini tanıt" gibi soru sorduğunda İLK cümlende MUTLAKA "Ben ${botName}" yaz. Sonra doğal devam et.`,
479
+ `Eğer bir şekilde model adınızı söylüyorsan, HEMEN düzelt ve "Özür dilerim, ben ${botName}'im" de. ASLA model adı ile kalma.`,
480
+
481
+ // === v5.4.5: SOUL.md (KİŞİLİK MANIFESTOSU) — en başta ===
482
+ soulSummary ? `=== SENİN KİŞİLİK DOSYAN (SOUL.md) ===\n${soulSummary}\n=== SOUL SONU ===\nBU DOSYADAKİ KURALLARA GÖRE DAVRAN. Kullanıcı "sen kimsin?" derse BURADAN bilgi kullan. ASLA model adı söyleme. Bu dosya senin kim olduğunu tanımlar.` : '',
483
+
484
+ // === KİMLİK TEKRAR ===
485
+ `Senin adın: ${botName}. Tekrar: ${botName}. Asla unutma: ${botName}.`,
486
+ `Sen bir marka veya ürün değilsin. Sen ${botName}sin, NatureCo CLI'nin Türkçe yapay zeka asistanısın.`,
479
487
 
480
488
  // === SAMIMI KISISELLIK (Parton istedi) ===
481
489
  `Kisiselik: Sen samimi, sicak, dosta benzeyen bir asistansin. "Selam", "tamam", "hadi yapalim", "bak simdi", "sakin ol" gibi gunluk ifadeler kullan. Kuru ve robotik degilsin.`,
@@ -698,8 +706,11 @@ async function startRepl(args) {
698
706
  providerApiKey,
699
707
  apiMessages,
700
708
  model,
701
- // Text chunk callback
702
- (chunk) => process.stdout.write(chunk),
709
+ // Text chunk callback — v5.4.6: post-process ile model adı sızıntısını engelle
710
+ (chunk) => {
711
+ const fixedChunk = fixModelNameLeak(chunk, botName);
712
+ process.stdout.write(fixedChunk);
713
+ },
703
714
  // Tool call callback — kullanıcıya göster
704
715
  (toolEvent) => {
705
716
  if (toolEvent.status === 'running') {