拼装角色人格与记忆,接入微信 QQ 并每日学习
29.6/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/11/2 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Naiyalatuotip/idol-bot该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
dsh 原生插件 · platform
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 5 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件发起外部网络请求
查看扫描证据(共 42 处,展示前 42 条)
- 发起网络请求plugins/dsh-daily/lib/client.js:16
const get = (p) => fetch(B + p, { cache: 'no-store' }).then((r) => r.json()).catch(() => null) - 发起网络请求plugins/dsh-daily/lib/client.js:18
fetch(B + p, { - 写入本地文件plugins/dsh-daily/lib/store.mjs:85
mkdirSync(join(dir, 'digests'), { recursive: true }) - 读取本地文件plugins/dsh-daily/lib/store.mjs:90
if (!existsSync(configPath)) return state - 读取本地文件plugins/dsh-daily/lib/store.mjs:92
state = normalize(JSON.parse(readFileSync(configPath, 'utf8'))) - 写入本地文件plugins/dsh-daily/lib/store.mjs:95
renameSync(configPath, `${configPath}.broken-${Date.now()}`) - 写入本地文件plugins/dsh-daily/lib/store.mjs:104
writeFileSync(tmp, JSON.stringify(state, null, 2) + '\n', 'utf8') - 写入本地文件plugins/dsh-daily/lib/store.mjs:105
renameSync(tmp, configPath) - 写入本地文件plugins/dsh-daily/lib/store.mjs:241
writeFileSync(tmp, markdown, 'utf8') - 写入本地文件plugins/dsh-daily/lib/store.mjs:242
renameSync(tmp, path) - 读取本地文件plugins/dsh-daily/lib/store.mjs:248
if (!existsSync(path)) return null - 读取本地文件plugins/dsh-daily/lib/store.mjs:249
return readFileSync(path, 'utf8') - 读取本地文件plugins/dsh-daily/lib/store.mjs:254
return readdirSync(join(dir, 'digests')) - 发起网络请求plugins/dsh-surf/lib/client.js:12
const get = (p) => fetch(B + p, { cache: 'no-store' }).then((r) => r.json()).catch(() => null) - 发起网络请求plugins/dsh-surf/lib/client.js:14
fetch(B + p, { method: 'POST', headers: { 'content-type': 'application/json' }, body: JSON.stringify(body || {}) }) - 读取本地文件plugins/dsh-surf/lib/index.js:47
if (!existsSync(file)) return [] - 读取本地文件plugins/dsh-surf/lib/index.js:48
const data = JSON.parse(readFileSync(file, 'utf8')) - 读取本地文件plugins/dsh-surf/lib/index.js:349
const raw = JSON.parse(readFileSync(file, 'utf8')) - 写入本地文件plugins/dsh-surf/lib/store.mjs:73
mkdirSync(dir, { recursive: true }) - 读取本地文件plugins/dsh-surf/lib/store.mjs:78
if (!existsSync(path)) return state - 读取本地文件plugins/dsh-surf/lib/store.mjs:80
state = norm(JSON.parse(readFileSync(path, 'utf8'))) - 写入本地文件plugins/dsh-surf/lib/store.mjs:83
renameSync(path, `${path}.broken-${Date.now()}`) - 写入本地文件plugins/dsh-surf/lib/store.mjs:92
writeFileSync(tmp, JSON.stringify(state, null, 2) + '\n', 'utf8') - 写入本地文件plugins/dsh-surf/lib/store.mjs:93
renameSync(tmp, path) - 写入本地文件plugins/dsh-surf/lib/store.mjs:95
chmodSync(path, 0o600) - 发起网络请求plugins/dsh-surf/lib/weibo.mjs:29
const res = await fetch(url, { headers: headers(cookies), signal }) - 发起网络请求plugins/dsh-surf/lib/weibo.mjs:296
const res = await fetch(current, { headers, redirect: 'manual', signal }) - 发起网络请求plugins/dsh-surf/lib/weibo.mjs:331
const res = await fetch(url, { method: 'POST', headers, body: query }) - 发起网络请求plugins/dsh-surf/lib/weibo.mjs:346
const imgRes = await fetch(imageUrl, { headers: { 'user-agent': UA, referer: LOGIN_PAGE } }) - 请求外部主机m.weibo.cnplugins/dsh-surf/lib/weibo.mjs:357
const res = await fetch('https://m.weibo.cn/api/config', { headers: { cookie, 'user-agent': UA, referer: 'https://m.weibo.cn/' } }) - 请求外部主机m.weibo.cnplugins/dsh-surf/lib/weibo.mjs:357
const res = await fetch('https://m.weibo.cn/api/config', { headers: { cookie, 'user-agent': UA, referer: 'https://m.weibo.cn/' } }) - 发起网络请求plugins/dsh-surf/lib/weibo.mjs:357
const res = await fetch('https://m.weibo.cn/api/config', { headers: { cookie, 'user-agent': UA, referer: 'https://m.weibo.cn/' } }) - 请求外部主机weibo.complugins/dsh-surf/lib/weibo.mjs:363
const p = await fetch(`https://weibo.com/ajax/profile/info?uid=${uid}`, { headers: { ...headers(cookie), referer: `https://weibo.com/u/${uid}` } }) - 请求外部主机weibo.complugins/dsh-surf/lib/weibo.mjs:363
const p = await fetch(`https://weibo.com/ajax/profile/info?uid=${uid}`, { headers: { ...headers(cookie), referer: `https://weibo.com/u/${uid}` } }) - 发起网络请求plugins/dsh-surf/lib/weibo.mjs:363
const p = await fetch(`https://weibo.com/ajax/profile/info?uid=${uid}`, { headers: { ...headers(cookie), referer: `https://weibo.com/u/${uid}` } }) - 写入本地文件plugins/dsh-wechat-bridge/lib/store.mjs:23
chmodSync(path, 0o600) - 写入本地文件plugins/dsh-wechat-bridge/lib/store.mjs:30
mkdirSync(dir, { recursive: true }) - 读取本地文件plugins/dsh-wechat-bridge/lib/store.mjs:70
if (!existsSync(path)) return state - 读取本地文件plugins/dsh-wechat-bridge/lib/store.mjs:72
state = normalize(JSON.parse(readFileSync(path, 'utf8'))) - 写入本地文件plugins/dsh-wechat-bridge/lib/store.mjs:76
renameSync(path, `${path}.broken-${Date.now()}`) - 写入本地文件plugins/dsh-wechat-bridge/lib/store.mjs:85
writeFileSync(tmp, JSON.stringify(state, null, 2) + '\n', 'utf8') - 写入本地文件plugins/dsh-wechat-bridge/lib/store.mjs:86
renameSync(tmp, path)
扫描于 2026/11/4(0 天前) · 范围 全包扫描 · 来源 GitHub 仓库
涉及外部主机:m.weibo.cn、weibo.com
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
DSH 配套智能体框架:人格预设、微信/QQ 桥接、微博阅读器、每日学习
README
由 DeepSeek 最新模型翻译生成DSH 陪伴型智能体框架
在 DeepSeek Harness(DSH)0.2.x 上,把角色人格 + 记忆 + 心情 + 主动搭话 + IM 接入 + 每日学习拼成一个可定制的智能体。
本仓库只放框架代码和模板,不含任何真实人物语料、聊天记录或账号 cookies。
组件
| 层 | 组件 | 说明 |
| 人格 | presets/example-persona | 智能体预设模板:persona prefix + 工具 + 技能 + 压缩 |
| 微信 | plugins/dsh-wechat-bridge | iLink 扫码接入;绑定会话;分气泡、阅读延迟、断续输入 |
| QQ + 微博 | plugins/dsh-surf | OneBot v11 QQ 接入;微博扫码登录、关注/推荐阅读、weibo_browse、定时分享 |
| 学习 | plugins/dsh-daily | 每天复盘对话,产出语言校准 + 人格生长,注入会话 |
快速开始
1. 每个插件打成 tgz(带设置页的插件必须用 tgz,不能 link)
cd plugins/dsh-surf && npm pack --pack-destination .
展开完整文档(README 剩余 1 节)
DSH 陪伴型智能体框架 在 DeepSeek Harness(DSH)0.2.x 上,把角色人格 + 记忆 + 心情 + 主动搭话 + IM 接入 + 每日学习拼成一个可定制的智能体。 本仓库只放框架代码和模板,不含任何真实人物语料、聊天记录或账号 cookies。 组件 | 层 | 组件 | 说明 | | 人格 | presets/example-persona | 智能体预设模板:persona prefix + 工具 + 技能 + 压缩 | | 微信 | plugins/dsh-wechat-bridge | iLink 扫码接入;绑定会话;分气泡、阅读延迟、断续输入 | | QQ + 微博 | plugins/dsh-surf | OneBot v11 QQ 接入;微博扫码登录、关注/推荐阅读、weibo_browse、定时分享 | | 学习 | plugins/dsh-daily | 每天复盘对话,产出语言校准 + 人格生长,注入会话 | 快速开始 1. 每个插件打成 tgz(带设置页的插件必须用 tgz,不能 link) cd plugins/dsh-surf && npm pack --pack-destination . 2. 在 DSH 里安装(桌面端用 App 内插件管理器 / plugin_manager) plugin_manager install_bundle target=file:E:/DSH/plugins/dsh-surf/dsh-surf-0.4.0.tgz 3. 重启 DSH 预设:把 presets/example-persona 复制到 E:/DSH/plugins/,改成你的 id/名字/人格,再按包安装。 文档 - 框架说明(架构 / 预设 / 技能 / 规则 / 兼容 / 排错) - 微博阅读(扫码登录 / 关注+推荐 / 排序 / 分享 / 排错) 规则速记 - 预设是 cordis.patch.yml 里的一行声明,不是目录;改完只影响新智能体。 - 带 dsh.client 的插件必须 tgz 安装,link: 不会注册设置页。 - 工具 parameters 必须是完整 JSON Schema(type: 'object')。 - sessionController.prompt(request, signal) 的 signal 必填。 - 出站:fromIM || source.kind !== 'user' || mirrorFromWeb。 - 令牌/cookies 存 0600,不进任何 HTTP 响应。 许可 MIT。第三方致谢见 docs/AGENT-FRAMEWORK.md 第 11 节与各插件 THIRD_PARTY_NOTICES.md。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
Naiyalatuotip/idol-bot
拼装角色人格与记忆,接入微信 QQ 并每日学习
相关插件 · 平台集成
智能体工程课walkinglabs/learn-harness-engineering
一门项目制课程,教你搭建环境、管理状态、做验证、加控制机制,让 AI 编程智能体稳定干活。
★ 21,155已汉化DSH
71.7
视频翻译配音liuzhao1225/YouDub-webui
开源视频本地化工作台:导入视频,识别、翻译并逐句克隆原声,生成字幕和配音成片。
★ 5,792已汉化Cordis
71.4
失败经验库Ikalus1988/MisakaNet
📚 零依赖、由 git 支撑的微课程库,让 AI 智能体异步分享并检索经过验证的调试经验。| https://misakanet.org
★ 550已汉化DSH
71.2
IM 机器人接入xmanrui/dsh-im
让 DeepSeek Harness 触手可及 Connecting DeepSeek Harness
★ 3,170已汉化DeepSeek 客户端
71
桌面智能体工作区freestylefly/wesight
WeSight 是开源桌面控制台,面向本地 AI 智能体。它帮你安装或复用 Claude…
★ 933已汉化MCP
71
中国平台研究引擎Jesseovo/last30days-skill-cn
给 AI Agent 的中文互联网研究 Skill:检索 8 大平台最近 30…
★ 2,041已汉化DSH
70.7
这是你的仓库?认领条目