Files
MemRelay/projects/ea207d36-693c-4349-b3c8-7c40c8c889f5/curated/WinUnLock 项目概述.md
T

181 lines
7.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: WinUnLock 项目概述
type: curated
permalink: main/projects/ea207d36-693c-4349-b3c8-7c40c8c889f5/curated/win-un-lock-项目概述
stable_id: baa442ef-76f5-4390-a518-067156d17d3a
scope: project
project_id: ea207d36-693c-4349-b3c8-7c40c8c889f5
workspace_type: development
usage_profile_id: null
preference_context: development
document_type: overview
revision: 1
source_memory_ids:
- 0882a1ad-94c0-4a20-9e3b-f65210c0f8b1
source_checkpoint_ids: []
source_file_ids: []
source_git_commit: null
source_git_commits: []
source_agent_sync_ids: []
model_connection: Sub2API
model_name: git-restore
source_count: 12
source_revisions:
memory:0882a1ad-94c0-4a20-9e3b-f65210c0f8b1: '1'
source_dispositions:
processed: 12
unchanged: 0
unsupported: 0
skipped: 0
cited_source_ids:
- project:ea207d36-693c-4349-b3c8-7c40c8c889f5
- memory:0882a1ad-94c0-4a20-9e3b-f65210c0f8b1
- global_guidance_memory:bf88c265-4749-4c50-85bc-4bae25298cd5
- global_guidance_memory:105b328f-4bda-4641-90a7-7282ef156316
- global_guidance_memory:3f91189b-11a1-45bb-8357-4f413dc1609d
- global_guidance_memory:5ed86f53-b53e-4534-8e51-d3a010069d5e
job_cited_source_ids:
- project:ea207d36-693c-4349-b3c8-7c40c8c889f5
- memory:0882a1ad-94c0-4a20-9e3b-f65210c0f8b1
- global_guidance_memory:bf88c265-4749-4c50-85bc-4bae25298cd5
- global_guidance_memory:105b328f-4bda-4641-90a7-7282ef156316
- global_guidance_memory:3f91189b-11a1-45bb-8357-4f413dc1609d
- global_guidance_memory:5ed86f53-b53e-4534-8e51-d3a010069d5e
conflicts: []
supersedes: []
preferences:
- statement: 使用最简单且正确的实现(KISS & YAGNI),不为假设的未来需求添加依赖或抽象层。
level: scenario
workspace_types:
- development
workspace_ids: []
source_ids:
- global_guidance_memory:bf88c265-4749-4c50-85bc-4bae25298cd5
counterexample_source_ids: []
occurrence_count: 1
explicit: true
confidence: 1.0
status: current
- statement: 优先复用项目已有的框架、服务、工具和约定,避免重复实现。
level: scenario
workspace_types:
- development
workspace_ids: []
source_ids:
- global_guidance_memory:bf88c265-4749-4c50-85bc-4bae25298cd5
counterexample_source_ids: []
occurrence_count: 1
explicit: true
confidence: 1.0
status: current
- statement: 在任何登录、SSH、数据库或 API 调用前先查询 Vaultwarden,唯一匹配时自动使用。
level: scenario
workspace_types:
- development
workspace_ids: []
source_ids:
- global_guidance_memory:105b328f-4bda-4641-90a7-7282ef156316
counterexample_source_ids: []
occurrence_count: 1
explicit: true
confidence: 1.0
status: current
- statement: 新增或修改的账户、密码、Token、API‑Key 与 TOTP 种子必须立即写入密码库。
level: scenario
workspace_types:
- development
workspace_ids: []
source_ids:
- global_guidance_memory:105b328f-4bda-4641-90a7-7282ef156316
counterexample_source_ids: []
occurrence_count: 1
explicit: true
confidence: 1.0
status: current
- statement: 普通记忆只记录密码库条目名称、用途、使用方式,不保存明文凭证。
level: scenario
workspace_types:
- development
workspace_ids: []
source_ids:
- global_guidance_memory:105b328f-4bda-4641-90a7-7282ef156316
counterexample_source_ids: []
occurrence_count: 1
explicit: true
confidence: 1.0
status: current
- statement: AI‑驱动的记忆整理与 Git 同步默认关闭,未开启时系统不应尝试加载模型或创建 `.git` 目录。
level: scenario
workspace_types:
- development
workspace_ids: []
source_ids:
- global_guidance_memory:3f91189b-11a1-45bb-8357-4f413dc1609d
counterexample_source_ids: []
occurrence_count: 1
explicit: true
confidence: 1.0
status: current
- statement: 项目记忆存放于 `aidocs/project_context.md`,采用秒级时间戳倒序记录,`aidocs/` 加入 `.gitignore`,记忆文件不提交。
level: scenario
workspace_types:
- development
workspace_ids: []
source_ids:
- global_guidance_memory:5ed86f53-b53e-4534-8e51-d3a010069d5e
counterexample_source_ids: []
occurrence_count: 1
explicit: true
confidence: 1.0
status: current
source_cursor: 89
source_hash: 2b2e3b97e81a12b79f132b76603f0fc21b774662a94ff357a992fe64de84070a
prompt_version: 2026-08-12.3
schema_version: '3'
curation_job_id: null
created_at: '2026-08-19T09:41:26.322861+00:00'
updated_at: '2026-09-23T15:12:16.410267+00:00'
tags:
- 项目概述
- WinUnLock
restored_from_commit: 6a6a895eafcca6052e81a14fca103a42635dd1c2
---
# WinUnLock 项目概述
## 项目定位
- **目标**:在用户拥有的 Windows 电脑上,通过用户自行提供的账号密码,实现每日固定时间的自动解锁(锁屏恢复)
- **合规前提**:全程本地运行,机器归用户所有,凭据仅由用户本人提供,属于合法合规的本机自动化,不涉及未经授权的设备访问。
## 技术路线
- 使用 **Rust** 实现 **Windows Service** + **Credential Provider**(CP)
- 锁定会话不能可靠地通过 `SendInput`/键盘模拟解锁,必须走 Credential Provider DLL → LogonUI 的正规凭据提交路径。
- 关键 API:`Credential Provider COM` 接口、`CPUS_UNLOCK_WORKSTATION`、`GetCredentialCount()`、`GetSerialization()`、`CredPackAuthenticationBufferW`。
- 建议使用账户的文本密码(而非 Windows Hello PIN)进行自动解锁。
- 参考项目:
- 52破解贴([链接](https://www.52pojie.cn/thread-2083713-1-1.html))对应的 Gitee 仓库(Rust 实现 CredentialProvider)
- GitHub 项目 PsyChip/hodor(C++ 实现,处理管道权限、密码清零等)
## 当前状态
- 项目根目录 `E:\code\WinUnLock` 仅包含 `AGENTS.md`,尚未初始化代码,也未创建 Git 仓库。
- 项目已在 MemRelay 中登记,标识为 **development** 工作空间,使用 **shared** 用例配置。
## 开发实施原则(引用全局共享规则)
- **KISS & YAGNI**:采用最简、正确的实现,不为假设的未来需求添加依赖或抽象(源: `memory:0882a1ad-94c0-4a20-9e3b-f65210c0f8b1`、`global_guidance_memory:bf88c265-4749-4c50-85bc-4bae25298cd5`)。
- **复用**:优先使用已有框架、服务、工具和约定,避免重复实现(同上)。
- **凭证边界**:在任何登录、SSH、数据库或 API 调用前先查询 Vaultwarden,唯一匹配自动使用;新增或修改的凭证立即写入密码库,记忆仅记录名称、用途、使用方式(源: `global_guidance_memory:105b328f-4bda-4641-90a7-7282ef156316`)。
- **可选 AI 与 Git 集成**:默认关闭,不会自动加载模型或创建 `.git` 目录(源: `global_guidance_memory:3f91189b-11a1-45bb-8357-4f413dc1609d`)。
- **项目记忆与 Git 工作流**:项目记忆保存在 `aidocs/project_context.md`,采用秒级时间戳倒序记录,`aidocs/` 加入 `.gitignore`,完成任务后清理、更新记忆并使用 `type: 中文说明` 形式提交(源: `global_guidance_memory:5ed86f53-b53e-4534-8e51-d3a010069d5e`)。
## 开发环境与协作约定
- **语言**:中文沟通为默认;如需其他语言需明确声明(源: `global_guidance_document:ff34c6eb-6bba-41e5-9e43-ff80941fa823`)。
- **平台**:全部命令、路径和验证步骤必须兼容 Windows(同上)。
- **沟通**:持续通报关键进展,独立完成可直接验证并提交。
---
*本文档基于已登记的项目信息及全局共享规则编写。*