Skip to content

Latest commit

 

History

History
39 lines (32 loc) · 15 KB

chat.md

File metadata and controls

39 lines (32 loc) · 15 KB

对谈

← 文档目录 · English

会话与输入

  • 分组(如 Claude 的 project):侧栏「翻页」「卷宗」之下有「分组」入口,进去是分组页——列出各组(件数、最近动笔、所带预设与目录),点开一组可改名、择一个预设、定一个默认目录、看组里的对话、解散;组里新起的对话用组的预设、绑组的目录。历史里「置顶」之下另列各组,组首一方「集」印、左侧一道朱线,组首「+」在此组新建;对话的「⋯」里移入分组、移至他组或移出。输入框「+」旁标着所归之组(欢迎页可撤,对话页点开分组页)。组里的对话置顶只在组内居前,标一粒朱色小菱形。解散只拆组,对话退回散列;分组记在配置里,几个浏览器共用
  • 多会话、新建与删除;侧栏可按标题与正文搜索,支持置顶、重命名(侧栏双击或点击对话标题);侧栏收起与否记在本机,刷新后照旧;停在哪一页(正看的对话、卷宗)也记着,刷新回到原处
  • 头一问发出时就自动请模型拟题,与作答并行——侧栏里立刻是个像样的名字(「设置 → 专司」里可关闭,用的就是这段对话的模型;手动改过的标题不会被覆盖);拟题请求偶然失败不会把这段对话标成已拟题,那一答收尾时再试(这时带上答);题只据当前对话的问答,保留项目、任务或主题关键词,简短直白;拟题途中首问改过则按新内容补拟
  • 新对话与每段旧对话分别保存未发送草稿,文字与待发附件在刷新、切换对话或打开卷宗后恢复
  • 右下角的「上下文 ≈ n」实时估算下一问会送出多少 token(系统提示、工具定义、上次压缩以来的历史与行迹摘要、正在输入的草稿、案上待发的附件与引文),随输入与生成翻动,过重转印色;点它可「压缩前文」——请模型把此前往来压成一份摘要(目标、事实、决定、改过的文件、待办),记在分隔线上、点开可读,压缩过的前文在页面上折起(分隔线上可展开),此后的每一问只带摘要与之后的消息。压缩也会自动进行,以模型的「上下文窗口」为准:填了窗口,一答写毕后下一问估到七成半,便趁你读、写的工夫压好;没填,等接口回说放不下时,当场把这一问之前的对话压成摘要再发一回——各家模型的窗口不一,不填也接得住。想早些压、省些墨,把窗口填小一点即可。摘要先在外面生成,成了才一次性落成分隔:压缩期间接着发消息不会失忆,中途关页面也不会留下半成品分隔把历史截掉。模型高级配置里填了「上下文窗口」,计数就按 n / 窗口 显示、底下一道细线按比例走,用到七成半即转印色。每一答末尾的「耗墨 n」是这一答各轮请求的用量之和(含帮手)
  • 下一问送出的历史里,每一答附一行「行迹」摘要:读过、改过哪些文件,请示的答复,差遣的回报,以及检索到的前三条标题与链接、翻阅过的网页——模型不必从头再探;工具结果原文与思绪不重放
  • 对话多于一问时,右侧有一条按问的导航条:一问一道短横,当前所在加长转印色,悬停露出各问首句,点一下回到那一问;压缩过的前文折着时,导航条也只列分隔之后的问,「展开前文」后才列全
  • 引用追问:在回复或自己的话里划选一段文字,浮出「引用」,点击即作为引文带进输入框(可 ✕ 去掉、Esc 去掉、随草稿保存);发出后显示在问题上方,点击回到出处;送给模型时以 > 引块置于问题之前
  • 旁注:在回复里划选一段,选「旁注」,右侧开一条附在这一处的小对话——它读得到正文(到所注消息为止,尊重压缩),正文永远读不到它;能读的都给、只是不改:检索、翻网页、问接口(只许 GET、HEAD)、翻文档、翻记忆与旧谈、读与搜目录里的文件、只读的指令(git log / diff、Get-Content 这类,不出沙箱、不转后台),以及 MCP 服务里标了只读的那几件——GitHub 的查看类、游目的快照与截图之类;不动文件、不请示、不差遣,各步画在旁注回复自己的行迹里。正文还在生成时也可以就上面的回复开旁注、复制;旁注生成中往上翻就不再拉回底部。所注消息的元信息行标「注」(几条就标「注 n」),对话标题下标「旁注 n」。回复动作里的「旁注」、标题下的「旁注 n」打开的是目录页:这段对话里的旁注一条一行(所注的一段、落在第几答、几问、最近动笔),点哪条开哪条;顶上的「+」另起一条——正文里划着一段就注在那一段上,没划就是就整条回复而谈,同一条回复上可以起几条。看某一条时面板顶上列所注的一段(就整条回复起的没有范围可言,不列),‹ › 在各条间切换、左下角「‹ 目录」回目录、「阔」铺满整页、「删」移除;旁注里的问可编辑重问,答可重新生成——旁注不留版本,改了就是改了。旁注跟着它所注的那一问一答走:换到另一条分支,注在被换下去的那几条上的旁注便不在眼前(仍在册,换回来就回来)。落点记的是消息 id、划选的文字与它在正文里第几次出现——同一条回复里同样的词出现两次、注的是第二处,重画后仍落在第二处;每次从干净的正文重新找:两条旁注划的段落有重叠也各自落得上,划选跨过了已有旁注的脚注号也不碍事
  • 尚未接入模型时,欢迎页直接给出引导;设置分十二栏:通用、个性化、模型、预设、工具、专司、环境、MCP、Skill、游目、记忆、文档;「专司」是主答之外各司一事的几位——拟题(随对话的模型,只有开关)、审查与生图(各自另配一份接口、Key 与模型,不借模型栏里的那几份,免得挤掉主答的缓存、给本机模型添并发;审查也可走 ChatGPT 订阅的登录账号,不必为它另养一个 Key;审查怎么判见沙箱),收起时一行只写职名与模型名,最右一粒朱点是开或已配、空圈是关或未配。生图接口可选硅基流动或 OpenAI 兼容(/images/generations),配好了主模型才拿得到 generate_image:画好的图存进卷宗(行里是工作目录)、挂在那一步上,正文引它的文件名就地画出,能看图的模型随结果看到成图、自己核对;各栏题头左边一方笔意小画,题下一句题记(只管气韵,不讲用法,登记在 SETTINGS_TABS)。「文档」里是言的用法,一事一篇,目录题后写着版本;数据边界、键与手势、开源致谢也在其中
  • 时令:界面随二十四节气变一点——欢迎页题上注当下的节气,题字照旧按时辰挑、池里掺进当令的两句;纸色随季偏一丝(春微青、夏最白、秋微暖、冬微冷);正文右下角一件当令的淡墨小画(春柳、夏荷、秋苇、冬梅),暗色里与右上那轮月同在。英文界面只随季换纸色与小画

