feat(admin): #848 后续 —— skill 内容编辑器补新增/重命名/删除文件 + /chat 端到端复验
- Dominant language
- TypeScript
- Stars
- 0
- Forks
- 0
- Avg merge
- 1h 7m
- Merged PRs (30d)
- 969
Description
## 背景
#848 把 `/admin/skill` 的编辑入口接上了真实的「左文件树 + 右代码」编辑器
(复用 `asset-governance/ag-screens.tsx` 的 `AgSkillEditor`,加了可选
`assetId`/`assetLabel` 覆盖写死的示例 skill),走的是已经真实的
`GetAssetDirectory`/`ReadAssetFile`/`WriteAssetFile`(`kind === "skill"`
时 `PgAssetFileRepository`,#785)。
## #848 明确没做、留给本 issue 的两块
1. **新增 / 重命名 / 删除文件**:后端 `asset-directory.controller.ts`
已经有 `POST /assets/:assetKind/:assetId/files/delete` 与
`.../files/rename` 两个 controller,但 `apps/web/lib/asset-directory.ts`
没有对应的客户端封装(`createAssetFile` 更进一步——至今连 controller
都没有)。#848 判断"接一个只有一半功能的按钮不如老实不接",界面上只做了
编辑已存在文件的内容,没有接这三个操作。
2. **`/chat` 端到端复验**:#848 的写路径本来就是模型 A
(`skills`/`skill_versions`/`skill_version_files`,`pg-agent-run
-repository.ts` 里 `/chat` 执行 skill 时唯一真读的那套),理论上编辑
保存后 `/chat` 应该能读到新内容,不需要等 #598 的模型 A/B 收敛。但
#848 没有做这条端到端复验(起一个真实 skill、编辑保存、再在 `/chat`
里调用,断言执行的是新内容)。这条验证补上后,#848 issue 里那句
"编辑保存后 /chat 执行的确实是编辑后内容"才算真正核实过,而不是推理出来的。
## 建议
- 先做 (2)(端到端复验):如果推理有误、模型 A/B 真的还没收敛,(1) 的
优先级要重新评估。
- 再做 (1):补 `createAssetFile` controller + `apps/web` 三个操作的客户端
封装 + 编辑器里的新增/重命名/删除按钮接上真实调用。
## 关联
- #848(本 issue 的来源,已就"已存在文件编辑"部分交付)
- #785(`PgAssetFileRepository` 把 skill 接到真实 Postgres)
- #598(skill 双模型 A/B 未收敛,若 (2) 复验发现问题,根因大概率在这里)
- #787(`agent` kind 仍是 fixture,不在本 issue 范围)
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reviewing #848, asset-directory.controller.ts, apps/web/lib/asset-directory.ts, and the AgSkillEditor in asset-governance/ag-screens.tsx. First run the proposed /chat end-to-end check: create a real skill, edit and save it, then verify /chat executes the new content. Done includes that verification plus working create, rename, and delete file flows backed by real calls.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- api, full-stack, testing-qa
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 28/100