🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

个人助理 ChengqianHuang/dsh-personal

DeepSeek Harness
ChengqianHuang36 天前有提交已提供中文文档扫描:含敏感能力

用自然语言记录、查询并回顾你的个人数据

29.9/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/9/29 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add ChengqianHuang/dsh-personal
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
dsh 原生插件 · tool
装得上吗
本站尚未做安装检查
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 36 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件
查看扫描证据(共 2 处,展示前 2 条)
  • 写入本地文件
    src/store/open.ts:27
    await mkdir(dirname(actual), { recursive: true, mode: 0o700 })
  • 读取本地文件
    src/store/search.ts:17
    initSync({ module: readFileSync(new URL('./jieba_rs_wasm_bg.wasm', import.meta.resolve('jieba-wasm/web'))) })
扫描于 2026/11/4(0 天前) · 范围 全包扫描(包内未声明入口) · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-brand@deepseek-ai/dsh-home-paths@deepseek-ai/dsh-tools@deepseek-ai/dsh-util-crypto@deepseek-ai/dsh-util-values@deepseek-ai/schemastery
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 自然语言记录数据
  • 自然语言查询数据
  • 数据回顾

DeepSeek Harness 个人助理套件:围绕单个 SQLite 文件做自然语言记录、查询和回顾

README

由 DeepSeek 最新模型翻译生成
dsh-personal https://github.com/ChengqianHuang/dsh-personal · 主题:dsh-plugin 个人助理 bundle:让 dsh 用自然语言记录/查询/回顾你的个人数据(经历——电影/书/专辑/展览等任意类别、项目日志、任务、博客、网站、想法、每日记录),全部落在一个 SQLite 文件(~/.dsh/personal/personal.db)里。LLM 只负责理解和总结,事实全部来自 SQLite,重启后依旧可查。 安装与使用见 dsh 用户文档 docs/user/develop/basic/publish.md。设计决策见 DESIGN.md。
展开完整文档(README 剩余 1 节)
dsh-personal

https://github.com/ChengqianHuang/dsh-personal · 主题:dsh-plugin

个人助理 bundle:让 dsh 用自然语言记录/查询/回顾你的个人数据(经历——电影/书/专辑/展览等任意类别、项目日志、任务、博客、网站、想法、每日记录),全部落在一个 SQLite 文件(~/.dsh/personal/personal.db)里。LLM 只负责理解和总结,事实全部来自 SQLite,重启后依旧可查。

安装与使用见 dsh 用户文档 docs/user/develop/basic/publish.md。设计决策见 DESIGN.md。

安装(dsh 源码运行模式下)

本仓库 clone(或 link)到任意位置后,在 dsh 仓库根目录安装进 profile:

从本仓库的本地 clone 安装(link 模式,源码即生效)
pnpm dsh plugin --profile web add /path/to/dsh-personal
pnpm dsh --profile web --dump-config # 验证出现 "# == dsh-personal" 层
pnpm dsh web # 启动后直接对话

卸载:pnpm dsh plugin --profile web remove dsh-personal。

配置(可选,写进 profile 的 cordis.patch.yml 或由 bundle 默认值兜底):

- id: personal
name: dsh-personal
config:
timezone: Asia/Shanghai # 日期分桶时区,默认进程时区 databasePath: ~/.dsh/personal/personal.db enableDailyReview: true enableWeeklyReview: true

构建 / 测试

(cd dsh-personal && pnpm install --ignore-workspace --config.auto-install-peers=false)
(cd dsh-personal && pnpm exec tsdown) # 产出 lib/index.mjs
pnpm exec vitest run --config dsh-personal/vitest.config.ts
pnpm exec tsc -p dsh-personal/tsconfig.json --noEmit

修改源码后重新 pnpm exec tsdown 即可(profile 里是 link,指向本目录)。
类型检查读取 DSH 各依赖包的声明文件;首次运行前需先构建上层 DSH 仓库。

当前数据库 schema 版本为 4。旧 v1–v3 数据库无法直接打开;如不需要旧数据,移走或删除旧 personal.db 后再启动。插件不会自动删除数据库文件。

工具(22 个)

- 记录:record_experience(类别可新增,如 movie/book/album/exhibition)create_project record_project_log create_task update_task complete_task create_blog_post update_blog_post create_idea record_daily_log register_website
- 查询:query_experiences query_tasks query_project_logs query_blog_posts query_websites search_personal_data
- 纠错:get_personal_record update_personal_record delete_personal_record
- 回顾:generate_daily_review generate_weekly_review

