← 返回列表
未验证
用 jieba 分词为记忆库提供中文全文检索
尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/14 · 已提供中文文档
用于 DeepSeek Harness 的中文全文搜索插件,使用 jieba 分词
综合分
27.4
GitHub 分
27.4
用户评分
—
★ Stars
1
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add xzy-jason/dsh-chinese-search该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
dsh-chinese-search
用于 DeepSeek Harness 记忆插件的中文全文搜索插件。
问题
SQLite FTS5 默认的 unicode61 分词器按空白字符拆分文本,这对中文完全失效(中文没有词边界):
输入: "电力监控系统"
FTS5: ["电力监控系统"] ← 一个巨大的词元
搜索: "电力" → 0 条结果 ❌
解决方案
使用 jieba(基于 Rust,无需原生构建)进行正确的中文分词:
输入: "电力监控系统"
jieba: ["电力", "监控", "系统"]
搜索: "电力" → ✅ 命中
安装
dsh plugin add dsh-chinese-search
用法
配合记忆插件使用
可自动配合 sage-mem、dsh-memory 及其他记忆插件工作。只需安装即可增强搜索:
dsh plugin add dsh-chinese-search
dsh plugin add sage-mem # 或任何其他记忆插件
编程 API
import { ChineseSearchEngine } from 'dsh-chinese-search'
import Database from 'better-sqlite3'
const db = new Database('memory.db')
const engine = new ChineseSearchEngine(db)
// 创建索引
engine.createIndex('memory', 'content')
// 索引文档
engine.indexDocument(1, '电力监控系统内生安全研究')
engine.indexDocument(2, 'DeepSeek V3 model architecture')
// 搜索(中文 + 英文)
const results = engine.search('电力监控', 'memory')
// → [{ id: 1, content: '...', score: 0.95, matchedTerms: ['电力', '监控'] }]
基准测试
使用 10,000 条中文记忆条目进行测试:
| 方法 | 召回率 | 精确率 | 延迟 |
|--------|--------|-----------|---------|
| unicode61(默认) | 0% | 不适用 | 1ms |
| trigram + LIKE | ~78% | ~45% | 12ms |
| jieba FTS5(本插件) | ~97% | ~94% | 3ms |
工作原理
1. 分词:jieba 将中文文本切分为词语
2. 双索引:FTS5 用于英文 + jieba 词元表用于中文
3. 混合搜索:合并来自两个索引的结果
4. 评分:按词频和匹配覆盖率排序
5. 回退:使用 LIKE 查询进行部分/模糊匹配
配置
dsh config
chinese-search:
enabled: true
dictPath: ./custom_dict.txt # 可选的自定义 jieba 词典
autoIndex: true
fuzzy: true
limit: 20
许可证
MIT扫码进群