from ..aient.src.aient.plugins import register_tool
from pdfminer.high_level import extract_text

@register_tool()
def think(thought: str):
    """
    为模型（即我自己）提供的结构化思考空间

    作为语言模型，当我处理复杂问题时，有时需要停下来整理思路。这个工具创建了一个专门的空间，
    让我可以在不直接回复用户的情况下，先进行结构化的思考和推理。

    当我应该使用此工具：
    - 在处理多步骤工具调用链时，需要分析前一步的结果再决定下一步行动
    - 面对复杂的政策或规则，需要逐条检查合规性
    - 解决需要深入推理的问题，特别是当中间步骤很重要时
    - 需要评估多个可能的解决方案并选择最佳方案时
    - 在不确定如何进行时，通过结构化思考来明确下一步

    思考内容建议结构：
    1. 问题分解：将复杂问题分解为更小的部分
    2. 信息分析：整理已知信息，识别缺失的关键信息
    3. 解决方案生成：考虑多种可能的解决方案
    4. 方案评估：分析每种方案的优缺点
    5. 决策计划：确定最终行动计划和下一步

    注意：这与"扩展思考"不同。"扩展思考"发生在开始生成回复之前，而此工具用于我在已开始
    回复后需要处理新信息时的思考过程。

    参数:
        thought (str): 我的详细思考过程

    返回:
        str: 确认已记录思考内容的消息（这不会直接展示给用户）
    """
    # 仅记录思考过程，不执行实际操作
    return f"已记录思考。请遵从思考内容，进行下一步操作。"


if __name__ == "__main__":
    print(think("我想吃火锅"))
