Skip to content

feat(composer): insert slash command/skill at any time - #7910

Open
bfxh wants to merge 2 commits into
esengine:main-v2from
bfxh:feat/frontend-slash
Open

feat(composer): insert slash command/skill at any time#7910
bfxh wants to merge 2 commits into
esengine:main-v2from
bfxh:feat/frontend-slash

Conversation

@bfxh

@bfxh bfxh commented Aug 7, 2026

Copy link
Copy Markdown

Summary

前端 Composer 增强:任意时刻可插入斜杠命令 / Skill(不再局限于空输入时)。

  • +(内容菜单)的 "Use command or Skill" 项去掉了 disabled={text.trim().length > 0} 限制——非空输入时点击会在光标处插入 / 并弹出 slash 菜单(Skill/子代理为结构化调用,可在消息中间插入)
  • actions/management 类命令(如 /clear)在非空时保持灰显(语义正确:它们需要整条消息)
  • 更新 en/zh/zh-TW 三语言文案("Available when the input is empty" → "Insert a slash command or Skill at the cursor")

Verification

  • composer 菜单相关测试 9/9 PASS、内容菜单测试 15/15 PASS(tsx)
  • tsc --noEmit 零错误(仅环境缺失的 @XTerm 既有错误,与本次无关)

Notes

CI Declarations

Documentation-impact: none - 纯前端交互改动(斜杠命令/Skill 可用性),产品文档无需更新

…only when input is empty

The + (content) menu's 'Use command or Skill' item was disabled whenever the
composer had text, with the message 'Available when the input is empty'.
Commands that replace the whole message (/clear, /model, ...) still only make
sense at message start (the existing slashCommandAtStart gating keeps them
disabled inline), but skill/subagent invocations are structured inserts that
are valid anywhere — so the trigger should never be disabled.

- Composer.tsx: drop the empty-input-only disabled/title on the '/' item;
  inline insertion opens the existing slash menu at the cursor (skills and
  subagents selectable anywhere, action commands stay greyed out inline)
- locales en/zh/zh-TW: contentUseCommandsEmptyOnly -> contentUseCommandsInline
  ('Insert a command or skill at the cursor - available anytime')

Verified: tsc --noEmit clean for Composer.tsx + locales (only pre-existing
@XTerm module-resolution errors remain, unrelated); composer-menu-viewport
9/9 and composer-context-menu-clipboard 15/15 pass.
@bfxh
bfxh requested review from SivanCola and esengine as code owners August 7, 2026 21:06
@github-actions github-actions Bot added desktop Wails desktop app (desktop/**) v2 Go rewrite (1.x) — main-v2 branch, active development labels Aug 7, 2026
bfxh pushed a commit to bfxh/DeepSeek-Reasonix that referenced this pull request Aug 8, 2026
…OSWorld core

esengine#7791 boundary cleanup (step 3): remove the two cleanly-separable domains
(cosplay: 15 files — decided to drop; desktop/frontend: 5 PR esengine#7910 files).
boot/agent already decoupled from cosplay via cosplayhook (5675a52), so the
stripped branch compiles; golden re-recorded, code_verify removed from the
boot contract, eventwire skips when frontend is absent. flywheel/modeling/
steer stay as agent infrastructure (same code as esengine#7911/esengine#7967/esengine#7912, PR value
is separate review not physical separation).
bfxh pushed a commit to bfxh/DeepSeek-Reasonix that referenced this pull request Aug 8, 2026
…OSWorld core

Merged latest upstream (a720a3a) + main dev line, then removed the two
cleanly-separable domains: cosplay (15 files, decided to drop) and
desktop/frontend (5 PR esengine#7910 files). boot/agent already decoupled from
cosplay via cosplayhook, so the stripped tree compiles; golden re-recorded,
code_verify removed from the boot contract, eventwire skips when frontend is
absent. flywheel/modeling/steer remain as agent infrastructure (same code as
esengine#7911/esengine#7967/esengine#7912 — separate review, not physical separation).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

desktop Wails desktop app (desktop/**) v2 Go rewrite (1.x) — main-v2 branch, active development

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant