feat(cli): base/space 命令 + 执行守则 + eval harness 入仓 + 多轮 eval (0.1.9)

- 新命令: space list/create、base create/delete(实测通过,冒烟覆盖)
- SKILL.md §0 执行守则:完成全部步骤再答复/不谎报/分批/撤销指引
  (snapshot 无恢复 API,用 deactivate+节点改回)
- hint 补 429 限流与超时模式
- evals/ 入仓: 14+6 题 harness 参数化(EVAL_ROOT/EVAL_ENV/EVAL_MODEL/
  EVAL_CFG/auto_skill 触发模式)+ 多轮修正式 eval 与灵活判分
- 判分器加固: workflow list 错误负载不崩、官方 CLI 探测(command -v)不算使用
- 实测: auto 触发批(入仓版重跑) 11/11、99.0% 首试、100% ≤2 次;
  多轮修正 2/2+3/3(修改而非重建);冒烟 85 用例含 token 路由(低权会话)
- 运维事实入档: POST/DELETE /api/plugin 为管理员专属(PAT 403)
This commit is contained in:
yeuimu
2026-09-30 08:12:16 +00:00
parent 517dde9dee
commit c9694511a1
20 changed files with 1607 additions and 9 deletions
@@ -29,6 +29,12 @@ Tokens (`Authorization: Bearer <PAT>`).
**Returns** `201` with `{ id, name, version, ... }` — the plugin ID to use for
enable and install.
**Registering a NEW plugin id**: `POST /api/plugin` (manifest as JSON body) —
**admin-only** (PAT gets 403 `restricted_resource`). Uploading a bundle for an
already-registered id only needs the `plugin_developer` whitelist. Deleting a
plugin (`DELETE /api/plugin/:id`) is likewise admin-only. PAT-only automation
should reuse existing registered ids, or ask an admin to register/delete.
**Security** (7-layer validation):
1. Authentication — valid session cookie required (401 if missing)
2. Developer whitelist — `plugin_developer` table lookup (403 if not whitelisted)