0xkobold 0.3.0 → 0.3.1

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/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "0xkobold",
3
- "version": "0.3.0",
3
+ "version": "0.3.1",
4
4
  "description": "Your digital familiar - a personal AI assistant that learns and evolves (v0.3.0 - Multi-Channel, Security, Media Support)",
5
5
  "main": "dist/src/index.js",
6
6
  "types": "dist/src/index.d.ts",
@@ -31,7 +31,13 @@
31
31
  "prepublishOnly": "bun run build",
32
32
  "postinstall": "node scripts/postinstall.js || echo 'Welcome to 0xKobold! Run: 0xkobold setup'"
33
33
  },
34
- "keywords": ["ai", "assistant", "cli", "agent", "kobold"],
34
+ "keywords": [
35
+ "ai",
36
+ "assistant",
37
+ "cli",
38
+ "agent",
39
+ "kobold"
40
+ ],
35
41
  "author": "0xKobold Team",
36
42
  "license": "MIT",
37
43
  "dependencies": {
@@ -1,18 +1,59 @@
1
+ /**
2
+ * 0xKobold Init Command
3
+ *
4
+ * Sets up the workspace with Kobold identity and Ollama Cloud defaults.
5
+ * No immediate API key required - works out of the box.
6
+ */
1
7
  import { Command } from "commander";
2
8
  import { mkdir, writeFile } from "node:fs/promises";
3
9
  import { existsSync } from "node:fs";
4
10
  import { join } from "node:path";
5
11
  import { homedir } from "node:os";
6
12
  import { Database } from "bun:sqlite";
7
- // Global config in home directory
8
13
  const GLOBAL_KOBOLD_DIR = join(homedir(), ".0xkobold");
9
14
  const GLOBAL_DB_PATH = join(GLOBAL_KOBOLD_DIR, "kobold.db");
10
15
  const GLOBAL_CONFIG_PATH = join(GLOBAL_KOBOLD_DIR, "config.json");
11
16
  const GLOBAL_MEMORY_PATH = join(GLOBAL_KOBOLD_DIR, "MEMORY.md");
12
- // Local workspace in project directory
13
17
  const LOCAL_KOBOLD_DIR = ".0xkobold";
14
18
  const LOCAL_DB_PATH = join(LOCAL_KOBOLD_DIR, "workspace.db");
15
19
  const LOCAL_MEMORY_PATH = join(LOCAL_KOBOLD_DIR, "MEMORY.md");
20
+ // 0xKobold Persona - Loaded into system prompt
21
+ const KOBOLD_PERSONA = `# 0xKobold Identity
22
+
23
+ ## Name
24
+ 0xKobold ("Kobold")
25
+
26
+ ## Role
27
+ AI coding assistant with a focus on modern TypeScript/Bun development.
28
+
29
+ ## Personality
30
+ - Helpful and direct
31
+ - Slightly mischievous (it's in the name)
32
+ - Values clean code and efficiency
33
+ - Prefers working solutions over perfect ones
34
+
35
+ ## Capabilities
36
+ - File operations with safety checks
37
+ - Shell command execution (with blocks)
38
+ - Multi-channel communication (Telegram, Slack, WhatsApp)
39
+ - Docker sandboxing for safe execution
40
+ - Semantic memory with SQLite
41
+ - Agent spawning for parallel tasks
42
+ - Gateway server for remote access
43
+
44
+ ## Default Behavior
45
+ - LLM: Ollama Cloud (Kimi K2.5)
46
+ - Mode: build (unless investigating)
47
+ - Auto-compact on context overflow
48
+ - Proactive duplicate detection
49
+
50
+ ## Style
51
+ - Concise responses for simple tasks
52
+ - Detailed breakdowns for complex ones
53
+ - Code blocks with language tags
54
+ - Error handling with actionable fixes
55
+ `;
56
+ // User memory template
16
57
  const MEMORY_TEMPLATE = `# 0xKobold Memory
17
58
 
18
59
  ## User Profile
@@ -32,40 +73,71 @@ const MEMORY_TEMPLATE = `# 0xKobold Memory
32
73
 
33
74
  ## Notes
34
75
  `;
35
- // Dynamically get version from package.json
36
- const packageJson = await Bun.file(new URL("../../../package.json", import.meta.url)).json();
76
+ // Default config - Ollama Cloud ready
37
77
  const DEFAULT_CONFIG = {
38
- version: packageJson.version || "1.0.0",
39
- daemon: {
40
- port: 3456,
41
- host: "localhost",
42
- logLevel: "info"
43
- },
44
- agents: {
45
- default: "assistant",
46
- maxConcurrent: 5
78
+ version: "0.3.0",
79
+ llm: {
80
+ // Ollama Cloud - default, no API key needed for public models
81
+ defaultProvider: "ollama-cloud",
82
+ providers: {
83
+ "ollama-cloud": {
84
+ enabled: true,
85
+ // Kimi K2.5 via Ollama Cloud - great for coding
86
+ model: "kimi-k2.5:cloud",
87
+ baseUrl: "https://api.ollama.com",
88
+ // Set CLOUD_API_KEY env var for paid models
89
+ // Free tier works without key
90
+ },
91
+ // Optional - add your own
92
+ claude: {
93
+ enabled: false,
94
+ model: "claude-3-sonnet-20240229",
95
+ // Set ANTHROPIC_API_KEY env var
96
+ },
97
+ openai: {
98
+ enabled: false,
99
+ model: "gpt-4",
100
+ // Set OPENAI_API_KEY env var
101
+ }
102
+ }
47
103
  },
48
- memory: {
49
- maxConversations: 1000,
50
- retentionDays: 90
104
+ features: {
105
+ gateway: {
106
+ enabled: true,
107
+ port: 18789,
108
+ host: "0.0.0.0"
109
+ },
110
+ sandbox: {
111
+ enabled: true,
112
+ docker: true
113
+ },
114
+ channels: {
115
+ telegram: false,
116
+ slack: false,
117
+ whatsapp: false
118
+ },
119
+ memory: {
120
+ enabled: true,
121
+ semanticSearch: true
122
+ }
51
123
  },
52
- llm: {
53
- provider: "ollama",
54
- model: "kimi-k2.5:cloud",
55
- maxTokens: 2000,
56
- temperature: 0.7
124
+ agent: {
125
+ defaultMode: "build",
126
+ maxConcurrency: 5,
127
+ autoCompact: true
57
128
  }
58
129
  };
59
130
  export const initCommand = new Command("init")
60
- .description("Initialize 0xKobold workspace")
131
+ .description("Initialize 0xKobold workspace with Kobold identity")
61
132
  .option("-f, --force", "Overwrite existing files")
62
133
  .action(async (options) => {
63
134
  try {
64
- console.log("🐲 Initializing 0xKobold...");
65
- // Initialize global config in home directory
135
+ console.log("🐲 0xKobold Initializing...\n");
136
+ // Create global directory
66
137
  if (!existsSync(GLOBAL_KOBOLD_DIR) || options.force) {
67
138
  await mkdir(GLOBAL_KOBOLD_DIR, { recursive: true });
68
- console.log(`✓ Created global directory: ${GLOBAL_KOBOLD_DIR}`);
139
+ console.log(`✓ Created: ${GLOBAL_KOBOLD_DIR}`);
140
+ // Initialize SQLite database
69
141
  const db = new Database(GLOBAL_DB_PATH);
70
142
  db.exec(`
71
143
  CREATE TABLE IF NOT EXISTS conversations (
@@ -76,25 +148,8 @@ export const initCommand = new Command("init")
76
148
  timestamp DATETIME DEFAULT CURRENT_TIMESTAMP,
77
149
  metadata TEXT
78
150
  );
79
-
80
- CREATE TABLE IF NOT EXISTS agents (
81
- id TEXT PRIMARY KEY,
82
- name TEXT NOT NULL,
83
- type TEXT NOT NULL,
84
- config TEXT NOT NULL,
85
- created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
86
- last_active DATETIME
87
- );
88
-
89
- CREATE TABLE IF NOT EXISTS sessions (
90
- id TEXT PRIMARY KEY,
91
- agent_id TEXT,
92
- started_at DATETIME DEFAULT CURRENT_TIMESTAMP,
93
- ended_at DATETIME,
94
- context TEXT,
95
- FOREIGN KEY (agent_id) REFERENCES agents(id)
96
- );
97
-
151
+ CREATE INDEX IF NOT EXISTS idx_conversations_session ON conversations(session_id);
152
+
98
153
  CREATE TABLE IF NOT EXISTS memory (
99
154
  id INTEGER PRIMARY KEY AUTOINCREMENT,
100
155
  key TEXT UNIQUE NOT NULL,
@@ -102,26 +157,37 @@ export const initCommand = new Command("init")
102
157
  category TEXT,
103
158
  updated_at DATETIME DEFAULT CURRENT_TIMESTAMP
104
159
  );
105
-
106
- CREATE INDEX IF NOT EXISTS idx_conversations_session ON conversations(session_id);
107
160
  CREATE INDEX IF NOT EXISTS idx_memory_key ON memory(key);
108
- CREATE INDEX IF NOT EXISTS idx_agents_type ON agents(type);
161
+
162
+ CREATE TABLE IF NOT EXISTS agents (
163
+ id TEXT PRIMARY KEY,
164
+ name TEXT NOT NULL,
165
+ type TEXT NOT NULL,
166
+ config TEXT NOT NULL,
167
+ created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
168
+ last_active DATETIME
169
+ );
109
170
  `);
110
171
  db.close();
111
- console.log("✓ Global database initialized");
172
+ console.log("✓ Database initialized");
173
+ // Create Kobold persona
174
+ await writeFile(join(GLOBAL_KOBOLD_DIR, "persona.md"), KOBOLD_PERSONA, "utf-8");
175
+ console.log("✓ Kobold persona created");
176
+ // Create user memory template
112
177
  const memoryContent = MEMORY_TEMPLATE.replace("{{timestamp}}", new Date().toISOString());
113
178
  await writeFile(GLOBAL_MEMORY_PATH, memoryContent, "utf-8");
114
- console.log("✓ Created global MEMORY.md");
179
+ console.log("✓ Memory template created");
180
+ // Write config
115
181
  await writeFile(GLOBAL_CONFIG_PATH, JSON.stringify(DEFAULT_CONFIG, null, 2), "utf-8");
116
- console.log("✓ Generated global config");
182
+ console.log("✓ Config created (Ollama Cloud default)");
117
183
  }
118
184
  else {
119
- console.log(`ℹ️ Global config exists at: ${GLOBAL_KOBOLD_DIR}`);
185
+ console.log(`ℹ️ Config exists: ${GLOBAL_KOBOLD_DIR}`);
120
186
  }
121
- // Initialize local workspace in project directory
187
+ // Local workspace
122
188
  if (!existsSync(LOCAL_KOBOLD_DIR) || options.force) {
123
189
  await mkdir(LOCAL_KOBOLD_DIR, { recursive: true });
124
- console.log(`✓ Created local workspace: ${LOCAL_KOBOLD_DIR}`);
190
+ console.log(`✓ Workspace: ${LOCAL_KOBOLD_DIR}`);
125
191
  const localDb = new Database(LOCAL_DB_PATH);
126
192
  localDb.exec(`
127
193
  CREATE TABLE IF NOT EXISTS project_context (
@@ -131,13 +197,6 @@ export const initCommand = new Command("init")
131
197
  updated_at DATETIME DEFAULT CURRENT_TIMESTAMP
132
198
  );
133
199
 
134
- CREATE TABLE IF NOT EXISTS file_index (
135
- id INTEGER PRIMARY KEY,
136
- path TEXT UNIQUE NOT NULL,
137
- content_hash TEXT NOT NULL,
138
- last_indexed DATETIME DEFAULT CURRENT_TIMESTAMP
139
- );
140
-
141
200
  CREATE TABLE IF NOT EXISTS allowed_projects (
142
201
  id INTEGER PRIMARY KEY,
143
202
  path TEXT UNIQUE NOT NULL,
@@ -146,29 +205,25 @@ export const initCommand = new Command("init")
146
205
  );
147
206
  `);
148
207
  localDb.close();
149
- console.log("✓ Local workspace database initialized");
208
+ console.log("✓ Workspace DB initialized");
150
209
  await writeFile(LOCAL_MEMORY_PATH, MEMORY_TEMPLATE, "utf-8");
151
- console.log("✓ Created local MEMORY.md");
152
- }
153
- else {
154
- console.log(`ℹ️ Local workspace exists at: ${LOCAL_KOBOLD_DIR}`);
155
210
  }
156
- console.log("\n🎉 0xKobold initialized successfully!");
157
- console.log(`\n Global Config: ${GLOBAL_CONFIG_PATH}`);
158
- console.log(` Global DB: ${GLOBAL_DB_PATH}`);
159
- console.log(` Global Memory: ${GLOBAL_MEMORY_PATH}`);
160
- console.log(`\n Local Workspace: ${LOCAL_KOBOLD_DIR}`);
161
- console.log(` Local DB: ${LOCAL_DB_PATH}`);
162
- console.log("\nNext steps:");
163
- console.log(" 1. Edit ~/.0xkobold/config.json with your settings");
164
- console.log(" 2. Run '0xkobold daemon start' to start the daemon");
165
- console.log(" 3. Run '0xkobold chat \"Hello\"' to start chatting");
166
- console.log("\nNote: The agent works in the .0xkobold directory to avoid touching");
167
- console.log(" files outside allowed projects. Add projects to the whitelist");
168
- console.log(" to work with them.");
211
+ console.log("\n🎉 0xKobold is ready!");
212
+ console.log("\n📁 Locations:");
213
+ console.log(` Config: ${GLOBAL_CONFIG_PATH}`);
214
+ console.log(` Data: ${GLOBAL_DB_PATH}`);
215
+ console.log(` Persona: ${GLOBAL_KOBOLD_DIR}/persona.md`);
216
+ console.log(`\n\n🚀 Quick Start:`);
217
+ console.log(" 0xkobold chat # Start chatting");
218
+ console.log(" 0xkobold gateway start # Start web gateway");
219
+ console.log(" 0xkobold daemon # Start background daemon");
220
+ console.log("\n🔧 To add API keys for paid models:");
221
+ console.log(" export CLOUD_API_KEY=your_key");
222
+ console.log(" # Or edit ~/.0xkobold/config.json");
223
+ console.log("\nℹ️ Default: Ollama Cloud (free models work without key)");
169
224
  }
170
225
  catch (error) {
171
- console.error("❌ Initialization failed:", error);
226
+ console.error("❌ Init failed:", error);
172
227
  process.exit(1);
173
228
  }
174
229
  });
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../../src/cli/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../../src/cli/commands/init.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ import { createLogsCommand } from "./commands/logs.js";
13
13
  // System commands
14
14
  import { createSystemCommand } from "./commands/system.js";
15
15
  import { setupCommand } from "./commands/setup.js";
16
+ import { initCommand } from "./commands/init.js";
16
17
  // Extension CLI registrations
17
18
  import { registerDiscordCli } from "./extensions/discord.js";
18
19
  import { registerHeartbeatCli } from "./extensions/heartbeat.js";
@@ -44,6 +45,7 @@ export function createCli() {
44
45
  // System management
45
46
  program.addCommand(createSystemCommand());
46
47
  program.addCommand(setupCommand);
48
+ program.addCommand(initCommand);
47
49
  // v0.2.0: Gateway server
48
50
  program.addCommand(createGatewayCommand());
49
51
  // v0.3.0: WhatsApp integration
@@ -1 +1 @@
1
- {"version":3,"file":"program.js","sourceRoot":"","sources":["../../../src/cli/program.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"program.js","sourceRoot":"","sources":["../../../src/cli/program.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "0xkobold",
3
- "version": "0.3.0",
3
+ "version": "0.3.1",
4
4
  "description": "Your digital familiar - a personal AI assistant that learns and evolves (v0.3.0 - Multi-Channel, Security, Media Support)",
5
5
  "main": "dist/src/index.js",
6
6
  "types": "dist/src/index.d.ts",
@@ -31,7 +31,13 @@
31
31
  "prepublishOnly": "bun run build",
32
32
  "postinstall": "node scripts/postinstall.js || echo 'Welcome to 0xKobold! Run: 0xkobold setup'"
33
33
  },
34
- "keywords": ["ai", "assistant", "cli", "agent", "kobold"],
34
+ "keywords": [
35
+ "ai",
36
+ "assistant",
37
+ "cli",
38
+ "agent",
39
+ "kobold"
40
+ ],
35
41
  "author": "0xKobold Team",
36
42
  "license": "MIT",
37
43
  "dependencies": {