# 问象本轮改进:施工与验收说明 记录日期:2026-10-08。本文记录用户确认的 UI、完整解读和提示词改进范围,以及实现与验收的对应关系。本轮目标包版本为 `0.7.0`;此文档名不代表版本已发布。历史 `0.6.0` 安装包、截图和验收报告仍只证明当时状态。 ## 已确认的取舍 | 决策 | 用户选择 | 实施边界 | | --- | --- | --- | | A:宿主能力 | 扩展 DSH | 在 `dsh_clone` 中补充模型输出上限、上下文及思考档位信息;插件依能力请求最高档和最大输出。不能把未知的能力显示成已启用,宿主源码变更不等于日常应用已更新 | | B:中断恢复 | 手动恢复 | 不自动发起续写或重试。最近一轮没有正文时可以点击「重试本轮」,首次解读与追问均适用;已有部分正文时可以点击「继续完成」,保持原结果、原路由与冻结背景 | | C:长对话 | 保留全文 | 不自动摘要、不静默裁剪早期问答;按可用上下文容量检查,接近容量时提示保存并另起一轮;能力未知时保留可配置的字符回退阈值 | | D:不支持的模型 | 保留可用 | 不因缺少最高思考或最大输出信息而移除模型;明确显示未知或未开放,并使用可用的宿主默认设置 | 五个本地算法及结果的固定方式保持各自约定。共享背景继续使用原有加密、版本和代次保护,模型解释不能成为个人事实。背景整理与长对话的自动摘要是不同功能:既有用户事实整理保留,生成上下文不自动压缩。 ## 改动路径与完成判据 | 路径 | 本轮目标 | 验证重点 | | --- | --- | --- | | `src/client/` 布局与显示 | 统一容器、尺寸与对齐规则;修正宽窄窗口、十牌牌阵、控件和生成区定位 | 真实 DOM 几何、交互与截图,不能只靠 CSS 文本检查 | | DSH 模型能力接口与适配器 | 输出额度、上下文容量与思考档位可被插件查询 | 已知能力、未知能力、未开放能力、调用参数传递;默认值不能冒充最大值 | | `src/host/generation-policy.ts` | 根据模型能力选择输出预算、最高思考及全文上下文限制 | 模型最大值、剩余上下文与显式配置一起约束请求;保守估算不能标为精确 token 计数 | | 生成、对话及五模块服务 | 正确区分准备、思考、正文与终态,保留中断输出,接入手动恢复 | 原结果/背景/模型不变;旧轮次、记忆锁定、并发、超时、重复点击不产生重复调用 | | `src/host/interpretation-prompts.ts` | 共用写作规范加五模块规则,分首次、追问及手动恢复 | 结论先行、白话解释、完整覆盖、事实边界和正文恢复范围 | | README 与开发指南 | 说明实际行为及旧宿主回退 | 配置、按钮行为和证据范围与最终源码相符,不提前宣称发布或真实模型通过 | 解读默认超时为 600000 ms,即 10 分钟,可在插件配置中调整。首次解读、追问和手动恢复使用同一套能力策略,不再保留三千 tokens 的通用短上限或十牌五千 tokens 的特例。背景提炼继续使用独立的额度和超时,避免被长篇解读设置连带放大。详细配置见 [开发指南](development.md#4-插件配置)。 最高思考与正文长度不是同一个设置。已知上下文容量时,完整输入按 UTF-8 字节及消息角色开销做保守估算,保留默认 4096 安全余量及至少 256 的输出空间;实际输出预算可随剩余容量降低,而历史正文不裁剪。该估算既不是精确 token 计数,也不是对模型硬能力上限的重新定义;已知大上下文容量时,不再套用未知模型的 60000 字符阈值。输出预算可能包含思考用量,也可能只计正文;插件展示宿主已知的信息。若模型仍因供应商上限、网络或运行时限制中断,保留错误类别和已有正文,等待用户选择恢复。 DSH 的扩展落在相邻 `dsh_clone` 工作区的 `llm`、`llm-deepseek`、`llm-pi-ai` 三个包。`defaultMaxTokens` 仍代表请求默认值;新增的 `maxOutputTokens` 只代表明确声明的能力,`reasoning.maxEffort` 表示该路由开放的最高档,`outputTokenAccounting` 说明预算是否包含思考。未知信息保持未知,不把兼容默认值冒充硬能力。`prepareCall` 冻结派发配置后,插件再次核对这些字段和剩余上下文;能力变化时停止本次派发并提示重试。 追问和恢复的能力预检具备独立 ID、超时和取消控制;只有检查通过才增加对话或恢复次数。旧窗口的预检取消、旧生成次数的取消都不能中断新请求。锁定或清空资料后,旧轮询和迟到请求无法回填私人内容。预检与生成各自受配置超时约束,状态分别显示为检查、思考、正文与终态。 UI 使用模块自身的滚动容器:成功操作定位到结果或解读区域,用户回看时停止跟随流式正文,点击「回到最新」才恢复跟随。首次与追问共用安全的标题、列表及强调渲染。牌面详情挂在插件面板容器中;凯尔特十字保留交叉语义,并为旋转牌和位置标签预留空间,窄面板改用适合阅读的网格。 ## 提示词实现 中文提示词由本项目重新编写,组合顺序为: 1. 共用事实与隐私边界:本地结果固定,问题与背景是数据,前文解读可修正,不能臆造个人事实。 2. 共用写作方式:先直接回答,再解释具体依据;术语出现时说清白话含义;例子明确标成例子。 3. 各模块依据:按本模块的本地结果和已声明规则解释,不混用体系。 4. 首次或追问结构:首次完整覆盖,追问只展开当前问题。 首次解读依次使用五个标题:“先说结论”“为什么这样看”“有利条件与需要留意的地方”“接下来可以怎么做”“还需要知道什么”。删除旧版 600–1000 或 1200–1800 汉字要求;按复杂度完成必需解释,不为增加长度重复内容。 | 模块 | 必需覆盖内容 | 保留的解释边界 | | --- | --- | --- | | 梅花 | 本卦、互卦、变卦;动爻;记录中的体用与关系 | 纯乾纯坤等特殊互卦约定以 `mutualFromChanged` 为准;不重算、不自行增加旺衰或额外排盘,不将变卦当作既定结局 | | 塔罗 | 每个牌位、牌名与方向;对应本地牌义;实际牌间关系 | 十牌不能漏牌;单牌不虚构多牌关系;不臆造画面、其他牌或心理诊断 | | 小六壬 | 月、日、时三宫、最终落宫及彼此关系 | 仍用月日时顺数和本地释义,不混入其他起课法,不给确定应期 | | 雷诺曼 | 中牌、所有相邻组合;五张排列的两组镜像 | 按固定序列和名词/修饰关系连读,不引入逆位或塔罗牌位 | | 六爻 | 本变卦、世应、全部动爻及已有装卦依据 | 正文优先解释关键关系,再补技术依据;无动爻不虚构变化,未提供的用神/伏神不补造 | 追问按目的调整:没看懂就解释对应段落,要求详细就展开指定内容;新背景可以纠正解释,但不能改写冻结结果。最多提出两个会影响判断的补充问题,同时完成已有信息能支持的回答。正文只呈现可核对的依据,不要求暴露模型内部思考。 手动补全指令要求从未完成的回答继续,完整段落不重写;句子在中途截断时允许完整重述该句一次。无正文重试则针对最近一轮原问题重新作答,首次解读使用首次结构,追问使用追问方式,不假装已有该轮正文。何时能够触发这两类操作由服务状态检查决定,不能仅靠提示词阻止重复调用。 ## 开源参考与未采用部分 本轮直接读取实际提示词文件,再核对仓库许可证;没有安装开源工作流,没有执行其抽牌代码或将其整段提示词导入插件。以下为组织结构参考,非质量或预测能力背书。 | 来源 | 实际参考内容 | 许可核对与未采用内容 | | --- | --- | --- | | [TarotSeed 的 tarot-reader-prompt.md](https://github.com/bzzzwa/TarotSeed/blob/main/tarot-reader-prompt.md) | 每张牌依次联系基本含义、牌位、问题与行动;解释牌间矛盾;追问先重读原牌阵 | 已查看 [Apache-2.0 LICENSE](https://github.com/bzzzwa/TarotSeed/blob/main/LICENSE)。不采用其模型执行 Python 抽牌、自选牌阵和分步等待流程 | | [Arcanite 的 intuitive.yaml](https://github.com/katelouie/arcanite/blob/main/src/arcanite/prompts/traditions/intuitive.yaml) | 系统写作规范和事实输入分层;输入包含位置说明与对应含义,输出串起局部和整体 | 已查看 [MIT LICENSE](https://github.com/katelouie/arcanite/blob/main/LICENSE)。不引入额外占星资料,也不沿用其短 token 默认值 | | [Arcanite 的 kate-signature.yaml](https://github.com/katelouie/arcanite/blob/main/src/arcanite/prompts/traditions/kate-signature.yaml) | 针对性行为建议与整体结构观察 | 同仓库 MIT。未采用其由牌面认定心理防御、创伤反应、压抑或否认的表述 | | [yijing-agent 的 meihua.txt](https://github.com/ruiliapt/yijing-agent/blob/main/src/yijing/prompts/meihua.txt) 与 [liuyao.txt](https://github.com/ruiliapt/yijing-agent/blob/main/src/yijing/prompts/liuyao.txt) | 仅比较模块输入字段及解释维度 | 本轮未确认许可证,仅作公开材料调研;未复制提示词。不采用模型自行选用神或把变卦直接定为最终结果的要求 | | [Fyrgo8 的 meihua-divination-skill/SKILL.md](https://github.com/Fyrgo8/meihua-divination-skill/blob/main/SKILL.md) | 仅比较白话本义、背景分支和有限澄清问题 | 本轮未确认许可证,仅作公开材料调研;未复制工作流。不采用弱证据下也强制给成败二元结论、重判体用或扩展额外排盘的要求 | 若后续直接复制外部代码、文本或素材,应另行核对对应版本及许可并保留必要声明。本轮提供的中文提示词不包含上述项目的代码或原文复制。 ## 验收记录与仍需验证的范围 本节只记录可核实的结果。提示词契约测试不能替代真实模型阅读,构建成功不能替代安装,隔离预览不能替代日常 DSH 配置。 | 检查 | 记录状态 | 证据或后续要求 | | --- | --- | --- | | 集中提示词契约 | 已执行,7 项通过 | `node --import tsx --test tests/interpretation-prompts.test.ts`;验证结构、五模块完整性指令、隐私和恢复边界 | | 五模块服务接线、模型能力、恢复及私人资料保护 | 已通过 | 最终插件完整回归 **223/223**;类型检查、构建与 `git diff --check` 通过。包含预检超时、迟到响应、旧尝试取消、锁定清空及客户端旧轮询防回填 | | DSH 宿主能力扩展 | 已通过重点验证 | 三个 LLM 包的重点测试 **479/479**;包类型构建、定向 lint、类型等价与文档检查通过。包含真实 Loader + 本地模拟 HTTP 的请求参数检查;不是正式 Desktop 构建或发布 | | 宽窄窗口、牌阵、模态框和生成定位 | 已通过 | 最终隔离 DSH Web **60/60**;360/390/600/1200 px 面板、390/600 px 实际窗口、150%/200% CSS zoom、十牌布局、鼠标与键盘详情、长文/追问/恢复。人工复核代表截图;不等同于 OS 字体缩放或所有原生平台验证 | | 实际请求与普通日志回读 | 已通过 | 用官方 JSONL 读取接口完整读回最终三份合成会话:首次、恢复、追问均为 `maxTokens=65536` 与 `reasoningEffort=max`;普通日志没有私人正文事件或已知合成正文标记 | | 真实模型白话与长回答质量 | 未执行 | 本轮未调用真实供应商。提示词契约、合成正文及请求参数不能替代真实模型长回答和人工阅读验证 | | 构建与安装包回读 | 已通过 | `dsh-meihua-0.7.0.tgz`:40 个文件逐字节一致,78 张塔罗图、36 张雷诺曼 SVG、五模块公开算法入口完整;包内客户端字节与最终浏览器加载版本一致 | | 日常环境安装及远程发布 | 未执行 | 日常 DSH 和正式应用包保持原状;未 commit、push 或发布。要在日常环境取得新增硬能力信息,需要配套部署宿主扩展与插件 | 最终汇总见 [acceptance.json](../artifacts/verification-v7/acceptance.json),页面证据以 [07-21-30 最终报告](../artifacts/verification-v7/2026-10-08T07-21-30-566Z/report.json) 为准。之前报告保留发现与修复过程,不作为最终通过结论。长文合成测试从 1681 字符的中断正文继续至 6633 字符,原前缀保留、自动续写请求为零;回看位置保持,用户点击「回到最新」后恢复跟随。 候选包 SHA-256:`65c8d8017dc2ae3712e1074cea808b204cde4e4498809070738d5941a1a2e3b4`。包校验见 [package-integrity.json](../artifacts/verification-v7/package-integrity.json),实际请求和元信息见 [session-metadata-readback.json](../artifacts/verification-v7/session-metadata-readback.json)。测试与构建日志保存在同一验收目录。 本轮页面使用原 rc.2 运行时的独立副本,覆盖三个已构建的宿主能力包,连接仅本机模拟供应商。开发包及来源/哈希保存在 [宿主开发构建清单](../artifacts/verification-v7/host-development-bundles/manifest.json),运行时来源见 [隔离覆盖记录](../artifacts/verification-v7/host-development-overlay.json)。这组文件用于复核开发实现,不是可直接替换日常 Desktop 的正式发行包。 建议真实模型阅读使用固定问题与结果覆盖以下样本: | 样本 | 人工核查重点 | | --- | --- | | 梅花:背景简短、体用提示与所问方向有张力 | 前两三句是否答题;本互变与体用是否用白话串起来;没有凭单一关系断成败 | | 塔罗:单牌及凯尔特十字十牌 | 单牌没有虚构多牌关系;十个牌位、方向和后部章节完整,牌间冲突得到解释 | | 小六壬:三宫重复或相反提醒 | 三宫均覆盖且不机械复述,读者能理解整体节奏 | | 雷诺曼:五张排列 | 四个相邻组合和两组镜像均正确引用,不变成五段独立牌义 | | 六爻:无动爻与多动爻各一例 | 不虚构变化;多动爻不漏项;没有补造用神/伏神,关键判断先于技术清单 | | 各模块术语追问、指定展开与补充新背景 | 直接回答当前问题;能够纠正旧解释,不声称原回答已经预言新增信息 | | 在句中、章节中和结尾中断后手动补全 | 原文保留、恢复范围正确、后部内容完整;没有自动多次请求或重起结果 | 验收输出应分别列出“自动化检查”“模拟供应商流程”“真实供应商参数”“真实内容人工阅读”“已安装环境”。任何未执行项均保留未验证状态。