OS 连接表 / lsof / procfs / Windows Services / Docker CLI / WSL CLI
|
v
进程快照与端点归一化
|
+-----------+-----------+
| |
v v
项目根目录与标记匹配 Agent/IDE/终端进程链匹配
| |
+-----------+-----------+
v
可选的近期会话元数据匹配
|
v
历史证据 + 可解释遗留评分
|
v
127.0.0.1 Web API 与中英文静态控制台
模型容量规划是与服务采集并列的本地只读数据流:
CPU / RAM / GPU / Apple unified memory / local runtime executables
|
v
去标识化硬件画像与当前资源预算
|
离线模型目录 + 用户工作负载/SLA
|
v
权重 + KV×并发 + 工作区 + 系统保留 + 吞吐范围
|
+--------------+--------------+
v v v
物理上限 可用上限 SLA 上限
|
本地命令模板(不执行)
|
可选 llama-bench 明示校准
或
固定服务矩阵 -> 同负载预测误差 -> 容量反向校准
模型规划不会调用互联网、扫描模型目录、读取推理服务密钥或自动下载权重。硬件画像与模型目录细节见 MODEL-CAPACITY.md。
AI 运行体检在同一份服务快照上增加被动证据与逐次授权动作:
CPU/RAM/磁盘/网络 + GPU 厂商或 OS 计数器
|
已识别模型进程与本机监听端口
|
只读健康 API / metrics(无提示词、无凭据)
|
资源 · 加载 · 性能 · 安全 · 稳定 · 容量五域判断
|
+-------------------+-------------------+
v v v
显式合成短基准 显式日志/配置脱敏检查 显式快照/回滚
BENCHMARK <port> INSPECT <PID> SNAPSHOT / RESTORE
无证据字段保持 unknown/unavailable。总分只聚合非 unknown 域,并同时返回已知/未知域数量。
服务关系与关停验证在服务快照上形成另一条受控数据流:
项目 / Agent / 进程 / 监听端点 + 当前本机 TCP 连接
|
服务依赖与生命周期关系图
|
阻断项 + 客户端/端点影响 + 恢复证据
|
STOP <PID> 再校验并执行
|
有限窗口复核原 PID / 子进程 / 端口 / 替代 PID
通配监听只有在连接目标属于回环或本机网卡地址时才形成依赖边。停止后验证是观察动作,不会对被管理器重新拉起的替代 PID 自动执行第二次停止。
本机成效证据从已有结果生成白名单聚合,不复用完整服务对象作为导出结构:
当前快照计数 + 归属纠正 + 人工结果 + 停止验证 + 基准误差
|
仅聚合、按服务指纹去重、受保留期限制
|
本机预览 -> EXPORT REPORT
|
脱敏 JSON + 规范化内容 SHA-256(无自动上传)
人工结果只允许固定枚举值;报告固定声明它是单机自报证据,不代表独立用户或公开采用。
优化建议层在体检证据之上形成闭环,但不直接变更主机:
硬件画像 + 实时遥测 + 运行时探测 + 用户目标
|
权重格式 / OS / GPU 兼容矩阵
|
硬件规则建议 + 完整推理引擎兼容矩阵(不安装)
|
同负载本机短基准回验
|
WATCH <PID> 持续日志 -> 脱敏事件 -> 再诊断
|
SNAPSHOT / RESTORE 回滚链
日志游标只在用户明示后创建,绑定服务指纹、PID 与启动时间,每轮最多读取 256 KiB;原始行先脱敏、分类、截断后才写入事件表。服务身份变化时游标停止,避免 PID 复用或重启后越权跟随。
- Windows/Linux 宿主机端点由
psutil读取;Linux 可见性受 procfs 权限和发行版安全配置约束;Windows 服务使用psutil.win_service_iter()。 - macOS 端点使用系统
lsof -F,再用psutil补全当前用户可见的进程指标。无sudo时这是部分可见结果。 - Docker 与 WSL 通过本机已有 CLI 只读查询,分别生成独立来源记录,不伪装成宿主机 PID。
- CPU/RAM/磁盘/网卡由
psutil读取。NVIDIA 实时字段来自显式nvidia-smi查询,AMD 在可用时来自amd-smi metric --json;Windows 其他 GPU 的显存分配与利用率来自 WDDM 性能计数器。适配器计数器只有 LUID,映射到营销型号时必须携带heuristic_name_mapping。 - GPU 身份使用厂商/设备标识而非静态型号穷举:Windows 读取 PNP ID,macOS 读取
system_profiler,Linux 读取 PCI sysfs 的class/vendor/device。内置型号表只补充少量已知设备的容量/带宽估算,不能覆盖或替代厂商实测。 - 温度与风扇优先使用平台原生
psutil传感器;GPU 温度/风扇/功耗仅使用厂商 CLI 返回值。工具不安装驱动、不调用需提权的powermetrics,不可用时不估算。 - 模型运行时探测只访问快照中已识别服务的
127.0.0.1:<port>,禁用代理和重定向,限制响应体与超时,不读取进程环境变量或认证密钥。 - 采集器失败是局部失败,快照会保留其他来源并返回结构化状态。
项目归属按证据强度使用服务工作目录、命令中的本地路径和父进程工作目录,并要求落在用户配置的根目录内。Agent 归属使用精确进程名、可执行路径、包装运行时命令和父进程链。
会话归属是额外证据,不是进程识别的必要条件。只有产品相同、项目路径相容且时间窗口合理时,近期元数据才可提供会话 ID;命令显式携带恢复 ID 时置信度更高。详见 AGENT-SUPPORT.md。
评分仅用于排序复核线索。运行时间、项目归属缺失、历史 Agent 丢失、重复实例和连接/负载状态共同形成可解释原因。Agent 本体、Windows 服务、Docker 和 WSL 不进入普通开发服务停止模型。工具不会自动结束任何进程。
HTTP 服务固定绑定 127.0.0.1。Windows 使用 SO_EXCLUSIVEADDRUSE,其他平台关闭地址复用;首选端口占用时按有界候选顺延,不抢占旧实例。GET 请求校验客户端与 Host;有 Origin 时要求同源。POST 还必须提供启动时随机生成的控制令牌。浏览器安全头包括 CSP、frame-ancestors 'none'、nosniff 和 no-referrer。
停止进程前,服务端先提供关系模型生成的影响评估,再重新校验服务快照、PID、创建时间、确认短语、保护名单和整个子进程树。PID 复用或受保护子进程都会使操作失败。停止后在有限窗口内验证原 PID/子进程、原监听端点和替代 PID;验证不执行第二次终止。
SQLite 保存服务指纹、时间、项目/Agent/会话归属、用户标记和审计;完整命令不会进入历史库。可选 llama-bench 保存硬件指纹、目录模型 ID、量化、模型文件名/大小和数值结果;模型服务短基准/固定矩阵保存服务与硬件指纹、目录模型 ID、量化、并发/上下文/输出、样本数、TPS/TTFT、资源峰值和预测误差,不保存合成提示或生成正文。stop_verifications 保存有限窗口内的 PID/端口/替代 PID 数值结果。impact_feedback 每个服务指纹最多一条固定枚举结果,报告只读取聚合且不导出指纹。持续日志监控保存本机私有路径游标和脱敏事件,Web API 移除绝对路径;事件按单独保留期清理。实时远端 IP/端口只存在内存快照,不进入服务历史。
用户显式创建的文件快照位于数据目录 snapshots/。清单本地保存原始绝对路径、文件名、大小、时间和可选哈希;小型配置副本按原内容保存,可能包含用户原配置中的秘密,因此必须依赖数据目录 ACL/权限,且不会进入 Web 清单响应。日志/配置检查结果仅随当前响应返回脱敏内容,不写数据库。权限与删除方式见 ../PRIVACY.md。
- 远程主机或云端 Agent 管理;手工受信私网节点只做无凭据健康探测;
- 抓包、协议正文、DNS/URL 读取或远端地址历史留存;
- 提权读取其他用户数据;
- 自动清理;
- 自动下载、自动启动或自动暴露模型服务;
- 把容量公式预测冒充生产压测;
- 将未公开、易变的聊天存储格式当作稳定 API。