# Portability: UNIVERSAL
# Last validated: 2026-05-17
# Next review: 2027-05-17

BACH 提示生成器
---------------------

提示生成器是一个 GUI 板，用于创建、管理和
向 Claude 会话发送提示 - 手动或自动。

状态：功能正常（Web GUI，已实施服务）
处理程序：未注册（无 bach.py 集成）
服务：集线器/_services/prompt_generator/
GUI：gui/templates/prompt-generator.html（基于网络）
注意：桌面应用程序（prompt_manager.py、PyQt6）已被删除（v1.1.8）


概念
-------

该板提供系统范围的提示管理，具有以下功能：

  1.启动提示文本编辑器（带复位功能）
  2. 模板选择（系统/代理/自己）
  3. 四种发送选项
  4. 守护进程控制（调度）


发送选项（4 种模式）
----------------------

  1. 作为一项任务
     - 立即作为任务排队
     - 由下一个Claude会话异步处理
     - 不立即执行

  2. 直接会议
     - 立即开始新的克劳德会话
     - 通过快速输入（Ctrl+Alt+空格）发送提示。
     - 阻塞直到会话结束

  3. 复制文本
     - 将提示复制到剪贴板
     - 用户手动插入Claude
     - 发送前进行调整

  4. 守护进程控制
     - 自动提示执行
     - 可配置：间隔、阻塞时间、最大会话数
     - 单提示或多提示旋转


模板系统
---------------

  系统模板（不可编辑，用于重置）：
    -minimal.txt 基础：读取SKILL.md，执行bach.py
    - task.txt 带有 JSON 输出的任务执行
    - review.txt 代码审查与评分

  代理模板：
    - ati.txt 软件开发（ATI Agent）
    -tax.txt 会计（税务代理）
    - Maintenance.txt BACH系统维护

  自己的模板：
    - 用户创建/自定义提示
    - 存储在数据库（prompt_templates 表）


DAEMON CONTROL
----------------

自动化会话的高级选项：

  间隔：会话之间的分钟数（默认值：30）
  最大会话数：每次运行限制（0 = 无限制）
  封锁时间：休息时间的开始/结束（默认：晚上 10:00 - 上午 8:00）
  最长持续时间：最长。每次会话分钟数（默认值：15）

  模式：
    单一提示：始终相同的提示
    多重提示：通过不同模板轮换

  一行：只有 1 个会话同时处于活动状态（默认）


GUI 布局（gui/prompt_manager.py - 已实现）
---------------------------------------------------

  基于 PySide6 的深色主题管理器具有：
  - 选项卡 1：提示编辑器 + 模板（系统/代理/自定义）
  - 选项卡 2：守护进程控制（间隔、休息时间、配置文件）
  - 选项卡 3：模板管理
  - 选项卡 4：配置文件管理
  - 系统托盘图标
  - 单实例锁

  调用： python system/gui/prompt_manager.py


CLI 命令（当前）
---------------------

直接调用（服务脚本）：
  cd 系统/hub/_services/prompt_generator
  python Prompt_generator.py 列表
  python Prompt_generator.py 获取 <路径>
  python Prompt_generator.py 生成 <路径>
  python Prompt_generator.py 复制 <路径>
  python Prompt_generator.py 会话 [代理]
  python Prompt_generator.py 启动 [代理]
  python Prompt_generator.py 状态

启动 GUI：
  python system/gui/prompt_manager.py

BACH.PY 集成：
  失踪 - 没有注册处理程序！
  “python bach.py 提示列表”不起作用
  “python bach.py --prompt list”不起作用


定义：三个处理程序系统
--------------------------------

  ┌──────────────────────────────────────────────────────────────────┐
  │ 提示发生器 │
  ├──────────────────────────────────────────────────────────────────┤
  │ 创建、管理、发送提示 │
  │ 手动或自动 │
  │ 全系统范围内所有代理 │
  │ 处理程序：丢失（不在注册表中） │
  │ 服务：hub/_services/prompt_generator/prompt_generator.py │
  │ GUI: gui/prompt_manager.py (PySide6, 独立) │
  │ 守护进程：是 (session_daemon.py) │
  │ API：缺失（不在 bach_api.py 中） │
  └──────────────────────────────────────────────────────────────────┘

┌──────────────────────────────────────────────────────────────────┐
  │ 维护 (docs/help/maintenance.txt) │
  ├──────────────────────────────────────────────────────────────────┤
  │ 执行 shell/Python 命令（备份、清理） │
  │ 没有提示，只有命令 │
  │ 处理程序：hub/daemon.py（已注册） │
  │ 服务：gui/api/daemon_api.py + DB │
  │ GUI: /daemon (网络仪表板) │
  │ 守护进程：是（自己的进程） │
  └──────────────────────────────────────────────────────────────────┘

  ┌──────────────────────────────────────────────────────────────────┐
  │ 重复 (docs/help/recurring.txt) │
  ├──────────────────────────────────────────────────────────────────┤
  │ 创建任务作为提醒 │
  │ 无提示发送 │
  │ 处理程序：hub/recurring.py（已注册） │
  │ 服务：hub/_services/recurring/ │
  │ GUI：无（仅限 CLI）│
  │ 守护进程：NO（调用时检查）│
  └──────────────────── ────────────────── ──────────────────────────┘


技术基础
----------------

  服务文件夹：hub/_services/prompt_generator/
    ├── README.md 文档
    ├── config.json 配置（守护进程设置）
    ├──prompt_generator.py主要逻辑（CLI + API）
    ├── templates/ 模板文件夹
    │ ├── 系统/只读模板
    │ │ ├── 最小.txt
    │ │ ├── 任务.txt
    │ │ └── 评论.txt
    │ └── 代理/可编辑模板
    │ ├── ati.txt
    │ ├── 税.txt
    │ └── 维护.txt
    └── 配置文件/守护进程配置文件
        ├── ati.json
        └── 维护.json

  GUI：gui/prompt_manager.py（PySide6，独立）

  缺乏整合：
    - hub/中没有处理程序（不在注册表中）
    - 没有 bach_api 模块（bach_api.py 中缺少）
    - 通过“bach.py提示符”调用不可能


已知问题
-----------------

1。无 BACH.PY 集成
   - 服务可用，但不在 bach.py 注册表中
   - “python bach.py提示列表”→错误
   - 解决方法：直接服务调用（请参阅 CLI 命令）

2。没有 BACH_API 集成
   - bach_api.py 中没有“提示”模块
   - 库 API 不可用
   - 解决方法：直接导入服务

3.路径不一致
   - 帮助文件引用的技能/_services/（旧）
   - 实际上在 hub/_services/ （正确）

需要迁移：
  - 在 hub/prompt.py 中创建处理程序
  - 在注册表中注册（BaseHandler类）
  - 使用prompt = _HandlerProxy("prompt")


扩展bach_api.py
----------

另请参见
