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

CLI 约定（基于 v2.0 注册表）
=======================================

架构：
----------------------------------------
BACH 通过 core/registry.py 使用自动发现：
- hub/*.py 中的处理程序会自动找到
- 不再有静态处理程序映射（如 v1.x 中）
- 路由顺序：--handler → 内联命令 → 技能导出 →
  恢复备份 → 注册表 → 工具回退

标准模式（如 git、npm、docker）：
  bach SUBCOMMAND [args]     执行操作
  bach --HANDLER [args]      带 -- 前缀的处理程序

两个访问路径：
----------------------------------------
1. CLI（对于人类）：
   python bach.py 任务列表

2.库 API（用于 LLM/脚本 - 首选）：
   从 bach_api 导入任务
   task.list()

核心子命令（管理）：
----------------------------------------
  任务任务管理（添加、列表、完成、阻止、下一步）
  mem 工作内存（写入、读取、状态、存档）
  内存 扩展内存处理程序（事实、经验教训、存档）
  msg 消息传递系统（发送、列表、读取、ping）
  经验教训（添加、列表、搜索、存档）
  backup 数据库的备份
  恢复 从备份恢复
  dist 发行版和发布管理
  合作伙伴 合作伙伴网络（协调 Claude/Gemini/Ollama）
  会议会议管理和摘要

代理和专家（专业）：
----------------------------------------
  税务专家（税务局、截止日期、收据）
  ati ATI 代理（概念开发）
  abo 订阅服务（取消、合同）
  报告报告生成器（资助报告ICF）
  健康助理
  家庭预算管理
  保险 保险管理

服务和基础设施：
----------------------------------------
  GUI仪表板控制（启动、停止、状态）
  用于维护的调度程序后台服务（以前：守护进程）
  扫描输入扫描仪（收件箱、OCR）
  连接器 连接器管理（轮询、调度、设置守护进程）
  mount 挂载外部资源
  链工具链引擎（自动化）
  例行日常管理（早上/晚上/项目启动）
  重复性任务

自我扩展和挂钩：
----------------------------------------
  Skills create <name> --type <type> 支架新能力
                                       类型：工具、代理、专家、处理程序、服务
  技能重载 热重载（注册表+工具+技能）
  hooks status 所有钩子和监听器的状态
  hooks events 列出所有事件
  钩子日志 最后一次钩子执行
  hooks test <event> 发出测试事件
  插件列表 显示已加载的插件
  插件加载 <path> 从plugin.json加载插件
  plugins unload <name> 卸载插件
  插件创建 <name> 脚手架插件清单
  插件工具 显示所有插件工具

系统工具：
----------------------------------------
  维基知识库 (wiki/)
  内部脚本的工具管理
  tuev验证和测试系统
  用例测试用例（tuev 的一部分）
  时钟时间系统（现在、格式、解析）
  定时器 启动/停止定时器
  倒计时 创建倒计时
  beat 统一时间显示（时钟、定时器、倒计时、间隔）
  两个时间点之间的时间
  维护维护功能（数据库优化、日志清理）
  测试测试运行程序（冒烟、集成、完整）

HANDLER WITH --（扩展功能）：
----------------------------------------
  --startup 启动会话（初始化，--watch 进行轮询）
  --shutdown 结束会话（清理）
  --status 系统总体状态
  --help [topic] 显示主题/模块的帮助
  --memory 详细的内存处理程序（事实、教训）
  --db 数据库分析（bach.db 模式/统计）
  --tokens 代币成本控制
  --inject 工具注射系统
  --context 会话的上下文加载器
  --logs 系统日志分析(data/logs/)
  --docs 文档完整性检查
  --snapshot 冻结系统状态
  --trash 垃圾箱和恢复
  --fs 文件系统保护（检查、修复、状态）
  --connections 连接和 Actors-Model

内联命令（基于工具，无处理程序）：
----------------------------------------
fs 文件系统保护（检查、修复、分类、扫描）
  文件文件管理器（读、写、复制、移动、删除）
  ocr OCR 引擎（文档 ID 或 PDF 路径）
  llm 多 LLM 协议 (--partner=<名称>)
  映射调用图/依赖映射器

特殊情况：
----------------------------------------
  技能导出 带有依赖性解析的技能导出
  恢复备份 <文件> 恢复备份

接受两个变体：
----------------------------------------
由于历史原因，这些通常混合使用：
  bach partner list     = bach --partner list
  bach gui start        = bach --gui start

DID-YOU-MEAN（模糊匹配）：
----------------------------------------
如果存在拼写错误，BACH 建议类似的命令 (Levenshtein ≤2)：
  $ bach 合作伙伴列表→“您是说：合作伙伴吗？”
  $ bach 采取添加→“您的意思是：任务吗？”

工具回退：
----------------------------------------
如果未找到处理程序，BACH 会尝试使用 tools/:
  bach skill_export  → tools/skill_export.py
  bach backup_manager → tools/backup_manager.py

注册处理程序（截至 2026 年 3 月 4 日）：
----------------------------------------
通过自动发现的 109 个以上处理程序 (hub/*.py)：
abo、代理、ati、备份、节拍、报告、之间、日历、链、时钟、
连接、连接器、整合、联系人、上下文、倒计时、简历、
守护进程（=调度程序）、数据、db、dist、doc、docs、电子邮件、扩展、fs、health、gui、
家庭、健康检查、帮助、钩子、注入、长、课程、日志、维护、
mem、内存、安装、味精、通知、黑曜石、ollama、合作伙伴、路径、配置文件、
探查器、重复、反射、例行程序、扫描、会话、关闭、技能、
技能、智能家居、快照、来源、启动、状态、税收、同步、任务、
测试、计时器、令牌、工具、工具、垃圾、tuev、更新、用例、
保险，维基

另请参阅：
----------------------------------------
  帮助实践规则索引
  帮助命名 命名约定
  帮助编码 编码标准
  帮助演员演员模型（连接）
  帮助合作伙伴 合作伙伴简介
  help hooks 钩子框架（14 个事件）
  帮助自我延伸自我延伸系统
