@legna-lnc/legnacode 1.2.2 → 1.3.1
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 +43 -0
- package/README.md +31 -7
- package/package.json +6 -6
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,49 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to LegnaCode CLI will be documented in this file.
|
|
4
4
|
|
|
5
|
+
## [1.3.1] - 2026-04-06
|
|
6
|
+
|
|
7
|
+
### Bug Fixes
|
|
8
|
+
|
|
9
|
+
- **Snip 感知 context window** — 1M 模型不再被过早 snip,`KEEP_RECENT` 从硬编码 10 改为动态计算(1M: 200, 500K: 100, 200K: 10)
|
|
10
|
+
- **Snip nudge 频率** — 1M 模型 nudge 阈值从 20 条提升到 100 条
|
|
11
|
+
- **branch 命令品牌名** — `/branch` 后的 resume 提示从 `claude -r` 改为 `legna -r`
|
|
12
|
+
- **admin 版本号 fallback** — 从源码运行时显示正确版本号
|
|
13
|
+
|
|
14
|
+
### Architecture
|
|
15
|
+
|
|
16
|
+
- `src/services/compact/snipCompact.ts` — 新增 `getSnipThresholds(model)` 动态阈值函数,`snipCompactIfNeeded` 和 `shouldNudgeForSnips` 增加 model 参数
|
|
17
|
+
- `src/query.ts` / `src/QueryEngine.ts` / `src/commands/force-snip-impl.ts` — 传入 model 参数
|
|
18
|
+
|
|
19
|
+
## [1.3.0] - 2026-04-04
|
|
20
|
+
|
|
21
|
+
### New Features
|
|
22
|
+
|
|
23
|
+
- **项目本地化存储** — 会话、skills、memory、rules、settings 全部下沉到 `<project>/.legna/` 目录
|
|
24
|
+
- 新会话写入 `<project>/.legna/sessions/<uuid>.jsonl`,跟着项目走
|
|
25
|
+
- 项目级 skills/rules/settings/agent-memory/workflows 统一到 `.legna/` 下
|
|
26
|
+
- `.legna/` 自动加入 `.gitignore`
|
|
27
|
+
- **全局数据迁移** — 首次启动自动从 `~/.claude/` 单向迁移到 `~/.legna/`
|
|
28
|
+
- 迁移 settings.json、credentials、rules、skills、agents、plugins、keybindings 等
|
|
29
|
+
- 不覆盖已有文件,迁移完成写入 `.migration-done` 标记
|
|
30
|
+
- `LEGNA_NO_CONFIG_SYNC=1` 可禁止
|
|
31
|
+
- **`legna migrate` 命令** — 手动迁移数据
|
|
32
|
+
- `--global` 仅迁移全局数据
|
|
33
|
+
- `--sessions` 仅迁移当前项目会话到本地
|
|
34
|
+
- `--all` 全部迁移(默认)
|
|
35
|
+
- `--dry-run` 预览模式
|
|
36
|
+
- **三级 fallback 读取** — 读取时自动搜索 `.legna/` → `.claude/` → `~/.legna/` → `~/.claude/`,零破坏向后兼容
|
|
37
|
+
|
|
38
|
+
### Architecture
|
|
39
|
+
|
|
40
|
+
- `src/utils/legnaPathResolver.ts` — 统一路径解析(PROJECT_FOLDER/LEGACY_FOLDER/resolveProjectPath)
|
|
41
|
+
- `src/utils/ensureLegnaGitignored.ts` — 自动 gitignore 工具
|
|
42
|
+
- `src/utils/envUtils.ts` — 重构全局迁移逻辑,删除旧的 syncClaudeConfigToLegna
|
|
43
|
+
- `src/utils/sessionStoragePortable.ts` — 新增 getLocalSessionsDir/getLegacyProjectsDir,重构 resolveSessionFilePath
|
|
44
|
+
- `src/utils/sessionStorage.ts` — 会话写入路径切换到项目本地
|
|
45
|
+
- `src/utils/listSessionsImpl.ts` — 多源扫描合并(本地 + 全局 + legacy)
|
|
46
|
+
- `src/commands/migrate/` — CLI 迁移命令
|
|
47
|
+
|
|
5
48
|
## [1.2.1] - 2026-04-04
|
|
6
49
|
|
|
7
50
|
### New Features
|
package/README.md
CHANGED
|
@@ -12,6 +12,8 @@ LegnaCode 是一个基于 Anthropic Claude 的智能终端编程助手,让你
|
|
|
12
12
|
|
|
13
13
|
| 版本 | 日期 | 摘要 |
|
|
14
14
|
|------|------|------|
|
|
15
|
+
| [1.3.1](./CHANGELOG.md#131---2026-04-06) | 2026-04-06 | 修复 1M 模型被过早 snip 的问题,snip 阈值感知 context window 大小 |
|
|
16
|
+
| [1.3.0](./CHANGELOG.md#130---2026-04-04) | 2026-04-04 | 项目本地化存储:会话/skills/memory/rules 下沉到 `<project>/.legna/`,全局迁移 `~/.claude/` → `~/.legna/`,`legna migrate` 命令 |
|
|
15
17
|
| [1.2.1](./CHANGELOG.md#121---2026-04-04) | 2026-04-04 | 模型适配器层:MiMo、GLM、DeepSeek、Kimi、MiniMax 五大提供商深度兼容 |
|
|
16
18
|
| [1.2.0](./CHANGELOG.md#120---2026-04-03) | 2026-04-03 | 会话按项目分组、resume 带 cd、迁移支持会话记录、Windows 原生编译 |
|
|
17
19
|
| [1.1.9](./CHANGELOG.md#119---2026-04-03) | 2026-04-03 | postinstall 自动安装平台包,修复 Windows/镜像源 optionalDependencies 失效 |
|
|
@@ -53,7 +55,8 @@ Claude Code 是 Anthropic 团队打造的一款出色的终端 AI 编程工具
|
|
|
53
55
|
- **插件与技能系统** — 可扩展的插件架构和可复用的技能工作流
|
|
54
56
|
- **持久化记忆** — 跨会话的上下文记忆系统
|
|
55
57
|
- **纯 TS 语法高亮** — 内置基于 highlight.js 的纯 TypeScript 语法高亮实现,无需原生模块依赖
|
|
56
|
-
- **WebUI 管理面板** — `legna admin`
|
|
58
|
+
- **WebUI 管理面板** — `legna admin` 启动浏览器管理面板,可视化编辑配置、切换配置文件、浏览会话记录、迁移数据
|
|
59
|
+
- **`legna migrate` 命令** — 手动迁移 `~/.claude/` 数据到项目本地 `.legna/`,支持 `--global`/`--sessions`/`--dry-run`
|
|
57
60
|
|
|
58
61
|
---
|
|
59
62
|
|
|
@@ -175,14 +178,35 @@ legna admin 8080
|
|
|
175
178
|
|
|
176
179
|
## 配置
|
|
177
180
|
|
|
178
|
-
LegnaCode 使用 `~/.legna/`
|
|
181
|
+
LegnaCode 使用 `~/.legna/` 作为全局配置目录,项目级数据存储在 `<project>/.legna/`:
|
|
179
182
|
|
|
180
|
-
- `~/.legna/settings.json` —
|
|
181
|
-
- `~/.
|
|
182
|
-
-
|
|
183
|
-
-
|
|
183
|
+
- `~/.legna/settings.json` — 全局用户设置
|
|
184
|
+
- `~/.legna/.credentials.json` — 认证凭据
|
|
185
|
+
- `<project>/.legna/sessions/` — 项目会话记录(JSONL)
|
|
186
|
+
- `<project>/.legna/skills/` — 项目技能
|
|
187
|
+
- `<project>/.legna/rules/` — 项目规则
|
|
188
|
+
- `<project>/.legna/settings.json` — 项目级设置
|
|
189
|
+
- `LEGNA.md` — 项目指令文件,AI 会自动读取并遵循
|
|
184
190
|
|
|
185
|
-
>
|
|
191
|
+
> 首次启动时自动从 `~/.claude/` 单向迁移全局数据到 `~/.legna/`(不覆盖已有文件)。旧的 `~/.claude/projects/` 会话通过 fallback 链自动读取,无需手动迁移。设置 `LEGNA_NO_CONFIG_SYNC=1` 可禁止自动迁移。
|
|
192
|
+
|
|
193
|
+
### legna migrate
|
|
194
|
+
|
|
195
|
+
手动迁移数据:
|
|
196
|
+
|
|
197
|
+
```bash
|
|
198
|
+
# 迁移全部(全局 + 当前项目会话)
|
|
199
|
+
legna migrate
|
|
200
|
+
|
|
201
|
+
# 仅迁移全局数据 ~/.claude/ → ~/.legna/
|
|
202
|
+
legna migrate --global
|
|
203
|
+
|
|
204
|
+
# 仅迁移当前项目会话到本地 .legna/sessions/
|
|
205
|
+
legna migrate --sessions
|
|
206
|
+
|
|
207
|
+
# 预览模式(不实际移动文件)
|
|
208
|
+
legna migrate --dry-run
|
|
209
|
+
```
|
|
186
210
|
|
|
187
211
|
### 环境变量
|
|
188
212
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@legna-lnc/legnacode",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.1",
|
|
4
4
|
"description": "LegnaCode — legna.lnc's official CLI for coding assistance",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -142,10 +142,10 @@
|
|
|
142
142
|
"bun": ">=1.2.0"
|
|
143
143
|
},
|
|
144
144
|
"optionalDependencies": {
|
|
145
|
-
"@legna-lnc/legnacode-darwin-arm64": "1.
|
|
146
|
-
"@legna-lnc/legnacode-darwin-x64": "1.
|
|
147
|
-
"@legna-lnc/legnacode-linux-x64": "1.
|
|
148
|
-
"@legna-lnc/legnacode-linux-arm64": "1.
|
|
149
|
-
"@legna-lnc/legnacode-win32-x64": "1.
|
|
145
|
+
"@legna-lnc/legnacode-darwin-arm64": "1.3.1",
|
|
146
|
+
"@legna-lnc/legnacode-darwin-x64": "1.3.1",
|
|
147
|
+
"@legna-lnc/legnacode-linux-x64": "1.3.1",
|
|
148
|
+
"@legna-lnc/legnacode-linux-arm64": "1.3.1",
|
|
149
|
+
"@legna-lnc/legnacode-win32-x64": "1.3.1"
|
|
150
150
|
}
|
|
151
151
|
}
|