🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

knowmind

Package Overview
Dependencies
Maintainers
1
Versions
26
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

knowmind - npm Package Compare versions

Comparing version
0.3.1
to
0.3.2
+2
-2
bin/knowmind.js

@@ -77,4 +77,4 @@ #!/usr/bin/env node

knowmind als MCP-Server in eine IDE eintragen
(cursor, vscode, windsurf, antigravity, zed, jetbrains,
claude-code, claude-desktop, all). 'install list' zeigt alle.
(cursor, vscode, windsurf, antigravity, zed, jetbrains, gemini,
codex, claude-code, claude-desktop, all). 'install list' zeigt alle.

@@ -81,0 +81,0 @@ ENV-Override:

# Knowmind CLI — Änderungen
## 0.3.2 (2026-08-04)
**`knowmind install`: zwei neue Ziele, ein Befehl richtet alles ein**
- `knowmind install gemini` trägt knowmind in Googles Gemini CLI ein
(`~/.gemini/settings.json`).
- `knowmind install codex` trägt knowmind in die Codex CLI ein
(`~/.codex/config.toml`) — bestehende Einträge und fremde Server bleiben
unangetastet, der Befehl ist beliebig wiederholbar.
- Mit `--token` endet die Ausgabe jetzt mit „<Werkzeug> neu starten — fertig."
statt weiterer Hinweise: nach dem Befehl ist nichts mehr zu tun.
## 0.3.1 (2026-07-17)
- Unter Windows laufen alle Hintergrundaufrufe (Statusline-Ping, Config-Schutz)
jetzt ohne aufblitzende Konsolenfenster.
- Verbesserungen der Stabilität und allgemeine Fehlerbehebungen.
## 0.3.0 (2026-07-16)

@@ -4,0 +21,0 @@

