--- 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(同上)。 - **沟通**:持续通报关键进展,独立完成可直接验证并提交。 --- *本文档基于已登记的项目信息及全局共享规则编写。*