docs: 会话任务链路待优化项立档(跨会话可见)

新增 mcn-workshop/docs/会话任务链路-待优化项.md:4 项待优化(任务模型浮动/面板跳转入口/任务权限/旧会话归位)+红线+已修历史。
同步:项目 MEMORY.md 权威源表加该文档指针,工作台红线补 workspace_scope 一条。
理由:只写进当天日志的规矩换会话读不到,必须落到工作台文档与长期记忆。
This commit is contained in:
maogeigei committed 2026-10-08 18:00:20 +08:00
1 parent 1f7d695afd
commit 3a940270b5
8 files changed
+70

No files matched your search

+1
View File
@@ -0,0 +1 @@
8a0062cf-9a29-426c-b676-833cb6b5a939 3
+1
View File
@@ -0,0 +1 @@
2026-10-08 18:00:17 entry|event=PreToolUse|in_scope=all(无门禁)
+17
View File
@@ -110,6 +110,23 @@
- 实测:新任务 `scope=workspace`、新会话 **`is_playground=0`** ✅(对照组仍是 1)。 - 实测:新任务 `scope=workspace`、新会话 **`is_playground=0`** ✅(对照组仍是 1)。
- 📌 **红线**:工作台凡直接写宿主 `automations` 表,必须带 `workspace_scope='workspace'`,否则会话一律落「未分组任务」。 - 📌 **红线**:工作台凡直接写宿主 `automations` 表,必须带 `workspace_scope='workspace'`,否则会话一律落「未分组任务」。
## 会话任务链路审计(用户:「看看哪些需要调整」)
**已修**:4 个轮询点口径统一(此前只有榜单更新一处有容错)。
- 轮询点 = `app.js executeTask`(通用 AI 任务)/`data-pages` 的榜单更新、批量更新账号、视频解析。
- 原先 3 处是 `catch(e){continue}`,服务被回收时静默空转 15~35 分钟才超时 ⇒ 用户只看到按钮转圈。现均为「连续 3 次查询失败 → 提示服务断开 → 结束轮询」。
**已确认健康(无需改)**:
- 写宿主 `automations` 表**仅 2 处**(`createOnceAutomation` 约 L409、`/api/run` 约 L880),均已带 `workspace_scope`。
- `submit-review-tasks.cjs`、`check-run-status.cjs` 走 HTTP 接口/只读,不直接写库 ⇒ 自动被修复覆盖。
- 技能挂载(`skills_json`)、浏览器锁约束、会话清理(`SESSION_CWD_PATTERN='%mcn-work%'` 仍覆盖新 cwd)均正常。
**待用户定(各有权衡)**:
1、**任务模型浮动**:`model_id` 取 `sessions` 最近活跃**手动**会话的 model,与 `config.ai.cli.model`(deepseek-v4.1-flash)**无关** ⇒ 同一任务换次数可能换模型,产出不稳定。建议加 `taskModel` 配置(留空=跟随现状,填了=固定)。
2、**进度面板缺「打开会话」入口**:能看状态但跳不进会话。
3、**任务权限恒为 `fullAccess`**(可写文件/执行命令):是否收紧取决于任务类型。
4、**修复前创建的旧会话仍 playground=1**:改库可归位,但需重启 WorkBuddy 才生效。
## 素材库补采:批 65 收尾 + 批 66/67 完成(30 卡) ## 素材库补采:批 65 收尾 + 批 66/67 完成(30 卡)
- 承 09-29 进度:批 65(细节专业 15 卡)已 apply 完成,细节专业 40→55。 - 承 09-29 进度:批 65(细节专业 15 卡)已 apply 完成,细节专业 40→55。
+2
View File
@@ -15,6 +15,7 @@
| 工作台 UI | `mcn-workshop/docs/工作台视觉交互规范.md` | | 工作台 UI | `mcn-workshop/docs/工作台视觉交互规范.md` |
| 工作台 AI 通路 | `mcn-workshop/docs/AI链路-本地CLI接入.md` | | 工作台 AI 通路 | `mcn-workshop/docs/AI链路-本地CLI接入.md` |
| 技能侧 WeKnora 调用 | 技能 `references/接口调用/WeKnora_极致事件检索.md` | | 技能侧 WeKnora 调用 | 技能 `references/接口调用/WeKnora_极致事件检索.md` |
| 会话任务链路待优化 | `mcn-workshop/docs/会话任务链路-待优化项.md` |
## 1. 仓库与环境 ## 1. 仓库与环境
- 本地 `D:\AI技能\mcn-short-video`;远程 `[email protected]:maogeigei/mcn-short-video.git`。 - 本地 `D:\AI技能\mcn-short-video`;远程 `[email protected]:maogeigei/mcn-short-video.git`。
@@ -29,6 +30,7 @@
- 零依赖 Node,端口 8900。任务 `POST /api/run`(写宿主 automation,once + `now+5s`)→ 轮询 `/api/run/status`;**创作/改写 prompt 必带 `SKILL_HINT_CREATE` 前缀**。配置单源 `config.json`;`.cjs` 无扩展 require → MODULE_NOT_FOUND(配置模块用 `.js`);静态资源根映射,`/public/xxx` 必 404。 - 零依赖 Node,端口 8900。任务 `POST /api/run`(写宿主 automation,once + `now+5s`)→ 轮询 `/api/run/status`;**创作/改写 prompt 必带 `SKILL_HINT_CREATE` 前缀**。配置单源 `config.json`;`.cjs` 无扩展 require → MODULE_NOT_FOUND(配置模块用 `.js`);静态资源根映射,`/public/xxx` 必 404。
- **AI 通路(09-29 起)**:`ai.backend` = `cli`(本地 CodeBuddy CLI,stdio 无端口)|`dify`(旧链路兜底)。**细节全在 §0 权威文档,改动前必读**。四条硬红线: - **AI 通路(09-29 起)**:`ai.backend` = `cli`(本地 CodeBuddy CLI,stdio 无端口)|`dify`(旧链路兜底)。**细节全在 §0 权威文档,改动前必读**。四条硬红线:
- 🔴 **凭据**:`config.json` 是 git 跟踪文件 → key 只放 `%USERPROFILE%\.workbuddy\mcn-workshop\ai-cli.json`(仓库外,不被技能同步复制)。 - 🔴 **凭据**:`config.json` 是 git 跟踪文件 → key 只放 `%USERPROFILE%\.workbuddy\mcn-workshop\ai-cli.json`(仓库外,不被技能同步复制)。
- 🔴 **写宿主任务表必须带 `workspace_scope='workspace'`** —— 漏了该字段会让会话落进「未分组任务」;改目录名、登记工作区表都无效(两条假因已实测排除)。
- 🔴 **`SERVER__PORT` 必须删** —— CLI(含 `-p` 模式)内部起 HTTP server,继承宿主端口即 `EADDRINUSE` **静默卡死**,且 HTTP 层(health/info/sessions)看起来完全正常。**最容易误判的坑**。 - 🔴 **`SERVER__PORT` 必须删** —— CLI(含 `-p` 模式)内部起 HTTP server,继承宿主端口即 `EADDRINUSE` **静默卡死**,且 HTTP 层(health/info/sessions)看起来完全正常。**最容易误判的坑**。
- 🔴 **两段流程模型来源不同**:`/api/ai/clarify`(需求打磨)走**本地 CLI**(`ai.cli.model`);`/api/run`(提交创作)走**宿主调度器**,模型取 `sessions` 表最近活跃**手动会话**的 `model`(兜底 `auto`)⇒ **改 `ai.cli.model` 不影响创作任务模型**。 - 🔴 **两段流程模型来源不同**:`/api/ai/clarify`(需求打磨)走**本地 CLI**(`ai.cli.model`);`/api/run`(提交创作)走**宿主调度器**,模型取 `sessions` 表最近活跃**手动会话**的 `model`(兜底 `auto`)⇒ **改 `ai.cli.model` 不影响创作任务模型**。
- 🔴 **`custom:` 模型按租户开通**:本机 Key 租户**无 doubao**(500 / `service info not found`);`custom-model-*` 真名从 `%TEMP%\mcn-cli-home\logs\**\*.log` 的 `requestModelId`/`requestModelName` 配对提取(问模型「你是谁」不可靠)。 - 🔴 **`custom:` 模型按租户开通**:本机 Key 租户**无 doubao**(500 / `service info not found`);`custom-model-*` 真名从 `%TEMP%\mcn-cli-home\logs\**\*.log` 的 `requestModelId`/`requestModelName` 配对提取(问模型「你是谁」不可靠)。
+2
View File
@@ -0,0 +1,2 @@
2026-10-08 17:59:01 entry|sid=8a0062cf|core=1605 字符|源=D:\.workbuddy\skills\session-mechanism\references\03-回复排版-核心块.md
2026-10-08 17:59:01 HIT sid=8a0062cf|4172 字节
+1
View File
@@ -0,0 +1 @@
2026-10-08 17:59:01 entry|event=UserPromptSubmit|in_scope=True|sid=8a0062cf|prompt_len=10
+2
View File
@@ -0,0 +1,2 @@
2026-10-08 17:59:01 entry|event=UserPromptSubmit|cwd=d:\AI技能\mcn-short-video|in_scope=True|tp=buddy\projects\d-AI技能-mcn-short-video\8a0062cf-9a29-426c-b676-833cb6b5a939.jsonl|keys=agent_type,client,cwd,generation_id,hook_event_name,model,permission_mode,prompt,session_id,transcript_path,version|stdin_len=418
2026-10-08 17:59:01 invoked(user-prompt)|mode=probe|上轮收尾=征询句:False|上下文=327968 tok(+575)|工具=1382 次|预算告警=True|门禁自检=False|路径自检=False|4、**今天修复前创建的旧会话还在未分组**:改数据库能让它们归位,但要重启 WorkBuddy 才看得到效果,会打断现
@@ -0,0 +1,44 @@
# 会话任务链路 · 待优化项
> 立档:2026-10-08,来源=工作台「调用会话执行任务」链路审计。
> 排序:**待优化在前、已修在后**(新的在前)。⛔ 只写进工作区日志的规矩等于没立,故落在这里。
> 权威口径:工作台提交任务 = 直接写宿主 automations 表(仅两处),见文末红线。
## 1、任务用哪个模型是浮动的(未做)
- 现状:`model_id` 取 sessions 表里最近活跃的**手动**会话的 model,与配置里的 AI 模型**无关**。
- 影响:同一个任务这次和下次可能跑在不同模型上,产出质量不稳定;你在界面里换模型会连带影响所有后台任务。
- 建议:新增一个「任务模型」配置项,留空=跟随现状,填了=固定值。改的时候两处写入都要改,别只改一处。
## 2、进度面板没有跳转入口(未做)
- 现状:右下角面板能看到状态、已运行时长、工具调用、最近动作,但想看完整过程还得自己去侧边栏找会话。
- 建议:面板加一个「打开会话」按钮。前提是能拿到会话标识(状态接口已返回),跳转动作为止未验证过。
## 3、任务权限恒为完全权限(未做)
- 现状:所有任务都按完全权限创建,能写文件、能执行命令。跑本地脚本类任务没问题。
- 影响:任务提示词若被写错,执行范围不受限。
- 建议:看你跑的任务类型再定要不要收窄,⚠️ 收窄后依赖写文件的任务会失败。
## 4、修复前创建的旧会话仍落在未分组(未做)
- 现状:本次修复之前创建的会话,分组标记已经是"自动生成的空间",不会自动回到工作区分组。
- 影响:只影响历史会话,新会话已正常。
- 建议:改数据库可让它们归位,⚠️ 但需重启 WorkBuddy 才生效,会打断进行中的对话。
---
## 🔴 红线(已修,⛔ 勿回退)
- **凡直接写宿主 automations 表,必须带 `workspace_scope='workspace'`**。
漏了这个字段 ⇒ 会话被判成"自动生成的空间" ⇒ 一律落进「未分组任务」,改工作目录、登记工作区表都救不回来(两条假因已实测排除)。
- 两处写入点:通用任务接口、榜单更新任务。新增任何提交入口都要照抄。
## 已修(历史)
- 10-08 · 补齐 workspace_scope:根因是工作台自己写库时漏字段,走正规工具创建的任务都带该值(对比 36 条 vs 5 条)。
- 10-08 · 四处轮询容错统一:服务被回收时,原本只有榜单那一处会提示,其余三处静默空转 15~35 分钟才超时。
- 10-08 · 任务进度可见:状态接口产出已运行时长/工具调用/最近动作/停滞判定,右下角常驻面板,四处任务入口接入。
- 10-08 · 会话归属目录配置化:新增配置项,留空=工作台自身目录。
- 10-08 · 工作台目录改名(旧名带连字符 → 新名不带),全仓字符串同步。