# 本地可视化工作台

```sh
node scripts/build-editor.cjs
node scripts/serve-editor.cjs
```

打开 `http://127.0.0.1:8765`。本地服务器只绑定本机地址，提供静态文件；文件内容由浏览器 Worker 中的 MoonBit 核心处理，没有上传接口、分析统计或远程资源。首次构建需要已安装的 MoonBit 工具链；界面使用 JavaScript 后端编译的 MoonBit 模块。

- 打开或拖入文本/标准二进制 KV1，浏览树形结构与同名项出现次数。
- 文本模式保留原文注释、平台条件与引用；手动编辑后自动解析，错误显示行列号并可点击定位。
- 选择条目后可预览替换、重命名、删除或插入；确认后仅改变编辑区，可撤销最近 20 次应用。
- 二进制模式显示类型保留 JSON，可在树形视图中选中条目并修改，导出前由核心库校验类型与数值范围。
- 条件预览使用显式符号集合；文件引用只读取用户选择的本地目录。展开结果通过预览后可应用为独立配置。
- “下载结果”生成新副本；“导出 JSON”保留完整有序模型。浏览器不会直接覆写原始文件。

单文件最大 16 MiB；文本解析默认仍为 8,388,608 个 Unicode 标量。引用目录最多 64 个受支持文本文件、合计 16 MiB；目录的顶层名称被去掉，入口使用其内的相对路径。树形面板最多显示 2500 项，完整数据仍在编辑区与导出中保留。输入按 UTF-8 解码；二进制宽字符串由核心库按 UTF-16LE 解释。

界面带重复键、平台条件/引用和二进制快捷方式三个合成示例。自动化核心检查：`node scripts/test-editor.cjs`。

## 快捷方式管理

“快捷方式”页提供专用表单，包含名称、启动程序、工作目录、启动参数和逐行标签；支持搜索、新增、编辑、删除及对勾选项批量替换参数、目录或标签。修改先调用 MoonBit 核心完成校验并展示前后结果，确认后应用到内存文档，再下载二进制副本。更新保留 AppID 和未知字段；批量计划中任一项失败则不产生修改结果。

修改可以在“配置编辑”中撤销最近的应用，或切回通用二进制树查看未知字段。打开文件与新建文件会开始新文档；工作台不会替换磁盘中的 Steam 配置。向 Steam 使用的原路径保存副本时，应先退出 Steam，避免它重新写入文件。该页带两个合成快捷方式示例。

## 缓存浏览

“缓存浏览”页接受 appinfo/packageinfo 文件，浏览器上限 128 MiB，通过可转移的字节缓冲交给 Worker，不经过 Base64/JSON 大文件复制。MoonBit 建立索引后，每页返回至多 100 条元数据；搜索针对十进制 ID 子串。点击一条记录才解码目标内容，提供可折叠树、类型保留 JSON、单条导出和交给配置编辑器的入口。

AppInfo 的正文按需验证；PackageInfo 没有记录长度，建立索引需要遍历其树。关闭缓存会释放 Worker 中的缓存引用；打开失败也会清除之前的缓存会话。页面包含 230 条合成记录示例，可验证翻页与搜索。缓存只读，导出的单条 KV1 不包含原缓存容器头，不能替代整个缓存文件。

## 多文件工程

“多文件工程”提供文件列表、入口选择、条件符号、引用关系和字段来源导航，支持当前草稿快照导出与恢复。详见 [工程与来源](projects.md)。通用配置树点击条目也会定位当前原文中的键位置。

查询、快照批量编辑、移动复制、文本 KV3、多文件重构与 LSP 的用法、JSON 格式和边界见 [进阶功能](advanced.md)。
