@seqyuan/pidex 0.7.6 → 0.7.8

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 (58) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +3 -3
  3. package/.next/build-manifest.json +2 -2
  4. package/.next/prerender-manifest.json +3 -3
  5. package/.next/required-server-files.js +1 -1
  6. package/.next/required-server-files.json +1 -1
  7. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  8. package/.next/server/app/_global-error.html +1 -1
  9. package/.next/server/app/_global-error.rsc +1 -1
  10. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  11. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  12. package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  13. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  14. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  15. package/.next/server/app/_global-error.segments/_tree.segment.rsc +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 +1 -1
  19. package/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  20. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  21. package/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  22. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  23. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  24. package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  25. package/.next/server/app/index.html +1 -1
  26. package/.next/server/app/index.rsc +2 -2
  27. package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  28. package/.next/server/app/index.segments/_full.segment.rsc +2 -2
  29. package/.next/server/app/index.segments/_head.segment.rsc +1 -1
  30. package/.next/server/app/index.segments/_index.segment.rsc +1 -1
  31. package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  32. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  33. package/.next/server/app/login.html +1 -1
  34. package/.next/server/app/login.rsc +1 -1
  35. package/.next/server/app/login.segments/_full.segment.rsc +1 -1
  36. package/.next/server/app/login.segments/_head.segment.rsc +1 -1
  37. package/.next/server/app/login.segments/_index.segment.rsc +1 -1
  38. package/.next/server/app/login.segments/_tree.segment.rsc +1 -1
  39. package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +1 -1
  40. package/.next/server/app/login.segments/login.segment.rsc +1 -1
  41. package/.next/server/app/page.js +2 -2
  42. package/.next/server/app/page_client-reference-manifest.js +1 -1
  43. package/.next/server/app-paths-manifest.json +3 -3
  44. package/.next/server/middleware-build-manifest.js +1 -1
  45. package/.next/server/middleware-manifest.json +5 -5
  46. package/.next/server/next-font-manifest.js +1 -1
  47. package/.next/server/next-font-manifest.json +1 -1
  48. package/.next/server/pages/404.html +1 -1
  49. package/.next/server/pages/500.html +1 -1
  50. package/.next/server/server-reference-manifest.json +1 -1
  51. package/.next/static/chunks/app/{page-a26778a6748f90f2.js → page-7db7cc03c3a65772.js} +2 -2
  52. package/.next/trace +32 -32
  53. package/.next/trace-build +1 -1
  54. package/README.md +28 -11
  55. package/bin/pi-web.js +0 -1
  56. package/package.json +1 -1
  57. /package/.next/static/{hqrq_k20wyHBgpLiNcetX → Qs9n3NBmC9jWCeAmStQih}/_buildManifest.js +0 -0
  58. /package/.next/static/{hqrq_k20wyHBgpLiNcetX → Qs9n3NBmC9jWCeAmStQih}/_ssgManifest.js +0 -0
