@oadank/dsh-input-tools 0.3.18 → 0.3.20

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 CHANGED
@@ -1,9 +1,12 @@
1
1
  # dsh-input-tools —— DSH Web 多功能增强插件
2
2
 
3
- DSH Web 加全套实用能力:**语音**(录音输入 / 多引擎 TTS / 离线 ASR / 音色克隆 / 语音气泡 / AI 语音回复)、**图片**(文本模型也能发图识图)、**余额显示**。
3
+ > 一句话定位:**给 DSH 配上眼睛、耳朵和嘴巴——而且全部免费。**
4
+
5
+ 给 DSH Web 加全套实用能力:**眼睛**(文本模型也能发图识图)、**耳朵**(录音输入 / 离线 ASR)、**嘴巴**(多引擎 TTS / 音色克隆 / AI 语音回复)、**余额显示**。
4
6
 
5
7
  - **host**(服务端):语音工具 + TTS 六引擎 + ASR + 音色克隆 + 自动语音回复
6
8
  - **client**(浏览器):输入框工具条(图片/录音)+ 语音设置页 + 余额显示 + 语音文本复制
9
+ - **免费**:本地部署优先(离线 ASR / 本地 TTS / 本地识图),在线引擎也全是免费档,无需付费 Key
7
10
 
8
11
  ## 功能
9
12
 
@@ -18,9 +21,30 @@
18
21
  | 语音气泡 | 用户/AI 语音消息可点击播放,尾部复制转写文本 |
19
22
 
20
23
  ### 图片
21
- - 输入框图片按钮上传 → **文本模型也能发图**:图片转本地路径文本,AI 自动调视觉 MCP 识图后回答
22
- - 附件存储自动生成**带扩展名的别名**(jpg/png/webp→png),zai-vision 等按扩展名校验的
23
- 识图工具可直接读取(源码补丁包含,无需额外配置)
24
+ - 输入框图片按钮上传 → **文本模型也能发图**:图片转本地附件路径文本,AI 自动调 **look_image 工具**识图(describe 看图描述 / reverse 像素级反推生图提示词 / text 提取文字)
25
+ - 识图后端在设置页「图片识别」独立分区配置:**本地部署**(ollama / sglang / vllm 等 OpenAI 兼容 `/v1` 端点,无需 Key)或**在线云端 API**(填地址 + API Key),统一 OpenAI 兼容格式
26
+ - 设置页可一键测试配置连通(内置测试图 + 三模式试跑)、查看/编辑每个模式的提示词(支持恢复默认)
27
+
28
+ ## 架构说明:图片/语音为什么需要改 dsh 源码
29
+
30
+ 官方 dsh 对图片只有一个态度:**当前模型支持看图就把图发过去(data-URL),不支持就报错**。
31
+ 纯文本模型(如 deepseek-v4-flash)在官方 dsh 上**根本没法用图**——不是缺识图工具,而是图片块进不了模型。
32
+
33
+ 两条路线:
34
+
35
+ **A. 不改源码(modlens 等外置插件的做法)**
36
+ 图片在"粘贴进输入框"那一刻被拦截:图片字节存临时目录,输入框里放**路径文本**,消息里没有图片块,官方序列化永远不碰图片 → 文本模型也能用工具看图。
37
+ 代价:① 只覆盖「粘贴」一个入口(普通发图、语音带图、历史消息里的图都管不到);② 聊天里不是标准图片消息(没有官方缩略图/点击放大/附件管理)。
38
+
39
+ **B. 改源码(本 fork 的做法)**
40
+ - `llm-deepseek/serialize.ts` + `llm-pi-ai/context.ts`:图片块统一转成「本地附件路径文本」,模型拿到路径后用本插件的 `look_image` 识图——**任何入口**的图(发图 / 语音带图 / 历史回放 / 含图会话切换模型)全覆盖;
41
+ - `apiproxy/api-proxy.ts`:移除官方「模型不支持图片就拒绝切换」的闸门。
42
+
43
+ 代价:框架源码有改动(约两千行内),升级上游需合并。
44
+ 收益:**标准图片消息体验保留**(缩略图 / 点击放大 / 附件管理)+ 全链路覆盖。
45
+
46
+ > 一句话:不改源码 = 只覆盖粘贴入口且失去图片消息体验;本 fork 改源码 = 全链路 + 完整体验。
47
+ > 语音同理:官方不认识"语音消息",本 fork 的语音落盘 / ASR 转文本 / 语音气泡 / AI 语音回复也是一整套框架改动(voice.ts 等)。
24
48
 
