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

潮织 QUCkle/Tideweave-DSH

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

记录每日心情与状态,回看长期生活轨迹

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

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

该插件未发布到 npm,按作者文档从 GitHub 源安装即可(静态检查只覆盖 npm 路径,不代表插件不可用)。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add QUCkle/Tideweave-DSH
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

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

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装

仓库 package.json 标记 private,未发布到 npm,需从源码安装

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包chapsy-companion(未发布到 npm,仅可源码安装)
✓Node 引擎要求 >=22.19 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/28 15:41:56

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

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

读写/删除本地文件读取剪贴板或密钥环境变量发起外部网络请求
查看扫描证据(共 32 处,展示前 25 条)
  • 读取本地文件
    prototypes/bfi-profile/server.mjs:18
    if (!(await stat(path)).isFile()) throw new Error('not a file')
  • 读取本地文件
    prototypes/bfi-profile/server.mjs:20
    response.end(await readFile(path))
  • 读取本地文件
    prototypes/companion-ui/server.mjs:15
    if (!(await stat(path)).isFile()) throw new Error('not a file')
  • 读取本地文件
    prototypes/companion-ui/server.mjs:17
    response.end(await readFile(path))
  • 读取本地文件
    prototypes/tidal-interface/server.mjs:20
    if (!path.startsWith(root) || !(await stat(path)).isFile()) throw new Error('not found')
  • 读取本地文件
    prototypes/tidal-interface/server.mjs:22
    response.end(await readFile(path))
  • 发起网络请求
    src/client/store.ts:194
    const response = await fetch(STATE_ROUTE, { method: 'PUT', headers: { 'content-type': 'application/json' }, body: JSON.stringify(sending) })
  • 发起网络请求
    src/client/store.ts:210
    const response = await fetch('/chapsy-companion/api/archive', {
  • 发起网络请求
    src/client/store.ts:264
    const response = await fetch(STATE_ROUTE)
  • 发起网络请求
    src/client/store.ts:279
    const response = await fetch('/chapsy-companion/api/archive', { headers: { accept: 'application/json' } })
  • 发起网络请求
    src/client/store.ts:338
    const response = await fetch(CONTEXT_PACKAGES_ROUTE, {
  • 发起网络请求
    src/client/store.ts:349
    const response = await fetch(CONTEXT_PACKAGES_ROUTE, {
  • 发起网络请求
    src/host/chapsy-writeback.ts:29
    const response = await fetch(url, {
  • 读取本地文件
    src/host/index.ts:131
    local = parseEnvDocument(await readFile(resolve(packageRoot, '.env.local'), 'utf8'))
  • 读取本地文件
    src/host/index.ts:156
    try { const packageRoot = resolve(dirname(fileURLToPath(import.meta.url)), '..'); local = parseEnvDocument(await readFile(resolve(packageRoot, '.env.l
  • 发起网络请求
    src/host/index.ts:171
    const response = await fetch(`${config.preferences.baseUrl.replace(/ $/, '')}/models`, {
  • 读取本地文件
    src/host/index.ts:181
    try { const packageRoot = resolve(dirname(fileURLToPath(import.meta.url)), '..'); local = parseEnvDocument(await readFile(resolve(packageRoot, '.env.l
  • 读取本地文件
    src/host/index.ts:220
    local = parseEnvDocument(await readFile(resolve(packageRoot, '.env.local'), 'utf8'))
  • 读取密钥环境变量
    src/host/index.ts:228
    apiKey: await credentialValue(ctx, DASHSCOPE_CREDENTIAL, process.env.DASHSCOPE_API_KEY?.trim() || local.DASHSCOPE_API_KEY?.trim()),
  • 发起网络请求
    src/host/index.ts:373
    const response = await fetch(config.paddleUrl, { method: 'POST', headers, body: form, signal: AbortSignal.timeout(45_000) })
  • 发起网络请求
    src/host/index.ts:381
    const statusResponse = await fetch(`${config.paddleUrl!.replace(/ $/, '')}/${encodeURIComponent(jobId)}`, {
  • 发起网络请求
    src/host/index.ts:392
    const resultResponse = await fetch(jsonUrl, { signal: AbortSignal.timeout(30_000) })
  • 发起网络请求
    src/host/index.ts:529
    const response = await fetch(completionUrl(visionBaseUrl), {
  • 发起网络请求
    src/host/index.ts:562
    const response = await fetch(completionUrl(textBaseUrl), {
  • 发起网络请求
    src/host/profile-evolution.ts:172
    const response = await fetch(completionUrl(textBaseUrl), {
扫描于 2026/11/2(1 天前) · 范围 全包扫描(包内未声明入口) · 来源 GitHub 仓库

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

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-client-runtime@deepseek-ai/dsh-client-ui-layout@deepseek-ai/dsh-client-ui-slots
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

界面预览

6 张 · 点击查看大图

功能亮点

  • 每日心情记录
  • 长期趋势回看
  • 自评量表

面向 DeepSeek Harness 的个人 wellbeing 陪伴工具,支持每日回顾、长期趋势、自评量表、可审阅画像和自定义桌宠。

README

由 DeepSeek 最新模型翻译生成
Tideweave · 潮织 把每天的片段,织成一条可以回看的个人轨迹 一个运行在 DeepSeek Harness Web 中的个人反思与陪伴空间。 开始使用 ·功能一览 ·数据与隐私 你每天留下的,可能只有几项评分和几句话。Tideweave 将这些轻量记录整理成一条属于你的生活潮线:今天的状态、近来的变化、正在关注的方向,都在你愿意回看的地方慢慢汇合。 Tideweave 面向个人反思与长期陪伴,提供描述性的趋势和记录工具。它不提供医学诊断,也不能替代专业评估或紧急服务。 功能一览 从两分钟的记录开始 记录心情、精力、睡眠和压力,添加标签、文字或语音补充。记录完成后,你会得到一张清晰的当日卡片,重要的内容仍然由你掌握。 看见一段时间里的变化 以 7 天、30 天或 3 个月为范围,查看心理状态、生活事件和设备记录。趋势保留原始记录的时间与来源,帮助你把“最近感觉如何”变成可以回看的线索。 用多个角度认识自己 Tideweave 将近期状态、标准化测量和生活中的个人理解分开呈现,让每一种信息都保持自己的含义: - Tide Five:通过五个领域和十五个 Facet 记录相对稳定的自我描述倾向,支持按日期比较。 - MBTI:作为可选的偏好镜片,帮助描述沟通和决策中的自然倾向。
展开完整文档(README 剩余 1 节)
Tideweave · 潮织

把每天的片段,织成一条可以回看的个人轨迹

一个运行在 DeepSeek Harness Web 中的个人反思与陪伴空间。

开始使用 ·功能一览 ·数据与隐私

你每天留下的,可能只有几项评分和几句话。Tideweave 将这些轻量记录整理成一条属于你的生活潮线:今天的状态、近来的变化、正在关注的方向,都在你愿意回看的地方慢慢汇合。

Tideweave 面向个人反思与长期陪伴,提供描述性的趋势和记录工具。它不提供医学诊断,也不能替代专业评估或紧急服务。

功能一览

从两分钟的记录开始

记录心情、精力、睡眠和压力,添加标签、文字或语音补充。记录完成后,你会得到一张清晰的当日卡片,重要的内容仍然由你掌握。

看见一段时间里的变化

以 7 天、30 天或 3 个月为范围,查看心理状态、生活事件和设备记录。趋势保留原始记录的时间与来源,帮助你把“最近感觉如何”变成可以回看的线索。

用多个角度认识自己

Tideweave 将近期状态、标准化测量和生活中的个人理解分开呈现,让每一种信息都保持自己的含义:

- Tide Five:通过五个领域和十五个 Facet 记录相对稳定的自我描述倾向,支持按日期比较。
- MBTI:作为可选的偏好镜片,帮助描述沟通和决策中的自然倾向。
- 个人词条:把反复出现的情境、应对方式、帮助、代价和近期变化整理成可编辑的理解草稿。
- 成长记录:由你决定想持续关注的主题,并为它留下小而可行的行动。

AI 只提出可以审核的整理草稿。你可以修改、驳回、确认或删除,长期画像始终以你的判断为准。

让陪伴方式由你决定

桌宠会根据 DSH 的工作状态提供轻量反馈。你可以选择内置角色,为不同状态配置不同立绘与动效,也可以导入自己的八状态角色包。

外观工作室支持逐张上传、ZIP 角色包和兼容的图像生成服务。角色素材可以随时更换,陪伴的节奏由你自己定义。

开始使用

需要准备

- Node.js >=22.19
- npm
- 已安装并可以运行的 DeepSeek Harness Web

安装

git clone https://github.com/QUCkle/Tideweave-DSH.git
cd Tideweave-DSH
npm install
npm run build

将插件加入 DSH 的 Web profile,然后启动 DSH Web:

cd <path-to-deepseek-harness>
pnpm dsh plugin --profile web add <path-to-Tideweave-DSH>
pnpm dsh web --no-open

启动后,点击 DSH 桌宠上的陪伴入口即可打开 Tideweave。

第一次体验

打开 数据 → 载入演示人生,可以导入一份可移除的演示档案,快速浏览趋势、量表、画像和成长页面。演示记录带有独立标识,不会覆盖已有数据。

正式使用时,从 今天 → 记录今天 开始。截图整理、语音服务和 AI 角色生成属于可选能力,可以在 DSH 设置中配置兼容的 provider。

模型与服务配置

Tideweave 与 DSH 的会话模型、插件自身的整理模型是两条独立链路:

| 能力 | 当前使用的服务 | 是否必须配置模型 |
| DSH 中的正常对话与“继续聊聊” | DSH 自身已配置的 LLM | 由 DSH 管理 |
| 每日档案整理、个人词条、画像演化、MBTI 偏好整理 | 设置中的“文本整理模型” | 使用 OpenAI-compatible 接口 |
| 截图识别与健康记录回填 | 设置中的“视觉识别模型”;可选先经过 PaddleOCR | 需要支持图片输入的视觉模型 |
| PHQ-9、WHO-5、Tide Five 计分 | 插件本地固定计分规则 | 不需要模型 |

在 设置 → AI 整理与截图识别 中可以配置:
- 文本整理模型:填写 OpenAI-compatible Base URL、模型名和 API Key,用于每日档案、个人词条、画像演化、MBTI 偏好整理。
- 视觉识别模型:填写支持图片输入的 OpenAI-compatible Base URL、模型名和 API Key,用于截图识别;可以独立关闭。
- PaddleOCR:可选的文字预处理服务。需要填写在线服务示例中的完整 API URL、模型名和 Access Token。启用后,OCR 文本会交给视觉与档案模型转换为结构化记录。

如果只想使用文字功能,只需启用并配置文本整理模型,视觉识别模型可以关闭。若使用截图识别,则需要启用视觉识别模型;PaddleOCR 仍然是可选的预处理服务。

没有在页面中填写时,Host 会读取插件目录 .env.local 或进程环境中的以下变量:

TEXT_BASE_URL=https://your-text-endpoint/v1
TEXT_MODEL=your-text-model
TEXT_API_KEY=由 DSH credential store 管理时可省略
VISION_BASE_URL=https://your-vision-endpoint/v1
VISION_MODEL=your-vision-model
VISION_API_KEY=由 DSH credential store 管理时可省略
PADDLEOCR_BASE_URL=https://your-paddleocr-endpoint
PADDLEOCR_MODEL=PP-OCRv5
PADDLEOCR_ACCESS_TOKEN=由 DSH credential store 管理时可省略

旧版本使用的 VLM_BASE_URL、VLM_MODEL 和 VLM_API_KEY 仍会作为兼容回退;新配置建议使用上述文本与视觉两组变量。

API Key 优先保存在 DSH 的 credential store;环境变量仅作为本机开发时的回退来源。请勿将真实密钥提交到 Git。

数据与隐私

- 记录、健康观察、量表结果和个人画像分别保存,并保留日期与来源。
- AI 生成的内容先作为草稿出现,未经确认不会进入长期画像。
- 你可以编辑、驳回、删除、导出或清理自己的记录。
- 原始音频默认不保存;截图识别失败时会退回为可编辑草稿。
- provider 密钥只应保存在 DSH Host 或凭据存储中,不会进入浏览器数据、截图或导出文件。
- PHQ-9、WHO-5 和 Tide Five 结果仅用于自我了解。Tide Five 使用项目原创中文题面和固定计分,不是临床诊断或经常模验证的标准化量表。

许可证与第三方资源

本项目的原创代码采用 MIT License。

桌宠运行时的部分交互逻辑参考并改编自 deepseek-pet,上游采用 MIT License;发布包不包含上游视觉素材。默认「潮汐精灵」及八状态图片为项目原创并采用 MIT License。用户导入或生成的图片仍需遵守各自的版权、商标和使用条款。完整说明见 THIRD_PARTY_NOTICES.md。

参与贡献

欢迎通过 Issue 反馈安装问题、可复现的缺陷和使用建议。提交截图、日志或演示数据时,请先移除个人信息、API key、健康记录和对话内容。

项目状态

Tideweave 目前处于 alpha 阶段,适合本地体验和开发者试用。核心记录、趋势、自评、个人画像审核、桌宠交互和角色外观工作室已经可以协同工作;后续仍会继续完善跨平台安装与部署安全策略。
预览分享卡片长什么样 ↓QUCkle/Tideweave-DSH
分享 · DeepSeek Harness Hub
QUCkle/Tideweave-DSH

记录每日心情与状态,回看长期生活轨迹

这是你的仓库?认领条目

回到顶部