一个 DSH 插件:让角色会睡觉、会被吵醒、会自己找事做、也会先开口说话。
45.7/100
综合分
31
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/11/4 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
该插件未发布到 npm,按作者文档从 GitHub 源安装即可(静态检查只覆盖 npm 路径,不代表插件不可用)。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add 2huy4n/ProjectKaren该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · vision
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 1 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装仓库 package.json 标记 private,未发布到 npm,需从源码安装
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包project-karen(未发布到 npm,仅可源码安装)
✓Node 引擎要求 >=22 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/11/4 03:20:59
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件发起外部网络请求
查看扫描证据(共 11 处,展示前 11 条)
- 发起网络请求dsh/index.js:175
const response = await fetch(cfg.apiBase + cfg.apiPath, { - 发起网络请求dsh/index.js:196
const img = await fetch(imageUrl, { signal }) - 发起网络请求client/client.js:312
const res = await fetch(API + path, body - 发起网络请求client/client.js:701
fetch(API + "/locale", { - 读取本地文件dsh/store.js:196
const parsed = JSON.parse(readFileSync(this.filePath, 'utf-8')) - 写入本地文件dsh/store.js:237
mkdirSync(path.dirname(this.filePath), { recursive: true }) - 写入本地文件dsh/store.js:239
writeFileSync(tmp, JSON.stringify({ - 写入本地文件dsh/store.js:247
renameSync(tmp, this.filePath) - 读取本地文件dsh/i18n.mjs:12
const zh = JSON.parse(readFileSync(fileURLToPath(new URL('./i18n/zh.json', import.meta.url)), 'utf8')) - 读取本地文件dsh/i18n.mjs:13
const en = JSON.parse(readFileSync(fileURLToPath(new URL('./i18n/en.json', import.meta.url)), 'utf8')) - 发起网络请求dsh/weather.mjs:41
const res = await fetch(url, { signal: controller.signal, headers: { 'User-Agent': 'project-karen' } })
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-session@deepseek-ai/dsh-agent@deepseek-ai/dsh-session-projection@deepseek-ai/dsh-llm@deepseek-ai/dsh-system-prompt@deepseek-ai/dsh-tools@deepseek-ai/dsh-attachment@deepseek-ai/dsh-agent-loop给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 睡眠与唤醒
- 空闲动作
- 主动闲聊
一个 DeepSeek Harness 插件,给角色扮演角色装上时钟:睡眠/唤醒、问候、空闲动作、主动闲聊,还有外出照片。
README
由 DeepSeek 最新模型翻译生成ProjectKaren
一个 DSH 插件:让角色会睡觉、会被吵醒、会自己找事做、也会先开口说话。
一个 DeepSeek Harness 插件,给角色扮演角色装上时钟:睡眠 / 唤醒、问候、空闲动作、主动闲聊,以及可选的出游照片。
角色卡与世界观不由本插件提供——懒狗作者假设你的会话里已经有角色了。
本插件只负责「时间」这一维:什么时候睡、什么时候醒、醒来之后干什么。
功能
- 睡眠 / 唤醒:角色也有自己的生活,会睡觉,会起床
- 睡着:当TA睡着的时候,不要打扰TA哦
- 吵醒:TA会因为你的“短信轰炸”醒来
- 问候:早安、午安,还有晚安
- 自由动作:当你不理TA的时候,TA会自己找点事做
- 主动搭话:当你不理TA的时候,TA会主动找上来
- 出游照片:当TA旅游到名胜景点,会给你拍照片
- 静默指令:/mute 30 —— 你让TA闭嘴一段时间,TA就不再主动开口(你说话TA照常回)
- 天气:填了城市,TA会知道外面什么天,问候和闲聊里会自然带上
- 节日:节日当天有不一样的问候、话题与行动
- 生日:支持填写你和TA的生日
- 中英双语:面板文案跟随 DSH 界面语言;注入给模型的提示词也跟随
安装
从 GitHub:
展开完整文档(README 剩余 1 节)
ProjectKaren
一个 DSH 插件:让角色会睡觉、会被吵醒、会自己找事做、也会先开口说话。
一个 DeepSeek Harness 插件,给角色扮演角色装上时钟:睡眠 / 唤醒、问候、空闲动作、主动闲聊,以及可选的出游照片。
角色卡与世界观不由本插件提供——懒狗作者假设你的会话里已经有角色了。
本插件只负责「时间」这一维:什么时候睡、什么时候醒、醒来之后干什么。
功能
- 睡眠 / 唤醒:角色也有自己的生活,会睡觉,会起床
- 睡着:当TA睡着的时候,不要打扰TA哦
- 吵醒:TA会因为你的“短信轰炸”醒来
- 问候:早安、午安,还有晚安
- 自由动作:当你不理TA的时候,TA会自己找点事做
- 主动搭话:当你不理TA的时候,TA会主动找上来
- 出游照片:当TA旅游到名胜景点,会给你拍照片
- 静默指令:/mute 30 —— 你让TA闭嘴一段时间,TA就不再主动开口(你说话TA照常回)
- 天气:填了城市,TA会知道外面什么天,问候和闲聊里会自然带上
- 节日:节日当天有不一样的问候、话题与行动
- 生日:支持填写你和TA的生日
- 中英双语:面板文案跟随 DSH 界面语言;注入给模型的提示词也跟随
安装
从 GitHub:
dsh plugin --profile <profile> add "git+https://github.com/2huy4n/ProjectKaren#v0.3.1"
安装后需要重启 DSH,在「设置 → ProjectKaren」里配置。
配置项
| 键 | 含义 |
| enabled | 总开关 |
| defaultMuted | 新会话是否默认静音 |
| sleepStart / sleepJitter | 入睡基准时刻 / 模糊 ±分钟 |
| wakeStart / wakeJitter | 醒来基准时刻 / 模糊 ±分钟 |
| greetEnabled / greetWindowMinutes | 早安+晚安开关 / 醒来后多久内还补早安 |
| greetNoonEnabled / noonStart / noonJitterMinutes | 午安开关 / 中午基准 / 模糊 ±分钟 |
| nightLeadMinutes | 睡前提前多少分钟道晚安 |
| barrageCount / barrageWindowMinutes / barrageAwakeMinutes | 吵醒阈值 / 统计窗口 / 清醒时长 |
| talkEnabled / talkIntervalMinutes / talkJitterMinutes / talkDailyMax | 主动搭话开关 / 间隔 / 模糊 / 每日上限 |
| talkQuietStart / talkQuietEnd | 静默时段(留空 = 不设) |
| planningEnabled / planningHorizonMinutes | 滚动生活规划开关(默认开启)/ 向前规划的时长(分钟,默认 180,范围 5–1440) |
| planningRetryLimit | 滚动规划失败后的重试次数(默认 5,范围 0–100;0 表示不重试) |
| actionEnabled / actionIntervalMinutes / actionJitterMinutes / actionIdleMinutes | 自由动作开关 / 间隔 / 模糊 / 静默多久才动 |
| actionDefaultMinutes / actionMinMinutes / actionMaxMinutes / actionDailyMax | 动作时长默认 / 最短 / 最长 / 每日上限 |
| citySelf / cityUser | 角色所在城市 / 用户所在城市(留空 = 同城) |
| weatherEnabled | 天气开关 |
| holidayEnabled | 节日开关 |
| birthdayEnabled | 生日开关 |
| birthdaySelf / birthdayUser | 角色生日 / 用户生日(MM-DD) |
| apiBase / apiPath / apiKey / model / size | 生图接口(OpenAI 兼容的 /images/generations) |
| photoPrompt | 没传 prompt 时用的默认画面描述 |
| offsetMinutes | 时钟偏移(调试用,整体平移插件看到的"现在") |
planningHorizonMinutes 控制滚动规划每次向前考虑多长时间; actionIntervalMinutes 控制旧版空闲动作调度器两次请求之间的等待时间。
会话开始使用滚动生活记录后,旧版的间隔、抖动、空闲阈值和每日动作上限不再决定该会话的活动。
此时关闭 planningEnabled 会暂停生成新计划和开始已安排的活动,不会恢复旧版调度器;重新开启时,暂停期间错过的活动会被标记为延期。活动只有经工具明确确认后才会记为完成;规划时使用调度器所在时区的本地时间。
未解决活动(计划中、进行中或延期)合计最多新增至 200 条;达到上限时不会删除未完成的活动,须先明确恢复、取消或跳过已有活动才能新增。
已有数据超过上限时也不会自动删除。详见滚动生活规划说明。
规划失败后每 5 分钟最多重试一次;默认初次失败后最多重试 5 次。达到上限会记录警告并停止该会话的规划重试。
排除故障后,可关闭再开启滚动规划、修改重试次数或重启进程来重置计数。计数保存在内存中,不影响已有活动记录。
/mute 指令
让TA闭嘴一段时间。这个指令不会进模型,TA看不到。
| 你输入 | 结果 |
| /mute 30 · /mute 30m · /mute 30min · /mute 30 minutes · /mute 30分钟 | 静默 30 分钟 |
| /mute 2h · /mute 2 hours · /mute 2小时 | 静默 2 小时 |
| /mute 1d · /mute 1 day · /mute 1天 | 静默 1 天 |
| /mute 到22:00 · /mute until 22:00 · /mute 22:00 | 到今晚 22:00(时刻已过则顺延到明天) |
| /mute off · /mute 取消 | 解除静默 |
静默期间:不再主动搭话、不再问候、不再播报自由动作的收尾;你主动找TA时照常回复。
可设范围 1 分钟 ~ 7 天。不写单位按分钟算,大小写和多余空格都无所谓。
天气
在面板里填城市即可(中英文都认,如 杭州 / Hangzhou)。
天气数据来自 Open-Meteo.com(CC BY 4.0),免 API Key、无需注册。
- 两个城市相同(或只填了一个):TA按「TA和你在同一个地方」来说天气。
- 两个城市不同:TA会知道你不在TA那边,可以顺口提一句你那边的天气(比如提醒你带伞)。
天气每小时最多刷新一次,面板里有「立即刷新天气」。取不到天气时TA不会编造。
节日与生日
生日填 MM-DD,例如 05-20。
节日表内置 10 年(2026–2035),含公历节日(元旦 / 情人节 / 妇女节 / 愚人节 / 劳动节 / 儿童节 / 教师节 / 国庆 / 万圣节 / 平安夜 / 圣诞 / 跨年)与农历节日(春节 / 元宵 / 端午 / 七夕 / 中秋 / 重阳)。超出 2035 年会自动只认公历节日,面板会提示。
中英双语
- 面板文案:跟随 DSH 的界面语言设置(客户端 ctx.locale)。
- 注入给模型的提示词、工具描述、报错:同样跟随 DSH 界面语言;客户端还没打开过、没上报时,回退到系统语言。
- 目前只支持中文和英文——DSH 宿主本身也只提供这两种(zh / en)。
- 要改文案只改这两处:dsh/i18n/{zh,en}.json(宿主)与 client/client.js 里的两个字典对象。
状态与日志
配置与每会话状态存在 ~/.dsh/project-karen.json(DSH_HOME 优先)。
除配置与会话状态外,这个文件还保存照片引用、天气缓存和客户端上报的语言。
面板里有「活跃会话」列表(状态 / 入睡醒来时刻 / 正在做什么 / 今日次数 / 是否静默)和「最近动作」日志,可一键清空。
License
AGPL-3.0-or-later —— GNU Affero General Public License v3.0 或更高版本。
Copyright (C) 2026 2huy4n · 完整条文见 LICENSE预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
2huy4n/ProjectKaren
一个 DSH 插件:让角色会睡觉、会被吵醒、会自己找事做、也会先开口说话。
相关插件 · 视觉能力
智能体工作台Devin-AXIS/iPolloWork
企业级、本地优先的智能体工作台,面向个人和智能体团队——一个工作区,容纳多个智能体引擎;一套统一体系,管理插件和技能;支…
★ 7,364已汉化DSH
72
开源设计工作台nexu-io/open-design
OpenDesign:首个协作式 AI 设计智能体工作区
★ 105,709已汉化DSH
71.8
GPT 图像提示词库freestylefly/awesome-gpt-image-2
Prompt as Code | GPT Image 2 / 2.5 提示词与案例库,530+ 个案例、20+…
★ 34,534已汉化DSH
71.5
多智能体编码工作区spacering-net/codeg
多智能体协作的 AI 编程工作区:汇总 Claude Code、Codex、OpenCode、Pi、Grok Build 等来源的会话。支持桌面应用、自托管服务器或 Docker。
★ 4,319已汉化DSH
71.5
AI 用量桌面小部件Javis603/token-monitor
EN | 简 | 繁 | KO | JA | PT
★ 3,533已汉化DSH
71.1
架构图生成器tt-a1i/archify
把你想理解、规划或分享的事,变成可以互动的可视化作品。
★ 93,105已汉化DSH
71.1
这是你的仓库?认领条目