生成与版本

  • 发送键是一方印:未落墨时是空印,有字时蘸满印色,悬停微转像要落印,印文「寄」;生成中印文换「止」、外圈一道墨环流转不息,点它即停
  • 流式回复按「落墨」节奏匀速写出(积压越多写得越快,最多滞后零点几秒),新字带短暂渐显、末尾跟一支笔尖光标;回复元信息里的小印章在书写时呼吸、写完时盖下。「设置 → 个性化」可将界面动效设为开启、随系统或关闭
  • 作答途中也能再说一句:输入框里写了字,印由「止」变「寄」,寄出的是补言——是引导,不是排队,也不硬掐:先落在行迹里它到达的那一刻(一步「补言 · 待寄」),然后等模型说到一个自然的落点——正在思考就等思考写完(想多久都等)、正在拟工具调用就等调用完、结果交回时递上(正跑着的前台指令当场转入后台接着跑,结果即刻交回),正在写正文就等到句尾或段落尾、代码围栏里等它闭合——才停下这一轮的流,已写的留着,连同这句话再请它开口,它读了接着写、可就此改道(历史里是「已写的话 + 补言」,行迹里那一步标「引路」,停下的那一轮按估算记墨;停的位置略过句尾的几个字退回去);没等到落点流就到头了、又没有下一回合的,落笔后作为新的一问接着送;中途按了停则放回输入框。案上空着时按印才是停止
  • 停止生成、重答、失败重试、复制;切换或新建对话不会打断已有请求,多段对话可在后台同时生成,侧栏显示运行、等待确认与未读状态;网络不稳时自己扛一扛:接口没接下请求(连不上、限流、5xx、过载)退避重试(间隔从 1 秒渐长到 1 分钟,远端前后撑五分钟上下,本机模型只试四回)、照 Retry-After 等、断网等网回来,状态栏写「网络不稳 · 第几次重试」;写到一半断了,已写的留着,稍候请模型从断处接着写,同一轮最多接两回;再不行或刷新页面时保留已生成正文,并提供「继续生成」
  • 生成中的跟随:往下滚到离底不远就算到底、开始跟随(内容一直在长,硬要滚到最后一像素常常追不上),往上滚离底超过 80px 才算离开;跟着的时候内容不论因何长高(工具输出、图表成图、图片载入、块的开合)都贴着底,不只靠流式的每一帧
  • 分叉:编辑问题或重答不再截断,被换下的那段整段留作一个版本,消息旁以「‹ 2/2 ›」切换;版本可以嵌套,切换时当前这条停在原位;旧备份可直接导入
  • 生成时向上翻阅会出现「回到最新」浮标;长对话按可见消息锚点保存滚动位置,关闭设置、切换对话以及异步图表完成后回到原阅读位置
  • 思考模型的 reasoning_content,以及部分接口直接写在正文开头的 <think>…</think>,都显示在「思绪」折叠区;流式推理时默认展开、正文出现后自动收起,手动开合时尊重用户选择
  • 自动开合的规矩(思绪、行迹、帮手卡片同一套):一答只开一次、收一次——开始时摊开,整答写完才收,中间模型说话的间隙不来回翻;收之前停一拍让勾打上;正往上翻着读这一块的人不替他收,留给他自己;用户亲手开合过的一律不动
  • 消息列表按 id 增量同步:只插入、替换或移除有变化的那几条,其余节点(含已挂载的交互内容)原样保留;明暗、印色或字体变化时交互内容就地换色

