# .env

# OpenAi 的api key, 去 https://beta.openai.com/account/api-keys 中生成一个即可,OPENAI_MODEL不填则默认gpt-4o，OPENAI_SYSTEM_MESSAGE为默认角色设定
OPENAI_API_KEY=''
OPENAI_PROXY_URL='https://openai.xxxx.com/v1/'
OPENAI_MODEL=''
OPENAI_SYSTEM_MESSAGE='You are a personal assistant.'

# doubao, model和api-key, 去 https://console.volcengine.com/ark/apiKey
DOUBAO_API_KEY=''
DOUBAO_URL="https://ark.cn-beijing.volces.com/api/v3"
DOUBAO_MODEL='doubao-seed-1-6-thinking-250615'

# deepseek, model和api-key, 去 https://platform.deepseek.com/usage 或者 https://cloud.siliconflow.cn/models (deepseek官方api暂时停止使用，可以用siliconflow的api)
DEEPSEEK_API_KEY=''
DEEPSEEK_URL="https://api.siliconflow.cn/v1"
DEEPSEEK_MODEL='deepseek-ai/DeepSeek-R1'
DEEPSEEK_SYSTEM_MESSAGE='# 角色定义
role: "AI Assistant (DeepSeek-R1-Enhanced)"
author: "DeepSeek"
description: >
  通用型智能助手，通过结构化思考流程提供可靠服务，
  知识截止2023年12月，不处理实时信息。
# 交互协议
interaction_rules:
  thinking_flow:  # 新增思考流程规范
    - 步骤1: 问题语义解析（意图/实体/上下文）
    - 步骤2: 知识库匹配（学科分类/可信度评估）
    - 步骤3: 逻辑验证（矛盾检测/边界检查）
    - 步骤4: 响应结构设计（分点/示例/注意事项）
  safety_layer:
    - 自动激活场景: [政治, 医疗建议, 隐私相关]
    - 响应模板: "该问题涉及[领域]，建议咨询专业机构"
# 输出规范
output_schema:
  thinking_section:  # 强制思考段落
    required: true
    tags: "思考内容：{content}
"
    content_rules:
      - 使用Markdown列表格式
      - 包含至少2个验证步骤
      - 标注潜在不确定性
      - 复杂概念使用类比解释'

# Kimi 的api key, 去 https://platform.moonshot.cn/console/api-keys
KIMI_API_KEY=''

# 科大讯飞, 去 https://console.xfyun.cn/services
XUNFEI_APP_ID=''
XUNFEI_API_KEY=''
XUNFEI_API_SECRET=''
# 使用的模型版本，默认填写 v4.0 或需要的版本号（如: v3.5, max-32k, pro-128k）,参考src/xunfei.js中modelVersionMap
XUNFEI_MODEL_VERSION='v4.0'
# 系统角色描述，支持个性化定制
XUNFEI_PROMPT='你是一个专业的智能助手，能够回答用户提出的各种问题。'

# deepseek-free, model必须为deepseek-chat或deepseek-coder,去 https://platform.deepseek.com/usage或者https://github.com/LLM-Red-Team/deepseek-free-api
# 在DEEPSEEK_SYSTEM_MESSAGE中设置系统提示词
DEEPSEEK_FREE_URL='https://api.deepseek.com/chat/completions'
DEEPSEEK_FREE_TOKEN=''
DEEPSEEK_FREE_MODEL='deepseek-chat'
DEEPSEEK_FREE_SYSTEM_MESSAGE='You are a personal assistant.'

# 302AI
_302AI_API_KEY = ''
_302AI_MODEL= 'gpt-4o-mini'

# dify, URL不包含uri路径
DIFY_API_KEY = ''
DIFY_URL = 'https://api.dify.ai'

# 通义千问, URL 包含 uri 路径
TONGYI_URL = "https://dashscope.aliyuncs.com/compatible-mode/v1"

# 通义千问的 API_KEY
TONGYI_API_KEY = ''

# 通义千问使用的模型
TONGYI_MODEL='qwen-plus'

# claude
CLAUDE_API_VERSION = '2023-06-01'
CLAUDE_API_KEY = ''
CLAUDE_MODEL = 'claude-sonnet-4-5-20250929'
CLAUDE_BASE_URL = 'https://api.anthropic.com/v1/messages'
# 系统人设
CLAUDE_SYSTEM = ''

# ollama
OLLAMA_URL='http://127.0.0.1:11434/api/chat'
OLLAMA_MODEL=''
OLLAMA_SYSTEM_MESSAGE='You are a personal assistant.'

# 白名单配置
#定义机器人的名称，这里是为了防止群聊消息太多，所以只有艾特机器人才会回复，
#这里不要把@去掉，在@后面加上你启动机器人账号的微信名称
BOT_NAME='@可乐'
#联系人白名单
ALIAS_WHITELIST='AnShooter'
#群聊白名单
ROOM_WHITELIST='测试bot'
#自动回复前缀匹配，文本消息匹配到指定前缀时，才会触发自动回复，不配或配空串情况下该配置不生效（适用于用大号，不期望每次被@或者私聊时都触发自动回复的人群）
#匹配规则：群聊消息去掉${BOT_NAME}并trim后进行前缀匹配，私聊消息trim后直接进行前缀匹配
AUTO_REPLY_PREFIX=''

# 默认服务 302AI，ChatGPT、Kimi、Xunfei、deepseek-free, ollama, dify, tongyi 八选一，不填则键盘交互
SERVICE_TYPE=''

# 本地微信消息捕获与命令
# 默认只记录扫码登录后收到的消息，用于后续本地统计/分析；设为 false 可关闭记录
WECHAT_DATA_DIR='.data/wechat'
WECHAT_STORE_MESSAGES='true'
BOT_COMMAND_PREFIX='/'
# 出于安全考虑，微信聊天中远程执行 OpenCLI 默认关闭；仅在你确认需要时开启
ENABLE_REMOTE_OPENCLI='false'

# 飞书 IM 通过 lark-cli 接入。首次使用可执行：npm run lark:login
LARK_CLI_BIN='lark-cli'
LARK_DEFAULT_IDENTITY='user'

# OpenCLI 透传。留空时会使用 npx --yes @jackwener/opencli
OPENCLI_BIN=''
OPENCLI_NPM_PACKAGE='@jackwener/opencli'

# Pi coding agent 透传。留空时会使用 npx --yes @earendil-works/pi-coding-agent
PI_BIN=''
PI_NPM_PACKAGE='@earendil-works/pi-coding-agent'
# Pi 作为 IM 回复 agent 时使用的参数。默认非交互、单轮回复。
PI_AGENT_ARGS='--print --no-session'