{
"name": "knowmind",
"version": "0.3.1",
"version": "0.3.2",
"mcpName": "io.github.Schubeler-Consulting/knowmind",

@@ -5,0 +5,0 @@ "description": "Knowmind — das Agentengehirn aus Deutschland: CLI + MCP-Server (Langzeitgedächtnis & Wissensgraph für Ihre KI, Server in Deutschland).",

# knowmind
**Das Agentengehirn aus Deutschland.** Langzeitgedächtnis und Wissensgraph für Ihre KI —
CLI + MCP-Server. Inhalte und Server in Deutschland (Hetzner-Rechenzentrum).
**Ihr KI-Assistent kennt Ihr Unternehmen nicht.** Er beginnt jedes Gespräch bei null, und Sie
erklären ihm zum wiederholten Mal dieselben Zusammenhänge. knowmind ist das Gedächtnis darunter:
Was Sie einmal ablegen, steht in Claude, ChatGPT, Cursor und Ihren eigenen Anwendungen zur
Verfügung. Betrieben in Deutschland, im Rechenzentrum Nürnberg.
**Der Privat-Tarif kostet dauerhaft nichts und verlangt keine Zahlungsdaten.** Schnittstelle,
Kommandozeile und MCP-Server sind in jedem Tarif enthalten, auch dort.
<!-- mcp-name: io.github.Schubeler-Consulting/knowmind -->
[![npm](https://img.shields.io/npm/v/knowmind)](https://www.npmjs.com/package/knowmind) · Apache-2.0 · [knowmind.de](https://knowmind.de)
[![npm](https://img.shields.io/npm/v/knowmind)](https://www.npmjs.com/package/knowmind) · [knowmind.de](https://knowmind.de) · [Discord](https://discord.gg/nRguXx5hDQ) · dieses Paket unter Apache-2.0

@@ -18,5 +23,6 @@ ## Installation

## Setup
## Einrichtung
1. Token auf knowmind.de anlegen: Dashboard → API-Tokens
1. Kostenloses Konto auf [knowmind.de](https://knowmind.de) anlegen und dort einen Zugangsschlüssel
erzeugen: Dashboard → API-Tokens
2. Lokal speichern:

@@ -71,3 +77,3 @@

- **Claude Code** — projektlokale Hooks in `.claude/`:
- *UserPromptSubmit* → ruft vor jeder echten Frage `knowmind_recall` auf und reicht die
- *UserPromptSubmit* → ruft vor jeder inhaltlichen Frage `knowmind_recall` auf und reicht die
Top-Treffer als Kontext nach (Memory-First, automatisch).

@@ -171,3 +177,3 @@ - *Stop* → erinnert die KI daran, mit `knowmind_store_memory` zu sichern, wenn die Runde

knowmind ist das Agentengehirn aus Deutschland: Ihre Inhalte (Memories, Account- und Metadaten) werden
knowmind wird in Deutschland betrieben: Ihre Inhalte (Memories, Account- und Metadaten) werden
ausschließlich auf Servern in Deutschland (Hetzner-Rechenzentrum) gespeichert und verlassen Deutschland nicht.

@@ -174,0 +180,0 @@ Auftragsverarbeitung (AVV) nach Art. 28 DSGVO verfügbar: https://knowmind.de/legal/avv

@@ -84,2 +84,16 @@ // `knowmind install <ide>` — schreibt die MCP-Server-Konfiguration für knowmind

},
gemini: {
label: "Gemini CLI",
family: "mcpServers",
secret: "literal-only",
globalPath: () => home(".gemini", "settings.json"),
projectPath: (cwd) => join(cwd, ".gemini", "settings.json"),
},
codex: {
label: "Codex CLI",
family: "toml",
secret: "literal-only",
globalPath: () => home(".codex", "config.toml"),
projectPath: null,
},
"claude-code": {

@@ -141,2 +155,31 @@ label: "Claude Code",

// ── TOML (Codex CLI) ────────────────────────────────────────────────────────
// Codex liest ~/.codex/config.toml. Es gibt keinen TOML-Parser als Abhängigkeit
// und es soll keiner dazukommen — der knowmind-Block wird zeilenbasiert ersetzt:
// Abschnittskopf [mcp_servers.knowmind] (und Unterabschnitte) samt Folgezeilen
// bis zum nächsten Abschnittskopf entfernen, dann den frischen Block anhängen.
function tomlBlock(opts) {
const token = tokenRef("literal-only", opts.literalToken);
return [
"[mcp_servers.knowmind]",
`command = "${NPX}"`,
`args = [${NPX_ARGS.map((a) => `"${a}"`).join(", ")}]`,
"",
"[mcp_servers.knowmind.env]",
`KNOWMIND_TOKEN = "${token}"`,
`KNOWMIND_API_URL = "${opts.apiUrl}"`,
].join("\n");
}
function mergeToml(text, opts) {
// Erst Zeilenenden vereinheitlichen: `.` matcht kein \r, mit CRLF-Dateien
// bräche die Abschnitts-Entfernung sonst mitten im Block ab (Test 04.08.).
const quelltext = (text || "").replace(/\r\n/g, "\n");
// Kopfzeile + alle Folgezeilen, die keinen neuen Abschnitt beginnen.
const alt = /(^|\n)\[mcp_servers\.knowmind(\.[^\]]+)?\](?:\n(?!\[).*)*/g;
let neu = quelltext.replace(alt, "$1");
neu = neu.replace(/\n{3,}/g, "\n\n").trimEnd();
return (neu ? neu + "\n\n" : "") + tomlBlock(opts) + "\n";
}
function readJsonSafe(path) {

@@ -219,3 +262,3 @@ if (!existsSync(path)) return {};

console.log(`# ${ide.label} — Snippet (manuell einfügen):`);
console.log(JSON.stringify(snippet(ide, entryOpts), null, 2));
console.log(ide.family === "toml" ? tomlBlock(entryOpts) : JSON.stringify(snippet(ide, entryOpts), null, 2));
console.log("");

@@ -225,2 +268,26 @@ continue;

// TOML-Ziel (Codex): Text mergen statt JSON.
if (ide.family === "toml") {
const tomlPath = project ? (ide.projectPath && ide.projectPath(cwd)) : ide.globalPath();
if (!tomlPath) {
console.log(`# ${ide.label}: kein ${project ? "Projekt" : "globaler"}-Dateipfad — Snippet:`);
console.log(tomlBlock(entryOpts));
continue;
}
const alterText = existsSync(tomlPath) ? readFileSync(tomlPath, "utf-8") : "";
const neuerText = mergeToml(alterText, entryOpts);
if (dryRun) {
console.log(`# ${ide.label} — DRY RUN → ${tomlPath}`);
console.log(neuerText);
continue;
}
mkdirSync(dirname(tomlPath), { recursive: true });
writeFileSync(tomlPath, neuerText, "utf-8");
console.log(`✓ ${ide.label}: knowmind eingetragen in ${tomlPath}`);
if (!literalToken) {
console.log(` → Platzhalter gesetzt: KNOWMIND_TOKEN in ${tomlPath} durch dein Token ersetzen.`);
}
continue;
}
const path = project ? (ide.projectPath && ide.projectPath(cwd)) : (ide.globalPath && ide.globalPath());

@@ -251,3 +318,5 @@ if (!path) {

console.log(`✓ ${ide.label}: knowmind eingetragen in ${path}`);
if (ide.secret === "env") {
if (literalToken) {
console.log(` → ${ide.label} neu starten — fertig.`);
} else if (ide.secret === "env") {
console.log(` → setze KNOWMIND_TOKEN in deiner Umgebung (oder nutze --token).`);

@@ -254,0 +323,0 @@ } else if (ide.secret === "literal-only" && !literalToken) {