用法示例:直接说「今天看了《灵媒》,7.5 分」「读了半本《失控》」「Forge 今天定位了中文错位问题」「周末检查博客证书」「我有哪些事情没做?」「本周回顾」。

关键词检索

search_personal_data 使用 Jieba 中文分词和 SQLite FTS5,跨八类记录按 BM25 相关性统一排序。标题、名称、域名默认比备注和正文权重更高;标签也参与检索。比如「博客证书」可以找到「检查博客的 HTTPS 证书」,「streaming 中文错位」可以组合中英文关键词。

- text:主题关键词。模型从问题中提取关键词,把时间和类型分别填进日期窗口与 types。
- match:默认 all,要求全部关键词;any 返回至少命中一个词的记录。
- types、from、to、period:按记录类型与日期过滤;项目、网站也使用创建日期过滤。
- limit:跨类型的总条数,默认 20,上限 200。返回 { terms, hits },每条 hit 包含 type、score 和完整 row,保持相关性顺序;分数只在本次查询内可比。同分时按日期倒序、类型、id 排列。
- query_experiences 的 text 和 match 使用同一检索引擎,还能组合类别、动作、日期和标签。不带 text 时仍按日期列出经历。

搜索索引只存在于连接的内存 TEMP 表中,不改变 v4 数据库格式。首次搜索从现有记录建立索引,本连接的写入、修改和删除通过 TEMP trigger 同步;其他连接提交变更后,下次搜索在一致的读取事务里重建。关闭连接会释放索引,重启后从数据库恢复。大量记录或频繁跨进程写入时,重建会增加首次搜索延迟。

权重可在插件配置中调整,均须为正的有限数:

searchTitleWeight: 5
searchTagWeight: 3
searchBodyWeight: 1

这是词法检索,支持中文复合词的子词,但不保证任意字符片段或同义词匹配;「看展」与「参观展览」仍可能需要模型换关键词查询。没有向量检索或自动语义扩展。

修改与删除已有记录直接说「刚才那部电影评分改成 8 分」「这条记重复了,删掉」「证书检查已经完成」「把那个想法关联到博客项目」。模型使用会话中的记录 id 或先查询定位;多个候选都符合时先询问,不用相关性排名代替用户选择。记录与查询结果显示 id,get_personal_record 按精确类型和 id 返回完整行及 revision。

update_personal_record 和 delete_personal_record 必须传入读取结果的 expected_revision。服务在 BEGIN IMMEDIATE 事务里核对内容指纹再写入;其他连接或工具已改动记录时拒绝操作,模型需重新读取并核对意图。指纹不是历史版本序号:内容完全恢复后可恢复同一指纹。任务和博客的专用修改工具,以及 complete_task,也要求该参数。updateTask、completeTask 和 updateBlogPost Service API 同样要求传入读取到的 revision。

修改使用行字段的 camelCase 名称,只提交需要改变的字段;省略保留原值,空字符串清空允许为空的文本,[] 清空标签。null 可清空评分、任务截止日期、可空项目/网站链接及任务来源字段。项目和网站引用使用已有精确 id;任务的 sourceType 与 sourceId 在修改时必须同时有值或同时为 null。任务进入 DONE 自动记录完成日期,再次标记完成保留原日期,改成其他状态则清空完成日期。经历的类别、动作、评分和发生日期沿用记录时的校验;id 和创建时间不可修改。相对截止日期可使用 dueIn,显式 dueAt 优先(包括 null)。

删除是永久删除,没有撤销入口。项目日志、任务、博客和想法的外键引用,以及任务中类型/id 精确匹配的来源引用,会阻止删除并返回引用记录列表。用户决定解除或重新关联这些引用后再删;不级联删除其他记录。只移除目标自身及其两端的显式 relations,整个操作失败时一起回滚。修改、删除和回滚同步到检索索引;schema 保持 v4,现有数据无需迁移。
预览分享卡片长什么样 ↓ChengqianHuang/dsh-personal
分享 · DeepSeek Harness Hub
ChengqianHuang/dsh-personal

用自然语言记录、查询并回顾你的个人数据

这是你的仓库?认领条目

回到顶部