prehandler.py 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. import config
  2. import logging
  3. import os
  4. from feishu_client import FeishuClient
  5. from coze_client import CozeClient
  6. # 配置日志
  7. logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
  8. if __name__ == "__main__":
  9. # --- 环境变量/配置信息加载 ---
  10. # 推荐使用环境变量加载敏感信息,而不是硬编码。
  11. # 例如:export FEISHU_APP_ID="your_id"
  12. # 或者从配置文件 (如 config.ini, .env 文件) 中加载
  13. # 飞书配置
  14. FEISHU_APP_ID = config.FEISHU_APP_ID
  15. FEISHU_APP_SECRET = config.FEISHU_APP_SECRET
  16. FEISHU_BASE_ID = config.FEISHU_BASE_ID
  17. FEISHU_TABLE_ID = config.FEISHU_TABLE_ID
  18. FEISHU_INPUT_FIELD = config.FEISHU_INPUT_FIELD # 你的飞书表格中用于输入的列名
  19. FEISHU_OUTPUT_FIELD = config.FEISHU_OUTPUT_FIELD # 你的飞书表格中用于输出的列名
  20. # Coze 配置
  21. COZE_API_KEY = config.COZE_API_KEY
  22. COZE_BOT_ID = config.COZE_BOT_ID # 例如: "7343685511394590740"
  23. # Coze 提示模板,请确保包含 {input_data} 占位符
  24. # 这是一个示例,你可以根据你的机器人功能设计更复杂的提示
  25. COZE_PROMPT_TEMPLATE = os.getenv("COZE_PROMPT_TEMPLATE", "请作为一位专业的编辑,总结以下文章的核心内容,要求言简意赅,200字以内: {input_data}")
  26. # --- 执行流程 ---
  27. if "YOUR_" in FEISHU_APP_ID or "YOUR_" in COZE_API_KEY:
  28. logging.error("⛔️ 请检查 main.py 或环境变量,确保所有 'YOUR_' 占位符都已替换为您的实际配置信息!⛔️")
  29. logging.error("流程未执行。")
  30. else:
  31. process_feishu_data_with_coze_flow(
  32. feishu_app_id=FEISHU_APP_ID,
  33. feishu_app_secret=FEISHU_APP_SECRET,
  34. feishu_base_id=FEISHU_BASE_ID,
  35. feishu_table_id=FEISHU_TABLE_ID,
  36. feishu_input_field_name=FEISHU_INPUT_FIELD,
  37. feishu_output_field_name=FEISHU_OUTPUT_FIELD,
  38. coze_api_key=COZE_API_KEY,
  39. coze_bot_id=COZE_BOT_ID,
  40. coze_prompt_template=COZE_PROMPT_TEMPLATE,
  41. max_records_to_process=10, # 每次运行最多处理10条记录
  42. overwrite_existing_output=True # 总是覆盖输出字段
  43. )