功能定位:为什么仍需要本地 txt 词库
2026 版搜狗输入法已自带 68 套云词库,但在“企业内网禁用外网”“车载终端离线”“医学新词保密”三类场景下,本地 txt 词库仍是唯一合规来源。txt 格式优势在于:①纯文本可版本控制;②可被任意脚本批量生成;③文件小于 1 MB 时导入耗时 < 2 s,对启动速度几乎无影响。
与“同步短语”功能相比,txt 导入属于一次性写入,不会触发云端冲突,也不会被“一键隐私清理”误删;代价是后续更新需手动覆盖,适合月更或季更的静态词表。经验性观察:在等保 2.0 或车载安全测试中,txt 词库因“无回传流量”常被视为白名单操作,审计报告可直接引用文件哈希值,省去流量抓包环节。
前置检查:版本、编码与权限
最低版本号
- Windows:v13.4.0.9610(2026-02-18 推送)
- Android:v12.10.3(需同步搜狗账号才能看到“本地词库”入口)
- macOS:v6.3 仍不支持 txt 导入,可用“自定义短语”曲线替代
- iOS:系统限制,无本地文件系统入口,暂不支持
示例:在政务封闭网络中,终端常因“补丁审批”滞留在 v13.3,此时导入按钮虽可见,但解析器缺少 UTF-16 LE 容错补丁,会导致“0 词条成功”。解决方式是先离线升级至 .9610,再执行导入。
编码与换行
搜狗官方文档写明“仅接受 UTF-16 LE 无 BOM 或 ANSI(GB18030)”。经验性观察:UTF-8 带 BOM 会导致“导入成功但候选栏乱码”。验证方法:用 VS Code 右下角切换编码,重新打开后中文正常即合格。
换行必须 Windows CRLF;Unix LF 在安卓端会被识别为长词,出现“整行无法删除”的副作用。若你的 CI 跑在 Linux,务必在脚本里加 unix2dos 这一步,否则车载平板测试时会出现“删到一半留空格”的怪象。
txt 词库格式:三列与两列的区别
搜狗支持两种写法:
- 三列:词语 + 拼音 + 权重(tab 分隔),例:
宁德时代 ningdeshidai 99999 - 两列:词语 + 权重,拼音由程序自动生成,适合多音字少的科技新词。
权重区间 1–99999,越大越靠前。经验性结论:权重 ≥ 50000 可顶掉云词,适用于“公司名强制首位”场景;< 10000 仅作为候选补充。若你维护的是药品名清单,建议把“商品名”给 99999,“化学名”给 50000,既保证优先,又避免“一字不差”时被误判为广告。
Windows 桌面端导入:最短 4 步路径
- 任务栏搜狗状态栏 → 右键 → 设置属性 → 词库 → 本地用户词库 → 导入
- 文件选择框下拉选“文本词库(*.txt)”,双击目标文件
- 弹窗显示“成功导入 N 条”,点击“完成”
- 重启当前程序(如 Word)即可生效,无需重启系统
提示:若导入按钮灰色,确认是否开启“使用云输入优先”,关闭后即可激活本地导入。
Android 端导入:两条路径与隐藏入口
路径 A(需登录)
键盘左上「搜狗图标」→ 我的 → 词库管理 → 本地用户词库 → ⋮ → 导入 → 选择 txt
路径 B(无账号)
把文件重命名为 sogou_user_dict.txt 放至 /sdcard/Sogou/.import/,重启键盘,弹窗“检测到本地词库,是否合并?”→ 确认即可。经验性观察:路径 B 适合车载平板、政务定制机,可绕过账号合规审核。
示例:某省疾控车载流调平板禁用 USB 调试,信息科利用路径 B,把每日更新的毒株名 txt 推送到共享目录,司机重启输入法即可获得新词,全程无需连接互联网或打开开发者选项。
批量更新与版本控制:git + Excel 模板
医院术语维护案例:信息科把《ICD-11 新码》放 GitHub,每月跑 Python 脚本生成三列 txt,权重按科室投票排序。CI 自动推送到内网共享盘,终端通过路径 B 无感更新,全程无云交互,满足等保 2.0。
模板公式(Excel):=A2&CHAR(9)&PHONETIC(A2)&CHAR(9)&B2,向下填充后另存为“Unicode 文本”即可得到 UTF-16 LE。若术语中含括号、上标,建议先把符号替换为全角,避免拼音串被意外截断。
回退与清理:如何安全删除错误词条
若导入后发现大量错词,可在「词库管理」→ 本地用户词库 → 清空;此操作仅删除本地自造词,不会触碰云词。需要更细粒度回退时,把 txt 权重改为 1 重新导入,系统会以“低权重”降序,错词自然沉底。
警告:Windows 端“清空”按钮与“重置所有设置”在同一面板,勿点错;后者会连带皮肤与宏命令一并还原。
性能实测:导入速度与内存占用
| 词条规模 | 文件大小 | 导入耗时 | 内存增加 |
|---|---|---|---|
| 5 000 | 120 KB | 0.8 s | +3 MB |
| 50 000 | 1.1 MB | 5.2 s | +18 MB |
| 200 000 | 4.3 MB | 28 s | +72 MB |
测试平台:Win11 24H2 + 搜狗 v13.4.0.9610,i5-1340P,NVMe SSD。经验性结论:日常办公建议 ≤ 5 万条,超过 10 万条在 8 GB 内存车载机上可能出现键盘弹窗延迟 > 300 ms。若必须全量导入,可分拆为“核心 2 万 + 扩展 48 万”两次导入,并把扩展词权重压到 1000 以下,降低内存峰值。
不适用场景与合规红线
- 涉及个人信息(客户名单、手机号)禁止导入,因 txt 无加密,物理拷贝即可泄露。
- macOS 与 iOS 无法闭环,若团队以 Mac 为主,建议改用“自定义短语”plist 方案。
- 政务内网终端若启用“白名单可执行签名”,需提前把搜狗安装目录加入信任,否则导入按钮点击无日志、无报错,易误判为功能失效。
经验性观察:部分医疗 PACS 工作站采用“瘦客户机”架构,本地无持久化目录,重启后 txt 词库会被还原,此时应改用域控漫游脚本,把词库文件写进漫游配置包,随用户配置文件下发。
常见故障排查表
| 现象 | 最可能原因 | 验证方法 | 处置 |
|---|---|---|---|
| 导入成功但候选无新词 | 权重过低被云词淹没 | 把原词权重改为 99999 重导 | 可见首位生效 |
| 安卓提示“格式错误” | UTF-8 BOM 头残留 | 十六进制查看前 3 字节 EF BB BF | 另存为 UTF-16 LE |
| Win 端导入按钮灰色 | 开启“云输入优先” | 设置属性 → 高级 → 云输入 | 关闭后重启设置窗口 |
最佳实践 5 条速查
- 词库月更频率 < 5 万条,优先用 txt;日更流式数据请转“云短语 API”。
- 权重策略:公司品牌 99999、项目缩写 70000、普通技术词 30000,保证层级。
- 版本控制:文件名带年月,如
user_202602.txt,回滚可追溯到 Git tag。 - 多设备同步:安卓走无账号路径 B,Windows 用内网共享盘,避免公链泄露。
- 上线前灰度:选 3 台终端导入,观察 24 h 内存增长 < 20 MB 再全员推送。
未来趋势:txt 导入会被官方放弃吗?
搜狗 2026 Q1 财报电话会提及“正内测 JSON-LD 加密词库”,但明确说“为合规留本地接口”。经验性判断:txt 作为最低依赖的纯文本,在政务、车载、医疗三大离线场景仍是刚需,两年内不会下线;未来可能加签名校验,防止篡改。
建议团队把生成流水线做成“txt + 签名”双路输出,一旦新版强制校验,只需在脚本里加一段 SM3 哈希即可平滑升级。同时关注搜狗开放平台的“本地化词库 SDK”动向,若后续提供 C 接口调用,可无缝替换文件写入逻辑,减少维护成本。
结论
搜狗输入法导入自定义 txt 词库的核心价值是“零网络依赖、可脚本化、秒级生效”。只要守住编码、权重、版本这三条底线,就能在离线环境获得与云词库同级的输入体验。随着车载与信创市场扩容,txt 导入仍是性价比最高的专业词库落地方案。
常见问题
导入后候选栏依旧不出现新词怎么办?
优先检查权重是否高于云词,建议临时设为 99999 重导;若仍不生效,确认是否开启“云输入优先”,关闭后重新打开目标程序即可。
安卓端提示“格式错误”但编码已改成 UTF-16 LE?
大概率是换行符为 LF,需用 Windows CRLF;可用 Notepad++“视图→显示符号→显示行尾符”验证,并用“编辑→文档格式转换→转换为 Windows 格式”修正。
能否一次性导入 50 万条以上?
技术上可行,但内存占用会飙升至 70 MB 以上,低端车载机可能出现键盘弹窗延迟;建议拆库,把核心 2 万条权重调高,其余扩展词权重压到 1000 以下,分两次导入。
macOS 有无官方替代方案?
v6.3 暂不支持 txt 导入,可用“自定义短语”plist 曲线替代,路径为 ~/Library/Preferences/com.sogou.inputmethod.sogou.*.plist,需重启输入法生效。
政务内网点击导入无反应,也无报错日志?
多数为白名单拦截,需把搜狗安装目录加入“可执行签名信任列表”;若无权限,可让运维在日志里查看“拒绝写入 userdict.db”记录即可确认。
