用途与实际影响
这项功能怎样使用
为什么需要它
“本地”不等于一定在线,“已安装”也不等于 OAuth(账号授权协议) 和模型链路已通。自动把失败请求送到另一条路线还会改变费用、隐私和结果身份。
举个实际例子
我可以说:“这次只用普通本地27B,不换去限制版,也不传云端。先看当前模型与显卡是否就绪;不可用就告诉我原因。”我得到对应入口的状态,而不是把通用Ollama端口离线误报成全部本地模型都不能用。
最后我会得到什么
分别知道选中的本地模型或代理是否已安装、是否真在运行、监听的是不是本机地址;只有这一条身份成立才尝试真实调用。
正常时
选中服务和真实模型身份都对应时,标这条路线可进一步使用。
发现问题时
模型没开、显卡忙或代理旧了时只说明这一条的限制。
入口不可用或证据不足时
程序不明、监听跑到非本机地址或端口已被别人占用时拒绝,不结束未知程序。
从哪里开始
在 aicli profile show/native 选择点名的本地模型或代理,先用 Doctor 核对当前安装和服务。
需要准备什么
- 明确的模型或代理 Profile
- 本地显卡或登录状态
- 是否只允许本地数据
从开始到拿到结果
- 1
核对选中入口而不自动换路
系统辨认这次是本地模型还是指定代理,检查其服务身份、端口与登录,不把失败送往另一家。
- 2
核对服务身份
检查真实安装、回环地址、端口、进程及必要上游登录。
- 3
按选定路线运行
交回模型结果或精确不可用原因;本地入口失败不会自行切到付费或其他数据去向。
技术实现与依据
这里保留实现、关键条件、精确入口、历史记录和验证结果。
受管四模型与桌面入口已建立;可选代理和通用11434另看日期关键规则与设计选择
Qwen Code 与 OpenCode 当前主要是本地 machine-only 路线。
ccp 和 cliproxy 是第三方可选通道,不是 OpenAI/Anthropic 官方功能,也不互相故障转移。
当前源只批准 ccp 0.1.15、cliproxy 7.2.72;上游更高标签尚未进入可执行清单。
本模块用到的名词
- loopback(本机回环)
- 只允许本机访问的 127.0.0.1 地址;0.0.0.0、局域网与公网监听都不接受。
- LocalGpuBroker(本地显卡协调器)
- 外部既有运行时,负责本地模型端点与资源租约;AICLI 只作为消费者。
- approved artifact(已批准制品)
- 版本、资产名和 SHA-256 已写入发行清单的代理包;上游新标签不自动获得执行资格。
专业定义
这些是可选路线;任何一个离线都不会让 aicli 偷偷换到另一个。
解决什么
防止把安装文件、端口或旧 OAuth(账号授权协议) 当成当前可用,也防止 AICLI 为抢端口结束别人的服务。
当前怎样实现
- LocalGpuBrokerSession 消费既有 broker(代理服务) 的 lease/capability,证明请求命中 exact 本地模型;它不拥有 GPU 调度服务。
- OpenCode 使用一次性 pure 配置并保留 256K context/input、输出、reserve 与最近轮次边界。
- PortAllocator 在 43192–43209 中排除动态/保留范围、listener 与 bind 失败;ccp/cliproxy 首选 43197/43198。
- ProxyService 只执行命中固定 SHA-256 或可信签名的 Windows 制品,并在停止前重验进程身份。
- data/local-model-set.json拥有四个受管Profile与OpenCode、Toolkit映射;当前模型标签为qwen3.8-27b:256k、qwen3.6-35b:256k、qwen3.6-35b-abliterated:256k、qwen3.8-27b-abliterated:256k。设置先预览、明确应用后同步既有消费者,不创建另一份模型目录。
- 普通27B和去限制27B、普通35B采用num_batch=128;35B去限制版保留512。draft_num_predict=0避免已复现的草稿预测崩溃,不替换原始模型权重。普通27B的256K镜像manifest(清单) SHA-256为8040835723046ec2631b64b960d44414636ea5147942a7d68eaaa7ccdb492e20,Q4_K_M,输出32768,temperature=1、top_p=.95、top_k=20、min_p=0、presence_penalty=0、repeat_penalty=1。
执行流程
- 1
选择本地模型或一个代理。
- 2
检查批准制品与当前安装。
- 3
安全分配 loopback 端口。
- 4
必要时由用户完成上游登录。
- 5
启动并核对进程、listener 与健康响应。
- 6
停止或本地清理前再次验明身份。
边界
- 本轮不启动 Ollama、GPU 模型或代理。
- 不下载或执行上游最新标签。
- logout --purge-local-auth 只处理本地目录,远程授权需在账号侧确认。
失败与恢复
- 默认 Ollama 11434 不可达
- 当前公共默认路线有限制;不改投 32100 或云端,除非用户选择对应 exact Profile。
- 端口被未知进程占用
- 换受控候选,绝不结束未知占用者或改系统端口范围。
- 代理版本未批准
- update-check 只给来源和批准状态,不执行新版。
真实入口
E:\Projects\Tools\ai-cli-profile-manager\src\AiCliProfileManager\Private\LocalGpuBrokerSession.ps1本地模型身份与租约消费
E:\Projects\Tools\ai-cli-profile-manager\src\AiCliProfileManager\Private\ProxyService.ps1代理安装、启动、登录、退出和身份
E:\Projects\Tools\ai-cli-profile-manager\data\ports\managed-proxy-ports.json候选端口与验证日期
E:\Projects\Tools\ai-cli-profile-manager\data\proxy-artifacts\approved-windows-artifacts.json可执行代理版本与摘要
如何验证
- 代理端口、制品、路径逃逸、监听和 PID 复用均有离线回归。
- 2026-09-14T04:20:45Z的Doctor仍读到两个代理已安装未运行、Ollama默认端点不可达。
- GitHub 最新标签只用于指出清单差距,没有下载、执行或标成已批准。
与其他模块的关系
本模块提供可选运行目标;引擎模块定义 Profile,验证模块决定该目标在当前是否真正可用。
