@baique/pi-web-sky 0.1.10 → 0.1.12

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.
Files changed (208) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +11 -8
  3. package/.next/build-manifest.json +3 -3
  4. package/.next/react-loadable-manifest.json +8 -0
  5. package/.next/required-server-files.js +3 -2
  6. package/.next/required-server-files.json +3 -2
  7. package/.next/routes-manifest.json +22 -0
  8. package/.next/server/app/_global-error/page.js +2 -2
  9. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  10. package/.next/server/app/_global-error.html +1 -1
  11. package/.next/server/app/_global-error.rsc +1 -1
  12. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  13. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  14. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  15. package/.next/server/app/_not-found/page.js +1 -1
  16. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  17. package/.next/server/app/_not-found.html +1 -1
  18. package/.next/server/app/_not-found.rsc +3 -3
  19. package/.next/server/app/_not-found.segments/_full.segment.rsc +3 -3
  20. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +3 -3
  21. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  22. package/.next/server/app/api/agent/[id]/bash-output/route.js +1 -1
  23. package/.next/server/app/api/agent/[id]/events/route.js +1 -1
  24. package/.next/server/app/api/agent/[id]/route.js +1 -1
  25. package/.next/server/app/api/agent/new/route.js +1 -1
  26. package/.next/server/app/api/agent/running/events/route.js +1 -1
  27. package/.next/server/app/api/agent/running/route.js +1 -1
  28. package/.next/server/app/api/app-update/route.js +1 -1
  29. package/.next/server/app/api/auth/all-providers/route.js +1 -1
  30. package/.next/server/app/api/auth/api-key/[provider]/route.js +1 -1
  31. package/.next/server/app/api/auth/login/[provider]/route.js +2 -2
  32. package/.next/server/app/api/auth/logout/[provider]/route.js +1 -1
  33. package/.next/server/app/api/auth/providers/route.js +1 -1
  34. package/.next/server/app/api/cwd/browse/route.js +1 -1
  35. package/.next/server/app/api/cwd/validate/route.js +1 -1
  36. package/.next/server/app/api/default-cwd/route.js +1 -1
  37. package/.next/server/app/api/file-index/route.js +1 -1
  38. package/.next/server/app/api/files/[...path]/route.js +1 -1
  39. package/.next/server/app/api/git/diff/route.js +1 -1
  40. package/.next/server/app/api/git/status/route.js +1 -1
  41. package/.next/server/app/api/home/route.js +1 -1
  42. package/.next/server/app/api/models/route.js +1 -1
  43. package/.next/server/app/api/models-config/catalog/route.js +1 -1
  44. package/.next/server/app/api/models-config/discover/route.js +1 -1
  45. package/.next/server/app/api/models-config/route.js +1 -1
  46. package/.next/server/app/api/models-config/test/route.js +1 -1
  47. package/.next/server/app/api/plugins/route.js +1 -1
  48. package/.next/server/app/api/project-trust/route.js +1 -1
  49. package/.next/server/app/api/sessions/[id]/auto-name/route.js +2 -2
  50. package/.next/server/app/api/sessions/[id]/context/route.js +1 -1
  51. package/.next/server/app/api/sessions/[id]/entries/[entryId]/thinking/route.js +1 -1
  52. package/.next/server/app/api/sessions/[id]/export/route.js +2 -2
  53. package/.next/server/app/api/sessions/[id]/route.js +1 -1
  54. package/.next/server/app/api/sessions/[id]/state/route.js +1 -1
  55. package/.next/server/app/api/sessions/[id]/todos/route.js +1 -1
  56. package/.next/server/app/api/sessions/route.js +1 -1
  57. package/.next/server/app/api/skills/check/route.js +1 -1
  58. package/.next/server/app/api/skills/install/route.js +1 -1
  59. package/.next/server/app/api/skills/route.js +2 -2
  60. package/.next/server/app/api/skills/search/route.js +1 -1
  61. package/.next/server/app/api/skills/update/route.js +1 -1
  62. package/.next/server/app/api/terminal/[id]/events/route.js +6 -0
  63. package/.next/server/app/api/terminal/[id]/events/route.js.nft.json +1 -0
  64. package/.next/server/app/api/terminal/[id]/events/route_client-reference-manifest.js +1 -0
  65. package/.next/server/app/api/terminal/[id]/route.js +3 -0
  66. package/.next/server/app/api/terminal/[id]/route.js.nft.json +1 -0
  67. package/.next/server/app/api/terminal/[id]/route_client-reference-manifest.js +1 -0
  68. package/.next/server/app/api/terminal/route.js +3 -0
  69. package/.next/server/app/api/terminal/route.js.nft.json +1 -0
  70. package/.next/server/app/api/terminal/route_client-reference-manifest.js +1 -0
  71. package/.next/server/app/api/worktrees/route.js +1 -1
  72. package/.next/server/app/favicon.ico/route.js +1 -1
  73. package/.next/server/app/index.html +1 -1
  74. package/.next/server/app/index.rsc +5 -5
  75. package/.next/server/app/index.segments/__PAGE__.segment.rsc +5 -5
  76. package/.next/server/app/index.segments/_full.segment.rsc +5 -5
  77. package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  78. package/.next/server/app/manifest.webmanifest/route.js +2 -2
  79. package/.next/server/app/page.js +8 -8
  80. package/.next/server/app/page_client-reference-manifest.js +1 -1
  81. package/.next/server/app-paths-manifest.json +11 -8
  82. package/.next/server/middleware-build-manifest.js +1 -1
  83. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  84. package/.next/server/pages/404.html +1 -1
  85. package/.next/server/pages/500.html +1 -1
  86. package/.next/static/FVAO0Wwe6mW5DaBqiTuS0/_buildManifest.js +1 -0
  87. package/.next/static/chunks/1074-6cfca65ac411b2b8.js +7 -0
  88. package/.next/static/chunks/3266.6d3cd40ecc314442.js +1 -0
  89. package/.next/static/chunks/app/_global-error/page-76cf4b5393676543.js +1 -0
  90. package/.next/static/chunks/app/api/agent/[id]/bash-output/route-76cf4b5393676543.js +1 -0
  91. package/.next/static/chunks/app/api/agent/[id]/events/route-76cf4b5393676543.js +1 -0
  92. package/.next/static/chunks/app/api/agent/[id]/route-76cf4b5393676543.js +1 -0
  93. package/.next/static/chunks/app/api/agent/new/route-76cf4b5393676543.js +1 -0
  94. package/.next/static/chunks/app/api/agent/running/events/route-76cf4b5393676543.js +1 -0
  95. package/.next/static/chunks/app/api/agent/running/route-76cf4b5393676543.js +1 -0
  96. package/.next/static/chunks/app/api/app-update/route-76cf4b5393676543.js +1 -0
  97. package/.next/static/chunks/app/api/auth/all-providers/route-76cf4b5393676543.js +1 -0
  98. package/.next/static/chunks/app/api/auth/api-key/[provider]/route-76cf4b5393676543.js +1 -0
  99. package/.next/static/chunks/app/api/auth/login/[provider]/route-76cf4b5393676543.js +1 -0
  100. package/.next/static/chunks/app/api/auth/logout/[provider]/route-76cf4b5393676543.js +1 -0
  101. package/.next/static/chunks/app/api/auth/providers/route-76cf4b5393676543.js +1 -0
  102. package/.next/static/chunks/app/api/cwd/browse/route-76cf4b5393676543.js +1 -0
  103. package/.next/static/chunks/app/api/cwd/validate/route-76cf4b5393676543.js +1 -0
  104. package/.next/static/chunks/app/api/default-cwd/route-76cf4b5393676543.js +1 -0
  105. package/.next/static/chunks/app/api/file-index/route-76cf4b5393676543.js +1 -0
  106. package/.next/static/chunks/app/api/files/[...path]/route-76cf4b5393676543.js +1 -0
  107. package/.next/static/chunks/app/api/git/diff/route-76cf4b5393676543.js +1 -0
  108. package/.next/static/chunks/app/api/git/status/route-76cf4b5393676543.js +1 -0
  109. package/.next/static/chunks/app/api/home/route-76cf4b5393676543.js +1 -0
  110. package/.next/static/chunks/app/api/models/route-76cf4b5393676543.js +1 -0
  111. package/.next/static/chunks/app/api/models-config/catalog/route-76cf4b5393676543.js +1 -0
  112. package/.next/static/chunks/app/api/models-config/discover/route-76cf4b5393676543.js +1 -0
  113. package/.next/static/chunks/app/api/models-config/route-76cf4b5393676543.js +1 -0
  114. package/.next/static/chunks/app/api/models-config/test/route-76cf4b5393676543.js +1 -0
  115. package/.next/static/chunks/app/api/plugins/route-76cf4b5393676543.js +1 -0
  116. package/.next/static/chunks/app/api/project-trust/route-76cf4b5393676543.js +1 -0
  117. package/.next/static/chunks/app/api/sessions/[id]/auto-name/route-76cf4b5393676543.js +1 -0
  118. package/.next/static/chunks/app/api/sessions/[id]/context/route-76cf4b5393676543.js +1 -0
  119. package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/thinking/route-76cf4b5393676543.js +1 -0
  120. package/.next/static/chunks/app/api/sessions/[id]/export/route-76cf4b5393676543.js +1 -0
  121. package/.next/static/chunks/app/api/sessions/[id]/route-76cf4b5393676543.js +1 -0
  122. package/.next/static/chunks/app/api/sessions/[id]/state/route-76cf4b5393676543.js +1 -0
  123. package/.next/static/chunks/app/api/sessions/[id]/todos/route-76cf4b5393676543.js +1 -0
  124. package/.next/static/chunks/app/api/sessions/route-76cf4b5393676543.js +1 -0
  125. package/.next/static/chunks/app/api/skills/check/route-76cf4b5393676543.js +1 -0
  126. package/.next/static/chunks/app/api/skills/install/route-76cf4b5393676543.js +1 -0
  127. package/.next/static/chunks/app/api/skills/route-76cf4b5393676543.js +1 -0
  128. package/.next/static/chunks/app/api/skills/search/route-76cf4b5393676543.js +1 -0
  129. package/.next/static/chunks/app/api/skills/update/route-76cf4b5393676543.js +1 -0
  130. package/.next/static/chunks/app/api/terminal/[id]/events/route-76cf4b5393676543.js +1 -0
  131. package/.next/static/chunks/app/api/terminal/[id]/route-76cf4b5393676543.js +1 -0
  132. package/.next/static/chunks/app/api/terminal/route-76cf4b5393676543.js +1 -0
  133. package/.next/static/chunks/app/api/worktrees/route-76cf4b5393676543.js +1 -0
  134. package/.next/static/chunks/app/{layout-3776f813b2f6c9a2.js → layout-adb377f5b4af0524.js} +1 -1
  135. package/.next/static/chunks/app/manifest.webmanifest/route-76cf4b5393676543.js +1 -0
  136. package/.next/static/chunks/app/page-f4290f7c5b91d3a6.js +87 -0
  137. package/.next/static/chunks/e868780c.1584512c612787d7.js +18 -0
  138. package/.next/static/chunks/next/dist/client/components/builtin/app-error-76cf4b5393676543.js +1 -0
  139. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-76cf4b5393676543.js +1 -0
  140. package/.next/static/chunks/next/dist/client/components/builtin/not-found-76cf4b5393676543.js +1 -0
  141. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-76cf4b5393676543.js +1 -0
  142. package/.next/static/chunks/webpack-09499b33d3450792.js +1 -0
  143. package/.next/static/css/374e92f246b4e619.css +1 -0
  144. package/.next/static/css/659eccb5db697b76.css +1 -0
  145. package/.next/trace +6 -6
  146. package/.next/trace-build +1 -1
  147. package/.next/types/app/api/terminal/[id]/events/route.ts +353 -0
  148. package/.next/types/app/api/terminal/[id]/route.ts +353 -0
  149. package/.next/types/app/api/terminal/route.ts +353 -0
  150. package/.next/types/routes.d.ts +4 -1
  151. package/.next/types/validator.ts +27 -0
  152. package/README.md +4 -0
  153. package/README.zh-CN.md +2 -0
  154. package/next.config.ts +3 -0
  155. package/package.json +4 -1
  156. package/.next/static/NUDc18a3O24kyFgNTpVAW/_buildManifest.js +0 -1
  157. package/.next/static/chunks/3249-d891ccff87c62b6d.js +0 -7
  158. package/.next/static/chunks/app/_global-error/page-13f6e99c6fd8ad23.js +0 -1
  159. package/.next/static/chunks/app/api/agent/[id]/bash-output/route-13f6e99c6fd8ad23.js +0 -1
  160. package/.next/static/chunks/app/api/agent/[id]/events/route-13f6e99c6fd8ad23.js +0 -1
  161. package/.next/static/chunks/app/api/agent/[id]/route-13f6e99c6fd8ad23.js +0 -1
  162. package/.next/static/chunks/app/api/agent/new/route-13f6e99c6fd8ad23.js +0 -1
  163. package/.next/static/chunks/app/api/agent/running/events/route-13f6e99c6fd8ad23.js +0 -1
  164. package/.next/static/chunks/app/api/agent/running/route-13f6e99c6fd8ad23.js +0 -1
  165. package/.next/static/chunks/app/api/app-update/route-13f6e99c6fd8ad23.js +0 -1
  166. package/.next/static/chunks/app/api/auth/all-providers/route-13f6e99c6fd8ad23.js +0 -1
  167. package/.next/static/chunks/app/api/auth/api-key/[provider]/route-13f6e99c6fd8ad23.js +0 -1
  168. package/.next/static/chunks/app/api/auth/login/[provider]/route-13f6e99c6fd8ad23.js +0 -1
  169. package/.next/static/chunks/app/api/auth/logout/[provider]/route-13f6e99c6fd8ad23.js +0 -1
  170. package/.next/static/chunks/app/api/auth/providers/route-13f6e99c6fd8ad23.js +0 -1
  171. package/.next/static/chunks/app/api/cwd/browse/route-13f6e99c6fd8ad23.js +0 -1
  172. package/.next/static/chunks/app/api/cwd/validate/route-13f6e99c6fd8ad23.js +0 -1
  173. package/.next/static/chunks/app/api/default-cwd/route-13f6e99c6fd8ad23.js +0 -1
  174. package/.next/static/chunks/app/api/file-index/route-13f6e99c6fd8ad23.js +0 -1
  175. package/.next/static/chunks/app/api/files/[...path]/route-13f6e99c6fd8ad23.js +0 -1
  176. package/.next/static/chunks/app/api/git/diff/route-13f6e99c6fd8ad23.js +0 -1
  177. package/.next/static/chunks/app/api/git/status/route-13f6e99c6fd8ad23.js +0 -1
  178. package/.next/static/chunks/app/api/home/route-13f6e99c6fd8ad23.js +0 -1
  179. package/.next/static/chunks/app/api/models/route-13f6e99c6fd8ad23.js +0 -1
  180. package/.next/static/chunks/app/api/models-config/catalog/route-13f6e99c6fd8ad23.js +0 -1
  181. package/.next/static/chunks/app/api/models-config/discover/route-13f6e99c6fd8ad23.js +0 -1
  182. package/.next/static/chunks/app/api/models-config/route-13f6e99c6fd8ad23.js +0 -1
  183. package/.next/static/chunks/app/api/models-config/test/route-13f6e99c6fd8ad23.js +0 -1
  184. package/.next/static/chunks/app/api/plugins/route-13f6e99c6fd8ad23.js +0 -1
  185. package/.next/static/chunks/app/api/project-trust/route-13f6e99c6fd8ad23.js +0 -1
  186. package/.next/static/chunks/app/api/sessions/[id]/auto-name/route-13f6e99c6fd8ad23.js +0 -1
  187. package/.next/static/chunks/app/api/sessions/[id]/context/route-13f6e99c6fd8ad23.js +0 -1
  188. package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/thinking/route-13f6e99c6fd8ad23.js +0 -1
  189. package/.next/static/chunks/app/api/sessions/[id]/export/route-13f6e99c6fd8ad23.js +0 -1
  190. package/.next/static/chunks/app/api/sessions/[id]/route-13f6e99c6fd8ad23.js +0 -1
  191. package/.next/static/chunks/app/api/sessions/[id]/state/route-13f6e99c6fd8ad23.js +0 -1
  192. package/.next/static/chunks/app/api/sessions/[id]/todos/route-13f6e99c6fd8ad23.js +0 -1
  193. package/.next/static/chunks/app/api/sessions/route-13f6e99c6fd8ad23.js +0 -1
  194. package/.next/static/chunks/app/api/skills/check/route-13f6e99c6fd8ad23.js +0 -1
  195. package/.next/static/chunks/app/api/skills/install/route-13f6e99c6fd8ad23.js +0 -1
  196. package/.next/static/chunks/app/api/skills/route-13f6e99c6fd8ad23.js +0 -1
  197. package/.next/static/chunks/app/api/skills/search/route-13f6e99c6fd8ad23.js +0 -1
  198. package/.next/static/chunks/app/api/skills/update/route-13f6e99c6fd8ad23.js +0 -1
  199. package/.next/static/chunks/app/api/worktrees/route-13f6e99c6fd8ad23.js +0 -1
  200. package/.next/static/chunks/app/manifest.webmanifest/route-13f6e99c6fd8ad23.js +0 -1
  201. package/.next/static/chunks/app/page-e9fa9c741586f254.js +0 -87
  202. package/.next/static/chunks/next/dist/client/components/builtin/app-error-13f6e99c6fd8ad23.js +0 -1
  203. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-13f6e99c6fd8ad23.js +0 -1
  204. package/.next/static/chunks/next/dist/client/components/builtin/not-found-13f6e99c6fd8ad23.js +0 -1
  205. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-13f6e99c6fd8ad23.js +0 -1
  206. package/.next/static/chunks/webpack-31d3b9ee7fdc5174.js +0 -1
  207. package/.next/static/css/a3c3e002a932c7b2.css +0 -1
  208. /package/.next/static/{NUDc18a3O24kyFgNTpVAW → FVAO0Wwe6mW5DaBqiTuS0}/_ssgManifest.js +0 -0
