debt(agent): agent 缺 URL 导入 + 三个互不相通的 agent 模型(执行/后台目录/chat 选择器)
- Dominant language
- TypeScript
- Stars
- 0
- Forks
- 0
- Avg merge
- 1h 7m
- Merged PRs (30d)
- 969
Description
## 背景(仅登记,本 issue 不实现)
调查后台 agent/skill 导入能力时发现:
1. **agent 没有 URL 导入等价物**。skill 有 `importSkillFromUrl`(`apps/api/src/interface/controllers/skill-url-import.controller.ts`),agent 只有 starter-pack 导入(`agent-starter-import.controller.ts`),没有对应的链接导入路径。
2. **agent 存在三个互不相通的模型**(issue #595/#614 评论里前人已实测记录,本次复核仍成立):
| 模型 | 表 | 写入点 | 谁读 |
|---|---|---|---|
| 执行 | `agents`/`agent_versions` | 仅 starter-pack 导入(文件源)+ 测试直接建库 | `resolvePublished`(chat 执行链路) |
| 后台目录 | `capability_listings(kind='agent')` | `POST /capabilities/mutate`(admin UI "+"按钮) | `/admin/agent` 页面目录列表 |
| chat 选择器 | `org_agents` + `chat_thread_agents` | 全仓零生产写入点 | `getAgentPanel`(chat 面板下拉) |
三者 id 空间不对齐:从 admin UI "+" 创建的 agent 只进 `capability_listings`,`agents`/`agent_versions` 里没有 —— 能在目录页看见,但发消息会 `AgentNotPublishedError`。starter-pack 导入的 agent 反过来能执行,但在 chat 选择器下拉框里看不到。
3. `agent_versions` 也**没有文件树模型**(`instructions` 是单个 text blob,无 `agent_version_files` 表),若要给 agent 做"包导入 + 目录浏览编辑",需要先决定是否新建版本-文件表 —— 这是架构决策,不是实现细节。
对应的 skill 侧同类问题是 #598(模型 A/B 分裂),agent 这边形状类似但更宽(三个模型不是两个)。
## 为什么不在本轮实现
- 工作量超出"补齐链接导入入口"的量级,涉及至少三处写路径的协调
- 需要人类先裁决:agent 到底该收敛到哪个模型、是否要建 `agent_version_files`
- 按 AGENTS.md 契约签核纪律,新增/改动 agent 相关契约需要先过对应契约束的 design-signoff
## 建议下一步
由人类或 main coordinator 裁决收敛方向后,参照 #598 的处理方式单独立项。
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reading apps/api/src/interface/controllers/skill-url-import.controller.ts and agent-starter-import.controller.ts, then trace resolvePublished, getAgentPanel, and POST /capabilities/mutate. Review the referenced issues and AGENTS.md design-signoff requirements; done means a human-approved convergence direction and a separate implementation issue.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- api, backend, database
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100