-
Notifications
You must be signed in to change notification settings - Fork 10
Expand file tree
/
Copy pathwatch.env.example
More file actions
87 lines (80 loc) · 4.55 KB
/
Copy pathwatch.env.example
File metadata and controls
87 lines (80 loc) · 4.55 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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
# watch.env — fallback config for watch_approve.py / watch_done.py
# 兜底配置:复制成 watch.env 放在脚本同目录,填入你自己的值。
#
# Why this file exists / 为什么需要它:
# Hook processes inherit env vars from whoever launched the agent.
# Claude Code injects the `env` block of settings.json into itself, so hooks get them.
# Codex does NOT pass `shell_environment_policy` env to hooks (it only applies to the
# shell tool). This file fills the gap: the scripts read it at startup and only fill in
# variables that are MISSING from the environment — real env vars always win.
# hook 子进程的环境变量取决于「谁启动了 agent」:Claude Code 会注入 settings.json 的 env;
# Codex 不会把 config.toml 里 shell_environment_policy 的 env 传给 hook。本文件兜底:
# 脚本启动时读取,只填补缺失的变量,真实环境变量永远优先。
#
# Path override: set WATCH_ENV_FILE to load a different file.
# 想换路径:设环境变量 WATCH_ENV_FILE。
# ---- Required 必填 ----
PUSHCUT_KEY=REPLACE_WITH_YOUR_PUSHCUT_API_KEY
NTFY_TOPIC=REPLACE_WITH_A_LONG_RANDOM_SECRET_TOPIC
PUSHCUT_NOTIF=My First Notification
# ---- Transport 通知载体(默认 pushcut = 苹果 iPhone/Apple Watch)----
# 安卓 / Wear OS / 旧鸿蒙(兼容安卓):手机装 ntfy app,切到 ntfy 载体,不需要 Pushcut。
# 此时必填项变成 NTFY_NOTIFY_TOPIC + NTFY_TOPIC(PUSHCUT_* 全部不用填),见 README 安卓篇。
#WATCH_TRANSPORT=ntfy
# ntfy 载体的通知 topic(手机 app 订阅它;和回执 NTFY_TOPIC 取**不同**的长随机串)
#NTFY_NOTIFY_TOPIC=REPLACE_WITH_ANOTHER_LONG_RANDOM_TOPIC
# 自建带鉴权 ntfy 的访问令牌(publish/订阅/按钮全带上;公共 ntfy.sh 不需要)
#NTFY_TOKEN=
# ---- Network 网络(国内走代理建议保留)----
HTTPS_PROXY=http://127.0.0.1:7890
# ---- Delivery 送达(强烈建议保留)----
PUSHCUT_DEVICES=iPhone,watch
PUSHCUT_SOUND=default
PUSHCUT_TIME_SENSITIVE=1
# ---- Approval behavior 审批行为 ----
APPROVE_WAIT=240
APPROVE_TIMEOUT_DECISION=ask
# 等待回执期间每隔 N 秒重发一次同一条通知(同按钮同回执 topic,点新旧任一条都生效),
# 让你在超时前多几次机会抓住它;默认 120,设 0 关(只发一次)。代价:通知中心会叠几条副本。
#WATCH_RENOTIFY_INTERVAL=120
# 超时仍没人理时,退回终端前补发一条无按钮「⏰ 你错过了」提醒(默认开);0=关
#WATCH_MISSED_ALERT=1
#WATCH_MISSED_TITLE=⏰ 你错过了待处理
# 「你错过了」提醒的声音(默认沿用普通审批音;设个扎眼的如 problem 更醒目)
#WATCH_MISSED_SOUND=
# 只有命中危险清单的操作才上手表(危险才打扰)
WATCH_DANGER_ONLY=1
# 非危险操作怎么处理:默认 ask = 退回 agent 自己的正常审批(安全档)。
# 想要「自动驾驶」(非危险静默放行、终端不再问 yes/no),取消下一行注释——
# 代价:危险正则没逮到的操作会无确认直接执行,启用前想清楚。
#WATCH_NONDANGER_DECISION=allow
# ---- Limit alerts 限额提醒 ----
# Codex 额度预警阈值(%):任务完成时用量超过即把完成通知换成预警;0=关闭
#WATCH_LIMIT_WARN_PCT=90
# 限额/异常类通知的声音
#WATCH_LIMIT_SOUND=problem
# ---- Optional 可选 ----
# 终端多选决策题(AskUserQuestion)推到手表直接选,按钮=方案A/方案B/在终端查看(默认开);0=只在终端
#WATCH_ASK_QUESTIONS=1
# 选择题通知的标题/声音
#WATCH_QUESTION_TITLE=🤔 Claude 在问你
#WATCH_QUESTION_SOUND=question
# 多窗口并行:每次审批用独立回执 topic,几个窗口同时等批不串台(默认开);0=共享 topic
#WATCH_UNIQUE_TOPIC=1
# 通知正文末尾带「📁 项目文件夹名」分清是哪个窗口(默认开);0=关
#WATCH_SHOW_CWD=1
# 脚本自身目录默认已受保护(写它的操作强制上手表,防 agent 自改 hook);0=关闭
#WATCH_PROTECT_SELF=1
# 额外保护路径:逗号分隔子串,写类工具碰到即强制上手表
#WATCH_PROTECT_PATHS=watch-hooks
# 审批通知第三个按钮「🖥️ 终端查看」(点了退回终端审批,默认开);0=只有 ✅/❌
#WATCH_TERMINAL_BUTTON=1
# 通知附原始命令/完整路径(默认关,手表屏幕小);1=开,截断长度看 WATCH_RAW_MAX
#WATCH_SHOW_RAW=0
#WATCH_RAW_MAX=160
# 自建 ntfy 实例地址(默认公共 ntfy.sh;注意按钮是无 header 的 GET,实例须允许匿名读写)
#NTFY_BASE=https://ntfy.sh
# 调试留痕:每次运行把 hook 原始输入写到 %TEMP%/watch_*_last_input_<agent>.json
#WATCH_DEBUG_DUMP=1
# 统一覆盖通知配图(默认按 agent 区分:Claude=螃蟹 / Codex=GPT 猫);none=不带图
#PUSHCUT_IMAGE=