@@ -2,7 +2,7 @@
2
2
  // Do not edit this file manually
3
3
 
4
4
  type AppRoutes = "/"
5
- type AppRouteHandlerRoutes = "/api/agent/[id]" | "/api/agent/[id]/bash-output" | "/api/agent/[id]/events" | "/api/agent/new" | "/api/agent/running" | "/api/agent/running/events" | "/api/app-update" | "/api/auth/all-providers" | "/api/auth/api-key/[provider]" | "/api/auth/login/[provider]" | "/api/auth/logout/[provider]" | "/api/auth/providers" | "/api/cwd/browse" | "/api/cwd/validate" | "/api/default-cwd" | "/api/file-index" | "/api/files/[...path]" | "/api/git/diff" | "/api/git/status" | "/api/home" | "/api/models" | "/api/models-config" | "/api/models-config/catalog" | "/api/models-config/discover" | "/api/models-config/test" | "/api/plugins" | "/api/project-trust" | "/api/sessions" | "/api/sessions/[id]" | "/api/sessions/[id]/auto-name" | "/api/sessions/[id]/context" | "/api/sessions/[id]/entries/[entryId]/thinking" | "/api/sessions/[id]/export" | "/api/sessions/[id]/state" | "/api/sessions/[id]/todos" | "/api/skills" | "/api/skills/check" | "/api/skills/install" | "/api/skills/search" | "/api/skills/update" | "/api/worktrees"
5
+ type AppRouteHandlerRoutes = "/api/agent/[id]" | "/api/agent/[id]/bash-output" | "/api/agent/[id]/events" | "/api/agent/new" | "/api/agent/running" | "/api/agent/running/events" | "/api/app-update" | "/api/auth/all-providers" | "/api/auth/api-key/[provider]" | "/api/auth/login/[provider]" | "/api/auth/logout/[provider]" | "/api/auth/providers" | "/api/cwd/browse" | "/api/cwd/validate" | "/api/default-cwd" | "/api/file-index" | "/api/files/[...path]" | "/api/git/diff" | "/api/git/status" | "/api/home" | "/api/models" | "/api/models-config" | "/api/models-config/catalog" | "/api/models-config/discover" | "/api/models-config/test" | "/api/plugins" | "/api/project-trust" | "/api/sessions" | "/api/sessions/[id]" | "/api/sessions/[id]/auto-name" | "/api/sessions/[id]/context" | "/api/sessions/[id]/entries/[entryId]/thinking" | "/api/sessions/[id]/export" | "/api/sessions/[id]/state" | "/api/sessions/[id]/todos" | "/api/skills" | "/api/skills/check" | "/api/skills/install" | "/api/skills/search" | "/api/skills/update" | "/api/terminal" | "/api/terminal/[id]" | "/api/terminal/[id]/events" | "/api/worktrees"
6
6
  type PageRoutes = never
