@spzxg/cli-ui 0.6.0 → 0.6.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/README.md +9 -3
- package/dist/{cli-ui-embed-CXdmrwo1.js → cli-ui-embed-Dk2QGHxn.js} +12709 -12459
- package/dist/cli-ui-index-BFpRZXn4.js +11209 -0
- package/dist/cli-ui-jszip.min-B9tqMA-e.js +2324 -0
- package/dist/cli-ui-jszip.min-DIavJzUG.js +26 -0
- package/dist/cli-ui-xlsx-BKHhqcoa.js +93 -0
- package/dist/cli-ui.js +1 -1
- package/package.json +2 -1
- package/src/board/CliBoard.tsx +2 -2
- package/src/board/FileViewer.tsx +168 -35
- package/src/board/fileKind.ts +31 -0
- package/src/board/frameQuote.ts +50 -0
- package/src/board/textLoad.ts +99 -0
- package/src/chat/CliChat.tsx +15 -9
- package/src/chat/Composer.tsx +4 -4
- package/src/core/blocks.ts +50 -11
- package/src/core/client.ts +47 -20
- package/src/core/config.ts +18 -5
- package/src/core/xlsx.ts +142 -0
- package/src/ui/TextBlock.tsx +1 -1
- package/src/ui/Transcript.tsx +10 -5
- package/dist/cli-ui-index-BZppwn-v.js +0 -13528
package/README.md
CHANGED
|
@@ -135,12 +135,16 @@ location /api/center/ {
|
|
|
135
135
|
- 放大:文件预览、浏览器画面都能放大到整页(Esc 还原);接管浏览器时自动放大。图片可缩放(Ctrl / ⌘ + 滚轮)。
|
|
136
136
|
- 引用到对话:文件预览、浏览器的「引用到对话」把它带进下一条消息(`store.addRef`),对话输入框上方显示、可去掉;发出时合成「看板上下文」附件。自定义页签(`extraTabs`)的 `quote` 同理——终端之类的交互以后都走这条路进对话。
|
|
137
137
|
- 多个文件页签:点开的文件各占一个页签(最多 8 个,再开关掉最早的),可关闭(× 或鼠标中键),按对话记在 sessionStorage,刷新后还在。
|
|
138
|
-
-
|
|
139
|
-
- 正在看:打开着的文件 /
|
|
138
|
+
- 选中引用:在预览里选中文字浮出「引用到对话」(Markdown / 代码 / 文本 / 表格 / HTML / Word 及其源文件;HTML、Word 在沙箱 iframe 里,预览用 srcdoc 插一段选区小脚本报给宿主,页面自己的脚本仍不执行);在浏览器网页里复制(⌘C / Ctrl+C)后提示里也有「引用到对话」。
|
|
139
|
+
- 正在看:打开着的文件 / 浏览器页面缺省随下一条消息带给智能体(换了再带;`autoQuoteOpenFile={false}` 关掉),单独一块「看板正在看」,缺省在输入框上方和对话里都不显示。cli-chat 的 `config.refs` 按种类控制显示:`{ viewing: true }` 显示「正在看」虚线卡片(× 这次不带),`{ selection: false }` 不显示选中引用,`true` / `false` 全部。状态在 `store.getState().viewing`。
|
|
140
140
|
- 浏览器弱网:操作没送达时提示(不自动重发,免得点两次);接管时发了操作 8 秒画面没变化提示并给「重连画面」;按住鼠标切走窗口自动补发松开;地址栏自动补 `https://`。
|
|
141
141
|
- 数据都经中枢:`/api/jobs/:id/board`、`/files`、`/files/raw/<路径>`、`/diff`、`/browser`(+ `events` / `frames` / `input`)。
|
|
142
142
|
- 链路、交互、故障与重试的设计见 [BOARD-DESIGN.md](BOARD-DESIGN.md)。
|
|
143
|
-
- 浏览器里带令牌时(传了 `token` / `headers` / `line`,或代理跨域),图片、PDF、HTML、下载用中枢发的 30 分钟短期链接(令牌在路径里,HTML 的相对资源也能加载,大文件流式下载、不进内存);走同源代理时直接用地址。中枢太旧发不了短期链接时退回先 fetch 成 blob(超过
|
|
143
|
+
- 浏览器里带令牌时(传了 `token` / `headers` / `line`,或代理跨域),图片、PDF、HTML、下载用中枢发的 30 分钟短期链接(令牌在路径里,HTML 的相对资源也能加载,大文件流式下载、不进内存);走同源代理时直接用地址。中枢太旧发不了短期链接时退回先 fetch 成 blob(超过 100 MB 的图片 / PDF 不预览)。
|
|
144
|
+
- 预览能看多大(实测 Chromium):
|
|
145
|
+
- HTML 最大 100 MB 整个读进来、能选中引用(读的时候显示进度;60 MB、60 万行表格的报告约 25 秒显示出来),更大的直接按地址打开(能看,不能选中引用);
|
|
146
|
+
- 文本、代码、日志、CSV、Markdown 一次最多读 32 MB,更大的看开头 / 末尾;文件在变时只取新增的部分(追加 1 行只传几百字节),被改写才整个重读;
|
|
147
|
+
- 大 Markdown 每 128 KB 一段、滚到哪渲染到哪;CSV 表格先画 2000 行、可以再显示;代码 512 KB 以内高亮,更大的按纯文本显示;Word 最大 50 MB。
|
|
144
148
|
|
|
145
149
|
## 对接业务数据
|
|
146
150
|
|
|
@@ -183,6 +187,8 @@ await store.send(jobId, text);
|
|
|
183
187
|
|
|
184
188
|
cli-chat 的顶部栏(面包屑、标题、智能体、用量、模型、状态、结束对话)缺省全部隐藏,需要哪项写哪项。各种状态(未开始、进行中、已完成……)缺省都不显示:要显示打开 chat 的 `header.status`、`transcript.status`,list 的 `card.status`(卡片状态)、`grouped`(按状态分组)。所有配置项和缺省值都在 [`src/core/config.ts`](src/core/config.ts) 里,每一项都有注释。Web Component 上用 `config='{"header":{"title":true}}'`。
|
|
185
189
|
|
|
190
|
+
上传附件(`composer.fileUpload`,缺省开)只收文档:Word(.docx)、Excel(.xlsx / .xlsm)、Markdown、TXT、HTML、CSV / TSV。都在浏览器里转成文字、作为可折叠的附件随消息发出:Excel 每个工作表一段 CSV(日期写成 2026-08-10、百分比写成 0.6%),HTML 保留源码(内嵌的大段 data: 图片换成占位),GBK 导出的 CSV / TXT 不乱码。图片、PDF、压缩包等不收;老版 .doc / .xls 提示另存为 .docx / .xlsx。
|
|
191
|
+
|
|
186
192
|
## 事件
|
|
187
193
|
|
|
188
194
|
都在浏览器里从实时流算出,不需要配 callback:
|