3 Commits

Author SHA1 Message Date
lou 2155f65c76 加"技能执行"示例驱动: 把 skill 真跑一遍 (选模型 / 拼 prompt / 校验输出 / 重试)
- 驱动/技能执行/: oneshot + system 解释器. 读自带 技能/*.json -> 按 tier 选模型 ->
  拼 prompt -> 调 OpenAI 兼容端点 -> 剥 JSON -> 逐条按档校验 -> 落盘 + 写 events
  main 档只锁外层 (plan 是数组 + 每步有 want); small 档锁死 (单值 want + 必须在契约
  清单里 + args 键白名单 + confidence 只许 0/0.5/1)
- 契约清单只读 PG 的 drivers 表拿 (不 import 别的驱动、不翻别人的文件夹);
  也支持 EFI_SKILL_CONTRACTS 显式给一份 (手工跑 / PG 不在时)
- 思考型模型把 max_tokens 吃光时, 把预算翻倍重试一次; 本机端点强制不走代理
- 驱动/Json解码: 补 provides ["Json解码:解析"] -- skill 样例里一直在用这个契约名, 之前没人提供
- 文档同步: README / 文档 02 / 文档 06 / 文档 10 (坑 27~30) / 设计 01 / 设计 05 (补记执行侧)
- .gitignore: 盖住 驱动/*/输出/ (运行时产物不进 git)
2026-09-17 12:39:10 +08:00
lou 8fd8c8411e 加"样板技能"驱动: skill 归驱动管的样例 (主模型 / 小模型两档)
老板口径 (2026-09-16): skill 可以写个示例, 但 skill 是归驱动管的, 所以只要样例就行, 分主模型和小模型 skill.

驱动/样板技能/  (第 4 个样板驱动)
  配置.efi.json            oneshot / interpreter system / 无契约
  技能.py                  只列不执行: 把自带的 skill 读出来打印 (档次 / 步骤数 / 样例数 / 边界数)
  技能/请求解析-主模型.json  tier=main    步骤 3 (抽象, 规划权交给模型) / 样例 1 / 边界 3
  技能/请求解析-小模型.json  tier=small   步骤 5 (编号写死, 每步一个判据) / 样例 3 (含 2 条反例) / 边界 4

口径
  内核不认识 skill (只管确定性代码能力的接入与仲裁); 读它 / 选模型 / 拼 prompt / 校验输出 / 重试 全归驱动
  同一件事写两份: main 靠模型规划 / small 靠结构稳 (args 键白名单 + confidence 只许 0/0.5/1 + 反例 few-shot)
  样例任务选"把一句话解析成 calls 的 want+args" -- 正是底座里主模型(规划多步)与小模型(填固定结构)的真实分工

设计/05-技能规范.md (新): 归谁管 / 字段表 12 项 / 两档对照 / 版本边界(v0.1 不做加载器·选模型·校验·重试) / 连带清单
文档同步: README(程序(Skill) 行 + 驱动清单 3->4 + 设计档案 01~05) / 文档02(新增"驱动可以带 skill"节, 原第 8 节顺移为 9) /
         文档06(分层表那条) / 文档07(依赖图加技能声明一行) / 文档01(驱动列表快照补第 4 行) / 设计01(第 7 节指向 设计/05)

验收: 扫描 驱动 4 / 有效 4 / 运行 0; 启动 样板技能 -> oneshot 退出码 0, 日志里两档 skill 都列出来;
      uvx pyright 0 errors / 0 warnings (新驱动代码过严格档; json.loads 收窄成 dict[Unknown,Unknown] 那处用 cast 修掉);
      五份自测全过; 试跑引导器 PASS 11 / FAIL 0 / 残留无
2026-09-16 21:37:25 +08:00
lou 6fe6b0a63b 加 README (仓库首页门面: 定位 / 结构 / 快速开始 / 四道门 / 文档索引 / 许可 GPL-3.0)
写明三条定调(纯CLI+日志 / PG当内存 / 一个文件一种内容)与驱动零耦合口径; 快速开始五条命令全部实测过; 不放内网 IP 与凭据.
2026-09-16 21:25:58 +08:00