opencode-diff-viewer 1.0.1 → 1.0.2
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 +119 -36
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -12,32 +12,115 @@
|
|
|
12
12
|
- 🔧 **智能终端适配** - 自动检测操作系统,打开新终端窗口展示 diff
|
|
13
13
|
- 🤖 **LLM 工具集成** - LLM 可自动调用 `view_diff` 工具
|
|
14
14
|
|
|
15
|
+
## 前置条件
|
|
16
|
+
|
|
17
|
+
### 1. 安装 lumen
|
|
18
|
+
|
|
19
|
+
插件会自动尝试安装 lumen,如果自动安装失败,需要手动安装:
|
|
20
|
+
|
|
21
|
+
**macOS / Linux (Homebrew)**:
|
|
22
|
+
```bash
|
|
23
|
+
brew install jnsahaj/lumen/lumen
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
**macOS / Linux (Bun)**:
|
|
27
|
+
```bash
|
|
28
|
+
bun install jnsahaj/lumen/lumen
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
**Cargo (Rust)**:
|
|
32
|
+
```bash
|
|
33
|
+
cargo install lumen
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
**Windows**:
|
|
37
|
+
下载 [lumen releases](https://github.com/jnsahaj/lumen/releases) 并添加到 PATH
|
|
38
|
+
|
|
39
|
+
### 2. Git 仓库
|
|
40
|
+
|
|
41
|
+
确保项目是 git 仓库,并且有修改的文件:
|
|
42
|
+
```bash
|
|
43
|
+
git status # 查看修改的文件
|
|
44
|
+
```
|
|
45
|
+
|
|
15
46
|
## 安装
|
|
16
47
|
|
|
17
|
-
###
|
|
48
|
+
### 方式一:npm / pnpm / bun 安装(推荐)
|
|
18
49
|
|
|
19
50
|
```bash
|
|
51
|
+
# npm
|
|
20
52
|
npm install opencode-diff-viewer
|
|
21
|
-
|
|
53
|
+
|
|
54
|
+
# pnpm
|
|
22
55
|
pnpm add opencode-diff-viewer
|
|
23
|
-
|
|
24
|
-
|
|
56
|
+
|
|
57
|
+
# bun
|
|
58
|
+
bun add opencode-diff-viewer
|
|
25
59
|
```
|
|
26
60
|
|
|
27
|
-
###
|
|
61
|
+
### 方式二:全局配置(适用于所有项目)
|
|
62
|
+
|
|
63
|
+
如果你想在所有项目中使用此插件,可以配置全局插件:
|
|
64
|
+
|
|
65
|
+
1. 创建全局配置目录:
|
|
66
|
+
```bash
|
|
67
|
+
mkdir -p ~/.config/opencode
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
2. 创建 `~/.config/opencode/opencode.json`:
|
|
71
|
+
```json
|
|
72
|
+
{
|
|
73
|
+
"plugin": ["opencode-diff-viewer"]
|
|
74
|
+
}
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
3. 重启 OpenCode,插件会自动加载
|
|
78
|
+
|
|
79
|
+
### 方式三:项目级别配置
|
|
80
|
+
|
|
81
|
+
在项目根目录创建 `.opencode` 目录(注意前面的点):
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
# 项目根目录
|
|
85
|
+
mkdir -p .opencode/plugin
|
|
86
|
+
mkdir -p .opencode/command
|
|
87
|
+
|
|
88
|
+
# 复制插件文件
|
|
89
|
+
cp node_modules/opencode-diff-viewer/dist .opencode/plugin/diff-viewer
|
|
90
|
+
cp node_modules/opencode-diff-viewer/command-diff.md .opencode/command/diff.md
|
|
91
|
+
|
|
92
|
+
# 或使用 npm link
|
|
93
|
+
npm link opencode-diff-viewer
|
|
94
|
+
cd ~/.config/opencode
|
|
95
|
+
ln -s /path/to/your/project/node_modules/opencode-diff-viewer/dist ./plugin/diff-viewer
|
|
96
|
+
ln -s /path/to/your/project/node_modules/opencode-diff-viewer/command-diff.md ./command/diff.md
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### 目录说明
|
|
100
|
+
|
|
101
|
+
| 目录 | 位置 | 作用 |
|
|
102
|
+
|------|------|------|
|
|
103
|
+
| `.opencode/` | 项目根目录 | 项目级别插件配置 |
|
|
104
|
+
| `~/.config/opencode/` | 用户主目录 | 全局插件配置(跨项目共享) |
|
|
105
|
+
|
|
106
|
+
**注意**:目录名称是 `.opencode`(带有点),不是 `opencode`。
|
|
107
|
+
|
|
108
|
+
## 配置 opencode.json
|
|
28
109
|
|
|
29
110
|
在项目的 `opencode.json` 中添加插件:
|
|
30
111
|
|
|
31
112
|
```json
|
|
32
113
|
{
|
|
114
|
+
"command": {
|
|
115
|
+
"diff": {
|
|
116
|
+
"template": "Open the lumen diff viewer to show visual git diffs for modified files.",
|
|
117
|
+
"description": "View diff of modified files using lumen TUI"
|
|
118
|
+
}
|
|
119
|
+
},
|
|
33
120
|
"plugin": ["opencode-diff-viewer"]
|
|
34
121
|
}
|
|
35
122
|
```
|
|
36
123
|
|
|
37
|
-
### 3. 重启 OpenCode
|
|
38
|
-
|
|
39
|
-
安装完成后重启 OpenCode TUI,插件会自动加载。
|
|
40
|
-
|
|
41
124
|
## 使用方法
|
|
42
125
|
|
|
43
126
|
### 通过命令
|
|
@@ -66,32 +149,6 @@ LLM 可以自动调用 `view_diff` 工具来展示代码变更。无需手动操
|
|
|
66
149
|
| `e` | 在编辑器中打开文件 |
|
|
67
150
|
| `q` | 退出 |
|
|
68
151
|
|
|
69
|
-
## 前置条件
|
|
70
|
-
|
|
71
|
-
### lumen 安装
|
|
72
|
-
|
|
73
|
-
插件会自动尝试安装 lumen,如果自动安装失败,需要手动安装:
|
|
74
|
-
|
|
75
|
-
**macOS / Linux (Homebrew)**:
|
|
76
|
-
```bash
|
|
77
|
-
brew install jnsahaj/lumen/lumen
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
**Cargo (Rust)**:
|
|
81
|
-
```bash
|
|
82
|
-
cargo install lumen
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
**Windows**:
|
|
86
|
-
下载 [lumen releases](https://github.com/jnsahaj/lumen/releases) 并添加到 PATH
|
|
87
|
-
|
|
88
|
-
### Git 仓库
|
|
89
|
-
|
|
90
|
-
确保项目是 git 仓库,并且有修改的文件:
|
|
91
|
-
```bash
|
|
92
|
-
git status # 查看修改的文件
|
|
93
|
-
```
|
|
94
|
-
|
|
95
152
|
## 故障排除
|
|
96
153
|
|
|
97
154
|
### 1. lumen 未安装
|
|
@@ -119,6 +176,28 @@ git add .
|
|
|
119
176
|
- macOS: Terminal.app
|
|
120
177
|
- Linux: gnome-terminal 或 xterm
|
|
121
178
|
|
|
179
|
+
### 4. 插件未加载
|
|
180
|
+
|
|
181
|
+
检查配置文件是否正确:
|
|
182
|
+
```bash
|
|
183
|
+
# 检查 .opencode 目录是否存在
|
|
184
|
+
ls -la .opencode/
|
|
185
|
+
|
|
186
|
+
# 检查 opencode.json 配置
|
|
187
|
+
cat opencode.json
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
### 5. 全局配置不生效
|
|
191
|
+
|
|
192
|
+
确保全局配置路径正确:
|
|
193
|
+
```bash
|
|
194
|
+
# macOS / Linux
|
|
195
|
+
ls -la ~/.config/opencode/
|
|
196
|
+
|
|
197
|
+
# 检查配置内容
|
|
198
|
+
cat ~/.config/opencode/opencode.json
|
|
199
|
+
```
|
|
200
|
+
|
|
122
201
|
## 工作原理
|
|
123
202
|
|
|
124
203
|
1. **检测修改文件** - 插件使用 `git diff` 获取已暂存和未暂存的修改
|
|
@@ -132,7 +211,7 @@ opencode-diff-viewer/
|
|
|
132
211
|
├── src/
|
|
133
212
|
│ ├── index.ts # 插件主逻辑
|
|
134
213
|
│ └── command-diff.md # /diff 命令定义
|
|
135
|
-
├── dist/ #
|
|
214
|
+
├── dist/ # 编译输出(发布用)
|
|
136
215
|
├── package.json # npm 配置
|
|
137
216
|
└── tsconfig.json # TypeScript 配置
|
|
138
217
|
```
|
|
@@ -148,6 +227,10 @@ cd opencode-diff-viewer
|
|
|
148
227
|
|
|
149
228
|
# 安装依赖
|
|
150
229
|
npm install
|
|
230
|
+
# 或
|
|
231
|
+
pnpm install
|
|
232
|
+
# 或
|
|
233
|
+
bun install
|
|
151
234
|
|
|
152
235
|
# 构建
|
|
153
236
|
npm run build
|