Skip to content

feat: add embedded terminal panel - #309

Merged
XingYu-Zhong merged 3 commits into
KunAgent:developfrom
musnows:codex/terminal-panel-tabs-rebased
Jun 15, 2026
Merged

feat: add embedded terminal panel#309
XingYu-Zhong merged 3 commits into
KunAgent:developfrom
musnows:codex/terminal-panel-tabs-rebased

Conversation

@musnows

@musnows musnows commented Jun 15, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Rebase the embedded terminal work from the closed PR feat: add embedded terminal panel #282 onto the latest upstream develop.
  • Add a bottom terminal panel with persistent PTY sessions, xterm rendering, and multi-tab support.
  • Add right-click tab actions for renaming, closing other tabs, and closing all tabs.
  • Wire terminal IPC through main/preload/shared contracts with payload validation and lazy node-pty loading.
  • Keep terminal packaging support for node-pty assets and helper executable permissions.

Context

PR #282 was closed because it conflicted with multiple parallel PRs touching Workbench layout, IPC, package lock, and locale files. This branch starts from current upstream/develop (a393b2d) and reapplies the terminal changes on top of the now-merged develop baseline.

Validation

  • npm install
  • npm run typecheck
  • npm run build

Refs: #282, #258

musnows and others added 3 commits June 15, 2026 08:28
node-pty ships no Linux prebuild, so the Linux release job must compile
it from source against Electron's ABI. Add build-essential + python3 to
the Linux packaging deps so `npm ci` / electron-builder rebuild succeed;
without them the Linux AppImage step fails, which fails the whole release
(publish verifies all platform artifacts).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@XingYu-Zhong
XingYu-Zhong merged commit 3609ace into KunAgent:develop Jun 15, 2026
XingYu-Zhong added a commit that referenced this pull request Jun 16, 2026
* fix(chat): improve agent code block contrast

* fix(chat): isolate model selection per thread

* feat:add big change

