From 88279e915af769a1f6ea11a3b7aa3dd467130867 Mon Sep 17 00:00:00 2001 From: Codebuddy Date: Mon, 17 Aug 2026 09:29:39 +0800 Subject: [PATCH] =?utf8?q?feat:=20=E6=B7=BB=E5=8A=A0=E8=AE=BE=E8=AE=A1?= =?utf8?q?=E8=AF=B4=E6=98=8E/=E5=B8=AE=E5=8A=A9=E9=A1=B5=EF=BC=88/help?= =?utf8?q?=EF=BC=8C=E5=8F=AF=E6=89=93=E5=8D=B0=E4=B8=BA=20PDF=EF=BC=89?= =?utf8?q?=EF=BC=8C=E5=BA=94=E7=94=A8=E5=86=85=E3=80=8C=E2=9D=93=20?= =?utf8?q?=E5=B8=AE=E5=8A=A9=E3=80=8D=E6=8C=89=E9=92=AE=E5=85=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- backend/app.py | 10 +++ frontend/help.html | 171 ++++++++++++++++++++++++++++++++++++++++++++ frontend/index.html | 2 + 3 files changed, 183 insertions(+) create mode 100644 frontend/help.html diff --git a/backend/app.py b/backend/app.py index 915d299..b9bb272 100644 --- a/backend/app.py +++ b/backend/app.py @@ -453,6 +453,16 @@ async def index(): return HTMLResponse(load_html(), headers={"Cache-Control": "no-store"}) +# 设计说明 / 帮助页(独立静态 HTML,可从应用内“❓ 帮助”打开,支持打印为 PDF) +HELP_FILE = FRONTEND_DIR / "help.html" +@app.get("/help") +async def help_page(): + if not HELP_FILE.exists(): + return HTMLResponse("

帮助文档缺失

", status_code=404) + with open(HELP_FILE, "r", encoding="utf-8") as _f: + return HTMLResponse(_f.read(), headers={"Cache-Control": "no-store"}) + + @app.post("/api/login") async def api_login(request: Request): body = await request.json() diff --git a/frontend/help.html b/frontend/help.html new file mode 100644 index 0000000..dc41b66 --- /dev/null +++ b/frontend/help.html @@ -0,0 +1,171 @@ + + + + + +Codebuddy Web Console · 设计说明 + + + +
+
+
+

Codebuddy Web Console · 设计说明

+
通过浏览器远程使用 Codebuddy CLI 的 Web 控制台 · 多会话 / 全局技能 / 文件上传 / 移动端适配
+
+ +
+ +

一、整体架构

+ + +

二、页面与功能

+ +
+

1. 登录页

+
    +
  • 输入访问密码进入控制台(密码保存在浏览器 localStorage)。
  • +
+
+ +
+

2. 任务列表页(首页)

+

默认展示“启用中”的任务,可勾选“显示全部任务”查看包括已暂停的全部任务。

+

左侧 · 技能侧边栏(🧩 技能 全局)

+
    +
  • 上传:选择 skill 的 zip(须以单个 skill 目录为顶层,内含 SKILL.md),上传后对所有会话全局可见。
  • +
  • 技能列表卡片:每张卡片提供 更新编辑加载删除。 +
      +
    • 更新:用新 zip 覆盖同名 skill(按 zip 内声明名匹配,避免产生重复目录)。
    • +
    • 编辑:直接修改 SKILL.md 内容。
    • +
    • 加载:选择“运行中的会话”注入热加载通知(可多选,或一键“全部运行中的会话”);若无运行会话则技能已全局就位,下次打开自动发现。
    • +
    • 删除:移除该全局 skill。
    • +
    +
  • +
  • 📂 已上传文件:打开“已上传文件”管理弹窗(详见第 4 节)。
  • +
+

主区 · 任务卡片

+
    +
  • 展示:任务名、工作目录、状态、最近使用时间。
  • +
  • 状态指示:● 前台已登录⚙ 后台运行中⏸ 后台等待中⏳ 后台任务待确认⏸ 已暂停○ 空闲。
  • +
  • 操作:打开终端、重启会话、暂停/恢复、删除(可同时删除历史会话记录与工作目录)。
  • +
+

列表页每 5 秒自动刷新一次,实时反映各会话状态。

+
+ +
+

3. 终端页(/?task=<ID>)

+

顶部栏

+
    +
  • 连接状态指示灯 + 文本、任务名、工作目录。
  • +
  • 模型切换下拉(切换后重启会话以应用)。
  • +
  • 按钮:↻ 重启会话≡ 列表📋 粘贴🧩 技能❓ 帮助✕ 关闭。
  • +
+

终端输出区(xterm)

+
    +
  • 实时显示 CLI 输出;新输出自动滚动贴底。
  • +
  • 手动上滑查看历史时,右下角出现 ↓ 回到底部 按钮,点击即回到最新。
  • +
+

粘贴框(📋)

+
    +
  • 文本直接输入;Ctrl+Enter 发送到终端输入行(不自动提交,需自行回车)。
  • +
  • 📎 附件:支持上传 图片 / 视频 / zip / 任意格式 文件,单文件上限 5MB。
  • +
  • 待发送文件以 chip 展示(图标区分 🖼 图片 / 🎬 视频 / 📦 压缩包 / 📄 其他)。
  • +
  • 发送规则:图片包装为 <image_local_path>路径</image_local_path>;其它文件发送其本地路径文本,供命令行引用。
  • +
  • 粘贴框内“已上传文件”区:列出本次/历史上传文件,可单独删除。
  • +
+

技能弹窗(🧩,终端页内)

+
    +
  • 功能与列表页左侧技能侧边栏一致(上传/更新/编辑/加载/删除)。
  • +
+
+ +
+

4. 已上传文件弹窗

+

从列表页「📂 已上传文件」按钮打开,以表格管理所有上传文件:

+ + + + + + + + + + +
列说明
选择框每行可勾选;表头“全选”一键勾选全部。
文件名服务端存储的文件名。
上传时间文件写入时间(本地时间)。
所属会话任务上传时所在的终端会话名;历史文件(升级前上传)显示 —。
文件类型按扩展名/格式显示,如 .png / .zip / .mp4。
操作单条“删除”。
+
    +
  • 批量删除:勾选多个后点“删除所选”(带二次确认)。
  • +
  • 删除同时从服务端磁盘移除文件,并清理其会话归属索引。
  • +
+
+ +

三、移动端(iPad / 手机)适配

+ + +

四、快捷操作

+ + +

五、常见问题

+
+ Q:上传视频/zip 提示不支持或过大?
+ 服务端已内置“任意格式 + 5MB”支持;若仍报错,多为服务端尚未重启生效,重启 codebuddy-web.service 即可。 +
+
+ Q:已上传文件的“所属会话任务”是空/—?
+ 仅“升级后、从终端页新上传”的文件会记录所属会话;升级前上传的历史文件因当时未记录归属,故显示 —,无法反查。 +
+ +
+ Codebuddy Web Console · 设计说明(随仓库 frontend/help.html 提供) · 在应用内点「❓ 帮助」可随时打开 +
+
+ + diff --git a/frontend/index.html b/frontend/index.html index 069c0e4..ab739c6 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -236,6 +236,7 @@ body { position: fixed; top: 0; left: 0; right: 0; bottom: 0; width: 100%; heigh

任务清单

+
@@ -308,6 +309,7 @@ body { position: fixed; top: 0; left: 0; right: 0; bottom: 0; width: 100%; heigh + -- 2.43.0