diff --git a/scripts/defines.ts b/scripts/defines.ts index dc3abf4a5..8a0621213 100644 --- a/scripts/defines.ts +++ b/scripts/defines.ts @@ -6,9 +6,17 @@ * corresponding MACRO.* identifier at transpile / bundle time. */ export function getMacroDefines(): Record { + const { execSync } = require("child_process"); + let commit = "unknown"; + try { + commit = execSync("git rev-parse --short HEAD", { encoding: "utf-8", cwd: __dirname }).trim(); + } catch { + // ignore git errors + } return { "MACRO.VERSION": JSON.stringify("4.0.13"), "MACRO.BUILD_TIME": JSON.stringify(new Date().toISOString()), + "MACRO.COMMIT": JSON.stringify(commit), "MACRO.FEEDBACK_CHANNEL": JSON.stringify(""), "MACRO.ISSUES_EXPLAINER": JSON.stringify(""), "MACRO.NATIVE_PACKAGE_URL": JSON.stringify(""), diff --git a/src/entrypoints/cli.tsx b/src/entrypoints/cli.tsx index e22289bd6..0557bec51 100644 --- a/src/entrypoints/cli.tsx +++ b/src/entrypoints/cli.tsx @@ -8,6 +8,7 @@ if (typeof globalThis.MACRO === 'undefined') { ;(globalThis as any).MACRO = { VERSION: process.env.CLAUDE_CODE_VERSION || '2.1.888', BUILD_TIME: new Date().toISOString(), + COMMIT: 'dev', FEEDBACK_CHANNEL: '', ISSUES_EXPLAINER: '', NATIVE_PACKAGE_URL: '', @@ -85,8 +86,11 @@ async function main(): Promise { args.length === 1 && (args[0] === '--version' || args[0] === '-v' || args[0] === '-V') ) { - // MACRO.VERSION is inlined at build time - console.log(`${MACRO.VERSION} (csc)`) + // MACRO.VERSION / MACRO.COMMIT / MACRO.BUILD_TIME are inlined at build time + const d = new Date(MACRO.BUILD_TIME) + const p = (n: number) => String(n).padStart(2, '0') + const buildTime = `${d.getFullYear()}/${p(d.getMonth() + 1)}/${p(d.getDate())} ${p(d.getHours())}:${p(d.getMinutes())}:${p(d.getSeconds())}` + console.log(`${MACRO.VERSION} (commit: ${MACRO.COMMIT}, built: ${buildTime})`) return } diff --git a/src/services/rawDump/index.ts b/src/services/rawDump/index.ts index 635933ec2..71c956fff 100644 --- a/src/services/rawDump/index.ts +++ b/src/services/rawDump/index.ts @@ -9,9 +9,10 @@ import { spawnBatchWorker } from './spawn.js' let batchWorkerSpawned = false function isEnabled(): boolean { - if (process.env.CSC_DISABLE_RAW_DUMP === '1' || process.env.CSC_DISABLE_RAW_DUMP === 'true') return false - if (process.env.COSTRICT_DISABLE_RAW_DUMP === '1' || process.env.COSTRICT_DISABLE_RAW_DUMP === 'true') return false - return true + // 默认禁用 raw dump,除非显式设置为 0/false + if (process.env.CSC_DISABLE_RAW_DUMP === '0' || process.env.CSC_DISABLE_RAW_DUMP === 'false') return true + if (process.env.COSTRICT_DISABLE_RAW_DUMP === '0' || process.env.COSTRICT_DISABLE_RAW_DUMP === 'false') return true + return false } function ensureBatchWorker() { diff --git a/src/types/global.d.ts b/src/types/global.d.ts index df6cc7bd2..c18bf6ba6 100644 --- a/src/types/global.d.ts +++ b/src/types/global.d.ts @@ -9,6 +9,7 @@ declare namespace MACRO { export const VERSION: string export const BUILD_TIME: string + export const COMMIT: string export const FEEDBACK_CHANNEL: string export const ISSUES_EXPLAINER: string export const NATIVE_PACKAGE_URL: string