* feat(write): add document character count in write toolbar (#305)

* feat(write): add document character count in write toolbar

Fixes #224

-- Commit By Codex --

* fix(write): compact changed-files card in assistant sidebar

- make write assistant use compact timeline cards
- reduce changed-files diff preview height and spacing

Fixes #224

-- Commit By Codex --

* perf(write): memoize document character count

Wrap computeWriteDocumentStats in useMemo so the markdown parse only
re-runs when the document content (or text/markdown flags) changes,
not on every unrelated re-render — cursor/selection moves, save-status
updates, preview-mode toggles, scroll-sync state, etc.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: XingYu-Zhong <1736101137@qq.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* feat: add embedded terminal panel (#309)

* feat: add embedded terminal panel

* feat:支持skill软链接

* ci(release): install build toolchain for node-pty Linux build

node-pty ships no Linux prebuild, so the Linux release job must compile
it from source against Electron's ABI. Add build-essential + python3 to
the Linux packaging deps so `npm ci` / electron-builder rebuild succeed;
without them the Linux AppImage step fails, which fails the whole release
(publish verifies all platform artifacts).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: XingYu-Zhong <1736101137@qq.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* feat(skill-root): add skill root options and update related components

* fix provider cache telemetry (#318)

* show latest cache rate in usage tooltips (#325)

---------

Co-authored-by: musnows <ezplayingd@126.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-authored-by: luoyeスキ <100058663+luoye520ww@users.noreply.github.com>
XingYu-Zhong added a commit that referenced this pull request Jun 16, 2026
* fix(chat): improve agent code block contrast

* fix(chat): isolate model selection per thread

* feat:add big change

* feat(write): add document character count in write toolbar (#305)

* feat(write): add document character count in write toolbar

Fixes #224

-- Commit By Codex --

* fix(write): compact changed-files card in assistant sidebar

- make write assistant use compact timeline cards
- reduce changed-files diff preview height and spacing

Fixes #224

-- Commit By Codex --

* perf(write): memoize document character count

Wrap computeWriteDocumentStats in useMemo so the markdown parse only
re-runs when the document content (or text/markdown flags) changes,
not on every unrelated re-render — cursor/selection moves, save-status
updates, preview-mode toggles, scroll-sync state, etc.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: XingYu-Zhong <1736101137@qq.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* feat: add embedded terminal panel (#309)

* feat: add embedded terminal panel

* feat:支持skill软链接

* ci(release): install build toolchain for node-pty Linux build

node-pty ships no Linux prebuild, so the Linux release job must compile
it from source against Electron's ABI. Add build-essential + python3 to
the Linux packaging deps so `npm ci` / electron-builder rebuild succeed;
without them the Linux AppImage step fails, which fails the whole release
(publish verifies all platform artifacts).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: XingYu-Zhong <1736101137@qq.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* feat(skill-root): add skill root options and update related components

* fix provider cache telemetry (#318)

* show latest cache rate in usage tooltips (#325)

* feat: add @floating-ui/dom dependency

---------

Co-authored-by: musnows <ezplayingd@126.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-authored-by: luoyeスキ <100058663+luoye520ww@users.noreply.github.com>
XingYu-Zhong added a commit that referenced this pull request Jun 17, 2026
* fix(chat): improve agent code block contrast

* fix(chat): isolate model selection per thread

* feat:add big change

* feat(write): add document character count in write toolbar (#305)

* feat(write): add document character count in write toolbar

Fixes #224

-- Commit By Codex --

* fix(write): compact changed-files card in assistant sidebar

- make write assistant use compact timeline cards
- reduce changed-files diff preview height and spacing

Fixes #224

-- Commit By Codex --

* perf(write): memoize document character count

Wrap computeWriteDocumentStats in useMemo so the markdown parse only
re-runs when the document content (or text/markdown flags) changes,
not on every unrelated re-render — cursor/selection moves, save-status
updates, preview-mode toggles, scroll-sync state, etc.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: XingYu-Zhong <1736101137@qq.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* feat: add embedded terminal panel (#309)

* feat: add embedded terminal panel

* feat:支持skill软链接

* ci(release): install build toolchain for node-pty Linux build

node-pty ships no Linux prebuild, so the Linux release job must compile
it from source against Electron's ABI. Add build-essential + python3 to
the Linux packaging deps so `npm ci` / electron-builder rebuild succeed;
without them the Linux AppImage step fails, which fails the whole release
(publish verifies all platform artifacts).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: XingYu-Zhong <1736101137@qq.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* feat(skill-root): add skill root options and update related components

* fix provider cache telemetry (#318)

* show latest cache rate in usage tooltips (#325)

* feat: add @floating-ui/dom dependency

* feat: enhance file and directory mention handling in composer

* feat: implement background reconnection for MCP servers and enhance file mention handling

* feat(sdd): wire PM-skill frameworks into the new-requirement workflow

Adds a pm-skill-frameworks registry distilled from the pm-skills
marketplace and plugs it into the SDD 新建需求 flow:
- discover/structure/risk frameworks render as grouped Requirement AI
  buttons (replacing the 3 hardcoded clarify/research/structure ones)
- plan prompt injects pre-mortem + prioritization guidance; verify
  prompt injects intended-vs-implemented + test-scenarios
- assistant prompt applies a clicked framework via a send-time gate
  (the injected prompt must still be in the composer), so editing it
  away / clearing / switching drafts drops it without leaking guidance
- zh/en i18n keys with a registry + parity test

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* feat(window): add close behavior prompt (#354)

* feat(settings): move archived chats into settings (#353)

* feat(plugins): add mainstream mcp recommendations (#351)

* fix(tools): add read path recovery guidance (#348)

* fix(renderer): show visible route fallback (#347)

* fix(shortcuts): accept common zoom-in key variants (#343)

* fix(claw): limit phone agent model choices (#344)

* fix(main): harden audited edge cases (#346)

* fix(FloatingComposer): conditionally render usage cache based on thread usage

---------

Co-authored-by: musnows <ezplayingd@126.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-authored-by: luoyeスキ <100058663+luoye520ww@users.noreply.github.com>
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.

2 participants