feat: codebuddy-mem v13.0.0 - 基于 claude-mem 12.6.0 AGPL-3.0 分叉

- 全局重命名 claude-mem → codebuddy-mem
- AI 后端改为 DeepSeek V4 直连
- 适配 CodeBuddy Code 作为 MCP 客户端
- 修复 GS 函数 timeoutMs bug
- 新增 README / CHANGELOG / UPSTREAM / install.sh
- 协议:AGPL-3.0
This commit is contained in:
Mac
2026-05-05 01:52:14 +08:00
commit 6c8d178f5d
77 changed files with 9950 additions and 0 deletions

40
scripts/statusline-counts.js Executable file
View File

@@ -0,0 +1,40 @@
#!/usr/bin/env bun
import { Database } from "bun:sqlite";
import { existsSync, readFileSync } from "fs";
import { homedir } from "os";
import { join, basename } from "path";
const cwd = process.argv[2] || process.env.CLAUDE_CWD || process.cwd();
const project = basename(cwd);
try {
let dataDir = process.env.CLAUDE_MEM_DATA_DIR || join(homedir(), ".claude-mem");
if (!process.env.CLAUDE_MEM_DATA_DIR) {
const settingsPath = join(dataDir, "settings.json");
if (existsSync(settingsPath)) {
try {
const settings = JSON.parse(readFileSync(settingsPath, "utf-8"));
if (settings.CLAUDE_MEM_DATA_DIR) dataDir = settings.CLAUDE_MEM_DATA_DIR;
} catch { /* use default */ }
}
}
const dbPath = join(dataDir, "claude-mem.db");
if (!existsSync(dbPath)) {
console.log(JSON.stringify({ observations: 0, prompts: 0, project }));
process.exit(0);
}
const db = new Database(dbPath, { readonly: true });
const obs = db.query("SELECT COUNT(*) as c FROM observations WHERE project = ?").get(project);
const prompts = db.query(
`SELECT COUNT(*) as c FROM user_prompts up
JOIN sdk_sessions s ON s.content_session_id = up.content_session_id
WHERE s.project = ?`
).get(project);
console.log(JSON.stringify({ observations: obs.c, prompts: prompts.c, project }));
db.close();
} catch (e) {
console.log(JSON.stringify({ observations: 0, prompts: 0, project, error: e.message }));
}