Back to home@Olympianz

dsh-xiaomili

小米粒(dsh-xiaomili)—— 常驻 chatbox 右侧的金毛秘书插件:实时旁听对话、识别意图、提取关键词/概念、自动生成秘书简报,记忆可持久化。

Stars
0
Language
JavaScript
Created
Sep 4, 2026
Updated
Sep 4, 2026
GitHub repo

Introduction

小米粒(dsh-xiaomili)

常驻 chatbox 右侧的金毛秘书插件。它会实时旁听对话、识别用户意图、提取关键词/概念、并自动生成秘书简报。

功能

  • 🦮 右侧悬浮的金毛头像(assets/theme.png,无边框、带浮动动画),点击展开下拉窗;
  • ⚡ 实时捕捉:监听 session/event,即时正则抓取邮箱 / 链接;
  • 🎯 意图识别 → 关键词 / 概念:用 LLM(默认 deepseek-official/deepseek-v4-flash)先判断意图再提取,不用朴素词频;
  • 📝 自动简报:防抖自动调用 LLM 归纳,无需点击;
  • 💾 持久化:邮箱 / 链接 / 关键词 / 概念 / 意图 / 简报 / 通知等记忆自动落盘,重启后恢复;
  • 邮箱 / 链接 / 关键词 / 概念各展示频次最高的前 N 条。

目录

dsh-xiaomili/
├── package.json        # dsh.bundle + dsh.client manifest
├── cordis.patch.yml    # 组合层:激活 host 插件
├── index.js            # host 半部(事件监听 + LLM + HTTP 路由)
├── lib/client.js       # browser 半部(shell.overlay 悬浮挂件 + 下拉窗)
├── assets/theme.png    # 头像图片
└── README.md

安装

dsh plugin --profile web add ./dsh-xiaomili

然后正常启动 profile 即可,无需构建(纯 JS,无外部运行时依赖)。

可配置项(Schemastery Config

内置 Schemastery Config schema,可在 profile 的 cordis.patch.yml 中覆盖该行:

- insert:
    - id: xiaomili
      name: dsh-xiaomili
      config:
        debounceMs: 3000
        maxMessages: 20
默认说明
providerdeepseek-officialLLM provider
modeldeepseek-v4-flash归纳用模型
debounceMs1600归纳防抖毫秒
maxMessages16送入 LLM 的最近消息条数
projectsDir''项目扫描根目录(空则扫 workspace 及其父目录)
maxProjects8「最近项目」展示条数
dataDir''数据落盘目录(空则 $DSH_HOME/storages/xiaomili~/.dsh/storages/xiaomili

持久化

host 半部会把秘书记忆(邮箱 / 链接 / 关键词 / 概念 / 意图 / 简报 / 通知 / 会话统计等)序列化为 JSON 快照,写入 <dataDir>/state.json(默认 ~/.dsh/storages/xiaomili/state.json)。

  • 每次捕捉到消息或 LLM 分析完成后,防抖 800ms 原子落盘(临时文件 + rename 替换,避免写一半损坏);
  • 启动时自动读取并恢复上次记忆;文件不存在或损坏则从空状态开始;
  • 调用 POST /xiaomili/clear 清空记忆时同步落盘。

通信

host 通过 webServer 暴露 GET /xiaomili/statePOST /xiaomili/refreshPOST /xiaomili/clearGET /xiaomili/avatar.png,browser 半部用 fetch 调用。