pi-web-ui 0.80.2 → 0.83.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 +167 -2
- package/README.md +112 -97
- package/README.zh-CN.md +86 -66
- package/dist/server/agent-service.js +385 -13
- package/dist/server/attachments.js +36 -0
- package/dist/server/index.js +5 -0
- package/dist/server/mcp-bridge.js +132 -23
- package/dist/server/plugins.js +23 -2
- package/dist/server/subagent-templates.js +30 -2
- package/dist/server/subagents.js +25 -15
- package/dist/server/tool-manager.js +7 -1
- package/dist/server/webui-context.js +28 -4
- package/package.json +4 -2
- package/plugins/catalog.json +9 -0
- package/themes/cyberpunk.css +1 -0
- package/themes/dazzle.css +1 -0
- package/themes/md-preview.css +1 -0
- package/themes/mist.css +1 -0
- package/themes/paper.css +1 -0
- package/themes/sakura.css +1 -0
- package/themes/white.css +1 -0
- package/web/dist/assets/{TerminalPanel-CeruoZjh.js → TerminalPanel-BF99sld0.js} +1 -1
- package/web/dist/assets/index-B1XPfcM0.css +10 -0
- package/web/dist/assets/index-D__1RagK.js +348 -0
- package/web/dist/index.html +2 -2
- package/web/dist/assets/index-BduNm7_u.css +0 -10
- package/web/dist/assets/index-DtBJSe33.js +0 -347
package/README.zh-CN.md
CHANGED
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
**子代理与模板**
|
|
63
63
|
|
|
64
64
|
- **第一方子代理** —— 后台派发独立对话并行做调研 / 实现 / 审查(`subagent_spawn`);与普通对话一样在左栏管理:实时查看输出、补充(steer)、中止、移出。内存会话——不进历史 / resume 列表,可嵌套派发。
|
|
65
|
-
- **子代理模板** —— 设置面板「子代理模板」里配置可复用预设:角色系统提示词(追加或整体替换)+
|
|
65
|
+
- **子代理模板** —— 设置面板「子代理模板」里配置可复用预设:角色系统提示词(追加或整体替换)+ 技能/扩展白名单 + 可选模型 + 可选思考强度。AI 用 `subagent_templates` 工具查询清单、`subagent_spawn(template="…")` 选用,也可以不传模板按主会话默认配置运行。模型与思考强度都留空 = 跟随主对话当前设置(与「跟随主对话」的模型回落同语义);模板指定了就固定用那个组合(模型不支持的思考档位会自动收敛)。停用的模板保留在面板可随时重新启用,但对 AI 工具不可见(查不到、不能选)。模板全局共享(`<dataDir>/subagent-templates.json`,所有浏览器客户端一致)。首次运行自带 6 个内置模板(review / implement / research / scout / audit / delegate,改编自 pi-subagents 社区项目),面板标「默认」徽标,可像普通模板一样修改或删除。
|
|
66
66
|
|
|
67
67
|
**文件、图片与附件**
|
|
68
68
|
|
|
@@ -98,7 +98,7 @@
|
|
|
98
98
|
- 首次配置引导 —— 没装 pi CLI 时可直接一键安装(失败有详情、可重试/跳过),然后选服务商 + 填密钥就能开用。
|
|
99
99
|
- 设置面板:
|
|
100
100
|
- **系统提示词** —— 11 个来源(soul / tools / guidelines / pi 文档 / append / persona / terminal / markers / context / skills / cwd)拼成的 `{{token}}` 组合模板,点 token 芯片即可追加;每个来源可单独覆盖(`auto` 徽标、「以默认为底改写」、单独恢复默认,环境类来源保持只读);另有两个查看器分别展示**实际生效的完整提示词**与**真正发给模型的工具 schema**。
|
|
101
|
-
- **输入历史与快捷短语** —— 历史有上限(1–500 条,可选单条字数上限,两步确认清空),用 `↑`/`↓`
|
|
101
|
+
- **输入历史与快捷短语** —— 历史有上限(1–500 条,可选单条字数上限,两步确认清空),用 `↑`/`↓` 在光标位于草稿首/末**视觉行**时翻(自动折行的行也算);输入框上方的快捷短语可逐条编辑/上下移/删除/恢复默认。
|
|
102
102
|
- **技能** —— 逐个启停,另有「全文」芯片把整个 `SKILL.md` 注入提示词(单文件 8KB、总量 32KB)。
|
|
103
103
|
- **扩展** —— 逐个启停,`npm:` 装的可在可见终端里一键卸载(`pi remove npm:<包名>`)。
|
|
104
104
|
- **界面插件 / 目标审查 / 视觉桥 / 子代理模板** 各有自己的页,见 [界面插件](#界面插件)。
|
|
@@ -195,42 +195,42 @@
|
|
|
195
195
|
|
|
196
196
|
## 快捷键
|
|
197
197
|
|
|
198
|
-
| 按键
|
|
199
|
-
|
|
|
200
|
-
| `Enter`
|
|
201
|
-
| `Shift+Enter`
|
|
202
|
-
| `↑` / `↓`
|
|
203
|
-
| `Ctrl/Cmd+K`
|
|
204
|
-
| `Ctrl/Cmd+F`
|
|
205
|
-
| `/`
|
|
206
|
-
| `Ctrl/Cmd+S`
|
|
207
|
-
| `Ctrl/Cmd+A`
|
|
208
|
-
| `Ctrl/Cmd+Enter`
|
|
209
|
-
| `Ctrl/Cmd+C` / `Ctrl/Cmd+V` | 终端里:有选中则复制(无选中时 `^C` 仍发给 shell)/ 原生粘贴。
|
|
210
|
-
| `Esc`
|
|
211
|
-
| 拖放
|
|
198
|
+
| 按键 | 作用 |
|
|
199
|
+
| --------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
|
|
200
|
+
| `Enter` | 发送。触屏设备上 `Enter` 改为换行,`Ctrl/Cmd+Enter` 才发送(Windows 触屏笔记本当作桌面)。 |
|
|
201
|
+
| `Shift+Enter` | 输入框内换行。 |
|
|
202
|
+
| `↑` / `↓` | 光标在首/末**视觉行**时翻全局输入历史(跨对话持久化;自动折行的行也算,一段长草稿按 `↑` 是逐行上移光标而不是切历史);`Esc` 回到草稿。 |
|
|
203
|
+
| `Ctrl/Cmd+K` | 全局搜索(对话 / 项目 / 工作区文件名)。 |
|
|
204
|
+
| `Ctrl/Cmd+F` | 搜当前对话 —— `Enter` 下一个命中,`Shift+Enter` 上一个,`Esc` 关闭。 |
|
|
205
|
+
| `/` | 打开斜杠命令选择器(`↑`/`↓` 选择、`Tab` 或 `Enter` 补全、`Esc` 关闭;输入空格则自动关闭)。 |
|
|
206
|
+
| `Ctrl/Cmd+S` | 预览里编辑文件时保存。 |
|
|
207
|
+
| `Ctrl/Cmd+A` | 预览里全选行(光标不在文本框时)。 |
|
|
208
|
+
| `Ctrl/Cmd+Enter` | 提交「编辑重问」编辑器。 |
|
|
209
|
+
| `Ctrl/Cmd+C` / `Ctrl/Cmd+V` | 终端里:有选中则复制(无选中时 `^C` 仍发给 shell)/ 原生粘贴。 |
|
|
210
|
+
| `Esc` | 关闭预览、对话框、命令选择器、问卷或扩展请求面板(预览有未保存改动时会先问)。 |
|
|
211
|
+
| 拖放 | 窗口任意位置拖入文件 = 附件到对话;拖到文件树 = 上传到那一个目录;不支持拖文件夹(展开后选文件)。 |
|
|
212
212
|
|
|
213
213
|
## 界面截图
|
|
214
214
|
|
|
215
215
|

|
|
216
216
|
|
|
217
|
-
|
|
217
|
+
_对话 + 提示词模板_
|
|
218
218
|
|
|
219
219
|

|
|
220
220
|
|
|
221
|
-
|
|
221
|
+
_运行轨迹时间线(run-trace 插件)_
|
|
222
222
|
|
|
223
223
|

|
|
224
224
|
|
|
225
|
-
|
|
225
|
+
_设置面板_
|
|
226
226
|
|
|
227
227
|

|
|
228
228
|
|
|
229
|
-
|
|
229
|
+
_内置终端_
|
|
230
230
|
|
|
231
231
|

|
|
232
232
|
|
|
233
|
-
|
|
233
|
+
_Git 源代码管理面板_
|
|
234
234
|
|
|
235
235
|
## 安装
|
|
236
236
|
|
|
@@ -297,17 +297,17 @@ pi-web-ui # 前台,http://localhost:
|
|
|
297
297
|
**启动参数 & 环境变量** —— 每个设置既能用命令行的 `--flag` 传,也能用环境变量设(flag 优先)。
|
|
298
298
|
二者任选一种即可:
|
|
299
299
|
|
|
300
|
-
| 参数
|
|
301
|
-
|
|
|
302
|
-
| `--port <n>`
|
|
303
|
-
| `--cwd <dir>`
|
|
304
|
-
| `--data-dir <dir>`
|
|
305
|
-
| `--engine <pi\|dsh>` | `PI_WEB_ENGINE`
|
|
306
|
-
| `--host <addr>`
|
|
307
|
-
| `--agent-dir <dir>`
|
|
308
|
-
| `--no-browser`
|
|
309
|
-
| _仅环境变量_
|
|
310
|
-
| _仅环境变量_
|
|
300
|
+
| 参数 | 环境变量 | 默认 | 作用 |
|
|
301
|
+
| -------------------- | --------------------- | ------------- | ------------------------------------------------- |
|
|
302
|
+
| `--port <n>` | `PI_WEB_PORT` | `8787` | HTTP 端口 |
|
|
303
|
+
| `--cwd <dir>` | `PI_WEB_CWD` | 当前目录 | 工作区根(读/写/终端) |
|
|
304
|
+
| `--data-dir <dir>` | `PI_WEB_DATA_DIR` | `~/.pi-web` | 数据目录(界面状态/插件/上传/主题/语言包) |
|
|
305
|
+
| `--engine <pi\|dsh>` | `PI_WEB_ENGINE` | `pi` | 智能体引擎;`--engine dsh` = DeepSeek Harness |
|
|
306
|
+
| `--host <addr>` | `PI_WEB_HOST` | `127.0.0.1` | 监听地址(`0.0.0.0` 供局域网/Docker) |
|
|
307
|
+
| `--agent-dir <dir>` | `PI_CODING_AGENT_DIR` | `~/.pi/agent` | pi 配置目录(auth.json、models.json、会话、技能) |
|
|
308
|
+
| `--no-browser` | — | 关 | 启动但不自动打开浏览器 |
|
|
309
|
+
| _仅环境变量_ | `PI_WEB_TOKEN` | 空 | 可选共享鉴权口令 |
|
|
310
|
+
| _仅环境变量_ | `PI_WEB_DSH_*` | — | dsh 运行时、补丁与调试设置 |
|
|
311
311
|
|
|
312
312
|
两者等价 —— 任选其一:
|
|
313
313
|
|
|
@@ -408,14 +408,14 @@ volumes:
|
|
|
408
408
|
|
|
409
409
|
以下插件随本仓库发布(`plugins/<id>/`),可直接从 GitHub 安装:
|
|
410
410
|
|
|
411
|
-
| 插件
|
|
412
|
-
|
|
|
413
|
-
| 📬 [网页邮箱 webmail](https://github.com/xing-shuyin/pi-web-ui/tree/main/plugins/webmail)
|
|
414
|
-
| 🗄️ [数据库 db-client](https://github.com/xing-shuyin/pi-web-ui/tree/main/plugins/db-client)
|
|
415
|
-
| 📝 [编辑器 + SSH vscode-editor](https://github.com/xing-shuyin/pi-web-ui/tree/main/plugins/vscode-editor) | 类 VSCode 工作台:多根文件树(本地 + SSH 主机)、CodeMirror 多标签编辑器、Remote-SSH 远程文件浏览/编辑、可拖拽多终端面板(xterm.js)、SFTP 同步与下载到电脑。自动安装 `ssh2`。
|
|
416
|
-
| 📊 [图表 mermaid](https://github.com/xing-shuyin/pi-web-ui/tree/main/plugins/mermaid)
|
|
417
|
-
| 🧭 [运行轨迹 run-trace](https://github.com/xing-shuyin/pi-web-ui/tree/main/plugins/run-trace)
|
|
418
|
-
| 📖 [阅读 legado-web](https://github.com/xing-shuyin/pi-web-ui/tree/main/plugins/legado-web)
|
|
411
|
+
| 插件 | 功能 |
|
|
412
|
+
| --------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
413
|
+
| 📬 [网页邮箱 webmail](https://github.com/xing-shuyin/pi-web-ui/tree/main/plugins/webmail) | IMAP 收件箱浏览/搜索/阅读/标记/删除 + SMTP 发信、新邮件通知,可选「允许 AI 管理邮箱」(六个 `mail_*` AI 工具)。首次激活自动补装 npm 依赖。 |
|
|
414
|
+
| 🗄️ [数据库 db-client](https://github.com/xing-shuyin/pi-web-ui/tree/main/plugins/db-client) | 数据库工作台:MySQL / PostgreSQL / SQLite / SQL Server / MongoDB / Redis 连接管理 + 库表树 —— 表结构、分页排序、SQL 编辑器、行编辑。驱动首次使用自动安装。 |
|
|
415
|
+
| 📝 [编辑器 + SSH vscode-editor](https://github.com/xing-shuyin/pi-web-ui/tree/main/plugins/vscode-editor) | 类 VSCode 工作台:多根文件树(本地 + SSH 主机)、CodeMirror 多标签编辑器、Remote-SSH 远程文件浏览/编辑、可拖拽多终端面板(xterm.js)、SFTP 同步与下载到电脑。自动安装 `ssh2`。 |
|
|
416
|
+
| 📊 [图表 mermaid](https://github.com/xing-shuyin/pi-web-ui/tree/main/plugins/mermaid) | 把对话里的 ` ```mermaid ` 围栏渲染成 SVG 图表(fenced-code 渲染插件,本地引擎离线优先)。 |
|
|
417
|
+
| 🧭 [运行轨迹 run-trace](https://github.com/xing-shuyin/pi-web-ui/tree/main/plugins/run-trace) | 运行轨迹:任务 → 思考 → 工具 → 文件改动 → 结果的时间线聚合视图,支持回放与节点详情。 |
|
|
418
|
+
| 📖 [阅读 legado-web](https://github.com/xing-shuyin/pi-web-ui/tree/main/plugins/legado-web) | Legado 阅读(文本源):基于兼容安卓书源的搜书 / 发现 / 详情 / 目录 / 正文阅读,支持书源导入、检测与删废源,并提供四个修源 AI 工具(`legado_rules`、`legado_book_sources`、`legado_source_probe`、`legado_run_rule`)与「🤖 AI 修复源」按钮(带失败现场直接开新对话)。书源/书架/进度存在 `<dataDir>/legado-web/`。 |
|
|
419
419
|
|
|
420
420
|
`plugins/demo-mailbox` 作为最小插件模板保留在仓库里(服务端入口 + 客户端视图 + 双向消息协议),兼作测试夹具——想自己写插件从这里入手。
|
|
421
421
|
|
|
@@ -484,6 +484,27 @@ pi-web-ui uninstall <id> # 卸载插件
|
|
|
484
484
|
- `uninstall` 会删除插件目录;刷新浏览器后 tab 即消失。写在插件目录内的配置文件也会一并删除——
|
|
485
485
|
如需保留请先备份 `<dataDir>/plugins/<id>/config.json`。
|
|
486
486
|
|
|
487
|
+
## 浏览器扩展
|
|
488
|
+
|
|
489
|
+
### 🎯 网页元素拾取(page-picker)
|
|
490
|
+
|
|
491
|
+
在**开发中的网页**上点选元素,把它整理成 AI 能直接动手的上下文,一键注入 pi-web-ui 的对话输入框
|
|
492
|
+
(`Alt+Shift+P` 或点扩展图标 → hover 高亮 → 点击拾取 → `Shift`+点击多选 → 写备注 → 「添加到对话」)。
|
|
493
|
+
|
|
494
|
+
它不是 pi-web-ui 的服务端插件,而是一个**浏览器扩展**(所以不走 `pi-web-ui install`):
|
|
495
|
+
|
|
496
|
+
**下载装**(不需要 Node):[`page-picker-extension.zip`](https://github.com/xing-shuyin/pi-web-ui/releases/latest/download/page-picker-extension.zip) →
|
|
497
|
+
解压 → `chrome://extensions` 打开「开发者模式」→「加载已解压的扩展程序」→ 选解压出的目录 →
|
|
498
|
+
点扩展的「扩展程序选项」填 pi-web-ui 地址(远程地址先点「授权该地址」)。
|
|
499
|
+
|
|
500
|
+
详细说明(交互、采集了什么、远程部署、已知限制)见
|
|
501
|
+
[`plugins/page-picker/README.md`](https://github.com/xing-shuyin/pi-web-ui/tree/main/plugins/page-picker)。
|
|
502
|
+
|
|
503
|
+
采集的不是截图,而是**能让 AI 一次改对**的东西:React fiber 里的组件源码位置(`Card.tsx:18:5` +
|
|
504
|
+
调用链)、Vue SFC 文件、命中的 CSS 规则**源文件与行号**(Vite dev 下精确反推)、
|
|
505
|
+
只保留「与默认值不同」的计算样式子集、短且唯一的定位串、HTML 骨架与折叠文本;
|
|
506
|
+
可选元素截图会走对话附件。
|
|
507
|
+
|
|
487
508
|
## 主题
|
|
488
509
|
|
|
489
510
|
每个主题是**一份纯 `:root` 调色板覆盖** —— 只写 CSS 变量的声明文件(变量全集见 `web/src/styles.css` 的 `:root`:`--bg/--accent/--term-*` 基础色,加 `--tooltip-bg/--code-bg/--notice-*` 等派生色)。布局只存在于打包的 `web/src/styles.css` 里,选主题只是覆盖变量,因此任何主题都能在所有版本上工作,改布局也不需要碰主题文件。内置主题由 `node make-light-theme.mjs` 生成。
|
|
@@ -526,29 +547,28 @@ pi-web-ui uninstall <id> # 卸载插件
|
|
|
526
547
|
|
|
527
548
|
合并主题的规则:必须是单一 CSS 文件、设置 `--term-*` 变量保证终端可读、浅色主题覆盖 `.hljs` 语法高亮色以保证代码可读。
|
|
528
549
|
|
|
529
|
-
|
|
530
550
|
## 环境变量调优
|
|
531
551
|
|
|
532
552
|
以下全部可选——默认值就是开发时一直在用的配置。完整参考:[`docs/env-vars.md`](docs/env-vars.md)。
|
|
533
553
|
|
|
534
|
-
| 变量
|
|
535
|
-
|
|
|
536
|
-
| `PI_WEB_TOOL_TIMEOUT_MS`
|
|
537
|
-
| `PI_WEB_STALL_NOTIFY_MS`
|
|
538
|
-
| `PI_WEB_TERMINAL_IDLE_MS`
|
|
539
|
-
| `PI_WEB_TERMINAL_IDLE_LINES`
|
|
540
|
-
| `PI_WEB_INLINE_FILE_MAX`
|
|
541
|
-
| `PI_WEB_VISION_TIMEOUT_MS`
|
|
542
|
-
| `PI_WEB_UPLOAD_RETENTION_DAYS` | `14`
|
|
543
|
-
| `PI_WEB_SHELL`
|
|
544
|
-
| `PI_WEB_TABS`
|
|
545
|
-
| `PI_WEB_MANAGED`
|
|
546
|
-
| `PI_WEB_ALLOW_HOSTS`
|
|
547
|
-
| `PI_WEB_LOCALE`
|
|
548
|
-
| `PI_WEB_LOCALE_BASE_URL`
|
|
549
|
-
| `PI_WEB_PKG_ROOT`
|
|
550
|
-
| `PI_CODING_AGENT_SESSION_DIR`
|
|
551
|
-
| `DSH_*`
|
|
554
|
+
| 变量 | 默认 | 作用 |
|
|
555
|
+
| ------------------------------ | ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
556
|
+
| `PI_WEB_TOOL_TIMEOUT_MS` | `1200000`(20 分) | 单工具调用看门狗;超时自动中止(`ask_user_question` 豁免)。 |
|
|
557
|
+
| `PI_WEB_STALL_NOTIFY_MS` | `180000`(3 分) | 流式运行完全没事件时给警告(不中止);`0` = 关。 |
|
|
558
|
+
| `PI_WEB_TERMINAL_IDLE_MS` | `15000` | AI 开过的终端静默这么久就催它去看一眼;`0` = 关。 |
|
|
559
|
+
| `PI_WEB_TERMINAL_IDLE_LINES` | `10` | 该催命消息回送的终端尾部行数(1–500)。 |
|
|
560
|
+
| `PI_WEB_INLINE_FILE_MAX` | `12288`(12KB) | 小于它且无工作区归属的上传文件被内联而不是只给路径。 |
|
|
561
|
+
| `PI_WEB_VISION_TIMEOUT_MS` | `90000` | 视觉桥整批转写的超时。 |
|
|
562
|
+
| `PI_WEB_UPLOAD_RETENTION_DAYS` | `14` | `<dataDir>/uploads/` 保留天数;`0` = 不清理。 |
|
|
563
|
+
| `PI_WEB_SHELL` | 自动 | 仅 Windows:node-pty 用哪个 shell(自动顺序:`PI_WEB_SHELL` → `$SHELL` → Git Bash → 随包 busybox → `%COMSPEC%` → PowerShell)。 |
|
|
564
|
+
| `PI_WEB_TABS` | 全部标签页 | 逗号分隔的标签页白名单(`chat,terminal,git,search,tasks,settings,plugins`);未列入的在服务端也被拒绝,`chat` 不可关。 |
|
|
565
|
+
| `PI_WEB_MANAGED` | 关 | `1`/`true` 声明实例由外部部署管理:自更新、装 pi CLI、装插件都被拒绝并说明原因,前端也隐藏入口。 |
|
|
566
|
+
| `PI_WEB_ALLOW_HOSTS` | 空 | 严格的主机名白名单(叠加在始终生效的同权威校验之上)。 |
|
|
567
|
+
| `PI_WEB_LOCALE` | 空 | 首访回退语言(显式选择与浏览器语言优先级更高)。 |
|
|
568
|
+
| `PI_WEB_LOCALE_BASE_URL` | GitHub raw | 语言包下载根 —— 指向镜像即可做离线/内网安装。 |
|
|
569
|
+
| `PI_WEB_PKG_ROOT` | 自动 | 显式指定包根目录(非标准安装位置时用)。 |
|
|
570
|
+
| `PI_CODING_AGENT_SESSION_DIR` | 空 | 让 pi 把转录扁平写入该目录(而非 `<agentDir>/sessions/--<cwd>--/`,会改变历史列表读到的内容)。 |
|
|
571
|
+
| `DSH_*` | — | DSH 运行时旋钮:`PI_WEB_DSH_RUNTIME`、`PI_WEB_DSH_DATA_DIR`、`PI_WEB_DSH_PATCH_DIR`、`PI_WEB_DSH_QUESTION_TIMEOUT_MS`、`PI_WEB_DSH_TOOL_TIMEOUT_MS`、`PI_WEB_DSH_SESSION_RETENTION_DAYS`、`PI_WEB_DSH_DEBUG`。 |
|
|
552
572
|
|
|
553
573
|
## 安全
|
|
554
574
|
|
|
@@ -626,13 +646,13 @@ server {
|
|
|
626
646
|
|
|
627
647
|
pi-web-ui 是一个小型开源项目 —— **你的贡献就是它成长的力量**。代码、插件、主题、文档、翻译、想法,统统欢迎;每一个合并的 PR 都会随下一次 `npm publish` 送达所有用户。❤️
|
|
628
648
|
|
|
629
|
-
| 贡献方式
|
|
630
|
-
|
|
|
631
|
-
| 🧩 **写插件**
|
|
632
|
-
| 🎨 **贡献主题**
|
|
633
|
-
| 💻 **修 bug / 加功能** | 在 [Issues](https://github.com/xing-shuyin/pi-web-ui/issues) 里挑一个,或提出新想法。Fork → 分支 → PR。代码约定见 `AGENTS.md`(Tab 缩进、i18n 双语 key、协议改动只动 `server/protocol.ts`)。
|
|
634
|
-
| 📖 **文档与翻译**
|
|
635
|
-
| 💡 **想法与反馈**
|
|
649
|
+
| 贡献方式 | 如何开始 |
|
|
650
|
+
| ---------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
651
|
+
| 🧩 **写插件** | 打造你自己的界面 tab + AI 工具。以 `plugins/demo-mailbox` 为最小模板(它兼作测试夹具),本地开发后既可开 PR 收录进[插件目录](#插件目录),也可独立发布。 |
|
|
652
|
+
| 🎨 **贡献主题** | 以 `themes/white.css`(浅色)或 `themes/cyberpunk.css`(深色)为纯调色板模板,调整 `:root` 配色 + `--term-*` + `.hljs`,用 `npm run dev` 验证后开 PR —— 完整步骤见[向仓库贡献主题](#向仓库贡献主题github)。 |
|
|
653
|
+
| 💻 **修 bug / 加功能** | 在 [Issues](https://github.com/xing-shuyin/pi-web-ui/issues) 里挑一个,或提出新想法。Fork → 分支 → PR。代码约定见 `AGENTS.md`(Tab 缩进、i18n 双语 key、协议改动只动 `server/protocol.ts`)。 |
|
|
654
|
+
| 📖 **文档与翻译** | 完善 README、补插件文档、改错别字,或帮忙把界面/文档翻译成更多语言。 |
|
|
655
|
+
| 💡 **想法与反馈** | 在 [Issues](https://github.com/xing-shuyin/pi-web-ui/issues) 或 [Discussions](https://github.com/xing-shuyin/pi-web-ui/discussions) 里开帖 —— 功能建议、bug 报告、界面优化点子、部署经验分享都欢迎。 |
|
|
636
656
|
|
|
637
657
|
**开 PR 前**,快速自检能让维护者更省心:
|
|
638
658
|
|