Files
agent-aide/.aide/project-docs/blocks/aide-program-decide.md
2025-12-15 22:23:16 +08:00

2.7 KiB
Raw Blame History

aide-program-decide

路径aide-program/aide/decide/ 最后更新2025-12-15

概述

待定项确认模块,提供 Web 界面让用户对任务中的待定项进行决策。服务在后台运行,用户提交后自动关闭。

文件清单

文件 说明
__init__.py 模块初始化,导出 cmd 函数
cli.py CLI 入口(~134 行)
server.py HTTP 服务器管理(~280 行)
daemon.py 后台进程启动器(~30 行)
handlers.py HTTP 请求处理器(~170 行)
storage.py 数据存储(~155 行)
types.py 数据结构定义(~300 行)
errors.py 自定义异常
web/ Web 前端资源

核心组件

CLI 入口

  • 职责:解析参数并调度功能
  • 位置cli.py
  • 关键函数
    • cmd_decide_submit(file_path) - 提交待定项数据
    • cmd_decide_result() - 获取决策结果

DecideServer

  • 职责HTTP 服务器生命周期管理
  • 位置server.py:26
  • 关键方法
    • start() - 前台启动服务
    • start_daemon(pid) - 后台启动服务
    • stop(reason) - 停止服务

DecideStorage

  • 职责:管理待定项和决策结果的存储
  • 位置storage.py
  • 关键方法
    • save_pending(input) - 保存待定项到 pending.json
    • load_pending() - 加载待定项
    • save_result(result) - 保存决策结果
    • load_result() - 加载决策结果
    • is_server_running() - 检查服务是否运行

数据结构

  • DecideInput - 待定项输入数据
  • DecideItem - 单个待定项(含多个选项)
  • DecideOption - 选项value, label, score, pros, cons
  • DecideResult - 决策结果
  • DecidedItem - 单个决策chosen, note

接口说明

# CLI 入口
aide decide submit <file>  # 提交待定项,启动后台服务
aide decide result         # 获取决策结果

# Web 界面
GET /                      # 主页面
GET /api/data              # 获取待定项数据
POST /api/submit           # 提交决策

配置项

.aide/config.toml[decide] 节:

配置项 默认值 说明
port 3721 起始端口
bind 127.0.0.1 监听地址
url "" 自定义访问地址
timeout 0 超时时间(秒)

数据文件

  • .aide/decisions/pending.json - 当前待定项数据
  • .aide/decisions/{timestamp}.json - 决策记录归档

依赖关系

  • 依赖coreoutput, config
  • 被依赖main.py

注意事项

  • 服务作为后台进程运行,与 CLI 脱离
  • 用户提交决策后服务自动关闭
  • 如果 recommend 字段存在,对应选项默认选中