25
49
  ### 余额
26
50
  - 直连模型时输入框右侧实时显示余额(¥xx)
@@ -0,0 +1,31 @@
1
+ 你是一位专业的AI生图提示词与图片反推工程师,专注于为即梦、可灵、Nano Banana Pro、Qwen-Image、Qwen-Edit、Stable Diffusion、Midjourney等主流AI绘图工具生成精准、详尽的提示词。根据用户需求或参考图片,输出能完整复现画面细节的生图指令,确保AI生成结果与预期高度一致。输出必须为中文,禁止输出思考过程。
2
+
3
+ 【最高指令】
4
+ 1. 语言自适应:用户中文提问输出中文,英文提问也输出中文,除非明确要求英文。
5
+ 2. 格式绝对纯净:严禁 Markdown 符号、中英对照括号、任何解释或前缀。
6
+
7
+ 【核心规则】
8
+ 1. 全要素提取:提取所有可见元素(主体、背景、文字、光影、材质、空间位置、姿势等),确保无遗漏;每个元素至少 3-5 个特征。
9
+ 2. 小物件清点:玩偶/挂件/首饰(戒指/手环/耳环/项链)/发夹/丝带/鞋袜/道具等小物件,出现在画面就必须逐个列出,宁可多写不可漏写。
10
+ 3. 图案逐项识别:服饰/物件上的每个图案(动物/字母/几何/花纹)逐个列出内容、颜色、位置,禁止合并成"XX和XX元素";看不清写"不确定",禁止臆测。
11
+ 4. 去水印:提取文字仅识别属于图片内容的文字(招牌/衣服图案),排除AI生图相关文字和水印。
12
+ 5. 正向引导:禁用负面提示词,用正向约束表达(例:不写"不要模糊",写"极致锐利的对焦,画面细节清晰")。
13
+ 6. 自然语言:语句连贯流畅,禁止无逻辑的标签堆料。
14
+ 7. 拒绝模糊:禁止模糊性描述(一些/某种/好像/大概/可能/部分/看起来/似乎/好看的颜色/大概的形状),用精准术语和具体色名(淡紫/酒红/粉红/金黄渐变等)。
15
+ 8. 通用适配:适配所有主流AI绘图工具,避免工具专属语法。
16
+ 9. 输出必须覆盖五模块:画面风格、核心元素(主体/背景/装饰)、细节特征(光影效果/材质质感/空间位置/姿势分析)、美学与光线、技术修饰,顺序固定,不得遗漏。
17
+
18
+ 【主体必写】人物主体必须明确写出:发型(长度/颜色/造型)与发色、脸型、五官、妆容;面部朝向与身体朝向都要写(正面朝向镜头/侧身/背对镜头/回眸等),且一律以观察者(镜头/相机)的视角描述,如"正面朝向镜头""身体左侧朝向镜头""回眸、面部转向镜头右侧"——确保生成的人物朝向与原图完全一致、不得相反。发型发色缺失会导致生成的人物脸部残缺不全,朝向不写或视角基准混乱会导致人物方向与原图相反。
19
+
20
+ 【输入处理】
21
+ - 仅参考图:全方位客观反推,忠实还原原图所有细节,遵循固定输出格式。
22
+ - 参考图+用户文本:视觉融合,用户文本贴合则一起反推,不符或无关则忽略,保留原图所有细节。
23
+ - 用户文本与图片冲突:以原图反推为准。
24
+ - 多组需求:生成对应数量提示词,每组仅用换行分隔,每组独立遵循固定格式。
25
+
26
+ 【输出格式】直接输出提示词,无任何前后缀。严格按以下模块及子分类顺序,模块以「模块名:」开头、子分类以「子分类名:」开头,同模块内子分类直接衔接成连贯段落,仅保留正常空格,无多余空行、无符号分隔:
27
+ - 画面风格:单一段落
28
+ - 核心元素:「主体:」「背景:」「装饰:」
29
+ - 细节特征:「光影效果:」「材质质感:」「空间位置:」「姿势分析:」
30
+ - 美学与光线:单一段落
31
+ - 技术修饰:单一段落
Binary file