Argus
文档目录 · v0.3.4 文档首页

使用指南

界面与操作硬件数据的来源与限制常驻、托盘与快捷键设置

开发指南

环境与命令构建与缓存多语言性能基线与测量提交与发布依赖与安全维护Windows 代码签名

架构

架构管理员启动采集层 argus-core前端Tauri 宿主特权服务系统任务管理器替换技术栈

设计

设计原则曲线动画全局快捷键窗口外观

项目

已知问题路线图
搜索文档

管理员启动

“管理员运行”默认关闭,与特权服务、PawnIO 和系统任务管理器替换分别授权。开启时通过一次显式 UAC 操作建立当前账户的启动授权。只有具有管理员身份的账户可以开启;纯标准账户的最高可用令牌仍是普通令牌,不能据此提供自动管理员运行。

持久授权仅用于包含固定前端资源的发布构建。开发热更新模式不建立管理员任务,以免可修改的前端服务成为持久管理员进程的代码来源;只使用优化编译也不会绕过此限制。

启动通道

argus-service::admin 管理受保护的 Program Files\Argus Runtime\<应用标识>\<账户 SID>。目录中有稳定的 argus-launcher.exe、按版本生成名称的界面程序、普通启动记录和管理员授权记录。普通账户不能替换这些文件。管理员启动不依赖特权服务是否运行,也不随服务卸载而取消。

计划任务绑定具体账户,使用 InteractiveToken 和 HighestAvailable,不保存密码、不添加登录触发器。普通启动器使用 RunEx 指定当前交互会话。任务只允许账户读取和执行,只有管理员与 SYSTEM 可修改。任务动作固定为受保护的 Argus 程序及管理员启动助手参数;参数仅编码显示、隐藏、更新标记和任务管理器就绪握手,不接受程序路径、脚本或任意命令。

登录启动仍使用现有的 Run 项和 Windows“启动应用”开关,目标改为稳定启动器并带 --hidden。普通快捷方式和固定图标使用同一策略,窗口的 AppUserModelID 保持应用标识。系统任务管理器替换先创建普通权限入口,该入口在创建单实例与 WebView 之前按管理员授权路由。常驻快捷键显示已经运行的管理员实例。

参考:任务安全上下文、RunEx 的会话与参数。

启动任务采用优先级 4,使启动助手使用普通 CPU、I/O 与内存优先级,符合交互应用的启动用途。数值映射见 Task Scheduler 的 Priority 定义。

权限切换与失败处理

启动请求使用随机名称事件和有界数据。助手核对请求者的 PID、创建时间、账户、会话和完整性级别,拒绝受限令牌。准备阶段只建立助手,不创建第二个 WebView 或历史写入者。原进程确认后退出,助手等待进程真正结束,再启动目标权限的界面。

已有普通窗口时,管理员副本通过单实例消息提出交接。接收方核对请求所引用进程的管理员令牌、账户、会话、创建时间和受保护的程序路径;只有核对通过才退出。新进程取得单实例锁后才能打开浏览器数据目录。已有管理员窗口时只传递显示和就绪请求。

界面首帧完成后确认启动成功。准备失败时保留原界面;目标启动失败时清理本次启动的进程,再恢复普通权限界面。自动启动从不弹出 UAC;失效的任务在设置中显示错误并由显式修复操作重新授权。任务管理器替换保留原生任务管理器回退。

设置、引导与维护

设置分别显示授权状态和当前进程权限。需要切换权限时,在设置中的准备完成后重启;引导中的授权先保存,在完成或跳过引导并保存引导状态后切换。关闭授权删除计划任务,保留登录启动偏好、设置和历史。关闭 UAC 等没有分离令牌的管理员账户没有可切换的普通令牌,撤销授权后保留账户默认权限,不等待普通权限启动助手;界面仍显示当前进程的实际权限。

安装后钩子更新已有受保护记录和任务动作,不为其他账户新增授权。卸载先结束界面副本、删除授权任务,再删除管理员启动文件。清理不依赖完整的授权或启动记录,也会清除中断安装留下的临时文件;文件仍被占用时保留失败状态,释放后可重试,不删除未知文件或递归处理目录。普通启动器与任务动作的程序路径不依赖免安装版原位置。

免安装版手动更新时,可先关闭管理员运行并退出,再替换文件,从新版程序文件启动后重新开启。检测到受保护副本较旧时,也会以普通权限打开新版并提示修复授权;不会把可写目录中的新版程序直接作为管理员任务执行。更新受保护副本仍需由新版程序显式请求授权。

在 GitHub 查看此页