7
7
  type LayoutRoutes = "/"
8
8
  type RedirectRoutes = never
@@ -52,6 +52,9 @@ interface ParamMap {
52
52
  "/api/skills/install": {}
53
53
  "/api/skills/search": {}
54
54
  "/api/skills/update": {}
55
+ "/api/terminal": {}
56
+ "/api/terminal/[id]": { "id": string; }
57
+ "/api/terminal/[id]/events": { "id": string; }
55
58
  "/api/worktrees": {}
56
59
  }
57
60
 
@@ -416,6 +416,33 @@ type RouteHandlerConfig<Route extends AppRouteHandlerRoutes = AppRouteHandlerRou
416
416
  type __Unused = __Check
417
417
  }
418
418
 
419
+ // Validate ../../app/api/terminal/[id]/events/route.ts
420
+ {
421
+ type __IsExpected<Specific extends RouteHandlerConfig<"/api/terminal/[id]/events">> = Specific
422
+ const handler = {} as typeof import("../../app/api/terminal/[id]/events/route.js")
423
+ type __Check = __IsExpected<typeof handler>
424
+ // @ts-ignore
425
+ type __Unused = __Check
426
+ }
427
+
428
+ // Validate ../../app/api/terminal/[id]/route.ts
429
+ {
430
+ type __IsExpected<Specific extends RouteHandlerConfig<"/api/terminal/[id]">> = Specific
431
+ const handler = {} as typeof import("../../app/api/terminal/[id]/route.js")
432
+ type __Check = __IsExpected<typeof handler>
433
+ // @ts-ignore
434
+ type __Unused = __Check
435
+ }
436
+
437
+ // Validate ../../app/api/terminal/route.ts
438
+ {
439
+ type __IsExpected<Specific extends RouteHandlerConfig<"/api/terminal">> = Specific
440
+ const handler = {} as typeof import("../../app/api/terminal/route.js")
441
+ type __Check = __IsExpected<typeof handler>
442
+ // @ts-ignore
443
+ type __Unused = __Check
444
+ }
445
+
419
446
  // Validate ../../app/api/worktrees/route.ts
