F0: establish native Pipecat background job spine
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
# Assumption Ledger — Prompt background tasks
|
||||
<!-- ASK mode: never -->
|
||||
|
||||
| ID | Under-determined by the request | Chosen | Class | Source |
|
||||
|----|--------------------------------|--------|-------|--------|
|
||||
| A-001 | 范围 | 只允许提示词 Pipeline 绑定任务工具;不开放 Workflow、Realtime、启动 Action | semantic | user |
|
||||
| A-002 | 任务生命周期 | 应用级原生 Worker 拥有 Job;网页断线任务继续 | semantic | user |
|
||||
| A-003 | 配置入口 | 新增 task 工具类型,复用 Tool CRUD/绑定;每个助手最多一个 | interface | default |
|
||||
| A-004 | 任务作用域 | 平台生成 task_id,记录来源 conversation/assistant;管理接口沿用现有管理员鉴权 | interface | default |
|
||||
| A-005 | 远端执行关联 | 一次任务一个 OpenCode session;提交前保存session及messageID,初始idle不算完成 | semantic | default |
|
||||
| A-006 | 取消 | 原生Job取消后调用远端abort并核查;无法确认时保留待确认,不能宣称已停止 | semantic | default |
|
||||
| A-007 | 通知 | 进度仅网页;完成/失败在线时触发前台总结;离线结果保留供查询 | semantic | default |
|
||||
| A-008 | 恢复 | 单进程;重启恢复观察有远端句柄的任务,不自动重新发送未知提交 | semantic | default |
|
||||
| A-009 | 远端配置 | 地址/工作目录/Basic鉴权由管理员工具配置,任务冻结连接信息;LLM不能改地址和目录 | interface | default |
|
||||
| A-010 | 补充输入 | 同一运行任务可发送文本;权限/问题交互显式等待管理员处理,不自动批准 | semantic | default |
|
||||
| A-011 | 验证边界 | 未提供真实远端服务,使用httpx MockTransport验证协议和真实Pipecat验证调度;真实联调待部署配置 | semantic | default |
|
||||
| A-012 | 外部编码变更 | 仅明确调用任务工具时会启动远端执行,不因查看页面自动执行 | semantic | default |
|
||||
@@ -0,0 +1,16 @@
|
||||
# Build Note — Prompt background tasks
|
||||
|
||||
| Rung | Feature | Acceptance check | Tier | Status |
|
||||
|------|---------|------------------|------|--------|
|
||||
| F0 | 原生Job主线、断线独立与取消 | backend/.venv/bin/python -m unittest discover -s backend/tests -p test_background_task_native.py | MUST | passed |
|
||||
| F1 | OpenCode协议适配与状态关联 | cd backend && .venv/bin/python -m unittest tests.test_background_task_native tests.test_opencode_tasks | MUST | pending |
|
||||
| F2 | 持久记录、管理API、应用宿主 | cd backend && .venv/bin/python -m unittest tests.test_background_tasks | MUST | pending |
|
||||
| F3 | 提示词绑定、任务通知、网页 | cd frontend && npx tsc --noEmit | MUST | pending |
|
||||
| F4 | 回归、文档与假设审阅 | make test | MUST | pending |
|
||||
|
||||
## Run record
|
||||
- F0: PYTHONPATH=backend backend/.venv/bin/python -m unittest discover -s backend/tests -p test_background_task_native.py → exit 0; native-jobs-smoke.json。
|
||||
## Deferred
|
||||
- 真实远程 OpenCode + 模型联调:未提供服务地址/凭证。
|
||||
- 多进程分布式总线及通用插件发现:超出单进程 MVP。
|
||||
## Blockers
|
||||
@@ -0,0 +1,9 @@
|
||||
# 提示词 Pipeline 远程任务 MVP
|
||||
|
||||
Base commit: d45be1e6864d1ea9ac73e9f15490873e2d6f606b
|
||||
|
||||
目标:使用 Pipecat 1.13.0 原生 Worker/Jobs,为提示词 Pipeline 增加远程 OpenCode 后台任务。输入为管理员配置的任务工具、工作目录和用户指令;输出为任务回执、持久进度/结果、网页卡片及在线完成通知。
|
||||
|
||||
成功检查:backend/.venv/bin/python -m scripts.run_tests;frontend npm run lint、npm run test:contracts、npm run build。
|
||||
|
||||
范围:单应用进程,原生 AsyncQueueBus;任务所有者常驻应用;仅提示词 Pipeline。真实远端服务未提供,协议验证使用明确标注的本地模拟服务,不声称完成真实模型联调。
|
||||
@@ -0,0 +1 @@
|
||||
{"simulated_executor": true, "native_job": "completed", "survives_media_disconnect": true}
|
||||
Reference in New Issue
Block a user