/** * Shared MACRO define map used by both dev.ts (runtime -d flags) * and build.ts (Bun.build define option). * * Each value is a JSON-stringified expression that replaces the * corresponding MACRO.* identifier at transpile / bundle time. */ export function getMacroDefines(): Record { return { 'MACRO.VERSION': JSON.stringify('2.1.888'), 'MACRO.BUILD_TIME': JSON.stringify(new Date().toISOString()), 'MACRO.FEEDBACK_CHANNEL': JSON.stringify(''), 'MACRO.ISSUES_EXPLAINER': JSON.stringify(''), 'MACRO.NATIVE_PACKAGE_URL': JSON.stringify(''), 'MACRO.PACKAGE_URL': JSON.stringify(''), 'MACRO.VERSION_CHANGELOG': JSON.stringify(''), } } /** * Default feature flags enabled in both Bun.build and Vite builds. * Additional features can be enabled via FEATURE_=1 env vars. * * Used by: * - build.ts (Bun.build) * - scripts/vite-plugin-feature-flags.ts (Vite/Rollup) * - scripts/dev.ts (bun run dev) */ export const DEFAULT_BUILD_FEATURES = [ 'BUDDY', // 陪伴宠物角色(Squirtle Waddles) 'TRANSCRIPT_CLASSIFIER', // 对话分类器,用于标注会话类型 'BRIDGE_MODE', // Remote Control / Bridge 模式,远程控制会话 'AGENT_TRIGGERS_REMOTE', // sessionIngress 模块级 Map 累积(非 GB 级主因) 'CHICAGO_MCP', // Chicago MCP 集成(内部代号) 'VOICE_MODE', // Push-to-Talk 语音输入模式 'SHOT_STATS', // 单次请求统计信息收集 'PROMPT_CACHE_BREAK_DETECTION', // 检测 prompt cache 是否被打破(有 10 条上限,可控) 'TOKEN_BUDGET', // Token 预算管理与控制 // P0: local features 'AGENT_TRIGGERS', // 本地 Agent 触发器(工具调用时启动子代理) 'ULTRATHINK', // 超深度思考模式,增加推理链长度 'BUILTIN_EXPLORE_PLAN_AGENTS', // 内置 Explore/Plan 子代理类型 'LODESTONE', // 上下文锚点,优化长对话的相关性检索 'EXTRACT_MEMORIES', // 每次 turn 结束 fork 完整消息历史(非 GB 级主因) 'VERIFICATION_AGENT', // 任务完成后 fork 完整消息(非 GB 级主因) 'KAIROS_BRIEF', // Kairos 定时摘要(定时汇报当前状态) 'AWAY_SUMMARY', // 离线摘要(用户离开后生成总结) 'ULTRAPLAN', // 超级规划模式,深度分析后生成实施计划 'DAEMON', // 守护进程模式,长驻 supervisor 管理后台 worker(非 GB 级主因) 'ACP', // ACP 代理协议,支持外部 agent 接入 'WORKFLOW_SCRIPTS', // 工作流脚本(.claude/workflows/ 中的 YAML/MD) // 'HISTORY_SNIP', // 历史消息裁剪,压缩上下文窗口 // 'CONTEXT_COLLAPSE', // 已禁用:实现是空壳 stub,启用后会抑制 auto compact 导致上下文管理完全失效 'MONITOR_TOOL', // Monitor 工具,流式监控后台进程输出 // 'FORK_SUBAGENT', // 已禁用:显式 `fork: true` 参数触发 fork 路径(继承父级上下文和模型),不影响 forceAsync 和探索任务模型选择 // 'UDS_INBOX', // inbox 数组只增不减(非 GB 级主因) 'KAIROS', // Kairos 定时任务系统核心 // 'COORDINATOR_MODE', // 已禁用:AgentSummary 30s fork 循环,GB 级泄露主因 // 'LAN_PIPES', // 依赖 UDS_INBOX(已随 UDS_INBOX 恢复) 'BG_SESSIONS', // 后台会话管理(ps/logs/attach/kill) 'TEMPLATES', // 模板任务(new/list/reply 子命令) // 'REVIEW_ARTIFACT', // 代码审查产物(API 请求无响应,待排查 schema 兼容性) // API content block types 'CONNECTOR_TEXT', // Connector 文本块类型,扩展 API 内容格式 // Attribution tracking 'COMMIT_ATTRIBUTION', // Git 提交归属追踪(记录 AI 辅助贡献) // Server mode (claude server / claude open) 'DIRECT_CONNECT', // 直连模式(claude server / claude open) // Skill search & learning — feature flags compiled in (so the slash // commands /skill-* etc. exist), but the runtime "enabled" toggle // defaults to OFF (see featureCheck.ts). Operators turn on via the // slash-command toggle or env vars (SKILL_SEARCH_ENABLED=1, // SKILL_LEARNING_ENABLED=1). Rationale: bounded caches added on // this branch (see docs/agent/sur-skill-overflow-bugs.md) close the // overflow risk, but Haiku-on-first-Chinese-query and disk-side // observation accumulation remain operator-discretion concerns. // 'EXPERIMENTAL_SKILL_SEARCH', // 'SKILL_LEARNING', // P3: poor mode 'POOR', // 穷鬼模式,跳过 extract_memories/prompt_suggestion 减少消耗 // Team Memory // 'TEAMMEM', // 已禁用:依赖 COORDINATOR_MODE,邮箱文件无限增长 // SSH Remote 'SSH_REMOTE', // SSH 远程连接,本地 REPL + 远端工具执行 ] as const