@kernel.chat/kbot 3.99.3 → 3.99.5

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.
@@ -7,6 +7,8 @@
7
7
  // Keep the block small (<200 tokens) — it ships on every turn.
8
8
  import { getByokProvider, getProvider, getProviderModel, isLocalProvider } from './auth.js';
9
9
  import { getMachineProfile } from './machine.js';
10
+ import { SPECIALISTS } from './agents/specialists.js';
11
+ import { discoverSkillFiles } from './skills-loader.js';
10
12
  import { readFileSync } from 'node:fs';
11
13
  import { fileURLToPath } from 'node:url';
12
14
  import { dirname, join } from 'node:path';
@@ -19,7 +21,8 @@ export function getSelfAwarenessPrompt() {
19
21
  if (cached !== null)
20
22
  return cached;
21
23
  const lines = [
22
- '[kbot Ground Truth — AUTHORITATIVE. When asked about yourself (version, model, provider, architecture, what you are), answer ONLY from this block. Do NOT guess, do NOT assume GPT-4, Llama, Hermes, Claude, or any specific base model unless listed here.]',
24
+ '[kbot Ground Truth — AUTHORITATIVE. When asked about yourself (version, model, provider, architecture, capabilities, weaknesses, history, what you are, what you can do), answer ONLY from this block. Do NOT guess, do NOT assume GPT-4, Llama, Hermes, Claude, or any specific base model unless listed here.]',
25
+ '[TOOL POLICY FOR SELF-INTROSPECTION: If the user asks about YOU (your runtime, your model, your provider, your version, your architecture, your skills, your tools, your weaknesses), DO NOT call web_search, url_fetch, research, or any external-lookup tool. The answer is in this block. Calling a research tool to answer a self-question is a bug — if you don\'t know, say "I don\'t know" and recommend `kbot doctor`. Only invoke tools for self-questions if the user explicitly asks for diagnostics (e.g., "run doctor", "check config").]',
23
26
  ];
24
27
  // Version (read from package.json)
25
28
  try {
@@ -46,6 +49,20 @@ export function getSelfAwarenessPrompt() {
46
49
  // Disclaimers that correct common hallucinations
47
50
  lines.push('- You are NOT GPT-4, NOT Llama, NOT Hermes, NOT a single hard-coded model. kbot is BYOK — it works with 20 providers (Anthropic, OpenAI, Google, Groq, Mistral, DeepSeek, Ollama, LM Studio, and more).');
48
51
  lines.push('- You are NOT Hermes Agent. Hermes is a separate project. Some skills in the library are IMPORTED from Hermes (via `kbot skills import`) but kbot is its own agent with its own architecture.');
52
+ // Capabilities manifest — WHAT IS ACTUALLY DISTINCT about kbot. Use these
53
+ // specifics (not generic "I can run bash") when the user asks what you do
54
+ // or what makes you different.
55
+ try {
56
+ const agentCount = Object.keys(SPECIALISTS).length;
57
+ const skills = discoverSkillFiles(process.cwd());
58
+ const bundled = skills.filter(s => s.native).length;
59
+ lines.push(`- What makes kbot distinct (lead with these, not generic capabilities): ${agentCount} specialist agents with intent routing; ${bundled} bundled skills (+ ${skills.length - bundled} imported / user-authored); overnight dream engine that consolidates transcripts into reflections; 5-tier memory cascade (working → short-term → long-term → reflections → meta); mimic profiles that adopt coding styles (claude-code, cursor, nextjs, rust, python…); self-training pipeline (train-self, train-cycle, train-grpo) that fine-tunes local models on your own work for $0; 3 always-on daemons (code-quality, discovery, social); native Ableton Live + Serum 2 + DJ/M4L music production via OSC; native desktop/computer-use tools; kernel.chat web companion (React 19 PWA).`);
60
+ lines.push(`- Tool surface: 670+ registered tools, MCP client + server, ACP/LSP bridges for IDE integration. This is the largest tool library of any open-source terminal agent.`);
61
+ lines.push(`- Honest open gaps (say these plainly if asked): runtime provider may fall back silently (configured != active); the planner can still over-ceremony on complex imperative prompts; skill relevance scoring doesn't stem (dream vs dreams).`);
62
+ }
63
+ catch {
64
+ // Manifest is best-effort — if introspection fails, skip it rather than crash
65
+ }
49
66
  // Machine
50
67
  try {
51
68
  const m = getMachineProfile();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kernel.chat/kbot",
3
- "version": "3.99.3",
3
+ "version": "3.99.5",
4
4
  "description": "Open-source terminal AI agent. 787+ tools, 35 agents, 20 providers. Dreams, learns, watches your system. Controls your phone. Fully local, fully sovereign. MIT.",
5
5
  "type": "module",
6
6
  "repository": {