oh-langfuse 0.1.53 → 0.1.54
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +142 -142
- package/bin/cli.js +425 -425
- package/codex_langfuse_notify.py +517 -517
- package/langfuse_hook.py +581 -581
- package/package.json +1 -1
- package/scripts/auto-update-runtime.mjs +190 -190
- package/scripts/codex-langfuse-check.mjs +81 -81
- package/scripts/codex-langfuse-setup.mjs +331 -331
- package/scripts/langfuse-check.mjs +180 -180
- package/scripts/langfuse-setup.mjs +341 -341
- package/scripts/log-filter-utils.mjs +26 -26
- package/scripts/metrics-utils.mjs +377 -377
- package/scripts/opencode-langfuse-setup.mjs +968 -964
- package/scripts/real-self-verify.mjs +621 -621
- package/scripts/runtime-state-utils.mjs +53 -53
- package/scripts/update-langfuse-runtime.mjs +260 -260
- package/scripts/update-utils.mjs +73 -73
package/README.md
CHANGED
|
@@ -1,142 +1,142 @@
|
|
|
1
|
-
# oh-langfuse
|
|
2
|
-
|
|
3
|
-
`oh-langfuse` 鏄敤浜庣粰 Claude Code銆丱penCode 鍜?Codex 閰嶇疆 Langfuse 杩借釜鐨勫懡浠よ宸ュ叿銆傚畠鎻愪緵浜や簰寮忓畨瑁呭悜瀵硷紝涔熸敮鎸?`setup` / `check` 鐩存帴鍛戒护锛屾柟渚垮湪鐢ㄦ埛鏈哄櫒涓婂畨瑁呫€佷慨澶嶅拰鏍¢獙閰嶇疆銆?
|
|
4
|
-
褰撳墠 npm 鐗堟湰锛歚0.1.41`
|
|
5
|
-
|
|
6
|
-
## 鑳藉仛浠€涔?
|
|
7
|
-
- 缁?Claude Code 瀹夎 `Stop` hook锛屾妸浼氳瘽浜嬩欢鍐欏叆 Langfuse銆?- 缁?OpenCode 瀹夎骞?patch `opencode-plugin-langfuse`锛屽紑鍚?OpenTelemetry銆?- 缁?Codex 瀹夎 `notify` hook锛屽閲忚鍙?session JSONL 骞跺啓鍏?Langfuse銆?- 瀹夎瀹屾垚鍚庤嚜鍔ㄦ墽琛屽搴?`check`锛屽敖鏃╁彂鐜伴厤缃己澶便€?- 鏍¢獙鍛樺伐鍙锋牸寮忥紝蹇呴』鍖归厤 `^[a-z](?:\d{8}|wx\d{7})$`锛屼緥濡?`h00613222` 鎴?`hwx1234567`銆?
|
|
8
|
-
## 蹇€熶娇鐢?
|
|
9
|
-
寤鸿濮嬬粓甯?`@latest`锛岄伩鍏?npx 浣跨敤鏈湴鏃х紦瀛橈細
|
|
10
|
-
|
|
11
|
-
```bash
|
|
12
|
-
npx oh-langfuse@latest
|
|
13
|
-
npx oh-langfuse@latest setup
|
|
14
|
-
npx oh-langfuse@latest check
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
涔熷彲浠ユ寚瀹氱洰鏍囷細
|
|
18
|
-
|
|
19
|
-
```bash
|
|
20
|
-
npx oh-langfuse@latest setup claude
|
|
21
|
-
npx oh-langfuse@latest setup opencode
|
|
22
|
-
npx oh-langfuse@latest setup codex
|
|
23
|
-
|
|
24
|
-
npx oh-langfuse@latest check claude
|
|
25
|
-
npx oh-langfuse@latest check opencode
|
|
26
|
-
npx oh-langfuse@latest check codex
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
## 鑷姩鏇存柊
|
|
30
|
-
|
|
31
|
-
瀹夎鎴栨洿鏂?runtime 鍚庯紝宸ュ叿浼氬湪 `~/.config/oh-langfuse/runtime.json` 璁板綍 Claude Code / OpenCode / Codex 褰撳墠鍐欏叆鏈満 runtime 鐨?`oh-langfuse` 鐗堟湰銆?
|
|
32
|
-
OpenCode 鐢熸垚鐨?`launch-opencode-langfuse.*` 浼氬湪鍚姩 agent 鍓嶆墽琛屼竴娆℃洿鏂版娴嬶細濡傛灉 npm 涓婄殑 `oh-langfuse@latest` 楂樹簬鏈満 runtime 鐗堟湰锛屼細鎻愮ず鏄惁鏇存柊锛涚敤鎴风‘璁ゅ悗鎵嶄細杩愯 `npx oh-langfuse@latest update opencode`銆侰laude Code 鍜?Codex 涔熶細鐢熸垚瀵瑰簲 launcher锛?
|
|
33
|
-
OpenCode setup 杩樹細鐢熸垚 `~/.config/opencode/bin/opencode` / `opencode.cmd` 鍛戒护鍖呰鍣紝骞舵妸璇ョ洰褰曞啓鍏ョ敤鎴?PATH銆傛柊寮€缁堢鍚庣洿鎺ヨ繍琛?`opencode`锛屼細鍏堢敤杞婚噺鑴氭湰妫€娴?`oh-langfuse` runtime 鏄惁闇€瑕佹洿鏂帮紝鍐嶈浆鍙戝埌鐪熷疄 OpenCode CLI銆備负浜嗛伩鍏?Windows 涓嬪湪 agent 鍚姩閾捐矾閲屽祵濂楄繍琛?Node/npm installer 瀵艰嚧鍚姩宕╂簝锛宍opencode` 鍛戒护鍙仛妫€娴嬪拰鎻愮ず锛涢渶瑕佹洿鏂版椂璇峰叧闂?agent 鍚庤繍琛屾彁绀轰腑鐨?`npx oh-langfuse@latest update opencode`銆?
|
|
34
|
-
- `~/.claude/launch-claude-langfuse.cmd` / `~/.claude/launch-claude-langfuse.sh`
|
|
35
|
-
- `~/.codex/launch-codex-langfuse.cmd` / `~/.codex/launch-codex-langfuse.sh`
|
|
36
|
-
|
|
37
|
-
濡傛灉鐩存帴杩愯绯荤粺鍘熷鐨?`claude` / `codex` 鍛戒护锛屽伐鍏蜂笉浼氬己琛屾浛鎹㈣鍛戒护锛涢渶瑕佷娇鐢ㄤ笂杩?launcher 鎵嶈兘鍋氬埌鍚姩鍓嶆娴嬪苟鎻愮ず鏇存柊銆備篃鍙互鎵嬪姩杩愯锛?
|
|
38
|
-
```bash
|
|
39
|
-
npx oh-langfuse@latest auto-update opencode
|
|
40
|
-
npx oh-langfuse@latest auto-update claude
|
|
41
|
-
npx oh-langfuse@latest auto-update codex
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
## Skill 使用量统计
|
|
45
|
-
|
|
46
|
-
工具会把 skill 使用汇总写入每次交互的 `Agent Turn` observation,不再额外生成 `Skill Use` observation。
|
|
47
|
-
|
|
48
|
-
```text
|
|
49
|
-
Observation Name: Agent Turn
|
|
50
|
-
metadata.skill_use_count: 本轮 skill 使用总次数
|
|
51
|
-
metadata.unique_skill_count: 本轮不同 skill 数量
|
|
52
|
-
metadata.repeated_skill_count: 本轮重复 skill 使用次数
|
|
53
|
-
metadata.skill_names: 去重后的 skill 名称列表
|
|
54
|
-
metadata.skill_names_all: 按使用顺序记录的 skill 名称列表
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
Dashboard 中统计全部 skill 使用量可配置:
|
|
58
|
-
|
|
59
|
-
```text
|
|
60
|
-
View: Observations
|
|
61
|
-
Metric: Sum skill_use_count
|
|
62
|
-
Filter: Observation Name equals Agent Turn
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
如果当前 Langfuse Dashboard 支持 metadata 维度,可用 `metadata.skill_names` 或导出数据中的 `metadata.skill_names_all` 按 skill 聚合。`skill_names_json`、`skill_names_all_json` 和 `skill_use_events_json` 不再写入,避免和数组字段重复。
|
|
66
|
-
鏈湴寮€鍙戣繍琛岋細
|
|
67
|
-
|
|
68
|
-
```bash
|
|
69
|
-
npm install
|
|
70
|
-
npm start
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
## 浜や簰寮忚彍鍗?
|
|
74
|
-
杩愯 `npx oh-langfuse@latest` 浼氭墦寮€浜や簰寮忚彍鍗曪細
|
|
75
|
-
|
|
76
|
-
- `Up` / `Down` 绉诲姩閫夐」銆?- 鏁板瓧閿揩閫熷畾浣嶃€?- `Space` 鍕鹃€夋垨鍙栨秷銆?- `Enter` 纭銆?- `q` 鎴?`Esc` 閫€鍑恒€?
|
|
77
|
-
澶氶€夎彍鍗曢粯璁や笉鍕鹃€変换浣曠洰鏍囷紝閬垮厤璇銆傜粓绔笉鏀寔鍘熷鎸夐敭杈撳叆鏃讹紝浼氳嚜鍔ㄩ檷绾т负鏁板瓧杈撳叆妯″紡銆?
|
|
78
|
-
## OpenCode 璇存槑
|
|
79
|
-
|
|
80
|
-
OpenCode 瀹夎浼氬啓鍏ワ細
|
|
81
|
-
|
|
82
|
-
- `~/.config/opencode/opencode.json`
|
|
83
|
-
- `~/.config/opencode/plugins/opencode-plugin-langfuse`
|
|
84
|
-
- `~/.config/opencode-plugin-langfuse/config.json`
|
|
85
|
-
- Windows 涓嬬殑 `~/.config/opencode/launch-opencode-langfuse.cmd`
|
|
86
|
-
- Linux/macOS 涓嬬殑 `~/.config/opencode/launch-opencode-langfuse.sh`
|
|
87
|
-
|
|
88
|
-
Windows 涓嬪畨瑁呭櫒浼氬皾璇曞啓鍏ョ敤鎴风骇 `LANGFUSE_PUBLIC_KEY`銆乣LANGFUSE_SECRET_KEY`銆乣LANGFUSE_BASEURL`銆傝繖浜涘彉閲忓褰撳墠宸茬粡鎵撳紑鐨勭粓绔笉浼氱珛鍗崇敓鏁堬紝闇€瑕佹柊寮€缁堢锛屾垨鑰呬娇鐢ㄧ敓鎴愮殑 launcher 鍚姩 OpenCode銆?
|
|
89
|
-
`check opencode` 宸叉寜瀹為檯鎯呭喌澶勭悊 Windows锛氬鏋滃綋鍓嶇粓绔繕鐪嬩笉鍒?`LANGFUSE_*`锛屼絾鐢ㄦ埛绾х幆澧冨彉閲忓凡鍐欏叆锛屾垨 launcher 宸茬敓鎴愶紝浼氭樉绀?OpenCode 浠嶆湁鍙敤鐨?Langfuse 鐜鍙橀噺鏉ユ簮锛屼笉鍐嶆妸杩欑鎯呭喌璇垽涓哄畨瑁呭け璐ャ€?
|
|
90
|
-
WSL 鐢ㄦ埛璇风洿鎺ュ湪 WSL shell 涓畨瑁呭拰妫€鏌ワ細
|
|
91
|
-
|
|
92
|
-
```bash
|
|
93
|
-
npx oh-langfuse@latest setup opencode --userId=h00613222 --yes
|
|
94
|
-
npx oh-langfuse@latest check opencode
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
涓嶄細鍋?Windows 鍒?WSL 鐨勮浆鍙戯紱鍦?WSL 涓繍琛屾椂锛岄厤缃啓鍏?WSL 鐢ㄦ埛鑷繁鐨?`$HOME/.config/opencode`銆?
|
|
98
|
-
## Claude Code 璇存槑
|
|
99
|
-
|
|
100
|
-
Claude Code 瀹夎浼氾細
|
|
101
|
-
|
|
102
|
-
- 瀹夎 `langfuse_hook.py`
|
|
103
|
-
- 鍒涘缓 `~/.claude/langfuse-venv`
|
|
104
|
-
- 瀹夎 Python 鍖?`langfuse`
|
|
105
|
-
- 鍚堝苟鏇存柊 `~/.claude/settings.json`
|
|
106
|
-
- 閰嶇疆 `Stop` hook
|
|
107
|
-
|
|
108
|
-
Linux 濡傛灉缂哄皯 venv 鏀寔锛岃鏍规嵁鎻愮ず瀹夎 `python3-venv` 鎴栧搴?Python 鐗堟湰鐨?venv 鍖呫€?
|
|
109
|
-
## Codex 璇存槑
|
|
110
|
-
|
|
111
|
-
Codex 瀹夎浼氾細
|
|
112
|
-
|
|
113
|
-
- 瀹夎 `codex_langfuse_notify.py`
|
|
114
|
-
- 鍒涘缓 `~/.codex/langfuse-venv`
|
|
115
|
-
- 鍐欏叆 `~/.codex/langfuse/config.json`
|
|
116
|
-
- 鏇存柊 `~/.codex/config.toml` 椤跺眰 `notify`
|
|
117
|
-
|
|
118
|
-
閰嶇疆鍚庨渶瑕侀噸鍚?Codex銆俷otify hook 浼氬閲忚鍙?`~/.codex/sessions/**/*.jsonl`锛屾妸鏂扮殑 user銆乤ssistant銆乼ool銆乼oken 浜嬩欢杞崲涓?Langfuse observation锛屽苟鎶婅鍙栧亸绉昏褰曞埌 `~/.codex/langfuse/state.json`銆?
|
|
119
|
-
## 鐜鍙橀噺
|
|
120
|
-
|
|
121
|
-
| 鍙橀噺 | 浣滅敤 |
|
|
122
|
-
| --- | --- |
|
|
123
|
-
| `LANGFUSE_BASEURL` / `LANGFUSE_HOST` | Langfuse 鏈嶅姟鍦板潃 |
|
|
124
|
-
| `LANGFUSE_PUBLIC_KEY` | Langfuse public key |
|
|
125
|
-
| `LANGFUSE_SECRET_KEY` | Langfuse secret key |
|
|
126
|
-
| `LANGFUSE_USER_ID` / `CC_USER_ID` | 鐢ㄦ埛鏍囪瘑锛屽繀椤诲尮閰嶅憳宸ュ彿瑙勫垯 |
|
|
127
|
-
| `CODEX_HOME` | 鑷畾涔?Codex home 鐩綍 |
|
|
128
|
-
| `OPENCODE_SKIP_PLUGIN_INSTALL` | 璺宠繃 OpenCode npm 鎻掍欢瀹夎 |
|
|
129
|
-
| `OPENCODE_NPM_REGISTRY` | OpenCode 鎻掍欢 npm 瀹夎婧?|
|
|
130
|
-
|
|
131
|
-
Secret key 涓嶄細鍦ㄤ氦浜掑紡鐣岄潰涓槑鏂囧睍绀恒€?
|
|
132
|
-
## 甯哥敤缁存姢鍛戒护
|
|
133
|
-
|
|
134
|
-
```bash
|
|
135
|
-
npm run check
|
|
136
|
-
npm pack --dry-run
|
|
137
|
-
```
|
|
138
|
-
|
|
139
|
-
鍙戝竷鍖呮毚闇蹭袱涓懡浠わ細
|
|
140
|
-
|
|
141
|
-
- `oh-langfuse`
|
|
142
|
-
- `code-tool-langfuse`锛屽吋瀹规棫鍏ュ彛
|
|
1
|
+
# oh-langfuse
|
|
2
|
+
|
|
3
|
+
`oh-langfuse` 鏄敤浜庣粰 Claude Code銆丱penCode 鍜?Codex 閰嶇疆 Langfuse 杩借釜鐨勫懡浠よ宸ュ叿銆傚畠鎻愪緵浜や簰寮忓畨瑁呭悜瀵硷紝涔熸敮鎸?`setup` / `check` 鐩存帴鍛戒护锛屾柟渚垮湪鐢ㄦ埛鏈哄櫒涓婂畨瑁呫€佷慨澶嶅拰鏍¢獙閰嶇疆銆?
|
|
4
|
+
褰撳墠 npm 鐗堟湰锛歚0.1.41`
|
|
5
|
+
|
|
6
|
+
## 鑳藉仛浠€涔?
|
|
7
|
+
- 缁?Claude Code 瀹夎 `Stop` hook锛屾妸浼氳瘽浜嬩欢鍐欏叆 Langfuse銆?- 缁?OpenCode 瀹夎骞?patch `opencode-plugin-langfuse`锛屽紑鍚?OpenTelemetry銆?- 缁?Codex 瀹夎 `notify` hook锛屽閲忚鍙?session JSONL 骞跺啓鍏?Langfuse銆?- 瀹夎瀹屾垚鍚庤嚜鍔ㄦ墽琛屽搴?`check`锛屽敖鏃╁彂鐜伴厤缃己澶便€?- 鏍¢獙鍛樺伐鍙锋牸寮忥紝蹇呴』鍖归厤 `^[a-z](?:\d{8}|wx\d{7})$`锛屼緥濡?`h00613222` 鎴?`hwx1234567`銆?
|
|
8
|
+
## 蹇€熶娇鐢?
|
|
9
|
+
寤鸿濮嬬粓甯?`@latest`锛岄伩鍏?npx 浣跨敤鏈湴鏃х紦瀛橈細
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
npx oh-langfuse@latest
|
|
13
|
+
npx oh-langfuse@latest setup
|
|
14
|
+
npx oh-langfuse@latest check
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
涔熷彲浠ユ寚瀹氱洰鏍囷細
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
npx oh-langfuse@latest setup claude
|
|
21
|
+
npx oh-langfuse@latest setup opencode
|
|
22
|
+
npx oh-langfuse@latest setup codex
|
|
23
|
+
|
|
24
|
+
npx oh-langfuse@latest check claude
|
|
25
|
+
npx oh-langfuse@latest check opencode
|
|
26
|
+
npx oh-langfuse@latest check codex
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## 鑷姩鏇存柊
|
|
30
|
+
|
|
31
|
+
瀹夎鎴栨洿鏂?runtime 鍚庯紝宸ュ叿浼氬湪 `~/.config/oh-langfuse/runtime.json` 璁板綍 Claude Code / OpenCode / Codex 褰撳墠鍐欏叆鏈満 runtime 鐨?`oh-langfuse` 鐗堟湰銆?
|
|
32
|
+
OpenCode 鐢熸垚鐨?`launch-opencode-langfuse.*` 浼氬湪鍚姩 agent 鍓嶆墽琛屼竴娆℃洿鏂版娴嬶細濡傛灉 npm 涓婄殑 `oh-langfuse@latest` 楂樹簬鏈満 runtime 鐗堟湰锛屼細鎻愮ず鏄惁鏇存柊锛涚敤鎴风‘璁ゅ悗鎵嶄細杩愯 `npx oh-langfuse@latest update opencode`銆侰laude Code 鍜?Codex 涔熶細鐢熸垚瀵瑰簲 launcher锛?
|
|
33
|
+
OpenCode setup 杩樹細鐢熸垚 `~/.config/opencode/bin/opencode` / `opencode.cmd` 鍛戒护鍖呰鍣紝骞舵妸璇ョ洰褰曞啓鍏ョ敤鎴?PATH銆傛柊寮€缁堢鍚庣洿鎺ヨ繍琛?`opencode`锛屼細鍏堢敤杞婚噺鑴氭湰妫€娴?`oh-langfuse` runtime 鏄惁闇€瑕佹洿鏂帮紝鍐嶈浆鍙戝埌鐪熷疄 OpenCode CLI銆備负浜嗛伩鍏?Windows 涓嬪湪 agent 鍚姩閾捐矾閲屽祵濂楄繍琛?Node/npm installer 瀵艰嚧鍚姩宕╂簝锛宍opencode` 鍛戒护鍙仛妫€娴嬪拰鎻愮ず锛涢渶瑕佹洿鏂版椂璇峰叧闂?agent 鍚庤繍琛屾彁绀轰腑鐨?`npx oh-langfuse@latest update opencode`銆?
|
|
34
|
+
- `~/.claude/launch-claude-langfuse.cmd` / `~/.claude/launch-claude-langfuse.sh`
|
|
35
|
+
- `~/.codex/launch-codex-langfuse.cmd` / `~/.codex/launch-codex-langfuse.sh`
|
|
36
|
+
|
|
37
|
+
濡傛灉鐩存帴杩愯绯荤粺鍘熷鐨?`claude` / `codex` 鍛戒护锛屽伐鍏蜂笉浼氬己琛屾浛鎹㈣鍛戒护锛涢渶瑕佷娇鐢ㄤ笂杩?launcher 鎵嶈兘鍋氬埌鍚姩鍓嶆娴嬪苟鎻愮ず鏇存柊銆備篃鍙互鎵嬪姩杩愯锛?
|
|
38
|
+
```bash
|
|
39
|
+
npx oh-langfuse@latest auto-update opencode
|
|
40
|
+
npx oh-langfuse@latest auto-update claude
|
|
41
|
+
npx oh-langfuse@latest auto-update codex
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Skill 使用量统计
|
|
45
|
+
|
|
46
|
+
工具会把 skill 使用汇总写入每次交互的 `Agent Turn` observation,不再额外生成 `Skill Use` observation。
|
|
47
|
+
|
|
48
|
+
```text
|
|
49
|
+
Observation Name: Agent Turn
|
|
50
|
+
metadata.skill_use_count: 本轮 skill 使用总次数
|
|
51
|
+
metadata.unique_skill_count: 本轮不同 skill 数量
|
|
52
|
+
metadata.repeated_skill_count: 本轮重复 skill 使用次数
|
|
53
|
+
metadata.skill_names: 去重后的 skill 名称列表
|
|
54
|
+
metadata.skill_names_all: 按使用顺序记录的 skill 名称列表
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Dashboard 中统计全部 skill 使用量可配置:
|
|
58
|
+
|
|
59
|
+
```text
|
|
60
|
+
View: Observations
|
|
61
|
+
Metric: Sum skill_use_count
|
|
62
|
+
Filter: Observation Name equals Agent Turn
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
如果当前 Langfuse Dashboard 支持 metadata 维度,可用 `metadata.skill_names` 或导出数据中的 `metadata.skill_names_all` 按 skill 聚合。`skill_names_json`、`skill_names_all_json` 和 `skill_use_events_json` 不再写入,避免和数组字段重复。
|
|
66
|
+
鏈湴寮€鍙戣繍琛岋細
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
npm install
|
|
70
|
+
npm start
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## 浜や簰寮忚彍鍗?
|
|
74
|
+
杩愯 `npx oh-langfuse@latest` 浼氭墦寮€浜や簰寮忚彍鍗曪細
|
|
75
|
+
|
|
76
|
+
- `Up` / `Down` 绉诲姩閫夐」銆?- 鏁板瓧閿揩閫熷畾浣嶃€?- `Space` 鍕鹃€夋垨鍙栨秷銆?- `Enter` 纭銆?- `q` 鎴?`Esc` 閫€鍑恒€?
|
|
77
|
+
澶氶€夎彍鍗曢粯璁や笉鍕鹃€変换浣曠洰鏍囷紝閬垮厤璇銆傜粓绔笉鏀寔鍘熷鎸夐敭杈撳叆鏃讹紝浼氳嚜鍔ㄩ檷绾т负鏁板瓧杈撳叆妯″紡銆?
|
|
78
|
+
## OpenCode 璇存槑
|
|
79
|
+
|
|
80
|
+
OpenCode 瀹夎浼氬啓鍏ワ細
|
|
81
|
+
|
|
82
|
+
- `~/.config/opencode/opencode.json`
|
|
83
|
+
- `~/.config/opencode/plugins/opencode-plugin-langfuse`
|
|
84
|
+
- `~/.config/opencode-plugin-langfuse/config.json`
|
|
85
|
+
- Windows 涓嬬殑 `~/.config/opencode/launch-opencode-langfuse.cmd`
|
|
86
|
+
- Linux/macOS 涓嬬殑 `~/.config/opencode/launch-opencode-langfuse.sh`
|
|
87
|
+
|
|
88
|
+
Windows 涓嬪畨瑁呭櫒浼氬皾璇曞啓鍏ョ敤鎴风骇 `LANGFUSE_PUBLIC_KEY`銆乣LANGFUSE_SECRET_KEY`銆乣LANGFUSE_BASEURL`銆傝繖浜涘彉閲忓褰撳墠宸茬粡鎵撳紑鐨勭粓绔笉浼氱珛鍗崇敓鏁堬紝闇€瑕佹柊寮€缁堢锛屾垨鑰呬娇鐢ㄧ敓鎴愮殑 launcher 鍚姩 OpenCode銆?
|
|
89
|
+
`check opencode` 宸叉寜瀹為檯鎯呭喌澶勭悊 Windows锛氬鏋滃綋鍓嶇粓绔繕鐪嬩笉鍒?`LANGFUSE_*`锛屼絾鐢ㄦ埛绾х幆澧冨彉閲忓凡鍐欏叆锛屾垨 launcher 宸茬敓鎴愶紝浼氭樉绀?OpenCode 浠嶆湁鍙敤鐨?Langfuse 鐜鍙橀噺鏉ユ簮锛屼笉鍐嶆妸杩欑鎯呭喌璇垽涓哄畨瑁呭け璐ャ€?
|
|
90
|
+
WSL 鐢ㄦ埛璇风洿鎺ュ湪 WSL shell 涓畨瑁呭拰妫€鏌ワ細
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
npx oh-langfuse@latest setup opencode --userId=h00613222 --yes
|
|
94
|
+
npx oh-langfuse@latest check opencode
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
涓嶄細鍋?Windows 鍒?WSL 鐨勮浆鍙戯紱鍦?WSL 涓繍琛屾椂锛岄厤缃啓鍏?WSL 鐢ㄦ埛鑷繁鐨?`$HOME/.config/opencode`銆?
|
|
98
|
+
## Claude Code 璇存槑
|
|
99
|
+
|
|
100
|
+
Claude Code 瀹夎浼氾細
|
|
101
|
+
|
|
102
|
+
- 瀹夎 `langfuse_hook.py`
|
|
103
|
+
- 鍒涘缓 `~/.claude/langfuse-venv`
|
|
104
|
+
- 瀹夎 Python 鍖?`langfuse`
|
|
105
|
+
- 鍚堝苟鏇存柊 `~/.claude/settings.json`
|
|
106
|
+
- 閰嶇疆 `Stop` hook
|
|
107
|
+
|
|
108
|
+
Linux 濡傛灉缂哄皯 venv 鏀寔锛岃鏍规嵁鎻愮ず瀹夎 `python3-venv` 鎴栧搴?Python 鐗堟湰鐨?venv 鍖呫€?
|
|
109
|
+
## Codex 璇存槑
|
|
110
|
+
|
|
111
|
+
Codex 瀹夎浼氾細
|
|
112
|
+
|
|
113
|
+
- 瀹夎 `codex_langfuse_notify.py`
|
|
114
|
+
- 鍒涘缓 `~/.codex/langfuse-venv`
|
|
115
|
+
- 鍐欏叆 `~/.codex/langfuse/config.json`
|
|
116
|
+
- 鏇存柊 `~/.codex/config.toml` 椤跺眰 `notify`
|
|
117
|
+
|
|
118
|
+
閰嶇疆鍚庨渶瑕侀噸鍚?Codex銆俷otify hook 浼氬閲忚鍙?`~/.codex/sessions/**/*.jsonl`锛屾妸鏂扮殑 user銆乤ssistant銆乼ool銆乼oken 浜嬩欢杞崲涓?Langfuse observation锛屽苟鎶婅鍙栧亸绉昏褰曞埌 `~/.codex/langfuse/state.json`銆?
|
|
119
|
+
## 鐜鍙橀噺
|
|
120
|
+
|
|
121
|
+
| 鍙橀噺 | 浣滅敤 |
|
|
122
|
+
| --- | --- |
|
|
123
|
+
| `LANGFUSE_BASEURL` / `LANGFUSE_HOST` | Langfuse 鏈嶅姟鍦板潃 |
|
|
124
|
+
| `LANGFUSE_PUBLIC_KEY` | Langfuse public key |
|
|
125
|
+
| `LANGFUSE_SECRET_KEY` | Langfuse secret key |
|
|
126
|
+
| `LANGFUSE_USER_ID` / `CC_USER_ID` | 鐢ㄦ埛鏍囪瘑锛屽繀椤诲尮閰嶅憳宸ュ彿瑙勫垯 |
|
|
127
|
+
| `CODEX_HOME` | 鑷畾涔?Codex home 鐩綍 |
|
|
128
|
+
| `OPENCODE_SKIP_PLUGIN_INSTALL` | 璺宠繃 OpenCode npm 鎻掍欢瀹夎 |
|
|
129
|
+
| `OPENCODE_NPM_REGISTRY` | OpenCode 鎻掍欢 npm 瀹夎婧?|
|
|
130
|
+
|
|
131
|
+
Secret key 涓嶄細鍦ㄤ氦浜掑紡鐣岄潰涓槑鏂囧睍绀恒€?
|
|
132
|
+
## 甯哥敤缁存姢鍛戒护
|
|
133
|
+
|
|
134
|
+
```bash
|
|
135
|
+
npm run check
|
|
136
|
+
npm pack --dry-run
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
鍙戝竷鍖呮毚闇蹭袱涓懡浠わ細
|
|
140
|
+
|
|
141
|
+
- `oh-langfuse`
|
|
142
|
+
- `code-tool-langfuse`锛屽吋瀹规棫鍏ュ彛
|