package/.next/trace-build CHANGED
@@ -1 +1 @@
1
- [{"name":"run-webpack","duration":19189922,"timestamp":63904387,"id":14,"parentId":1,"tags":{},"startTime":1780040164614,"traceId":"f5b0eb494d0328ee"},{"name":"run-typescript","duration":6560256,"timestamp":83100039,"id":3255,"parentId":1,"tags":{},"startTime":1780040183809,"traceId":"f5b0eb494d0328ee"},{"name":"static-check","duration":1808629,"timestamp":89677990,"id":3258,"parentId":1,"tags":{},"startTime":1780040190387,"traceId":"f5b0eb494d0328ee"},{"name":"static-generation","duration":3726622,"timestamp":91751031,"id":3324,"parentId":1,"tags":{},"startTime":1780040192460,"traceId":"f5b0eb494d0328ee"},{"name":"collect-build-traces","duration":41046532,"timestamp":91490958,"id":3321,"parentId":1,"tags":{},"startTime":1780040192200,"traceId":"f5b0eb494d0328ee"},{"name":"telemetry-flush","duration":85,"timestamp":132540985,"id":3333,"parentId":1,"tags":{},"startTime":1780040233250,"traceId":"f5b0eb494d0328ee"},{"name":"next-build","duration":68782592,"timestamp":63758490,"id":1,"tags":{"buildMode":"default","version":"16.2.1","bundler":"webpack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1780040164468,"traceId":"f5b0eb494d0328ee"}]
1
+ [{"name":"run-webpack","duration":19718144,"timestamp":59806576,"id":14,"parentId":1,"tags":{},"startTime":1780041144055,"traceId":"c3562b42e4db05f3"},{"name":"run-typescript","duration":6577090,"timestamp":79529344,"id":3255,"parentId":1,"tags":{},"startTime":1780041163778,"traceId":"c3562b42e4db05f3"},{"name":"static-check","duration":1749424,"timestamp":86124821,"id":3258,"parentId":1,"tags":{},"startTime":1780041170374,"traceId":"c3562b42e4db05f3"},{"name":"static-generation","duration":3636568,"timestamp":88293090,"id":3324,"parentId":1,"tags":{},"startTime":1780041172542,"traceId":"c3562b42e4db05f3"},{"name":"collect-build-traces","duration":37960365,"timestamp":87877248,"id":3321,"parentId":1,"tags":{},"startTime":1780041172126,"traceId":"c3562b42e4db05f3"},{"name":"telemetry-flush","duration":53,"timestamp":125840297,"id":3333,"parentId":1,"tags":{},"startTime":1780041210089,"traceId":"c3562b42e4db05f3"},{"name":"next-build","duration":66234159,"timestamp":59606203,"id":1,"tags":{"buildMode":"default","version":"16.2.1","bundler":"webpack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1780041143855,"traceId":"c3562b42e4db05f3"}]
package/README.md CHANGED
@@ -9,20 +9,27 @@ npm install -g @seqyuan/pidex
9
9
  pidex
10
10
  ```
11
11
 
12
- 启动后打开 [http://localhost:30141](http://localhost:30141)
12
+ 启动后打开 [http://localhost:30141](http://localhost:30141)。首次启动会提示设置密码(可选,类似 Jupyter)。
13
13
 
14
- **可选参数:**
14
+ ## CLI 命令
15
15
 
16
16
  ```bash
17
- pidex --port 32321 # 自定义端口
18
- pidex --hostname 127.0.0.1 # 仅本机访问
19
- pidex -p 8080 -H 127.0.0.1 # 组合使用
20
-
21
- PORT=8080 pidex # 也支持环境变量
17
+ pidex # 启动服务(后台运行)
18
+ pidex --port 8080 # 自定义端口
19
+ pidex --hostname 127.0.0.1 # 仅本机访问
20
+ pidex --version # 查看版本
21
+ pidex --help # 查看帮助
22
+ pidex update # 更新到最新版
23
+ pidex passwd # 修改密码
24
+ pidex passwd --reset # 删除密码(禁用认证)
25
+
26
+ PORT=8080 pidex # 也支持环境变量
27
+ PIDEX_PASSWORD=xxx pidex # 环境变量设置密码
22
28
  ```
23
29
 
24
30
  ## 功能介绍
25
31
 
32
+ - **密码保护** — 可选密码认证(bcrypt 哈希),类似 Jupyter。`pidex passwd` 管理。
26
33
  - **会话浏览器** — 按工作目录分组展示所有 pi 会话
27
34
  - **实时对话** — 通过 SSE 流式输出与智能体实时交互
28
35
  - **会话分叉** — 从任意用户消息创建独立的新会话分支
@@ -30,14 +37,22 @@ PORT=8080 pidex # 也支持环境变量
30
37
  - **分支导航器** — 可视化切换同一会话内的各个分支
31
38
  - **模型切换** — 对话中途随时切换模型
32
39
  - **工具面板** — 控制智能体可使用的工具
40
+ - **子代理面板** — 追踪子 agent 运行状态(运行中/已完成/失败)
41
+ - **流式绘图** — `show-widget` fence 支持,LLM 输出图表/SVG/HTML 实时渲染
33
42
  - **压缩会话** — 对长会话进行摘要,节省上下文窗口
34
43
  - **引导 / 追加** — 打断正在运行的智能体,或在其完成后追加消息
44
+ - **文件编辑** — 侧边栏文本文件支持 CodeMirror 6 编辑,Ctrl+S 保存
45
+ - **文档预览** — PDF/DOCX/XLSX/PPTX 内嵌预览
46
+ - **可拖拽面板** — 侧边栏和右侧面板自由拖拽调整宽度
47
+ - **项目上下文** — soul.md(全局人格)、harness.md(行为约束)、memory.md(项目记忆)
35
48
 
36
49
  ## 注意事项
37
50
 
38
51
  - **数据目录** — 默认读取 `~/.pi/agent/sessions` 下的会话文件。可通过环境变量 `PI_CODING_AGENT_DIR` 指定其他目录。
39
52
  - **模型配置** — 从智能体数据目录下的 `models.json` 读取可用模型,可在侧边栏的「Models」面板中编辑。
40
- - **文件浏览** — 侧边栏内置文件浏览器,可在标签页中查看当前工作目录下的文件。
53
+ - **文件浏览** — 侧边栏内置文件浏览器,可在标签页中查看和编辑当前工作目录下的文件。
54
+ - **密码存储** — `~/.pi/agent/web-auth.json`,忘记密码可删除此文件重新设置。
55
+ - **上下文文件** — `~/.pi/agent/soul.md`(全局人格)、`~/.pi/agent/harness.md`(行为约束)首次启动自动 seed。
41
56
 
42
57
  ## 开发
43
58
 
@@ -56,12 +71,14 @@ app/
56
71
  files/ # 文件内容读取
57
72
  models/ # 可用模型列表与默认模型
58
73
  models-config/ # 读写 models.json
59
- components/ # UI 组件
74
+ auth/ # 密码认证
75
+ components/
76
+ viewers/ # PDF/DOCX/XLSX/PPTX 查看器
60
77
  lib/
61
78
  session-reader.ts # 解析 .jsonl 会话文件
62
79
  rpc-manager.ts # 管理 AgentSession 生命周期
63
- normalize.ts # 规范化 toolCall 字段名
64
- types.ts
80
+ auth.ts # 密码管理
81
+ widget-utils.ts # 流式绘图解析
65
82
  ```
66
83
 
67
84
  会话文件存储路径:`~/.pi/agent/sessions/<编码后的工作目录>/<时间戳>_<uuid>.jsonl`
package/bin/pi-web.js CHANGED
@@ -281,7 +281,6 @@ child.stdout.on("data", (chunk) => {
281
281
  // Detach and exit — Next.js keeps running in background
282
282
  console.log(`\n pidex running at ${url}\n`);
283
283
  child.stdout.removeAllListeners();
284
- child.stderr.removeAllListeners();
285
284
  child.unref();
286
285
  process.exit(0);
287
286
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seqyuan/pidex",
3
- "version": "0.7.6",
3
+ "version": "0.7.8",
4
4
  "description": "Web UI for the pi coding agent",
5
5
  "license": "MIT",
6
6
  "bin": {