呈现

  • Markdown 由 marked 解析、DOMPurify 净化:表格、嵌套列表、任务列表、highlight.js 代码高亮、代码块语言标签与复制按钮、KaTeX 公式($…$、$$…$$、\(…\)、\[…\])
  • 正文里的外链图(![图](https://…))不自己去取:页面只许本机的图(CSP),不然网页里的话诱着模型写出带参数的图址,页面一画就把对话里的字送了出去。外链图先画成一张虚线素纸,写图名与来处的域名;点它才经桥接取来(POST /api/remote-image,地址门禁同翻网页、只收图、至多 15 MB),就地画成与别的图一样的一幅,点开进看图框、可存下;这一回开着页取过的都记着,刷新后要再点。取不到的写明缘由(对方 404、不是图、内网地址……),再点交系统浏览器去开
  • 页内可视化只有一条路:模型写一个自足的 html,在无网络、无父页面权限的隔离沙箱(`preview.html` + `preview-runtime.js`)里就地渲染成可交互的一块,与正文同一张纸——言的色板、字体与明暗送进去成了 `var(--ink)`、`var(--accent)` 这些变量,底色透明,高度随内容,常用元素已有样式,另备 `.card` `.row` `.grid` `.tag` 几个小件;不套框,指到这一块才在正文列右边的空白里浮出一枚「全屏」(旁注里在块的右上角),重来、下载收在全屏与出错时的题头里;出错或全屏时才回到有框的样子。数据图表写 `<script src="yan:echarts"></script>` 再照常 `echarts.init`(已按言的色板配好主题、宽度变了自己重排;模型写 option 常见的几处失手——系列指到不存在的坐标轴、坐标轴指到不存在的格子、漏了 type——画之前先扶正),流程、时序、结构图写 `<pre class="mermaid">…</pre>` 自动成图;两个库随项目本地分发,只在这一块里按需载,页面本身不再带它们。换主题、朱色或字体时已在页上的块就地换色,不重跑、里头的状态不丢。旧对话里的 mermaid / ```echarts 围栏换成等价的一页 HTML 照样成图。代码尚未写完时先立一个占位框:框里是一页版式的草图,淡墨一笔一笔勾出来,勾完停一停、淡去、再勾;每来一行,草图上轮到的一笔蘸一口朱墨又褪回去,流着时朱笔此起彼伏,流停了草图只剩自己勾着,一眼看得出还在写还是卡住了;框边一点呼吸的墨光,逐帧重画时占位框本身不重建、拍子不从头来;完成后再挂载
  • KaTeX、pdf.js 只在首次用到时按需加载(mermaid、ECharts 只在交互内容那一块里按需载),首屏只带 marked + DOMPurify + highlight.js(约 200 KB);主题、印色与字体由 theme-boot.js 在样式解析前写入,暗色模式开页不会先闪一下米白
  • 明暗主题、字体(混排、黑体、宋体、楷体、仿宋——回复与标题的字,楷与仿宋取自系统,没有的机器落回宋)与印色(阅读宽度不设选项,定在 860px);纸面带细微纸纹,亮色角落是一圈茶渍,暗色右上挂一轮月晕;切换明暗:亮到暗是「落墨」——三滴墨先后坠下,触纸渗进纸面,墨从落点洇开、墨缘参差,铺满整纸的那一刻纸换成暗色,墨色退去,字迹从中浮出;暗到亮是「天光」——光没有形体,从按下的那一点以柔边漫开,照白整纸后光退去,字迹浮出。墨团与光晕是几张带湍流滤镜的 SVG,开机后闲时各画成一张上了色的位图,动效里只放大位图、再淡出,全程在合成层上(不套遮罩、不动滤镜、不用 View Transitions,240 Hz 的屏上也不掉帧;主题重排那一下藏在墨底下);关了动效则直接切换。顶栏右侧的三件同一套笔墨:连接状态是一点印泥(静时空心、忙时朱色呼吸、断时转赤),中间一方砚台(亮色时空砚悬一滴墨,暗色时砚里蓄满墨只余一点纸光),右边是余墨的一笔
  • 侧栏在窄窗口(如 VS Code 侧栏预览)下以抽屉打开,点空白处收起;页签标题跟随当前对话