Skip to content

Latest commit

 

History

History
161 lines (129 loc) · 9.67 KB

File metadata and controls

161 lines (129 loc) · 9.67 KB

架构与信任边界

数据流

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'nosniffno-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。