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

工作片段历史 ysr666/dsh-computer-history

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

记录本机应用与工作区元数据,帮你接着上次继续

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

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

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

状态速览

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

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

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

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

读写/删除本地文件发起外部网络请求
查看扫描证据(共 29 处,展示前 23 条)
  • 写入本地文件
    extension-editor/src/bootstrap.ts:55
    renameSync(target, claimed)
  • 读取本地文件
    extension-editor/src/bootstrap.ts:62
    const stat = statSync(claimed)
  • 读取本地文件
    extension-editor/src/bootstrap.ts:74
    readFileSync(claimed, 'utf8'),
  • 删除本地文件
    extension-editor/src/bootstrap.ts:103
    try { unlinkSync(claimed) } catch {}
  • 删除本地文件
    extension-editor/src/bootstrap.ts:111
    try { unlinkSync(bootstrap.path) } catch {}
  • 读取本地文件
    extension-editor/src/bootstrap.ts:123
    if (existsSync(bootstrap.targetPath)) {
  • 删除本地文件
    extension-editor/src/bootstrap.ts:124
    try { unlinkSync(bootstrap.path) } catch {}
  • 读取本地文件
    extension-editor/src/bootstrap.ts:130
    body = readFileSync(bootstrap.path, 'utf8')
  • 写入本地文件
    extension-editor/src/bootstrap.ts:136
    writeFileSync(bootstrap.targetPath, body, {
  • 删除本地文件
    extension-editor/src/bootstrap.ts:141
    try { unlinkSync(bootstrap.path) } catch {}
  • 读取本地文件
    extension-editor/src/bootstrap.ts:146
    if (existsSync(bootstrap.targetPath)) {
  • 删除本地文件
    extension-editor/src/bootstrap.ts:147
    try { unlinkSync(bootstrap.path) } catch {}
  • 写入本地文件
    extension-editor/src/extension.ts:42
    fs.appendFileSync(traceFile, `${line}\n`)
  • 发起网络请求
    extension-editor/src/extension.ts:174
    const response = await fetch(`http://127.0.0.1:${port}/companion/observation`, {
  • 发起网络请求
    src/client/api.ts:45
    const response = await fetch(historyApiPath(path), {
  • 读取本地文件
    src/host/workspace-resolver.ts:82
    directory = await realpath(rawDirectory)
  • 读取本地文件
    src/host/workspace-resolver.ts:199
    return await realpath(root)
  • 读取本地文件
    src/shared/preset.ts:73
    if (existsSync(path.join(directory, 'package.json'))) return directory
  • 读取本地文件
    src/shared/preset.ts:87
    readFileSync(path.join(packageRoot(from), 'presets', 'first-run.json'), 'utf8'),
  • 读取本地文件
    src/shared/preset.ts:123
    const manifest: unknown = JSON.parse(readFileSync(path.join(root, 'package.json'), 'utf8'))
  • 读取本地文件
    src/shared/preset.ts:131
    const info: unknown = JSON.parse(readFileSync(path.join(root, 'lib', 'build-info.json'), 'utf8'))
  • 读取本地文件
    src/shared/preset.ts:161
    if (!existsSync(profilesRoot)) return undefined
  • 读取本地文件
    src/shared/preset.ts:164
    profiles = readdirSync(profilesRoot)
扫描于 2026/11/3(0 天前) · 范围 全包扫描(包内未声明入口) · 来源 GitHub 仓库

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

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-agent@deepseek-ai/dsh-atomic-write@deepseek-ai/dsh-client-connection@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-ui-layout@deepseek-ai/dsh-client-ui-renderer@deepseek-ai/dsh-client-ui-settings@deepseek-ai/dsh-client-ui-sidebar@deepseek-ai/dsh-client-ui-slots@deepseek-ai/dsh-home-paths@deepseek-ai/dsh-http-proxy
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 记录本机应用元数据
  • 记录工作区元数据
  • 接着上次继续

隐私优先的电脑历史与工作连续性,为 DeepSeek Harness 打造——本地优先,只存元数据。

README

由 DeepSeek 最新模型翻译生成
dsh-computer-history 知道你刚才在做什么,然后从正确的位置继续——本地优先、仅元数据。 Computer History 把应用、资源、工作区和时间等元数据整理成确定性的 Work Episodes(工作片段),让 DSH Agent 理解最近的工作,而不读取你的屏幕内容。 English · 简体中文 [!NOTE] Early alpha。 三个平台采集目标的核心链路已经实现并经过仓库内验证,但目前还没有稳定的打包 Release;安装和兼容性细节仍可能变化。 左:最近的 Work Episodes;右:首次使用时的隐私与开始记录流程。 为什么做这个 聊天 Session 知道聊天里发生过什么,但你的真实工作经常发生在别处:编辑器、Terminal、Finder、浏览器伴侣,或其他桌面应用。 Computer History 补的是这层“工作连续性”。它希望回答: - 我刚才主要在做什么? - 这些工作属于哪个项目或资源? - 我下一步应该从哪里继续? 它和“生产力监控”刻意不是同一种产品。目标是只保存足够恢复工作上下文的本机元数据,同时拒绝把屏幕、键盘和文档正文变成历史记录。
展开完整文档(README 剩余 1 节)
dsh-computer-history

知道你刚才在做什么,然后从正确的位置继续——本地优先、仅元数据。

Computer History 把应用、资源、工作区和时间等元数据整理成确定性的 Work Episodes(工作片段),让 DSH Agent 理解最近的工作,而不读取你的屏幕内容。

English · 简体中文

[!NOTE]
Early alpha。 三个平台采集目标的核心链路已经实现并经过仓库内验证,但目前还没有稳定的打包 Release;安装和兼容性细节仍可能变化。

左:最近的 Work Episodes;右:首次使用时的隐私与开始记录流程。

为什么做这个

聊天 Session 知道聊天里发生过什么,但你的真实工作经常发生在别处:编辑器、Terminal、Finder、浏览器伴侣,或其他桌面应用。

Computer History 补的是这层“工作连续性”。它希望回答:

- 我刚才主要在做什么?
- 这些工作属于哪个项目或资源?
- 我下一步应该从哪里继续?

它和“生产力监控”刻意不是同一种产品。目标是只保存足够恢复工作上下文的本机元数据,同时拒绝把屏幕、键盘和文档正文变成历史记录。

一眼看懂

| | Computer History |
| 存储 | 本地 SQLite;不需要远程历史服务 |
| 模型 | 确定性 Observation → Work Episode → 选择性 Resume 上下文 |
| 采集 | 默认关闭、include-only,遇到受保护或不确定界面时 fail-closed |
| 内容边界 | 仅元数据——不记录截图、按键、终端正文、源码正文或网页正文 |
| DSH 集成 | 认证 Host API、Agent 作用域工具、History / Privacy 面板 |
| Companion | 浏览器与编辑器可通过伴侣补充 OS 无法安全提供的元数据 |

它怎么工作

这条链路最重要的性质,是屏幕像素和文档正文不在里面。

隐私边界

| 策略允许时可能记录 | 设计上明确不记录 |
| 应用身份 | 截图或屏幕录像 |
| 资源 / 工作区元数据 | 原始键盘输入或鼠标坐标 |
| 时间戳与持续时间证据 | 剪贴板内容 |
| 元素 role / identifier 元数据 | Terminal 输出或 shell history |
| 隐私 / 保护状态 | 源文件正文 |
| Companion 提供的安全资源元数据 | 浏览器网页正文 |
| | Accessibility 文本值或选中文本 |

采集默认关闭,应用访问为 include-only,受保护界面 fail-closed,Host 在写入存储前还会再次检查元数据。精确的安全边界、删除模型与残余风险见 SECURITY.zh.md 与 docs/threat-model.md。

平台状态

| 平台 | Collector 路径 | 当前状态 |
| macOS | Accessibility | 主路径;原生构建、隐私测试与端到端流程已验证 |
| Windows | UI Automation | 已在 Windows 11 实机验证 live collector + Host 流程 |
| Linux | AT-SPI | 已在 Ubuntu 实机验证 collector/protocol 路径;桌面总线与权限仍影响可用性 |

共享 collector contract 会在 GitHub Actions 上持续跨 macOS、Windows、Linux 检查。实机证据和已知限制记录在 docs/validation-three-platforms.md。

开发快速开始

目前还没有稳定的打包 Release,因此当前支持的入口是源码检出。

git clone https://github.com/ysr666/dsh-computer-history.git
cd dsh-computer-history
corepack enable
pnpm install --frozen-lockfile
pnpm build
pnpm verify

环境要求

- Node.js ^22.19.0 或 >=24
- pnpm 11.7.0
- Windows/Linux collector 开发需要 Rust
- macOS 原生 collector 开发需要 Swift toolchain

DSH 集成、临时 Host 测试以及各平台验证方式见 docs/development.md。

验证

pnpm verify # 类型、lint、测试、架构/隐私边界
pnpm verify:p1 # 完整 macOS Phase 1 gate
pnpm e2e:macos # macOS 临时 DSH Host 流程
pnpm e2e:linux # 具备所需 desktop bus 时的 Linux 流程
pnpm benchmark:ingestion # ingestion benchmark

Pull Request 会运行 Node 22 + 24 核心验证、相关的三平台 collector 检查,以及在改动路径需要时运行 native / performance gate。

文档

| 从这里开始 | 更深入 |
| 架构 | Collector protocol |
| 安全与隐私 | 三平台验证 |
| 开发 | Threat model |
| Roadmap | Coverage 决策 |

参与贡献

项目仍处于 Alpha,欢迎 Issue 和 Pull Request。开始前请阅读 CONTRIBUTING.md。

[!CAUTION]
本项目处理敏感的本地上下文。不要在公开 Issue 中上传真实历史数据库、配对/Session Token、凭据、私密路径或未脱敏采集日志。 涉及安全问题时,请按 SECURITY.zh.md 中的私密漏洞上报方式处理。

License

MIT
预览分享卡片长什么样 ↓ysr666/dsh-computer-history
分享 · DeepSeek Harness Hub
ysr666/dsh-computer-history

记录本机应用与工作区元数据,帮你接着上次继续

回到顶部