-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconfig.py
More file actions
65 lines (49 loc) · 2.15 KB
/
Copy pathconfig.py
File metadata and controls
65 lines (49 loc) · 2.15 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
"""
config.py — 合并版配置(PyQt6 + LangGraph + Critter 功能)
"""
import os
import shutil
from dotenv import load_dotenv
load_dotenv(override=True) # .env wins over stale shell vars
# ── 文件路径 ──────────────────────────────────────────────
_BASE = os.path.expanduser("~/.openclaw/workspace/desktop-pet")
STATE_FILE = os.path.expanduser("~/.desktop-pet-state.json")
PET_AVATAR_FILE = os.path.join(_BASE, "data", "pet_avatar.png")
DIARY_COUNTS_FILE = os.path.join(_BASE, "diary_counts.json")
PET_LOG_FILE = os.path.join(_BASE, "pet_log.json")
# Resolve claude CLI from PATH; fall back to common homebrew path on Apple Silicon.
CLAUDE_CLI = shutil.which('claude') or '/opt/homebrew/bin/claude'
# ── PyQt6 宠物 & 动画 ─────────────────────────────────────
class Config:
# 宠物外观
DEFAULT_PET = "border_collie"
PET_SIZE = (150, 150)
PET_SCALE_ALERT = 2.0
# 动画
IDLE_STATE_SWITCH_INTERVAL = 30 # 秒
ANIMATION_FPS = 30
ALERT_RUN_SPEED = 15 # 像素/帧
# 主面板
MAIN_PANEL_WIDTH = 900
MAIN_PANEL_HEIGHT = 700
# AI
ENABLE_AI_AGENT = True
AI_MODEL = "claude-sonnet-4-5"
ANTHROPIC_API_KEY = os.getenv("ANTHROPIC_API_KEY", "")
# 功能开关
ENABLED_FEATURES = ["news_push", "timer"]
# 新闻
NEWS_CACHE_DURATION = 1800 # 秒
# 定时器
DEFAULT_TIMER_MINUTES = 10
# 宠物默认人设
DEFAULT_PET_NAME = '边牧'
DEFAULT_PET_PERSONALITY = '活泼'
DEFAULT_PET_CATCHPHRASE = '汪~'
DEFAULT_PET_EMOJI = '🐕'
# 主题
DEFAULT_THEME = 'light' # 'light' | 'dark'
# 聊天历史
MAX_CHAT_SESSIONS = 50
# Agent 触发关键词(包含这些词时走 LangGraph,否则走 Claude CLI)
AGENT_TRIGGER_KEYWORDS = ['帮我', '帮忙', '设置', '定一个', '查询', '查一下', '搜索']