Skip to content

docs(console): add workflow variable autocomplete prototype - #3706

Open
AbigailDeng wants to merge 3 commits into
devfrom
feat/2026-10-19_workflow-output-picker
Open

AbigailDeng wants to merge 3 commits into
devfrom
feat/2026-10-19_workflow-output-picker

Conversation

@AbigailDeng

Copy link
Copy Markdown
Contributor

问题与结果

填写 workflow 参数时,用户需要记住 ${steps...} 的写法,也看不到当前有哪些上游节点和输出字段可用。本 PR 提供一个可直接在本地体验的独立交互原型:输入 ${steps 后,在当前输入框下面选择上游节点,再选择完整输出或已知字段,自动补全引用。

这是设计评审用原型,正式 workflow 编辑器尚未接入。本页使用明确标注的示例数据;“应用到示例”仅修改页面内存,刷新后重置,不保存或执行真实 workflow。

交互与范围

  • 不再提供单独的“插入上游输出”区域或搜索弹窗;单行参数和 AI 多行指令都在输入框下联想,并提供简短使用提示。
  • 候选从当前示例 workflow 的上游关系生成;只列出存在的来源。静态 Assign JSON object 可列出顶层字段;未知 AI/tool 输出只列完整 .output,不猜测字段。
  • 选中前重新检查来源及字段;来源删除、改名、字段移除、连线变化会更新候选及引用检查。未完成或失效引用不能应用,输入途中使用中性状态。
  • 支持鼠标、方向键、Enter/Tab、Esc、撤销;只替换当前引用,保留周围文字、换行和右侧 literal JSON。范围不明确的旧引用暂停补全。
  • 包含普通输出、静态 JSON、分支汇合和有环示例,供体验恢复与边界状态。

仅新增两个文件:

  • apps/aevatar-console-web/docs/prototypes/2026-10-19-workflow-output-picker/index.html
  • apps/aevatar-console-web/docs/superpowers/specs/2026-10-19-workflow-output-picker-design.md

不修改产品路由、后端、API、认证、依赖或运行数据。正式接入仍需复用现有 workflow document 图逻辑,并覆盖生产编辑器中的各类参数与变量作用域。中文输入法组合确认仍待人工体验。

本地体验

本机服务已运行在 http://127.0.0.1:58147/。其他 checkout 可从本分支仓库根目录启动:

python3 -m http.server 58147 --bind 127.0.0.1 \
  --directory apps/aevatar-console-web/docs/prototypes/2026-10-19-workflow-output-picker

关联 worktree 启动前先执行本机环境同步规则。该静态页面无需 pnpm、后端或登录,不涉及 OAuth。若端口已被此原型占用可直接复用;否则使用空闲端口并一致打开该端口。

  1. 在 document_id 输入框输入 ${steps,选择 prepare_document,再选 document_id,确认补成 ${steps.prepare_document.json.document_id}。
  2. 点击 AI 节点,在多行指令中间引用前面节点;体验键盘选择、Esc 与撤销,确认前后文字和换行保留。
  3. 使用上方按钮移除字段、删除来源、改名或改连线,确认失效内容不能再选或应用。切换示例观察分支与有环状态。

完整说明见设计与本地体验文档。

验证

  • node --check <从 HTML 提取的临时脚本.js>:通过。
  • bash tools/docs/lint.sh:通过,94 files,0 errors。
  • git diff --check 与 git diff --cached --check:通过;两个新增文件的 UTF-8、末尾换行与行尾空白检查通过。
  • 在前端目录复用主 checkout 已安装的 Biome:/Users/xiezixin/Documents/work/aevatar/apps/aevatar-console-web/node_modules/.bin/biome lint --no-errors-on-unmatched --reporter=summary docs/prototypes/2026-10-19-workflow-output-picker/index.html docs/superpowers/specs/2026-10-19-workflow-output-picker-design.md:exit 0,0 errors;保留 5 条 noImportantStyles warnings 与 31 条 useTemplate infos。worktree 本身未安装 Biome,未为原型安装依赖。
  • 独立原型浏览器实际操作:节点/字段补全、Apply 状态、键盘和撤销、来源变化、转义、错误路径替换、右侧文字/JSON 保留。最新补全范围修复已再次操作确认;未捕获浏览器 warn/error。
  • 已检查 1440×900、1024×768、834×1112、390×844、360×844,无页面水平溢出。
  • 独立增量代码复核通过,无未解决阻断项。

未修改生产 TypeScript、构建或依赖,因此未运行产品 tsc/build,未新增或运行产品单元测试;完整前端/仓库测试套件、集成、E2E 和 smoke 套件均未运行。原型体验不构成真实 API、保存或执行验证。

Documentation

设计说明新增本地启动命令与体验步骤,区分原型覆盖和正式接入目标,并记录已验证行为、引用替换限制与尚未验证的中文输入法行为。根项目文档无需宣称产品功能已经上线。

Design baseline declaration

  • Baseline: apps/aevatar-console-web/docs/design-baselines/workflow-activity-vnext/
  • Primary: aevatar-workflow-activity-vnext.excalidraw
  • SHA-256: 30e74d7b410ae72c4c91432355436679033679c54c10b1702908435b001577de (verified)
  • Inventory: 17 frames unchanged; no baseline artwork changed.
  • Contract: apps/aevatar-console-web/docs/superpowers/specs/2026-08-04-workflow-activity-vnext-design.md
  • User paths: apps/aevatar-console-web/docs/superpowers/specs/2026-08-04-workflow-activity-vnext-user-paths.md
  • Production data: real APIs and API-acknowledged actions only; fixtures are isolated to this labeled docs prototype.
  • Existing authentication, callback, session, returnTo and Umi localization behavior remain unchanged.

@codecov

codecov Bot commented Oct 21, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 83.42%. Comparing base (481eb04) to head (293b89a).

@@            Coverage Diff             @@
##              dev    #3706      +/-   ##
==========================================
- Coverage   83.43%   83.42%   -0.02%     
==========================================
  Files        1685     1685              
  Lines      193217   193217              
  Branches    23239    23239              
==========================================
- Hits       161218   161196      -22     
- Misses      21188    21205      +17     
- Partials    10811    10816       +5     
Flag Coverage Δ
ci 83.42% <ø> (-0.02%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.
see 8 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant