@legna-lnc/legnacode 1.2.0 → 1.2.2

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/CHANGELOG.md CHANGED
@@ -1,287 +1,313 @@
1
- # Changelog
2
-
3
- All notable changes to LegnaCode CLI will be documented in this file.
4
-
5
- ## [1.2.0] - 2026-04-03
6
-
7
- ### New Features
8
-
9
- - **会话按项目分组**WebUI 会话记录面板按项目路径分组显示
10
- - **resume 命令带 cd**复制的 resume 命令自动包含 `cd` 到项目目录(Windows 用 `cd /d`)
11
- - **迁移支持会话记录** 配置迁移面板新增"同时迁移会话记录"选项,复制 `projects/` 目录
12
- - **Windows 原生编译** Windows 二进制改为在 Windows 上原生编译
13
-
14
- ### Fixed
15
-
16
- - 迁移面板字段名修正为实际 settings.json 字段
17
-
18
- ## [1.1.10] - 2026-04-03
19
-
20
- ### Fixed
21
-
22
- - **Windows 编译脚本修复** `scripts/compile.ts` Windows 上正确处理 `.exe` 后缀,修复编译后找不到输出文件的问题
23
- - **Windows 原生二进制重新编译发布** — 使用 Windows 本机 Bun 编译原生 `legna.exe`,替代之前交叉编译的版本
24
-
25
- ## [1.1.9] - 2026-04-03
26
-
27
- ### Fixed
28
-
29
- - **postinstall 自动安装平台包** — 新增 `npm/postinstall.cjs`,`npm install` 阶段自动检测并从官方 registry 安装对应平台二进制包,彻底解决 Windows/镜像源下 optionalDependencies 不生效的问题
30
- - **强制官方 registry** — postinstall 使用 `--registry https://registry.npmjs.org` 避免淘宝镜像等未同步导致 404
31
- - **bin wrapper 精简** — 移除运行时 auto-install 逻辑,改由 postinstall 保证
32
-
33
- ## [1.1.8] - 2026-04-03
34
-
35
- ### Fixed
36
-
37
- - **Windows npm 全局安装平台包缺失** bin wrapper 检测到平台包未安装时自动执行 `npm install -g` 安装对应平台包,不再需要用户手动操作
38
- - **bin wrapper 路径查找优化** 修正全局 node_modules 扁平布局下 scope 目录的路径拼接
39
-
40
- ## [1.1.7] - 2026-04-03
41
-
42
- ### Fixed
43
-
44
- - **彻底修复 Windows external module 报错** — 清空编译 external 列表,所有 stubs 模块(`@ant/*`、`@anthropic-ai/*`、native napi)全部打包进二进制,不再依赖运行时外部模块
45
-
46
- ## [1.1.6] - 2026-04-03
47
-
48
- ### Fixed
49
-
50
- - **Windows external module 报错** — 从编译 external 列表移除 `@anthropic-ai/sandbox-runtime`、`@anthropic-ai/mcpb`、`@anthropic-ai/claude-agent-sdk`、`audio-capture-napi`、`color-diff-napi`、`modifiers-napi`,让 stubs 代码直接打包进二进制,Windows 不再报 `Cannot find module`
51
- - **bin wrapper 多路径查找** — `npm/bin/legna.cjs` 增加全局 node_modules 扁平路径和嵌套路径 fallback,提升跨平台 npm 全局安装兼容性
52
- - **版本号自动化** — 新增 `scripts/bump.ts` 一键同步 package.json、bunfig.toml、webui/package.json、optionalDependencies 版本号
53
- - **发版流程自动化** — 重写 `scripts/publish.ts`,一键完成 bump → build webui → compile all → publish npm
54
-
55
- ## [1.1.5] - 2026-04-03
56
-
57
- ### New Features
58
-
59
- - **WebUI 管理面板** — `legna admin` 启动浏览器管理面板(HTTP server + React SPA,默认端口 3456),可视化管理 `~/.claude/` 和 `~/.legna/` 两个配置目录
60
- - **配置编辑** — 在浏览器中编辑 API 端点、API Key、模型映射(Opus/Sonnet/Haiku)、超时、权限模式、语言等所有 settings.json 字段
61
- - **配置文件切换** — 列出 settings*.json,显示 baseUrl/model,一键交换激活
62
- - **会话记录浏览** — 解析 projects 目录下所有 session jsonl 文件,显示项目路径、slug、时间、prompt 数量,复制 resume 命令
63
- - **配置迁移**Claude LegnaCode 双向迁移,支持全量或选择性字段迁移(env/model/permissions 等),迁移前预览 diff
64
- - **npm 全平台发布**bin wrapper (.cjs)、compile-all 跨平台编译(darwin/linux/win32)、publish 脚本
65
- - **OAuth 禁用** — `isAnthropicAuthEnabled()` 返回 false,移除 OAuth 登录流程
66
-
67
- ### Fixed (1.1.1 ~ 1.1.5)
68
-
69
- - bin wrapper 改为 `.cjs` 修复 ESM `require` 报错
70
- - `optionalDependencies` 平台包版本对齐
71
- - 退出 admin server 时清屏恢复终端
72
- - WebUI 前端内联到二进制,不再依赖外部 `webui/dist/`
73
- - 所有包版本统一为 1.1.5
74
-
75
- ### Architecture
76
-
77
- - 后端:`src/server/admin.ts` Bun.serve REST API,SPA 内联为字符串常量
78
- - 前端:`webui/`React 18 + Vite + Tailwind SPA,Tab 切换 scope
79
- - 内联:`scripts/inline-webui.ts``src/server/admin-ui-html.ts`
80
- - CLI:`src/entrypoints/cli.tsx` — `admin` fast-path,零额外模块加载
81
-
82
- ## [1.0.9] - 2026-04-03
83
-
84
- ### New Features
85
-
86
- - **i18n 多语言补全** 补全 9 个文件约 100 处遗漏的硬编码英文字符串,覆盖 Spinner、队友树、pill 标签、快捷键提示、Tips 等全部 UI 区域
87
- - **内置精美状态栏**无需配置外部脚本,默认显示目录、Git 分支/同步状态、模型名(智能解析为友好名)、彩色上下文进度条、时间;跨平台兼容 Win/Mac/Linux
88
- - **配置自动迁移**启动时自动将 `~/.claude/settings.json` 同步到 `~/.legna/settings.json`;两边不一致时打印警告不覆盖;`LEGNA_NO_CONFIG_SYNC=1` 禁止迁移
89
-
90
- ### Changed
91
-
92
- - `~/.legna/` 为首选配置目录,`~/.claude/` 作为兼容回退
93
- - 状态栏模型名自动解析:`Claude-Opus-4-6-Agentic[1m]` `Opus 4.6`
94
- - `KeyboardShortcutHint` 组件中 "to" 连接词已国际化(中文显示为 "→")
95
-
96
- ### Files Changed
97
-
98
- | 文件 | 改动 |
99
- |------|------|
100
- | `src/utils/i18n/zh.ts` | +50 条翻译条目 |
101
- | `src/components/Spinner.tsx` | 7 处 i18n |
102
- | `src/components/PromptInput/PromptInputFooterLeftSide.tsx` | 4 处 i18n |
103
- | `src/components/design-system/KeyboardShortcutHint.tsx` | "to" 国际化 |
104
- | `src/components/Spinner/teammateSelectHint.ts` | i18n |
105
- | `src/components/Spinner/TeammateSpinnerTree.tsx` | 6 处 i18n |
106
- | `src/components/Spinner/TeammateSpinnerLine.tsx` | 7 处 i18n |
107
- | `src/tasks/pillLabel.ts` | 全部 pill 标签 i18n |
108
- | `src/services/tips/tipRegistry.ts` | 25 条 tips i18n |
109
- | `src/utils/builtinStatusLine.ts` | 新增:内置状态栏渲染器 |
110
- | `src/components/StatusLine.tsx` | 集成内置状态栏 |
111
- | `src/utils/envUtils.ts` | 配置自动迁移逻辑 |
112
-
113
- ## [1.0.8] - 2026-04-02
114
-
115
- ### New Features
116
-
117
- - **MONITOR_TOOL** — MCP 服务器健康监控工具,支持 start/stop/status 操作,后台定期 ping 检测连接状态
118
- - **WORKFLOW_SCRIPTS** — 工作流自动化系统,读取 `.claude/workflows/*.md` 执行多步骤工作流,`/workflows` 命令列出可用工作流
119
- - **HISTORY_SNIP** 会话历史裁剪,模型可主动调用 SnipTool 移除旧消息释放上下文,`/force-snip` 强制裁剪,UI 保留完整历史而模型视图过滤
120
-
121
- ### Infrastructure
122
-
123
- - 新增 `src/tools/MonitorTool/MonitorTool.ts` — MCP 监控工具(buildTool 构建)
124
- - 新增 `src/tasks/MonitorMcpTask/MonitorMcpTask.ts` 监控后台任务生命周期管理
125
- - 新增 `src/components/permissions/MonitorPermissionRequest/` — 监控权限 UI
126
- - 新增 `src/components/tasks/MonitorMcpDetailDialog.tsx` 监控任务详情对话框
127
- - 新增 `src/tools/WorkflowTool/WorkflowTool.ts` 工作流执行工具
128
- - 新增 `src/tools/WorkflowTool/createWorkflowCommand.ts` 工作流命令扫描与注册
129
- - 新增 `src/tools/WorkflowTool/bundled/index.ts` 内置工作流注册入口
130
- - 新增 `src/tools/WorkflowTool/WorkflowPermissionRequest.tsx` 工作流权限 UI
131
- - 新增 `src/commands/workflows/` `/workflows` 斜杠命令
132
- - 新增 `src/tasks/LocalWorkflowTask/LocalWorkflowTask.ts` 工作流后台任务(kill/skip/retry)
133
- - 新增 `src/components/tasks/WorkflowDetailDialog.tsx` 工作流详情对话框
134
- - 新增 `src/services/compact/snipCompact.ts` 裁剪触发逻辑(重写 stub)
135
- - 新增 `src/services/compact/snipProjection.ts` 模型视图消息过滤
136
- - 新增 `src/tools/SnipTool/SnipTool.ts` 模型调用的裁剪工具
137
- - 新增 `src/tools/SnipTool/prompt.ts` SnipTool 常量与 prompt
138
- - 新增 `src/commands/force-snip.ts` — `/force-snip` 斜杠命令
139
- - 新增 `src/components/messages/SnipBoundaryMessage.tsx` 裁剪边界 UI 组件
140
- - 3 个 feature flags 翻转:MONITOR_TOOL、WORKFLOW_SCRIPTS、HISTORY_SNIP
141
- - 累计已开启 47/87 个 feature flags
142
-
143
- ## [1.0.7] - 2026-04-02
144
-
145
- ### New Features
146
-
147
- - **TERMINAL_PANEL** — `Alt+J` 切换内置终端面板(tmux 持久化),TerminalCapture 工具可读取终端内容
148
- - **WEB_BROWSER_TOOL** — 内置 Web 浏览工具,fetch 抓取网页内容并提取文本
149
- - **TEMPLATES** — 结构化工作流模板系统,`legna new/list/reply` CLI 命令,job 状态追踪
150
- - **BG_SESSIONS** — 后台会话管理,`legna ps/logs/attach/kill/--bg`,tmux 持久化 + PID 文件发现
151
-
152
- ### Infrastructure
153
-
154
- - 新增 `src/tools/TerminalCaptureTool/`tmux capture-pane 工具(2 文件)
155
- - 新增 `src/tools/WebBrowserTool/WebBrowserTool.ts` — fetch + HTML 文本提取
156
- - 新增 `src/jobs/classifier.ts` — 工作流 turn 分类器
157
- - 新增 `src/cli/handlers/templateJobs.ts`模板 CLI 处理器
158
- - 新增 `src/cli/bg.ts` — 后台会话 CLI(5 个 handler
159
- - 新增 `src/utils/taskSummary.ts` — 周期性活动摘要
160
- - 新增 `src/utils/udsClient.ts` — 活跃会话枚举
161
- - 累计已开启 44/87 feature flags
162
-
163
- ## [1.0.6] - 2026-04-02
164
-
165
- ### New Features
166
-
167
- - **CACHED_MICROCOMPACT** 缓存感知的工具结果压缩,通过 API cache_edits 指令删除旧 tool_result 而不破坏 prompt cache
168
- - **AGENT_TRIGGERS** — `/loop` cron 调度命令 + CronCreate/Delete/List 工具,本地定时任务引擎
169
- - **TREE_SITTER_BASH** 纯 TypeScript bash AST 解析器(~4300 行),用于命令安全分析
170
- - **TREE_SITTER_BASH_SHADOW** — tree-sitter 与 legacy 解析器的 shadow 对比模式
171
- - **MCP_SKILLS** — 从 MCP 服务器 `skill://` 资源自动发现并注册技能命令
172
- - **REACTIVE_COMPACT** — 413/过载错误时自动触发上下文压缩
173
- - **REVIEW_ARTIFACT** — `/review` 代码审查技能 + ReviewArtifact 工具
174
-
175
- ### Infrastructure
176
-
177
- - 重写 `src/services/compact/cachedMicrocompact.ts`(从 stub 到 150+ 行完整实现)
178
- - 新增 `src/services/compact/cachedMCConfig.ts` — 同步配置模块
179
- - 新增 `CACHE_EDITING_BETA_HEADER` 到 `src/constants/betas.ts`
180
- - 新增 `src/skills/mcpSkills.ts`、`src/services/compact/reactiveCompact.ts`
181
- - 新增 `src/tools/ReviewArtifactTool/`、`src/skills/bundled/hunter.ts`
182
- - 累计已开启 40/87 feature flags
183
-
184
- ## [1.0.5] - 2026-04-02
185
-
186
- ### New Features
187
-
188
- - **AGENT_TRIGGERS** — `/loop` cron 调度命令,CronCreate/Delete/List 工具,本地定时任务引擎
189
- - **TREE_SITTER_BASH** 纯 TypeScript bash AST 解析器,用于命令安全分析
190
- - **TREE_SITTER_BASH_SHADOW** — tree-sitter 与 legacy 解析器的 shadow 对比模式
191
- - **MCP_SKILLS** — 从 MCP 服务器的 `skill://` 资源自动发现并注册技能命令
192
- - **REACTIVE_COMPACT** — 413/过载错误时自动触发上下文压缩
193
- - **REVIEW_ARTIFACT** — `/review` 代码审查技能 + ReviewArtifact 工具 + 权限 UI
194
-
195
- ### Infrastructure
196
-
197
- - 新增 `src/skills/mcpSkills.ts` — MCP 技能发现模块
198
- - 新增 `src/services/compact/reactiveCompact.ts` 响应式压缩策略
199
- - 新增 `src/tools/ReviewArtifactTool/` 代码审查工具
200
- - 新增 `src/components/permissions/ReviewArtifactPermissionRequest/` — 审查权限 UI
201
- - 新增 `src/skills/bundled/hunter.ts` — /review 技能注册
202
- - 累计已开启 39/87 个 feature flags
203
-
204
- ## [1.0.4] - 2026-04-02
205
-
206
- ### New Features
207
-
208
- - **ULTRAPLAN** `/ultraplan` 结构化多步骤规划命令
209
- - **VERIFICATION_AGENT** — 批量任务完成后自动派生验证 Agent
210
- - **AUTO_THEME** 通过 OSC 11 查询终端背景色自动切换深色/浅色主题
211
- - **AGENT_MEMORY_SNAPSHOT** — Agent 记忆快照
212
- - **FILE_PERSISTENCE** — 文件持久化追踪
213
- - **POWERSHELL_AUTO_MODE** — PowerShell 自动模式
214
- - **HARD_FAIL** — 严格错误模式
215
- - **SLOW_OPERATION_LOGGING** — 慢操作日志
216
- - **UNATTENDED_RETRY** — 无人值守重试
217
- - **ALLOW_TEST_VERSIONS** — 允许测试版本
218
-
219
- ### Infrastructure
220
-
221
- - 新增 `src/utils/systemThemeWatcher.ts` — OSC 11 终端主题检测与实时监听
222
- - 累计已开启 33/87 个 feature flags
223
-
224
- ## [1.0.3] - 2026-04-02
225
-
226
- ### New Features
227
-
228
- - **COMMIT_ATTRIBUTION** 追踪每次 commit 中 Claude 的贡献比例,PR 描述自动附加归因 trailer
229
- - **AWAY_SUMMARY** — 用户离开后返回时显示期间发生的摘要
230
- - **COMPACTION_REMINDERS** 上下文压缩时的效率提醒
231
- - **HOOK_PROMPTS** — 允许 hooks 向用户请求输入
232
- - **BASH_CLASSIFIER** — Shell 命令安全分类器
233
- - **EXTRACT_MEMORIES** — 自动从对话中提取持久化记忆
234
- - **SHOT_STATS** — 会话统计面板
235
- - **PROMPT_CACHE_BREAK_DETECTION** — 检测 prompt cache 失效
236
- - **ULTRATHINK** — 深度思考模式
237
- - **MCP_RICH_OUTPUT** — MCP 工具富文本输出
238
- - **CONNECTOR_TEXT** — 连接器文本增强
239
- - **NATIVE_CLIPBOARD_IMAGE** — 原生剪贴板图片支持
240
- - **NEW_INIT** — 改进的项目初始化流程
241
- - **DUMP_SYSTEM_PROMPT** — 调试用 system prompt 导出
242
- - **BREAK_CACHE_COMMAND** — `/break-cache` 命令
243
- - **BUILTIN_EXPLORE_PLAN_AGENTS** — 内置 Explore/Plan Agent
244
-
245
- ### Infrastructure
246
-
247
- - 新增 `src/utils/attributionHooks.ts`、`attributionTrailer.ts`、`postCommitAttribution.ts` 三个归因模块
248
-
249
- ## [1.0.2] - 2026-04-02
250
-
251
- ### New Features
252
-
253
- - **QUICK_SEARCH** — 全屏模式下 `Ctrl+P` 快速打开文件,`Ctrl+Shift+F` 全局符号/内容搜索
254
- - **MESSAGE_ACTIONS** — 全屏模式下对消息进行复制、编辑、重试等操作
255
- - **FORK_SUBAGENT** — `/fork <directive>` 会话分叉,子 Agent 继承完整对话上下文并行执行任务
256
- - **HISTORY_PICKER** — `Ctrl+R` 弹出历史搜索对话框,替代原有的内联搜索
257
-
258
- ### Infrastructure
259
-
260
- - 新增 `src/commands/fork/` 命令模块和 `UserForkBoilerplateMessage` UI 组件
261
-
262
- ## [1.0.1] - 2026-04-02
263
-
264
- ### New Features
265
-
266
- - **BUDDY 虚拟宠物伴侣** `/buddy hatch` 孵化专属编程宠物,18 种物种、5 种稀有度、随机属性
267
- - `/buddy hatch` 孵化 · `/buddy pet` 摸摸 · `/buddy stats` 属性 · `/buddy release` 放生
268
- - 宠物根据对话上下文用可爱中文冒泡评论,支持多语言自动切换
269
- - 放生后重新孵化会得到不同的宠物(generation 计数器)
270
- - **TOKEN_BUDGET** — 提示中使用 `+500k` 或 `use 2M tokens` 设定 token 预算,自动追踪用量
271
- - **STREAMLINED_OUTPUT** — 环境变量 `CLAUDE_CODE_STREAMLINED_OUTPUT=true` 启用精简输出
272
-
273
- ### Fixes
274
-
275
- - **构建系统 Feature Flags 修复** — `scripts/build.ts` 现在正确读取 `bunfig.toml` 的 `[bundle.features]` 并传递给 `Bun.build()` API,此前所有 `feature()` 调用默认为 `false`
276
-
277
- ### Infrastructure
278
-
279
- - 新增 `scripts/compile.ts` 替代裸 `bun build --compile`,确保编译二进制正确应用 feature flags
280
- - 新增 `src/buddy/companionObserver.ts` 上下文感知的宠物反应系统
281
- - 新增 `src/commands/buddy/` 完整命令模块
282
-
283
- ## [1.0.0] - 2026-03-31
284
-
285
- - Initial release: LegnaCode CLI v1.0.0
286
- - 基于 Claude Code CLI 开源版本构建
287
- - 品牌适配与定制化改造
1
+ # Changelog
2
+
3
+ All notable changes to LegnaCode CLI will be documented in this file.
4
+
5
+ ## [1.2.1] - 2026-04-04
6
+
7
+ ### New Features
8
+
9
+ - **模型适配器层 (Model Adapter Layer)** 统一的第三方模型兼容框架,自动检测模型/端点并应用对应变换
10
+ - **MiMo (Xiaomi) 适配器**api.xiaomimimo.com/anthropic,支持 mimo-v2-pro/omni/flash (1M ctx)
11
+ - simplifyThinking + forceAutoToolChoice + normalizeTools + stripBetas + injectTopP(0.95) + stripCacheControl
12
+ - 处理 content_filter / repetition_truncation stop_reason
13
+ - **GLM (ZhipuAI) 适配器** — open.bigmodel.cn/api/anthropic,支持 glm-5.1/5/5-turbo/4.7/4.6/4.5 等
14
+ - 标准变换全套,服务端自动缓存(strip cache_control)
15
+ - **DeepSeek 适配器** — api.deepseek.com/anthropic,支持 deepseek-chat/coder/reasoner
16
+ - stripReasoningContent 避免 400 错误,reasoner 模型自动 strip temperature/top_p
17
+ - **Kimi (Moonshot) 适配器** — api.moonshot.ai/anthropic,支持 kimi-k2/k2.5/k2-turbo 等
18
+ - 保留 cache_control(Kimi 支持 prompt caching 折扣),stripReasoningContent
19
+ - **MiniMax 适配器** — api.minimaxi.com/anthropic (中国区) + api.minimax.io/anthropic (国际区)
20
+ - 支持 MiniMax-M2.7/M2.5/M2.1/M2 全系列 (204K ctx),大小写不敏感匹配
21
+ - 深度兼容:保留 metadata、tool_choice、cache_control、top_p(其他适配器均需 strip/force)
22
+ - 仅需 simplifyThinking + normalizeTools + stripBetas + stripUnsupportedFieldsKeepMetadata
23
+
24
+ ### Architecture
25
+
26
+ - `src/utils/model/adapters/index.ts` — 适配器注册表 + match/transform 调度
27
+ - `src/utils/model/adapters/shared.ts` — 12 个共享变换函数(含新增 stripUnsupportedFieldsKeepMetadata)
28
+ - `src/utils/model/adapters/{mimo,glm,deepseek,kimi,minimax}.ts` — 5 个提供商适配器
29
+ - `src/services/api/claude.ts` paramsFromContext() 末尾调用 applyModelAdapter()
30
+
31
+ ## [1.2.0] - 2026-04-03
32
+
33
+ ### New Features
34
+
35
+ - **会话按项目分组** — WebUI 会话记录面板按项目路径分组显示
36
+ - **resume 命令带 cd** — 复制的 resume 命令自动包含 `cd` 到项目目录(Windows 用 `cd /d`)
37
+ - **迁移支持会话记录**配置迁移面板新增"同时迁移会话记录"选项,复制 `projects/` 目录
38
+ - **Windows 原生编译**Windows 二进制改为在 Windows 上原生编译
39
+
40
+ ### Fixed
41
+
42
+ - 迁移面板字段名修正为实际 settings.json 字段
43
+
44
+ ## [1.1.10] - 2026-04-03
45
+
46
+ ### Fixed
47
+
48
+ - **Windows 编译脚本修复** — `scripts/compile.ts` 在 Windows 上正确处理 `.exe` 后缀,修复编译后找不到输出文件的问题
49
+ - **Windows 原生二进制重新编译发布** — 使用 Windows 本机 Bun 编译原生 `legna.exe`,替代之前交叉编译的版本
50
+
51
+ ## [1.1.9] - 2026-04-03
52
+
53
+ ### Fixed
54
+
55
+ - **postinstall 自动安装平台包** — 新增 `npm/postinstall.cjs`,`npm install` 阶段自动检测并从官方 registry 安装对应平台二进制包,彻底解决 Windows/镜像源下 optionalDependencies 不生效的问题
56
+ - **强制官方 registry** — postinstall 使用 `--registry https://registry.npmjs.org` 避免淘宝镜像等未同步导致 404
57
+ - **bin wrapper 精简** — 移除运行时 auto-install 逻辑,改由 postinstall 保证
58
+
59
+ ## [1.1.8] - 2026-04-03
60
+
61
+ ### Fixed
62
+
63
+ - **Windows npm 全局安装平台包缺失** bin wrapper 检测到平台包未安装时自动执行 `npm install -g` 安装对应平台包,不再需要用户手动操作
64
+ - **bin wrapper 路径查找优化** 修正全局 node_modules 扁平布局下 scope 目录的路径拼接
65
+
66
+ ## [1.1.7] - 2026-04-03
67
+
68
+ ### Fixed
69
+
70
+ - **彻底修复 Windows external module 报错** — 清空编译 external 列表,所有 stubs 模块(`@ant/*`、`@anthropic-ai/*`、native napi)全部打包进二进制,不再依赖运行时外部模块
71
+
72
+ ## [1.1.6] - 2026-04-03
73
+
74
+ ### Fixed
75
+
76
+ - **Windows external module 报错** — 从编译 external 列表移除 `@anthropic-ai/sandbox-runtime`、`@anthropic-ai/mcpb`、`@anthropic-ai/claude-agent-sdk`、`audio-capture-napi`、`color-diff-napi`、`modifiers-napi`,让 stubs 代码直接打包进二进制,Windows 不再报 `Cannot find module`
77
+ - **bin wrapper 多路径查找** — `npm/bin/legna.cjs` 增加全局 node_modules 扁平路径和嵌套路径 fallback,提升跨平台 npm 全局安装兼容性
78
+ - **版本号自动化**新增 `scripts/bump.ts` 一键同步 package.json、bunfig.toml、webui/package.json、optionalDependencies 版本号
79
+ - **发版流程自动化** — 重写 `scripts/publish.ts`,一键完成 bump build webui → compile all → publish npm
80
+
81
+ ## [1.1.5] - 2026-04-03
82
+
83
+ ### New Features
84
+
85
+ - **WebUI 管理面板** — `legna admin` 启动浏览器管理面板(HTTP server + React SPA,默认端口 3456),可视化管理 `~/.claude/` 和 `~/.legna/` 两个配置目录
86
+ - **配置编辑**在浏览器中编辑 API 端点、API Key、模型映射(Opus/Sonnet/Haiku)、超时、权限模式、语言等所有 settings.json 字段
87
+ - **配置文件切换**列出 settings*.json,显示 baseUrl/model,一键交换激活
88
+ - **会话记录浏览**解析 projects 目录下所有 session jsonl 文件,显示项目路径、slug、时间、prompt 数量,复制 resume 命令
89
+ - **配置迁移** — Claude ↔ LegnaCode 双向迁移,支持全量或选择性字段迁移(env/model/permissions 等),迁移前预览 diff
90
+ - **npm 全平台发布** — bin wrapper (.cjs)、compile-all 跨平台编译(darwin/linux/win32)、publish 脚本
91
+ - **OAuth 禁用** — `isAnthropicAuthEnabled()` 返回 false,移除 OAuth 登录流程
92
+
93
+ ### Fixed (1.1.1 ~ 1.1.5)
94
+
95
+ - bin wrapper 改为 `.cjs` 修复 ESM `require` 报错
96
+ - `optionalDependencies` 平台包版本对齐
97
+ - 退出 admin server 时清屏恢复终端
98
+ - WebUI 前端内联到二进制,不再依赖外部 `webui/dist/`
99
+ - 所有包版本统一为 1.1.5
100
+
101
+ ### Architecture
102
+
103
+ - 后端:`src/server/admin.ts` Bun.serve REST API,SPA 内联为字符串常量
104
+ - 前端:`webui/` React 18 + Vite + Tailwind SPA,Tab 切换 scope
105
+ - 内联:`scripts/inline-webui.ts` → `src/server/admin-ui-html.ts`
106
+ - CLI:`src/entrypoints/cli.tsx` `admin` fast-path,零额外模块加载
107
+
108
+ ## [1.0.9] - 2026-04-03
109
+
110
+ ### New Features
111
+
112
+ - **i18n 多语言补全** — 补全 9 个文件约 100 处遗漏的硬编码英文字符串,覆盖 Spinner、队友树、pill 标签、快捷键提示、Tips 等全部 UI 区域
113
+ - **内置精美状态栏** 无需配置外部脚本,默认显示目录、Git 分支/同步状态、模型名(智能解析为友好名)、彩色上下文进度条、时间;跨平台兼容 Win/Mac/Linux
114
+ - **配置自动迁移** — 启动时自动将 `~/.claude/settings.json` 同步到 `~/.legna/settings.json`;两边不一致时打印警告不覆盖;`LEGNA_NO_CONFIG_SYNC=1` 禁止迁移
115
+
116
+ ### Changed
117
+
118
+ - `~/.legna/` 为首选配置目录,`~/.claude/` 作为兼容回退
119
+ - 状态栏模型名自动解析:`Claude-Opus-4-6-Agentic[1m]` `Opus 4.6`
120
+ - `KeyboardShortcutHint` 组件中 "to" 连接词已国际化(中文显示为 "→")
121
+
122
+ ### Files Changed
123
+
124
+ | 文件 | 改动 |
125
+ |------|------|
126
+ | `src/utils/i18n/zh.ts` | +50 条翻译条目 |
127
+ | `src/components/Spinner.tsx` | 7 处 i18n |
128
+ | `src/components/PromptInput/PromptInputFooterLeftSide.tsx` | 4 处 i18n |
129
+ | `src/components/design-system/KeyboardShortcutHint.tsx` | "to" 国际化 |
130
+ | `src/components/Spinner/teammateSelectHint.ts` | i18n |
131
+ | `src/components/Spinner/TeammateSpinnerTree.tsx` | 6 处 i18n |
132
+ | `src/components/Spinner/TeammateSpinnerLine.tsx` | 7 处 i18n |
133
+ | `src/tasks/pillLabel.ts` | 全部 pill 标签 i18n |
134
+ | `src/services/tips/tipRegistry.ts` | 25 条 tips i18n |
135
+ | `src/utils/builtinStatusLine.ts` | 新增:内置状态栏渲染器 |
136
+ | `src/components/StatusLine.tsx` | 集成内置状态栏 |
137
+ | `src/utils/envUtils.ts` | 配置自动迁移逻辑 |
138
+
139
+ ## [1.0.8] - 2026-04-02
140
+
141
+ ### New Features
142
+
143
+ - **MONITOR_TOOL** MCP 服务器健康监控工具,支持 start/stop/status 操作,后台定期 ping 检测连接状态
144
+ - **WORKFLOW_SCRIPTS** — 工作流自动化系统,读取 `.claude/workflows/*.md` 执行多步骤工作流,`/workflows` 命令列出可用工作流
145
+ - **HISTORY_SNIP** — 会话历史裁剪,模型可主动调用 SnipTool 移除旧消息释放上下文,`/force-snip` 强制裁剪,UI 保留完整历史而模型视图过滤
146
+
147
+ ### Infrastructure
148
+
149
+ - 新增 `src/tools/MonitorTool/MonitorTool.ts` MCP 监控工具(buildTool 构建)
150
+ - 新增 `src/tasks/MonitorMcpTask/MonitorMcpTask.ts` 监控后台任务生命周期管理
151
+ - 新增 `src/components/permissions/MonitorPermissionRequest/` — 监控权限 UI
152
+ - 新增 `src/components/tasks/MonitorMcpDetailDialog.tsx` — 监控任务详情对话框
153
+ - 新增 `src/tools/WorkflowTool/WorkflowTool.ts` — 工作流执行工具
154
+ - 新增 `src/tools/WorkflowTool/createWorkflowCommand.ts`工作流命令扫描与注册
155
+ - 新增 `src/tools/WorkflowTool/bundled/index.ts` — 内置工作流注册入口
156
+ - 新增 `src/tools/WorkflowTool/WorkflowPermissionRequest.tsx` — 工作流权限 UI
157
+ - 新增 `src/commands/workflows/``/workflows` 斜杠命令
158
+ - 新增 `src/tasks/LocalWorkflowTask/LocalWorkflowTask.ts` — 工作流后台任务(kill/skip/retry
159
+ - 新增 `src/components/tasks/WorkflowDetailDialog.tsx` — 工作流详情对话框
160
+ - 新增 `src/services/compact/snipCompact.ts` — 裁剪触发逻辑(重写 stub)
161
+ - 新增 `src/services/compact/snipProjection.ts` 模型视图消息过滤
162
+ - 新增 `src/tools/SnipTool/SnipTool.ts` — 模型调用的裁剪工具
163
+ - 新增 `src/tools/SnipTool/prompt.ts` SnipTool 常量与 prompt
164
+ - 新增 `src/commands/force-snip.ts` — `/force-snip` 斜杠命令
165
+ - 新增 `src/components/messages/SnipBoundaryMessage.tsx` — 裁剪边界 UI 组件
166
+ - 3 个 feature flags 翻转:MONITOR_TOOL、WORKFLOW_SCRIPTS、HISTORY_SNIP
167
+ - 累计已开启 47/87 feature flags
168
+
169
+ ## [1.0.7] - 2026-04-02
170
+
171
+ ### New Features
172
+
173
+ - **TERMINAL_PANEL** — `Alt+J` 切换内置终端面板(tmux 持久化),TerminalCapture 工具可读取终端内容
174
+ - **WEB_BROWSER_TOOL** — 内置 Web 浏览工具,fetch 抓取网页内容并提取文本
175
+ - **TEMPLATES** — 结构化工作流模板系统,`legna new/list/reply` CLI 命令,job 状态追踪
176
+ - **BG_SESSIONS** — 后台会话管理,`legna ps/logs/attach/kill/--bg`,tmux 持久化 + PID 文件发现
177
+
178
+ ### Infrastructure
179
+
180
+ - 新增 `src/tools/TerminalCaptureTool/` — tmux capture-pane 工具(2 文件)
181
+ - 新增 `src/tools/WebBrowserTool/WebBrowserTool.ts` — fetch + HTML 文本提取
182
+ - 新增 `src/jobs/classifier.ts` 工作流 turn 分类器
183
+ - 新增 `src/cli/handlers/templateJobs.ts` — 模板 CLI 处理器
184
+ - 新增 `src/cli/bg.ts` — 后台会话 CLI(5 handler)
185
+ - 新增 `src/utils/taskSummary.ts` — 周期性活动摘要
186
+ - 新增 `src/utils/udsClient.ts` — 活跃会话枚举
187
+ - 累计已开启 44/87 个 feature flags
188
+
189
+ ## [1.0.6] - 2026-04-02
190
+
191
+ ### New Features
192
+
193
+ - **CACHED_MICROCOMPACT** — 缓存感知的工具结果压缩,通过 API cache_edits 指令删除旧 tool_result 而不破坏 prompt cache
194
+ - **AGENT_TRIGGERS** — `/loop` cron 调度命令 + CronCreate/Delete/List 工具,本地定时任务引擎
195
+ - **TREE_SITTER_BASH** — 纯 TypeScript bash AST 解析器(~4300 行),用于命令安全分析
196
+ - **TREE_SITTER_BASH_SHADOW** — tree-sitter 与 legacy 解析器的 shadow 对比模式
197
+ - **MCP_SKILLS**MCP 服务器 `skill://` 资源自动发现并注册技能命令
198
+ - **REACTIVE_COMPACT**413/过载错误时自动触发上下文压缩
199
+ - **REVIEW_ARTIFACT** — `/review` 代码审查技能 + ReviewArtifact 工具
200
+
201
+ ### Infrastructure
202
+
203
+ - 重写 `src/services/compact/cachedMicrocompact.ts`(从 stub 到 150+ 行完整实现)
204
+ - 新增 `src/services/compact/cachedMCConfig.ts` 同步配置模块
205
+ - 新增 `CACHE_EDITING_BETA_HEADER` 到 `src/constants/betas.ts`
206
+ - 新增 `src/skills/mcpSkills.ts`、`src/services/compact/reactiveCompact.ts`
207
+ - 新增 `src/tools/ReviewArtifactTool/`、`src/skills/bundled/hunter.ts`
208
+ - 累计已开启 40/87 feature flags
209
+
210
+ ## [1.0.5] - 2026-04-02
211
+
212
+ ### New Features
213
+
214
+ - **AGENT_TRIGGERS** — `/loop` cron 调度命令,CronCreate/Delete/List 工具,本地定时任务引擎
215
+ - **TREE_SITTER_BASH** — 纯 TypeScript bash AST 解析器,用于命令安全分析
216
+ - **TREE_SITTER_BASH_SHADOW** — tree-sitter 与 legacy 解析器的 shadow 对比模式
217
+ - **MCP_SKILLS** — 从 MCP 服务器的 `skill://` 资源自动发现并注册技能命令
218
+ - **REACTIVE_COMPACT** — 413/过载错误时自动触发上下文压缩
219
+ - **REVIEW_ARTIFACT** — `/review` 代码审查技能 + ReviewArtifact 工具 + 权限 UI
220
+
221
+ ### Infrastructure
222
+
223
+ - 新增 `src/skills/mcpSkills.ts` — MCP 技能发现模块
224
+ - 新增 `src/services/compact/reactiveCompact.ts` 响应式压缩策略
225
+ - 新增 `src/tools/ReviewArtifactTool/` — 代码审查工具
226
+ - 新增 `src/components/permissions/ReviewArtifactPermissionRequest/` — 审查权限 UI
227
+ - 新增 `src/skills/bundled/hunter.ts` — /review 技能注册
228
+ - 累计已开启 39/87 feature flags
229
+
230
+ ## [1.0.4] - 2026-04-02
231
+
232
+ ### New Features
233
+
234
+ - **ULTRAPLAN** — `/ultraplan` 结构化多步骤规划命令
235
+ - **VERIFICATION_AGENT** — 批量任务完成后自动派生验证 Agent
236
+ - **AUTO_THEME** — 通过 OSC 11 查询终端背景色自动切换深色/浅色主题
237
+ - **AGENT_MEMORY_SNAPSHOT** — Agent 记忆快照
238
+ - **FILE_PERSISTENCE** — 文件持久化追踪
239
+ - **POWERSHELL_AUTO_MODE** — PowerShell 自动模式
240
+ - **HARD_FAIL** — 严格错误模式
241
+ - **SLOW_OPERATION_LOGGING** — 慢操作日志
242
+ - **UNATTENDED_RETRY** — 无人值守重试
243
+ - **ALLOW_TEST_VERSIONS** — 允许测试版本
244
+
245
+ ### Infrastructure
246
+
247
+ - 新增 `src/utils/systemThemeWatcher.ts` — OSC 11 终端主题检测与实时监听
248
+ - 累计已开启 33/87 个 feature flags
249
+
250
+ ## [1.0.3] - 2026-04-02
251
+
252
+ ### New Features
253
+
254
+ - **COMMIT_ATTRIBUTION** — 追踪每次 commit 中 Claude 的贡献比例,PR 描述自动附加归因 trailer
255
+ - **AWAY_SUMMARY** — 用户离开后返回时显示期间发生的摘要
256
+ - **COMPACTION_REMINDERS** — 上下文压缩时的效率提醒
257
+ - **HOOK_PROMPTS** — 允许 hooks 向用户请求输入
258
+ - **BASH_CLASSIFIER** — Shell 命令安全分类器
259
+ - **EXTRACT_MEMORIES** — 自动从对话中提取持久化记忆
260
+ - **SHOT_STATS** 会话统计面板
261
+ - **PROMPT_CACHE_BREAK_DETECTION** — 检测 prompt cache 失效
262
+ - **ULTRATHINK** 深度思考模式
263
+ - **MCP_RICH_OUTPUT** — MCP 工具富文本输出
264
+ - **CONNECTOR_TEXT** — 连接器文本增强
265
+ - **NATIVE_CLIPBOARD_IMAGE** — 原生剪贴板图片支持
266
+ - **NEW_INIT**改进的项目初始化流程
267
+ - **DUMP_SYSTEM_PROMPT** 调试用 system prompt 导出
268
+ - **BREAK_CACHE_COMMAND** — `/break-cache` 命令
269
+ - **BUILTIN_EXPLORE_PLAN_AGENTS** — 内置 Explore/Plan Agent
270
+
271
+ ### Infrastructure
272
+
273
+ - 新增 `src/utils/attributionHooks.ts`、`attributionTrailer.ts`、`postCommitAttribution.ts` 三个归因模块
274
+
275
+ ## [1.0.2] - 2026-04-02
276
+
277
+ ### New Features
278
+
279
+ - **QUICK_SEARCH** — 全屏模式下 `Ctrl+P` 快速打开文件,`Ctrl+Shift+F` 全局符号/内容搜索
280
+ - **MESSAGE_ACTIONS** 全屏模式下对消息进行复制、编辑、重试等操作
281
+ - **FORK_SUBAGENT** `/fork <directive>` 会话分叉,子 Agent 继承完整对话上下文并行执行任务
282
+ - **HISTORY_PICKER** — `Ctrl+R` 弹出历史搜索对话框,替代原有的内联搜索
283
+
284
+ ### Infrastructure
285
+
286
+ - 新增 `src/commands/fork/` 命令模块和 `UserForkBoilerplateMessage` UI 组件
287
+
288
+ ## [1.0.1] - 2026-04-02
289
+
290
+ ### New Features
291
+
292
+ - **BUDDY 虚拟宠物伴侣** — `/buddy hatch` 孵化专属编程宠物,18 种物种、5 种稀有度、随机属性
293
+ - `/buddy hatch` 孵化 · `/buddy pet` 摸摸 · `/buddy stats` 属性 · `/buddy release` 放生
294
+ - 宠物根据对话上下文用可爱中文冒泡评论,支持多语言自动切换
295
+ - 放生后重新孵化会得到不同的宠物(generation 计数器)
296
+ - **TOKEN_BUDGET** — 提示中使用 `+500k` 或 `use 2M tokens` 设定 token 预算,自动追踪用量
297
+ - **STREAMLINED_OUTPUT** — 环境变量 `CLAUDE_CODE_STREAMLINED_OUTPUT=true` 启用精简输出
298
+
299
+ ### Fixes
300
+
301
+ - **构建系统 Feature Flags 修复** — `scripts/build.ts` 现在正确读取 `bunfig.toml` 的 `[bundle.features]` 并传递给 `Bun.build()` API,此前所有 `feature()` 调用默认为 `false`
302
+
303
+ ### Infrastructure
304
+
305
+ - 新增 `scripts/compile.ts` 替代裸 `bun build --compile`,确保编译二进制正确应用 feature flags
306
+ - 新增 `src/buddy/companionObserver.ts` 上下文感知的宠物反应系统
307
+ - 新增 `src/commands/buddy/` 完整命令模块
308
+
309
+ ## [1.0.0] - 2026-03-31
310
+
311
+ - Initial release: LegnaCode CLI v1.0.0
312
+ - 基于 Claude Code CLI 开源版本构建
313
+ - 品牌适配与定制化改造