420
447
  {
421
448
  type __IsExpected<Specific extends RouteHandlerConfig<"/api/worktrees">> = Specific
package/README.md CHANGED
@@ -14,6 +14,8 @@ Local browser UI for the [pi coding agent](https://github.com/earendil-works/pi)
14
14
  - **文字对比度**:浅色偏青蓝深色、深色偏白
15
15
  - **右上角 todo 面板**:窄面板展示会话 pi-todo 状态,运行中 6s 轮询 + 展开前即时刷新
16
16
  - **右下角堆叠弱通知**:扩展/错误等瞬时提示以小卡片堆叠在右下角,自动消失
17
+ - **内置多会话终端**:从顶栏或底部状态栏一键唤出,xterm.js + 服务端 pty,SSE 流式输出,刷新页面后会话保留
18
+ - **可定制壁纸**:图片/视频壁纸,支持横向位置拖动调整、平铺重复、边缘色彩填充与一键重置
17
19
 
18
20
  ![Pi Web displaying a pi session with structured Markdown, tool calls, and project navigation](https://raw.githubusercontent.com/agegr/pi-web/main/docs/screenshot2.png)
19
21
 
@@ -24,6 +26,8 @@ Local browser UI for the [pi coding agent](https://github.com/earendil-works/pi)
24
26
  - **Project file tools**: browse and upload files, inspect Git diffs, and preview source, Markdown, images, audio, PDFs, and DOCX files with automatic refresh.
25
27
  - **Git worktrees**: switch checkouts from the sidebar while keeping sessions from the same repository grouped together.
26
28
  - **Web-based configuration**: manage provider login and API keys, models, model tests, plugin packages, and skills without leaving Pi Web.
29
+ - **Built-in multi-session terminal**: launch a terminal panel from the top bar or the bottom status bar; xterm.js sessions stream over SSE, run side by side, and survive page refreshes.
30
+ - **Customisable wallpaper**: use an image or video as the background, drag it horizontally to reposition, tile it, fill side gaps with edge-sampled colours, and reset on demand.
27
31
  - **English and Simplified Chinese UI**: Pi Web follows the browser language initially and provides a language switcher in the top bar.
28
32
 
29
33
  ## Quick Start
package/README.zh-CN.md CHANGED
@@ -20,6 +20,8 @@
20
20
  - **项目文件工具**:浏览和上传文件、查看 Git Diff,并预览源码、Markdown、图片、音频、PDF 和 DOCX;文件变化后会自动刷新。
21
21
  - **Git worktree**:从侧边栏切换 checkout,同时把同一仓库不同 worktree 的会话归在一起。
22
22
  - **网页配置**:无需离开 Pi Web,即可管理 Provider 登录和 API Key、模型、模型测试、插件包及技能。
23
+ - **内置多会话终端**:从顶栏或底部状态栏一键唤出,xterm.js + 服务端 pty,SSE 流式输出,支持多会话并行、刷新页面后会话保留。
24
+ - **可定制壁纸**:支持图片/视频壁纸,可横向拖动调整位置,平铺重复、边缘色彩填充缝隙,并支持一键重置位置。
23
25
  - **英文和简体中文界面**:Pi Web 首次打开时跟随浏览器语言,也可从顶部栏切换语言。
24
26
 
25
27
  ## 快速开始
package/next.config.ts CHANGED
@@ -19,6 +19,9 @@ const nextConfig: NextConfig = {
19
19
  "@earendil-works/pi-agent-core",
20
20
  "@earendil-works/pi-ai",
21
21
  "@earendil-works/pi-tui",
22
+ // Native pty binding — must stay external so the dynamic require of the
23
+ // platform-specific prebuilt package resolves at runtime, not bundle time.
24
+ "@lydell/node-pty",
22
25
  ],
23
26
  allowedDevOrigins: ["127.0.0.1", "192.168.*.*"],
24
27
  async headers() {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@baique/pi-web-sky",
3
- "version": "0.1.10",
3
+ "version": "0.1.12",
4
4
  "description": "Web UI for the pi coding agent — Sky skin edition (fork of @agegr/pi-web / earendil-labs pi-web, MIT)",
5
5
  "homepage": "https://github.com/baique/pi-web-sky#readme",
6
6
  "repository": {
@@ -42,6 +42,9 @@
42
42
  "@earendil-works/pi-ai": "0.84.2",
43
43
  "@earendil-works/pi-coding-agent": "0.84.2",
44
44
  "@earendil-works/pi-tui": "0.84.2",
45
+ "@lydell/node-pty": "^1.2.0-beta.15",
46
+ "@xterm/addon-fit": "^0.11.0",
47
+ "@xterm/xterm": "^6.0.0",
45
48
  "js-yaml": "^5.2.3",
46
49
  "next": "16.3.1",
47
50
  "proper-lockfile": "4.1.2",
@@ -1 +0,0 @@
1
- self.__BUILD_MANIFEST={__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},__routerFilterStatic:{numItems:32,errorRate:1e-4,numBits:614,numHashes:14,bitArray:[0,0,1,0,1,1,0,1,0,1,1,0,0,1,0,1,1,1,0,0,1,1,0,0,1,0,0,0,1,1,1,1,0,1,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,0,1,0,0,0,0,0,1,1,1,1,0,0,1,0,0,1,1,1,0,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,1,1,1,1,1,1,0,1,0,1,1,1,1,1,0,0,1,0,0,1,1,0,0,0,1,0,1,0,1,1,0,1,1,1,0,0,0,1,0,1,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,0,1,0,1,1,1,0,1,0,1,0,1,0,0,0,1,0,1,1,0,0,0,1,1,1,1,1,1,1,0,0,1,0,1,0,1,1,1,0,1,0,1,0,1,1,0,0,1,0,1,0,1,0,1,1,1,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,0,0,0,0,0,0,1,0,1,0,1,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,1,0,0,1,0,1,1,0,0,0,0,0,1,1,1,0,1,1,0,0,1,0,1,1,0,1,1,0,0,1,1,0,0,1,1,1,1,1,0,1,1,1,0,1,0,0,0,0,0,1,0,1,1,0,1,0,0,1,1,1,0,1,0,0,0,1,0,0,0,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,0,1,1,0,0,0,1,1,1,1,0,0,0,1,0,1,1,1,0,0,1,0,0,1,1,0,1,1,0,0,0,0,0,0,0,1,1,1,0,1,0,0,1,1,0,1,0,0,0,1,0,0,0,0,1,1,0,1,1,1,1,0,0,1,1,0,0,1,1,0,1,0,1,1,0,0,1,0,0,1,1,0,1,1,0,0,0,0,0,0,1,0,0,1,0,0,0,1,1,0,1,0,1,1,1,1,1,0,1,1,0,1,0,0,1,1,0,0,1,1,0,1,0,1,0,0,0,1,0,0,0,1,0,0,1,1,0,1,1,1,0,1,1,0,1,1,1,1,0,0,1,1,0,0,1,1,1,0,0,0,0,1,1,0,1,1,1,1,0,1,0,1,0,1,0,1,0,0,1,1,1,0,1,0,1,1,1,1,0,1,1,0,1,1,1,0,1,0,1,0,1,0,1,1,1,0,0,1,0,0,1,0,1,1,1,0,1,0,0,1,0,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,0,1,0,0,1,0,1,0,0,1,1,1,1,1,0,0,1,1,0,0,0,1,1,1,0,1,0,1,0,1,1,1,1,1,0,0,0,1,1]},__routerFilterDynamic:{numItems:6,errorRate:1e-4,numBits:116,numHashes:14,bitArray:[1,1,0,0,0,1,0,1,1,1,1,0,1,0,1,0,0,1,1,1,0,1,1,0,1,1,0,1,0,1,1,0,0,0,1,0,0,1,0,1,1,0,0,1,1,1,0,0,0,1,0,0,1,1,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,1,0,0,0,1,1,1,0,1,0,0,1,0,1,0,0,0,1,0,0,1,0,0,0,1,1,1,1,1,1,0,0,1,0,1,0,0,1,1,0,0,0]},sortedPages:["/_app"]},self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();