pi-web-ui 0.71.0 → 0.73.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +57 -1
- package/README.md +17 -9
- package/README.zh-CN.md +22 -11
- package/dist/server/agent-service.js +526 -71
- package/dist/server/client-state.js +56 -0
- package/dist/server/dsh/dsh-agent-service.js +99 -3
- package/dist/server/index.js +11 -1
- package/dist/server/model-admin.js +135 -23
- package/dist/server/patch-remote-catalog.js +59 -0
- package/dist/server/protocol-version.js +1 -1
- package/dist/server/subagents.js +51 -4
- package/package.json +4 -1
- package/themes/cyberpunk.css +1 -1
- package/themes/dazzle.css +1 -1
- package/themes/md-preview.css +1 -1
- package/themes/translucent.css +2 -2
- package/themes/white.css +1 -1
- package/web/dist/assets/{TerminalPanel-DXNpevIG.js → TerminalPanel-Bz-58xBx.js} +1 -1
- package/web/dist/assets/index-DB1SxjbK.js +335 -0
- package/web/dist/assets/index-Dqbw78CU.css +10 -0
- package/web/dist/index.html +2 -2
- package/web/dist/assets/index-4ge_ioPK.css +0 -10
- package/web/dist/assets/index-Cue012aF.js +0 -335
package/themes/dazzle.css
CHANGED
|
@@ -93,5 +93,5 @@
|
|
|
93
93
|
--chip-bg: color-mix(in srgb, var(--bg-elev2) var(--wallpaper-panel-alpha, 62%), transparent);
|
|
94
94
|
--msgs-bg: color-mix(in srgb, var(--bg-elev) var(--wallpaper-panel-alpha, 62%), transparent);
|
|
95
95
|
--inputbox-bg: color-mix(in srgb, var(--bg-elev2) var(--wallpaper-panel-alpha, 62%), transparent);
|
|
96
|
-
--menu-bg: var(--
|
|
96
|
+
--menu-bg: var(--bg-elev2);
|
|
97
97
|
}
|
package/themes/md-preview.css
CHANGED
|
@@ -93,7 +93,7 @@
|
|
|
93
93
|
--chip-bg: color-mix(in srgb, var(--bg-elev2) var(--wallpaper-panel-alpha, 62%), transparent);
|
|
94
94
|
--msgs-bg: color-mix(in srgb, var(--bg-elev) var(--wallpaper-panel-alpha, 62%), transparent);
|
|
95
95
|
--inputbox-bg: color-mix(in srgb, var(--bg-elev2) var(--wallpaper-panel-alpha, 62%), transparent);
|
|
96
|
-
--menu-bg: var(--
|
|
96
|
+
--menu-bg: var(--bg-elev2);
|
|
97
97
|
}
|
|
98
98
|
|
|
99
99
|
/* ---- ambient gradient(镜像 .fp-markdown 预览底色,覆盖整个窗口)---- */
|
package/themes/translucent.css
CHANGED
|
@@ -66,8 +66,8 @@
|
|
|
66
66
|
/* ---- 壁纸适配:三大区域(顶栏/底栏/左右面板)背景链式引用此变量,
|
|
67
67
|
从默认 62% 降到 45% → 容器色更薄、图更透(45% 容器色 + 55% 透图)---- */
|
|
68
68
|
--wallpaper-panel-alpha: 45%;
|
|
69
|
-
/*
|
|
70
|
-
|
|
69
|
+
/* 下拉弹窗(声音/语言/主题/模型/思考强度/版本更新):实色底保密集列表可读
|
|
70
|
+
(与 styles.css 默认一致,这里显式锁定,防止跟随壁纸半透)。 */
|
|
71
71
|
--menu-bg: var(--bg-elev2);
|
|
72
72
|
/* 压暗略放轻(默认 0.78):让图更鲜活,文字靠压暗与半透明底板仍可读 */
|
|
73
73
|
--bg-image-dim: 0.72;
|
package/themes/white.css
CHANGED
|
@@ -93,7 +93,7 @@
|
|
|
93
93
|
--chip-bg: color-mix(in srgb, var(--bg-elev2) var(--wallpaper-panel-alpha, 62%), transparent);
|
|
94
94
|
--msgs-bg: color-mix(in srgb, var(--bg-elev) var(--wallpaper-panel-alpha, 62%), transparent);
|
|
95
95
|
--inputbox-bg: color-mix(in srgb, var(--bg-elev2) var(--wallpaper-panel-alpha, 62%), transparent);
|
|
96
|
-
--menu-bg: var(--
|
|
96
|
+
--menu-bg: var(--bg-elev2);
|
|
97
97
|
}
|
|
98
98
|
|
|
99
99
|
/* ---- syntax highlighting (overrides static github-dark import) ---- */
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as l,j as n}from"./markdown-Cpo0pNcR.js";import{u as P,b as O,T as M,a as W,F as Y,c as z,d as Z,e as H,f as ee,g as ne,h as te,i as se,r as ae}from"./index-
|
|
1
|
+
import{a as l,j as n}from"./markdown-Cpo0pNcR.js";import{u as P,b as O,T as M,a as W,F as Y,c as z,d as Z,e as H,f as ee,g as ne,h as te,i as se,r as ae}from"./index-DB1SxjbK.js";import{D as re,o as ie}from"./xterm-B96xOxS9.js";import"./react-CtudoG1_.js";function le(t){let c=null;return{clean:t.replace(/\r?\n?\[pi-term-exit:(-?\d+)\]\r?\n?/g,(a,x)=>(c=Number(x),`\r
|
|
2
2
|
`)).replace(/\r?\n?\x1b\[90m\[(?:进程已退出,退出码 |Process exited with code )-?\d+\]\x1b\[0m\r?\n?/g,`\r
|
|
3
3
|
`),exitCode:c}}function ce({conversationId:t,terminalId:c,command:p,cwd:a,title:x,active:u,running:v,exitCode:j,send:h,register:C}){const T=l.useRef(null),y=l.useRef(null),{locale:o}=P(),N=l.useRef(o);N.current=o;const E=p?JSON.stringify(p):"";l.useEffect(()=>{const m=T.current;if(!m)return;const r=new re({theme:O(),fontFamily:'"SF Mono", "JetBrains Mono", ui-monospace, Menlo, Consolas, monospace',fontSize:13,cursorBlink:!0,scrollback:8e3}),b=new ie;r.loadAddon(b),r.open(m),y.current={term:r,fit:b},u&&r.focus();const g=()=>{r.options.theme=O()};window.addEventListener(M,g),r.attachCustomKeyEventHandler(d=>{if(d.type!=="keydown")return!0;const S=d.key?.toLowerCase();if((d.ctrlKey||d.metaKey)&&S==="v")return!1;if(d.ctrlKey&&!d.shiftKey&&!d.altKey&&S==="c"&&r.hasSelection()){const D=r.textarea;return D&&(D.value=r.getSelection(),D.select()),!1}return!0});const _=C(t,c,{write:d=>r.write(le(d).clean),dispose:()=>r.dispose()}),$=()=>{try{b.fit(),h({type:"terminal_resize",terminalId:c,conversationId:t,cols:r.cols,rows:r.rows})}catch{}},B=requestAnimationFrame(()=>{try{b.fit()}catch{}h(p?{type:"run_command",terminalId:c,conversationId:t,command:p,cols:r.cols,rows:r.rows}:{type:"terminal_create",terminalId:c,title:x,locale:N.current,conversationId:t,cwd:a,cols:r.cols,rows:r.rows})}),R=r.onData(d=>{h({type:"terminal_input",terminalId:c,conversationId:t,data:d})});let k=null;return typeof ResizeObserver<"u"&&(k=new ResizeObserver(()=>{m.offsetWidth>0&&m.offsetHeight>0&&$()}),k.observe(m)),()=>{cancelAnimationFrame(B),R.dispose(),window.removeEventListener(M,g),k?.disconnect(),_(),r.dispose(),y.current=null}},[t,c,E,h,C]),l.useEffect(()=>{if(!u)return;const m=requestAnimationFrame(()=>{const r=y.current;if(r){try{r.fit.fit(),h({type:"terminal_resize",terminalId:c,conversationId:t,cols:r.term.cols,rows:r.term.rows})}catch{}r.term.focus()}});return()=>cancelAnimationFrame(m)},[u]);const{t:F}=P(),f=l.useRef(void 0);return l.useEffect(()=>{if(v===f.current||(f.current=v,v!==!1))return;const m=y.current;m&&m.term.write(`\r
|
|
4
4
|
\x1B[90m${F("exitBanner",{code:j??""})}\x1B[0m\r
|