mirror of
https://github.com/ThearchyHelios/AgentLab.git
synced 2026-11-15 00:11:59 +00:00
README:第 2 波的升级说明(后台探查与探查范围、db_schema 的检索与按需加入、封存后比对口径、导出审计与来源链);身份与权限加「访问密钥」一节和 curl 示例;数据目录加「大库:探查范围与按需加入」
This commit is contained in:
@@ -105,6 +105,18 @@ http://127.0.0.1:8000 。前端产物不存在或比源码旧时才重新构建
|
||||
取值,日期列写明排除了几个无效日期,所以升级后第一次重新剖析,这些表的目录各升一次版本。剖析设置的「抽样键值数」改叫
|
||||
「核对键值数」(`DISTINCT … LIMIT` 取的不是随机样本)。
|
||||
|
||||
**从旧版本升级(2026-10 下一轮第 2 波)**:
|
||||
|
||||
- 探查结构改成后台任务(和同一个数据源的起草、剖析排队)。升级后每个数据源点一次「探查结构」,建立对象索引;老的表结构
|
||||
在探查读完之前原样保留。超过 500 张表、又没设探查范围的库,第一次探查会被拒绝并说出命中了多少张,要先在「探查范围」里
|
||||
设规则或调高上限(最多 2,000)。正式探查不再接受 `?schema=` 临时换 schema(一个数据源一个 schema),预览照旧可以。
|
||||
- 运行时的 `db_schema__` 不传表名时只列前 50 张,并说清另有多少张;可以用 `keyword` 检索,点名探查范围外的表会当场读结构、
|
||||
加进范围(每次运行最多 8 张,留痕)。
|
||||
- 探索运行封存后会在后台比对已发布的口径,追加一条封存后事件 `ledger.matched`:时间线、可验证报告的「封存后追加」里
|
||||
多出这一条,不在封存范围内。启动时补比最近 7 天的运行,跟着 `AGENTLAB_SCHEDULER` 开关。
|
||||
- 报告导出和可验证报告下载各记一条审计 `report.exported`。问数据发起的运行带上所在对话和轮次(`origin_ref`),
|
||||
「在画布里打开」建的工作流记下来自哪一轮。
|
||||
|
||||
---
|
||||
|
||||
## 核心能力
|
||||
@@ -416,6 +428,28 @@ cd backend && python -m app.auth reset-admin --username admin # 不给 --passw
|
||||
原文、运行事件里的结果预览一律不给,工件按白名单给。对搭建者、管理员,以及未开启登录时的所有人,遮罩只减少暴露,
|
||||
完整快照仍能按工件 id 取到。管理类操作(登录方式、用户和角色、组、端点、能力治理、应用发布、版本退役)写进审计。
|
||||
|
||||
### 访问密钥
|
||||
|
||||
外部系统(门户、OA、BI)用访问密钥调接口,只在开了登录时生效:
|
||||
|
||||
- **谁能持有**:服务账号(管理员在「设置 → 访问密钥」建,`svc-` 开头,没有口令、不能登录、不能被派待办);个人访问密钥
|
||||
要管理员打开开关(缺省关),本人在同一页建。密钥只在建、轮换时显示一次,库里只存哈希;到期必填(最长 365 天,缺省 90 天),
|
||||
轮换时旧钥 24 小时后到期,撤销立刻失效,拥有者停用后一并失效。
|
||||
- **能做什么**:一律按使用者的权限算——只看得到授权给拥有者(或所在组、所有人)的应用,看到的数据一律遮罩,管理员的密钥也
|
||||
一样。权限按接口白名单给(读应用和视图、发起入口、刷新视图、读待办、回复待办、读报告;新建时缺省只勾读的),白名单外的
|
||||
接口一律 403。发起入口、刷新视图必须带 `Idempotency-Key`,外部系统超时重发不会多发起一个。回复待办只给个人密钥,只限审批、
|
||||
补充输入、编辑稿件。每把密钥每分钟 120 次。
|
||||
- **留痕**:建、撤销、轮换、开关都写审计;每次请求记一条(保留 90 天);用密钥发起的运行在 `run.origin` 里记是哪把密钥。
|
||||
- **视图数据**:`GET /api/apps/{app_id}/views/{view_id}/data` 给印章、清单哈希和口径卡指标的原值(遮罩的为 `null`),可以拿
|
||||
清单哈希去对照可验证报告。完整的接口清单和错误码在「设置 → 访问密钥 → 接口说明」。
|
||||
|
||||
```bash
|
||||
curl -H "Authorization: Bearer agl_…" https://agentlab.example/api/auth/me
|
||||
curl -H "Authorization: Bearer agl_…" -H "Idempotency-Key: order-20261016-001" \
|
||||
-H "Content-Type: application/json" -d '{"input": {…}}' \
|
||||
https://agentlab.example/api/apps/<app_id>/entries/<entry_id>
|
||||
```
|
||||
|
||||
## 能力登记与端点
|
||||
|
||||
「工具 → 能力」把内置工具、数据源、自定义工具、MCP 工具登记在一处,名字就是图里的工具名。启动时和各对象增删改时
|
||||
@@ -478,6 +512,14 @@ cd backend && python -m app.auth reset-admin --username admin # 不给 --passw
|
||||
|
||||
---
|
||||
|
||||
### 大库:探查范围与按需加入
|
||||
|
||||
几千张表的库不必全部读进来。探查先建一份全库的对象索引(每种数据库一条字典查询:名字、类型、注释、估算行数),再按
|
||||
「探查范围」的规则(通配、排除优先,缺省最多 500 张、上限 2,000)读范围内的表;有数据目录的表、已发布模板写死 SQL 用到的
|
||||
表一律在范围内。助手查看和运行时的 `db_schema__` 先按需求检索(BM25,遮罩列只用列名),点名范围外的表会当场只读地读结构、
|
||||
加进范围并留痕。「表已不在」只在真删除时说,范围外、读不到结构、索引里从来没有,各自分开说。剖析得到的行数和日期范围也
|
||||
交给助手和 agent,附一句「只供写查询参考,不能作为回答里的数」,遮罩按当时的设置重滤。
|
||||
|
||||
### 助手按需查看
|
||||
|
||||
以前每一轮开始前,服务端按库的大小把表结构塞进助手的 system:说一句「你好」也要先挑表,再带着上万字的表结构去
|
||||
|
||||
Reference in New Issue
Block a user