@zhin.js/adapter-github 0.1.1 → 0.1.3
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 +79 -6
- package/lib/api.d.ts +32 -1
- package/lib/api.d.ts.map +1 -1
- package/lib/api.js +68 -1
- package/lib/api.js.map +1 -1
- package/lib/index.d.ts +6 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +290 -13
- package/lib/index.js.map +1 -1
- package/lib/types.d.ts +21 -0
- package/lib/types.d.ts.map +1 -1
- package/lib/types.js +1 -0
- package/lib/types.js.map +1 -1
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
把 GitHub 当聊天通道 — Issue/PR 评论区即群聊,通过 GitHub App 认证,纯 REST API 对接,零 CLI 依赖。
|
|
4
4
|
|
|
5
|
-
查询 · 管理 · 通知
|
|
5
|
+
查询 · 管理 · 通知 · OAuth 用户绑定 四合一。
|
|
6
6
|
|
|
7
7
|
## 功能特性
|
|
8
8
|
|
|
@@ -11,8 +11,9 @@
|
|
|
11
11
|
- ✅ **信息查询**:Star、Branch、Release、CI Workflow 等
|
|
12
12
|
- ✅ **事件通知**:Webhook 订阅,跨平台推送到任意聊天
|
|
13
13
|
- ✅ **GitHub App 认证**:JWT → Installation Token,自动刷新
|
|
14
|
+
- ✅ **OAuth 用户绑定**:用户可绑定自己的 GitHub 账号,star/fork 以个人身份执行
|
|
14
15
|
- ✅ **AI Skill**:所有工具自动暴露给 AI 调用
|
|
15
|
-
- ✅ **无 router 也能运行**:核心功能不依赖 HTTP 服务,有 router 时自动注册 Webhook 路由
|
|
16
|
+
- ✅ **无 router 也能运行**:核心功能不依赖 HTTP 服务,有 router 时自动注册 Webhook 和 OAuth 路由
|
|
16
17
|
|
|
17
18
|
## 安装
|
|
18
19
|
|
|
@@ -43,7 +44,9 @@ pnpm add @zhin.js/adapter-github
|
|
|
43
44
|
- Issue comment、Pull request、Pull request review、Pull request review comment
|
|
44
45
|
- Push、Star、Fork(用于通知)
|
|
45
46
|
6. 创建后记录 **App ID**,点击 **Generate a private key** 下载 `.pem` 文件
|
|
46
|
-
7.
|
|
47
|
+
7. 如需 OAuth 用户绑定功能,记录 **Client ID** 和 **Client Secret**(在 App 设置页的 General 中)
|
|
48
|
+
8. 在 App 设置页配置 **Callback URL**: `https://your-domain/github/oauth/callback`
|
|
49
|
+
9. 安装 App 到目标仓库/组织
|
|
47
50
|
|
|
48
51
|
## 配置
|
|
49
52
|
|
|
@@ -56,10 +59,20 @@ bots:
|
|
|
56
59
|
private_key: ./data/github-app.pem # PEM 文件路径或直接粘贴内容
|
|
57
60
|
# installation_id: 78901234 # 可选,不填则自动获取第一个
|
|
58
61
|
# webhook_secret: your-secret # 可选,Webhook 签名验证
|
|
62
|
+
# client_id: Iv1.xxxxxxxxxx # 可选,OAuth 用户绑定
|
|
63
|
+
# client_secret: xxxxxxxxxxxx # 可选,配合 client_id 使用
|
|
59
64
|
|
|
60
65
|
plugins:
|
|
61
66
|
- "@zhin.js/adapter-github"
|
|
62
|
-
- "@zhin.js/http" # 可选,提供 Webhook 能力
|
|
67
|
+
- "@zhin.js/http" # 可选,提供 Webhook + OAuth 能力
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
`.env` 文件:
|
|
71
|
+
```env
|
|
72
|
+
GITHUB_APP_ID=123456
|
|
73
|
+
GITHUB_WEBHOOK_SECRET=your-secret
|
|
74
|
+
GITHUB_CLIENT_ID=Iv1.xxxxxxxxxx
|
|
75
|
+
GITHUB_CLIENT_SECRET=xxxxxxxxxxxx
|
|
63
76
|
```
|
|
64
77
|
|
|
65
78
|
`private_key` 支持两种写法:
|
|
@@ -87,6 +100,11 @@ GitHub adapter 将 Issue/PR 映射为聊天频道:
|
|
|
87
100
|
| `github.subscribe` | 订阅事件通知 | 订阅仓库的 push/issue/star/fork/pr 事件 |
|
|
88
101
|
| `github.unsubscribe` | 取消订阅 | — |
|
|
89
102
|
| `github.subscriptions` | 查看订阅列表 | — |
|
|
103
|
+
| `github.bind` | 绑定 GitHub 账号 | 生成 OAuth 授权链接 |
|
|
104
|
+
| `github.unbind` | 解除绑定 | — |
|
|
105
|
+
| `github.whoami` | 查看绑定信息 | — |
|
|
106
|
+
| `github.star` | Star / Unstar 仓库 | 需要用户绑定 OAuth |
|
|
107
|
+
| `github.fork` | Fork 仓库 | 需要用户绑定 OAuth |
|
|
90
108
|
|
|
91
109
|
### 使用示例
|
|
92
110
|
|
|
@@ -95,6 +113,9 @@ AI: 列出 zhinjs/zhin 的 PR
|
|
|
95
113
|
AI: 合并 zhinjs/zhin 的 PR #108
|
|
96
114
|
AI: 查看 zhinjs/zhin 的 star 数
|
|
97
115
|
AI: 订阅 zhinjs/zhin 的 push 和 pr 事件
|
|
116
|
+
AI: 绑定我的 GitHub 账号
|
|
117
|
+
AI: star zhinjs/zhin
|
|
118
|
+
AI: fork zhinjs/zhin
|
|
98
119
|
```
|
|
99
120
|
|
|
100
121
|
## Webhook 事件通知
|
|
@@ -120,6 +141,44 @@ Headers:
|
|
|
120
141
|
- `X-GitHub-Event`: 事件类型
|
|
121
142
|
- `X-Hub-Signature-256`: 签名(配置了 secret 时)
|
|
122
143
|
|
|
144
|
+
## OAuth 用户绑定
|
|
145
|
+
|
|
146
|
+
支持聊天平台用户绑定自己的 GitHub 账号。绑定后,star/fork 等个人操作将以用户自己的身份执行。
|
|
147
|
+
|
|
148
|
+
### 认证策略
|
|
149
|
+
|
|
150
|
+
| 操作类型 | 使用的 Token | 原因 |
|
|
151
|
+
|---------|------------|------|
|
|
152
|
+
| 读取 issue/PR/repo 信息 | App JWT | 不涉及用户身份 |
|
|
153
|
+
| 评论(bot 发言) | App JWT | 以机器人身份发言 |
|
|
154
|
+
| star / unstar | User OAuth | 个人行为 |
|
|
155
|
+
| fork | User OAuth | 个人行为 |
|
|
156
|
+
| 创建 issue / PR | 视场景选择 | 已绑定用用户 token,未绑定用 App |
|
|
157
|
+
|
|
158
|
+
### 绑定流程
|
|
159
|
+
|
|
160
|
+
1. 用户在聊天中发送"绑定 GitHub 账号"或触发 `github.bind` 工具
|
|
161
|
+
2. Bot 返回一个带有 `state` 的 OAuth 授权链接
|
|
162
|
+
3. 用户点击链接 → 浏览器跳转到 GitHub 授权页面
|
|
163
|
+
4. 用户授权后 → GitHub 回调到 `/api/github/oauth/callback`
|
|
164
|
+
5. 服务端交换 code → access_token,获取用户信息,存入数据库
|
|
165
|
+
6. 用户看到"绑定成功"页面
|
|
166
|
+
|
|
167
|
+
### OAuth 端点
|
|
168
|
+
|
|
169
|
+
| 路由 | 说明 |
|
|
170
|
+
|------|------|
|
|
171
|
+
| `GET /github/oauth?state=xxx` | 发起 GitHub 授权重定向 |
|
|
172
|
+
| `GET /github/oauth/callback?code=xxx&state=xxx` | GitHub 回调,完成绑定 |
|
|
173
|
+
|
|
174
|
+
> OAuth 路由注册在 `/github/` 而非 `/api/` 下,因此不受 API Token 认证限制,用户浏览器可直接访问。
|
|
175
|
+
|
|
176
|
+
### 前置条件
|
|
177
|
+
|
|
178
|
+
- 需要配置 `client_id` 和 `client_secret`
|
|
179
|
+
- 需要 `@zhin.js/http` 插件(提供 HTTP 路由)
|
|
180
|
+
- GitHub App 设置页中的 Callback URL 须指向 `https://your-domain/github/oauth/callback`
|
|
181
|
+
|
|
123
182
|
## 数据库表
|
|
124
183
|
|
|
125
184
|
### github_subscriptions
|
|
@@ -143,6 +202,20 @@ Headers:
|
|
|
143
202
|
| event_type | text | 事件类型 |
|
|
144
203
|
| payload | json | 事件载荷 |
|
|
145
204
|
|
|
205
|
+
### github_oauth_users
|
|
206
|
+
|
|
207
|
+
| 字段 | 类型 | 说明 |
|
|
208
|
+
|------|------|------|
|
|
209
|
+
| id | integer | 主键 |
|
|
210
|
+
| platform | text | 聊天平台 (icqq / kook / discord) |
|
|
211
|
+
| platform_uid | text | 聊天平台用户 ID |
|
|
212
|
+
| github_login | text | GitHub 用户名 |
|
|
213
|
+
| github_id | integer | GitHub 用户 ID |
|
|
214
|
+
| access_token | text | OAuth access_token |
|
|
215
|
+
| scope | text | 授权范围 |
|
|
216
|
+
| created_at | date | 创建时间 |
|
|
217
|
+
| updated_at | date | 更新时间 |
|
|
218
|
+
|
|
146
219
|
## 架构说明
|
|
147
220
|
|
|
148
221
|
```
|
|
@@ -155,8 +228,8 @@ adapter-github/
|
|
|
155
228
|
└── README.md
|
|
156
229
|
```
|
|
157
230
|
|
|
158
|
-
- **无 `@zhin.js/http` 时**:适配器正常运行,可使用所有 API 工具(PR/Issue/Repo 管理),但无法接收 Webhook
|
|
159
|
-
- **有 `@zhin.js/http` 时**:通过 `useContext('router')` 自动注册 Webhook
|
|
231
|
+
- **无 `@zhin.js/http` 时**:适配器正常运行,可使用所有 API 工具(PR/Issue/Repo 管理),但无法接收 Webhook 推送和 OAuth 绑定
|
|
232
|
+
- **有 `@zhin.js/http` 时**:通过 `useContext('router')` 自动注册 Webhook 路由 + OAuth 路由,获得事件通知、聊天消息接收和用户绑定能力
|
|
160
233
|
|
|
161
234
|
## 许可证
|
|
162
235
|
|
package/lib/api.d.ts
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* GitHub REST API 客户端
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* 两种认证方式:
|
|
5
|
+
* 1. GitHub App (JWT): app_id + private_key → JWT → Installation Access Token
|
|
6
|
+
* 2. OAuth User: access_token → 以用户身份调用 API
|
|
7
|
+
*
|
|
5
8
|
* 零外部依赖,使用 Node.js 原生 crypto + fetch
|
|
6
9
|
*/
|
|
7
10
|
export declare class GitHubAPI {
|
|
@@ -133,4 +136,32 @@ export declare class GitHubAPI {
|
|
|
133
136
|
};
|
|
134
137
|
}>;
|
|
135
138
|
}
|
|
139
|
+
export declare function exchangeOAuthCode(clientId: string, clientSecret: string, code: string): Promise<{
|
|
140
|
+
access_token: string;
|
|
141
|
+
scope: string;
|
|
142
|
+
token_type: string;
|
|
143
|
+
}>;
|
|
144
|
+
type ApiResult<T = any> = {
|
|
145
|
+
ok: boolean;
|
|
146
|
+
status: number;
|
|
147
|
+
data: T;
|
|
148
|
+
};
|
|
149
|
+
export declare class GitHubOAuthClient {
|
|
150
|
+
private accessToken;
|
|
151
|
+
constructor(accessToken: string);
|
|
152
|
+
request<T = any>(method: string, path: string, body?: any): Promise<ApiResult<T>>;
|
|
153
|
+
getUser(): Promise<ApiResult<{
|
|
154
|
+
login: string;
|
|
155
|
+
id: number;
|
|
156
|
+
name: string | null;
|
|
157
|
+
avatar_url: string;
|
|
158
|
+
}>>;
|
|
159
|
+
starRepo(repo: string): Promise<ApiResult>;
|
|
160
|
+
unstarRepo(repo: string): Promise<ApiResult>;
|
|
161
|
+
isStarred(repo: string): Promise<boolean>;
|
|
162
|
+
forkRepo(repo: string): Promise<ApiResult>;
|
|
163
|
+
createIssue(repo: string, title: string, body?: string, labels?: string[]): Promise<ApiResult>;
|
|
164
|
+
createPR(repo: string, title: string, body: string, head: string, base?: string): Promise<ApiResult>;
|
|
165
|
+
}
|
|
166
|
+
export {};
|
|
136
167
|
//# sourceMappingURL=api.d.ts.map
|
package/lib/api.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
|
package/lib/api.js
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* GitHub REST API 客户端
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* 两种认证方式:
|
|
5
|
+
* 1. GitHub App (JWT): app_id + private_key → JWT → Installation Access Token
|
|
6
|
+
* 2. OAuth User: access_token → 以用户身份调用 API
|
|
7
|
+
*
|
|
5
8
|
* 零外部依赖,使用 Node.js 原生 crypto + fetch
|
|
6
9
|
*/
|
|
7
10
|
import crypto from 'node:crypto';
|
|
@@ -179,4 +182,68 @@ export class GitHubAPI {
|
|
|
179
182
|
return this.get(`/repos/${repo}/actions/runs?per_page=${limit}`);
|
|
180
183
|
}
|
|
181
184
|
}
|
|
185
|
+
// ── OAuth Token Exchange ─────────────────────────────────────────────
|
|
186
|
+
export async function exchangeOAuthCode(clientId, clientSecret, code) {
|
|
187
|
+
const res = await fetch('https://github.com/login/oauth/access_token', {
|
|
188
|
+
method: 'POST',
|
|
189
|
+
headers: { Accept: 'application/json', 'Content-Type': 'application/json' },
|
|
190
|
+
body: JSON.stringify({ client_id: clientId, client_secret: clientSecret, code }),
|
|
191
|
+
});
|
|
192
|
+
if (!res.ok)
|
|
193
|
+
throw new Error(`OAuth token exchange failed: ${res.status}`);
|
|
194
|
+
const data = await res.json();
|
|
195
|
+
if (data.error)
|
|
196
|
+
throw new Error(`OAuth error: ${data.error_description || data.error}`);
|
|
197
|
+
return data;
|
|
198
|
+
}
|
|
199
|
+
export class GitHubOAuthClient {
|
|
200
|
+
accessToken;
|
|
201
|
+
constructor(accessToken) {
|
|
202
|
+
this.accessToken = accessToken;
|
|
203
|
+
}
|
|
204
|
+
async request(method, path, body) {
|
|
205
|
+
const url = path.startsWith('http') ? path : `${API_BASE}${path}`;
|
|
206
|
+
const res = await fetch(url, {
|
|
207
|
+
method,
|
|
208
|
+
headers: {
|
|
209
|
+
Authorization: `Bearer ${this.accessToken}`,
|
|
210
|
+
Accept: ACCEPT,
|
|
211
|
+
'X-GitHub-Api-Version': API_VERSION,
|
|
212
|
+
...(body ? { 'Content-Type': 'application/json' } : {}),
|
|
213
|
+
},
|
|
214
|
+
body: body ? JSON.stringify(body) : undefined,
|
|
215
|
+
});
|
|
216
|
+
const text = await res.text();
|
|
217
|
+
let data;
|
|
218
|
+
try {
|
|
219
|
+
data = JSON.parse(text);
|
|
220
|
+
}
|
|
221
|
+
catch {
|
|
222
|
+
data = text;
|
|
223
|
+
}
|
|
224
|
+
return { ok: res.ok, status: res.status, data };
|
|
225
|
+
}
|
|
226
|
+
async getUser() {
|
|
227
|
+
return this.request('GET', '/user');
|
|
228
|
+
}
|
|
229
|
+
async starRepo(repo) {
|
|
230
|
+
return this.request('PUT', `/user/starred/${repo}`);
|
|
231
|
+
}
|
|
232
|
+
async unstarRepo(repo) {
|
|
233
|
+
return this.request('DELETE', `/user/starred/${repo}`);
|
|
234
|
+
}
|
|
235
|
+
async isStarred(repo) {
|
|
236
|
+
const res = await this.request('GET', `/user/starred/${repo}`);
|
|
237
|
+
return res.status === 204;
|
|
238
|
+
}
|
|
239
|
+
async forkRepo(repo) {
|
|
240
|
+
return this.request('POST', `/repos/${repo}/forks`);
|
|
241
|
+
}
|
|
242
|
+
async createIssue(repo, title, body, labels) {
|
|
243
|
+
return this.request('POST', `/repos/${repo}/issues`, { title, body, labels });
|
|
244
|
+
}
|
|
245
|
+
async createPR(repo, title, body, head, base = 'main') {
|
|
246
|
+
return this.request('POST', `/repos/${repo}/pulls`, { title, body, head, base });
|
|
247
|
+
}
|
|
248
|
+
}
|
|
182
249
|
//# sourceMappingURL=api.js.map
|
package/lib/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
|
package/lib/index.d.ts
CHANGED
|
@@ -8,7 +8,8 @@
|
|
|
8
8
|
*/
|
|
9
9
|
import { Bot, Adapter, Plugin, Message, SendOptions } from 'zhin.js';
|
|
10
10
|
import type { GitHubBotConfig, IssueCommentPayload, PRReviewCommentPayload, PRReviewPayload, GenericWebhookPayload, EventType } from './types.js';
|
|
11
|
-
import {
|
|
11
|
+
import type { GitHubOAuthUser } from './types.js';
|
|
12
|
+
import { GitHubAPI, GitHubOAuthClient } from './api.js';
|
|
12
13
|
declare module 'zhin.js' {
|
|
13
14
|
namespace Plugin {
|
|
14
15
|
interface Contexts {
|
|
@@ -34,6 +35,7 @@ declare module 'zhin.js' {
|
|
|
34
35
|
event_type: string;
|
|
35
36
|
payload: any;
|
|
36
37
|
};
|
|
38
|
+
github_oauth_users: GitHubOAuthUser;
|
|
37
39
|
}
|
|
38
40
|
}
|
|
39
41
|
export declare class GitHubBot implements Bot<GitHubBotConfig, IssueCommentPayload> {
|
|
@@ -52,11 +54,14 @@ export declare class GitHubBot implements Bot<GitHubBotConfig, IssueCommentPaylo
|
|
|
52
54
|
$recallMessage(id: string): Promise<void>;
|
|
53
55
|
}
|
|
54
56
|
declare class GitHubAdapter extends Adapter<GitHubBot> {
|
|
57
|
+
oauthBaseUrl: string | null;
|
|
55
58
|
constructor(plugin: Plugin);
|
|
56
59
|
createBot(config: GitHubBotConfig): GitHubBot;
|
|
57
60
|
start(): Promise<void>;
|
|
58
61
|
/** 获取第一个可用 bot 的 API (工具用) */
|
|
59
62
|
private getAPI;
|
|
63
|
+
getOAuthClient(platform: string, platformUid: string): Promise<GitHubOAuthClient | null>;
|
|
64
|
+
setupOAuth(router: import('@zhin.js/http').Router): void;
|
|
60
65
|
setupWebhook(router: import('@zhin.js/http').Router): void;
|
|
61
66
|
private registerGitHubTools;
|
|
62
67
|
dispatchNotification(eventName: string, payload: GenericWebhookPayload): Promise<void>;
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,GAAG,EACH,OAAO,EACP,MAAM,EACN,OAAO,EACP,WAAW,EAMZ,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EACV,eAAe,EACf,mBAAmB,EACnB,sBAAsB,EACtB,eAAe,EACf,qBAAqB,EACrB,SAAS,EAKV,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,GAAG,EACH,OAAO,EACP,MAAM,EACN,OAAO,EACP,WAAW,EAMZ,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EACV,eAAe,EACf,mBAAmB,EACnB,sBAAsB,EACtB,eAAe,EACf,qBAAqB,EACrB,SAAS,EAKV,MAAM,YAAY,CAAC;AAEpB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAqB,MAAM,UAAU,CAAC;AAS3E,OAAO,QAAQ,SAAS,CAAC;IACvB,UAAU,MAAM,CAAC;QACf,UAAU,QAAQ;YAChB,MAAM,EAAE,OAAO,eAAe,EAAE,MAAM,CAAC;SACxC;KACF;IACD,UAAU,QAAQ;QAChB,MAAM,EAAE,aAAa,CAAC;KACvB;IACD,UAAU,MAAM;QACd,oBAAoB,EAAE;YACpB,EAAE,EAAE,MAAM,CAAC;YACX,IAAI,EAAE,MAAM,CAAC;YACb,MAAM,EAAE,SAAS,EAAE,CAAC;YACpB,SAAS,EAAE,MAAM,CAAC;YAClB,WAAW,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;YAC7C,OAAO,EAAE,MAAM,CAAC;YAChB,GAAG,EAAE,MAAM,CAAC;SACb,CAAC;QACF,aAAa,EAAE;YACb,EAAE,EAAE,MAAM,CAAC;YACX,IAAI,EAAE,MAAM,CAAC;YACb,UAAU,EAAE,MAAM,CAAC;YACnB,OAAO,EAAE,GAAG,CAAC;SACd,CAAC;QACF,kBAAkB,EAAE,eAAe,CAAC;KACrC;CACF;AA+DD,qBAAa,SAAU,YAAW,GAAG,CAAC,eAAe,EAAE,mBAAmB,CAAC;IAMtD,OAAO,EAAE,aAAa;IAAS,OAAO,EAAE,eAAe;IAL1E,UAAU,UAAS;IACnB,GAAG,EAAE,SAAS,CAAC;IAEf,IAAI,GAAG,WAAgC;gBAEpB,OAAO,EAAE,aAAa,EAAS,OAAO,EAAE,eAAe;IAKpE,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAOzB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAOlC,cAAc,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IA2B1E,qBAAqB,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IA2BvF,cAAc,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI;IAgCnE,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IAcnD,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGhD;AAMD,cAAM,aAAc,SAAQ,OAAO,CAAC,SAAS,CAAC;IAC5C,YAAY,EAAE,MAAM,GAAG,IAAI,CAAQ;gBAEvB,MAAM,EAAE,MAAM;IAI1B,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS;IAIvC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAe5B,8BAA8B;IAC9B,OAAO,CAAC,MAAM;IAOR,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAW9F,UAAU,CAAC,MAAM,EAAE,OAAO,eAAe,EAAE,MAAM,GAAG,IAAI;IA6GxD,YAAY,CAAC,MAAM,EAAE,OAAO,eAAe,EAAE,MAAM,GAAG,IAAI;IAuF1D,OAAO,CAAC,mBAAmB;IA+arB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;CA+C7F"}
|
package/lib/index.js
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
*/
|
|
9
9
|
import { Adapter, Message, usePlugin, ZhinTool, } from 'zhin.js';
|
|
10
10
|
import { parseChannelId, buildChannelId } from './types.js';
|
|
11
|
-
import { GitHubAPI } from './api.js';
|
|
11
|
+
import { GitHubAPI, GitHubOAuthClient, exchangeOAuthCode } from './api.js';
|
|
12
12
|
import crypto from 'node:crypto';
|
|
13
13
|
import fs from 'node:fs';
|
|
14
14
|
import path from 'node:path';
|
|
@@ -32,7 +32,34 @@ defineModel('github_events', {
|
|
|
32
32
|
event_type: { type: 'text', nullable: false },
|
|
33
33
|
payload: { type: 'json', default: {} },
|
|
34
34
|
});
|
|
35
|
+
defineModel('github_oauth_users', {
|
|
36
|
+
id: { type: 'integer', primary: true },
|
|
37
|
+
platform: { type: 'text', nullable: false },
|
|
38
|
+
platform_uid: { type: 'text', nullable: false },
|
|
39
|
+
github_login: { type: 'text', nullable: false },
|
|
40
|
+
github_id: { type: 'integer', nullable: false },
|
|
41
|
+
access_token: { type: 'text', nullable: false },
|
|
42
|
+
scope: { type: 'text', default: '' },
|
|
43
|
+
created_at: { type: 'date', nullable: false },
|
|
44
|
+
updated_at: { type: 'date', nullable: false },
|
|
45
|
+
});
|
|
35
46
|
const VALID_EVENTS = ['push', 'issue', 'star', 'fork', 'unstar', 'pull_request'];
|
|
47
|
+
function safeParseEvents(raw) {
|
|
48
|
+
if (Array.isArray(raw))
|
|
49
|
+
return raw;
|
|
50
|
+
if (typeof raw === 'string') {
|
|
51
|
+
try {
|
|
52
|
+
const parsed = JSON.parse(raw);
|
|
53
|
+
if (Array.isArray(parsed))
|
|
54
|
+
return parsed;
|
|
55
|
+
}
|
|
56
|
+
catch { }
|
|
57
|
+
}
|
|
58
|
+
return [];
|
|
59
|
+
}
|
|
60
|
+
// OAuth state 存储(内存,5分钟过期)
|
|
61
|
+
const oauthStates = new Map();
|
|
62
|
+
const OAUTH_STATE_TTL = 5 * 60 * 1000;
|
|
36
63
|
// ============================================================================
|
|
37
64
|
// GitHubBot
|
|
38
65
|
// ============================================================================
|
|
@@ -167,6 +194,7 @@ export class GitHubBot {
|
|
|
167
194
|
// GitHubAdapter
|
|
168
195
|
// ============================================================================
|
|
169
196
|
class GitHubAdapter extends Adapter {
|
|
197
|
+
oauthBaseUrl = null;
|
|
170
198
|
constructor(plugin) {
|
|
171
199
|
super(plugin, 'github', []);
|
|
172
200
|
}
|
|
@@ -192,21 +220,136 @@ class GitHubAdapter extends Adapter {
|
|
|
192
220
|
const bot = this.bots.values().next().value;
|
|
193
221
|
return bot?.api || null;
|
|
194
222
|
}
|
|
223
|
+
// ── OAuth 用户查询 ─────────────────────────────────────────────────
|
|
224
|
+
async getOAuthClient(platform, platformUid) {
|
|
225
|
+
const db = root.inject('database');
|
|
226
|
+
const model = db?.models?.get('github_oauth_users');
|
|
227
|
+
if (!model)
|
|
228
|
+
return null;
|
|
229
|
+
const [row] = await model.select().where({ platform, platform_uid: platformUid });
|
|
230
|
+
if (!row)
|
|
231
|
+
return null;
|
|
232
|
+
return new GitHubOAuthClient(row.access_token);
|
|
233
|
+
}
|
|
234
|
+
// ── OAuth 路由 (由 useContext('router') 注入) ─────────────────────
|
|
235
|
+
setupOAuth(router) {
|
|
236
|
+
const OAUTH_SCOPES = 'repo,user';
|
|
237
|
+
router.get('/github/oauth', async (ctx) => {
|
|
238
|
+
const state = ctx.query.state;
|
|
239
|
+
if (!state || !oauthStates.has(state)) {
|
|
240
|
+
ctx.status = 400;
|
|
241
|
+
ctx.body = 'Invalid or expired state. Please use /github bind to generate a new link.';
|
|
242
|
+
return;
|
|
243
|
+
}
|
|
244
|
+
const bot = this.bots.values().next().value;
|
|
245
|
+
const clientId = bot?.$config.client_id;
|
|
246
|
+
if (!clientId) {
|
|
247
|
+
ctx.status = 500;
|
|
248
|
+
ctx.body = 'GitHub App OAuth not configured (missing client_id).';
|
|
249
|
+
return;
|
|
250
|
+
}
|
|
251
|
+
this.oauthBaseUrl = ctx.origin;
|
|
252
|
+
const redirectUri = `${ctx.origin}/github/oauth/callback`;
|
|
253
|
+
const url = `https://github.com/login/oauth/authorize?client_id=${clientId}&redirect_uri=${encodeURIComponent(redirectUri)}&scope=${OAUTH_SCOPES}&state=${state}`;
|
|
254
|
+
ctx.redirect(url);
|
|
255
|
+
});
|
|
256
|
+
router.get('/github/oauth/callback', async (ctx) => {
|
|
257
|
+
const { code, state } = ctx.query;
|
|
258
|
+
if (!code || !state) {
|
|
259
|
+
ctx.status = 400;
|
|
260
|
+
ctx.body = 'Missing code or state parameter.';
|
|
261
|
+
return;
|
|
262
|
+
}
|
|
263
|
+
const pending = oauthStates.get(state);
|
|
264
|
+
if (!pending || Date.now() > pending.expires) {
|
|
265
|
+
oauthStates.delete(state);
|
|
266
|
+
ctx.status = 400;
|
|
267
|
+
ctx.body = 'State expired. Please use /github bind to try again.';
|
|
268
|
+
return;
|
|
269
|
+
}
|
|
270
|
+
oauthStates.delete(state);
|
|
271
|
+
const bot = this.bots.values().next().value;
|
|
272
|
+
const clientId = bot?.$config.client_id;
|
|
273
|
+
const clientSecret = bot?.$config.client_secret;
|
|
274
|
+
if (!clientId || !clientSecret) {
|
|
275
|
+
ctx.status = 500;
|
|
276
|
+
ctx.body = 'OAuth not configured.';
|
|
277
|
+
return;
|
|
278
|
+
}
|
|
279
|
+
try {
|
|
280
|
+
const tokenData = await exchangeOAuthCode(clientId, clientSecret, code);
|
|
281
|
+
const oauthClient = new GitHubOAuthClient(tokenData.access_token);
|
|
282
|
+
const userRes = await oauthClient.getUser();
|
|
283
|
+
if (!userRes.ok) {
|
|
284
|
+
ctx.status = 500;
|
|
285
|
+
ctx.body = 'Failed to fetch GitHub user info.';
|
|
286
|
+
return;
|
|
287
|
+
}
|
|
288
|
+
const ghUser = userRes.data;
|
|
289
|
+
const db = root.inject('database');
|
|
290
|
+
const model = db?.models?.get('github_oauth_users');
|
|
291
|
+
if (!model) {
|
|
292
|
+
ctx.status = 500;
|
|
293
|
+
ctx.body = 'Database not ready.';
|
|
294
|
+
return;
|
|
295
|
+
}
|
|
296
|
+
const [existing] = await model.select().where({ platform: pending.platform, platform_uid: pending.platformUid });
|
|
297
|
+
if (existing) {
|
|
298
|
+
await model.update({
|
|
299
|
+
github_login: ghUser.login,
|
|
300
|
+
github_id: ghUser.id,
|
|
301
|
+
access_token: tokenData.access_token,
|
|
302
|
+
scope: tokenData.scope || '',
|
|
303
|
+
updated_at: new Date(),
|
|
304
|
+
}).where({ id: existing.id });
|
|
305
|
+
}
|
|
306
|
+
else {
|
|
307
|
+
await model.insert({
|
|
308
|
+
id: Date.now(),
|
|
309
|
+
platform: pending.platform,
|
|
310
|
+
platform_uid: pending.platformUid,
|
|
311
|
+
github_login: ghUser.login,
|
|
312
|
+
github_id: ghUser.id,
|
|
313
|
+
access_token: tokenData.access_token,
|
|
314
|
+
scope: tokenData.scope || '',
|
|
315
|
+
created_at: new Date(),
|
|
316
|
+
updated_at: new Date(),
|
|
317
|
+
});
|
|
318
|
+
}
|
|
319
|
+
logger.info(`OAuth 绑定成功: ${pending.platform}:${pending.platformUid} → ${ghUser.login}`);
|
|
320
|
+
ctx.type = 'text/html';
|
|
321
|
+
ctx.body = `<!DOCTYPE html><html><head><meta charset="utf-8"><title>绑定成功</title><style>body{font-family:system-ui;display:flex;align-items:center;justify-content:center;min-height:100vh;margin:0;background:#f5f5f5}div{text-align:center;background:#fff;padding:3rem;border-radius:12px;box-shadow:0 2px 12px rgba(0,0,0,.1)}h1{color:#28a745;margin-bottom:.5rem}p{color:#666}</style></head><body><div><h1>GitHub 账号绑定成功</h1><p>已绑定 GitHub 用户: <strong>${ghUser.login}</strong></p><p>你现在可以关闭这个页面,回到聊天中使用 GitHub 功能了。</p></div></body></html>`;
|
|
322
|
+
}
|
|
323
|
+
catch (err) {
|
|
324
|
+
logger.error('OAuth callback 失败:', err);
|
|
325
|
+
ctx.status = 500;
|
|
326
|
+
ctx.body = `OAuth failed: ${err.message}`;
|
|
327
|
+
}
|
|
328
|
+
});
|
|
329
|
+
logger.info('GitHub OAuth: GET /github/oauth, GET /github/oauth/callback');
|
|
330
|
+
}
|
|
195
331
|
// ── Webhook 路由 (由 useContext('router') 注入) ────────────────────
|
|
196
332
|
setupWebhook(router) {
|
|
197
333
|
router.post('/api/github/webhook', async (ctx) => {
|
|
198
334
|
try {
|
|
199
335
|
const eventName = ctx.request.headers['x-github-event'];
|
|
200
336
|
const signature = ctx.request.headers['x-hub-signature-256'];
|
|
201
|
-
const payload = ctx.body;
|
|
202
|
-
logger.info(`GitHub Webhook: ${eventName} - ${payload?.repository?.full_name}`);
|
|
337
|
+
const payload = ctx.request.body;
|
|
338
|
+
logger.info(`GitHub Webhook: ${eventName} - ${payload?.repository?.full_name || '(no repo)'}`);
|
|
339
|
+
if (eventName === 'ping') {
|
|
340
|
+
logger.info(`GitHub Webhook ping OK — hook_id: ${payload?.hook_id}, zen: ${payload?.zen}`);
|
|
341
|
+
ctx.status = 200;
|
|
342
|
+
ctx.body = { message: 'pong' };
|
|
343
|
+
return;
|
|
344
|
+
}
|
|
203
345
|
if (signature) {
|
|
204
346
|
let verified = false;
|
|
347
|
+
const rawBody = JSON.stringify(payload);
|
|
205
348
|
for (const bot of this.bots.values()) {
|
|
206
349
|
const secret = bot.$config.webhook_secret;
|
|
207
350
|
if (!secret)
|
|
208
351
|
continue;
|
|
209
|
-
const expected = `sha256=${crypto.createHmac('sha256', secret).update(
|
|
352
|
+
const expected = `sha256=${crypto.createHmac('sha256', secret).update(rawBody).digest('hex')}`;
|
|
210
353
|
if (signature === expected) {
|
|
211
354
|
verified = true;
|
|
212
355
|
break;
|
|
@@ -523,12 +666,13 @@ class GitHubAdapter extends Adapter {
|
|
|
523
666
|
return '❌ 数据库未就绪';
|
|
524
667
|
const where = { repo: repoStr, target_id: msg.$channel.id, target_type: msg.$channel.type, adapter: msg.$adapter, bot: msg.$bot };
|
|
525
668
|
const [existing] = await model.select().where(where);
|
|
669
|
+
const eventsJson = JSON.stringify(subEvents);
|
|
526
670
|
if (existing) {
|
|
527
|
-
await model.update({ events:
|
|
671
|
+
await model.update({ events: eventsJson }).where({ id: existing.id });
|
|
528
672
|
return `✅ 已更新订阅 ${repoStr}\n📢 ${subEvents.join(', ')}`;
|
|
529
673
|
}
|
|
530
674
|
const { repo: _r, ...rest } = where;
|
|
531
|
-
await model.insert({ id: Date.now(), repo: repoStr, events:
|
|
675
|
+
await model.insert({ id: Date.now(), repo: repoStr, events: eventsJson, ...rest });
|
|
532
676
|
return `✅ 已订阅 ${repoStr}\n📢 ${subEvents.join(', ')}\n💡 记得在 GitHub App 或仓库 Settings → Webhooks 中配置 Webhook`;
|
|
533
677
|
}));
|
|
534
678
|
// --- Unsubscribe ---
|
|
@@ -565,9 +709,130 @@ class GitHubAdapter extends Adapter {
|
|
|
565
709
|
const subs = await model.select().where({ target_id: msg.$channel.id, target_type: msg.$channel.type, adapter: msg.$adapter, bot: msg.$bot });
|
|
566
710
|
if (!subs?.length)
|
|
567
711
|
return '📭 当前没有订阅';
|
|
568
|
-
return `📋 订阅 (${subs.length}):\n\n` + subs.map((s, i) =>
|
|
712
|
+
return `📋 订阅 (${subs.length}):\n\n` + subs.map((s, i) => {
|
|
713
|
+
return `${i + 1}. ${s.repo}\n 📢 ${safeParseEvents(s.events).join(', ')}`;
|
|
714
|
+
}).join('\n\n');
|
|
715
|
+
}));
|
|
716
|
+
// --- GitHub OAuth Bind ---
|
|
717
|
+
this.addTool(new ZhinTool('github.bind')
|
|
718
|
+
.desc('绑定 GitHub 账号 — 通过 OAuth 授权,让 bot 以你的身份执行 star/fork 等操作')
|
|
719
|
+
.keyword('github bind', '绑定github', 'github 绑定', 'github 授权')
|
|
720
|
+
.tag('github', 'oauth')
|
|
721
|
+
.execute(async (_args, ctx) => {
|
|
722
|
+
if (!ctx?.message)
|
|
723
|
+
return '❌ 无法获取消息上下文';
|
|
724
|
+
const msg = ctx.message;
|
|
725
|
+
const bot = this.bots.values().next().value;
|
|
726
|
+
if (!bot?.$config.client_id) {
|
|
727
|
+
return '❌ GitHub OAuth 未配置(需要在 bot 配置中添加 client_id 和 client_secret)';
|
|
728
|
+
}
|
|
729
|
+
const nonce = crypto.randomBytes(16).toString('hex');
|
|
730
|
+
const state = `${msg.$adapter}:${msg.$sender.id}:${nonce}`;
|
|
731
|
+
oauthStates.set(state, {
|
|
732
|
+
platform: msg.$adapter,
|
|
733
|
+
platformUid: msg.$sender.id,
|
|
734
|
+
expires: Date.now() + OAUTH_STATE_TTL,
|
|
735
|
+
});
|
|
736
|
+
const baseUrl = this.oauthBaseUrl || 'http://localhost:8086';
|
|
737
|
+
const link = `${baseUrl}/github/oauth?state=${encodeURIComponent(state)}`;
|
|
738
|
+
return `🔗 请点击以下链接授权你的 GitHub 账号:\n\n${link}\n\n⏱️ 链接有效期 5 分钟`;
|
|
569
739
|
}));
|
|
570
|
-
|
|
740
|
+
// --- GitHub OAuth Unbind ---
|
|
741
|
+
this.addTool(new ZhinTool('github.unbind')
|
|
742
|
+
.desc('解除 GitHub 账号绑定')
|
|
743
|
+
.keyword('github unbind', '解绑github', 'github 解绑')
|
|
744
|
+
.tag('github', 'oauth')
|
|
745
|
+
.execute(async (_args, ctx) => {
|
|
746
|
+
if (!ctx?.message)
|
|
747
|
+
return '❌ 无法获取消息上下文';
|
|
748
|
+
const msg = ctx.message;
|
|
749
|
+
const db = root.inject('database');
|
|
750
|
+
const model = db?.models?.get('github_oauth_users');
|
|
751
|
+
if (!model)
|
|
752
|
+
return '❌ 数据库未就绪';
|
|
753
|
+
const [existing] = await model.select().where({ platform: msg.$adapter, platform_uid: msg.$sender.id });
|
|
754
|
+
if (!existing)
|
|
755
|
+
return '❌ 你还没有绑定 GitHub 账号';
|
|
756
|
+
await model.delete({ id: existing.id });
|
|
757
|
+
return `✅ 已解除 GitHub 账号绑定(${existing.github_login})`;
|
|
758
|
+
}));
|
|
759
|
+
// --- GitHub OAuth Whoami ---
|
|
760
|
+
this.addTool(new ZhinTool('github.whoami')
|
|
761
|
+
.desc('查看当前绑定的 GitHub 账号信息')
|
|
762
|
+
.keyword('github whoami', 'github 我是谁', 'github 账号')
|
|
763
|
+
.tag('github', 'oauth')
|
|
764
|
+
.execute(async (_args, ctx) => {
|
|
765
|
+
if (!ctx?.message)
|
|
766
|
+
return '❌ 无法获取消息上下文';
|
|
767
|
+
const msg = ctx.message;
|
|
768
|
+
const db = root.inject('database');
|
|
769
|
+
const model = db?.models?.get('github_oauth_users');
|
|
770
|
+
if (!model)
|
|
771
|
+
return '❌ 数据库未就绪';
|
|
772
|
+
const [existing] = await model.select().where({ platform: msg.$adapter, platform_uid: msg.$sender.id });
|
|
773
|
+
if (!existing)
|
|
774
|
+
return '❌ 你还没有绑定 GitHub 账号\n💡 使用 /github bind 进行绑定';
|
|
775
|
+
const oauthClient = new GitHubOAuthClient(existing.access_token);
|
|
776
|
+
const userRes = await oauthClient.getUser();
|
|
777
|
+
if (!userRes.ok) {
|
|
778
|
+
return `⚠️ 已绑定 ${existing.github_login},但 token 可能已失效\n💡 请使用 /github bind 重新授权`;
|
|
779
|
+
}
|
|
780
|
+
const u = userRes.data;
|
|
781
|
+
return [
|
|
782
|
+
`🔗 GitHub 账号已绑定`,
|
|
783
|
+
`👤 ${u.login}${u.name ? ` (${u.name})` : ''}`,
|
|
784
|
+
`🔑 授权范围: ${existing.scope || 'N/A'}`,
|
|
785
|
+
`📅 绑定时间: ${new Date(existing.created_at).toLocaleDateString()}`,
|
|
786
|
+
].join('\n');
|
|
787
|
+
}));
|
|
788
|
+
// --- GitHub Star (用户级操作) ---
|
|
789
|
+
this.addTool(new ZhinTool('github.star')
|
|
790
|
+
.desc('Star / Unstar 一个仓库(使用你的 GitHub 账号)')
|
|
791
|
+
.keyword('star', 'unstar', '收藏', '取消收藏')
|
|
792
|
+
.tag('github', 'user')
|
|
793
|
+
.param('repo', { type: 'string', description: 'owner/repo (必填)' }, true)
|
|
794
|
+
.param('unstar', { type: 'boolean', description: '设为 true 则取消 star' })
|
|
795
|
+
.execute(async (args, ctx) => {
|
|
796
|
+
if (!ctx?.message)
|
|
797
|
+
return '❌ 无法获取消息上下文';
|
|
798
|
+
const msg = ctx.message;
|
|
799
|
+
const repo = args.repo;
|
|
800
|
+
if (!repo.includes('/'))
|
|
801
|
+
return '❌ 格式应为 owner/repo';
|
|
802
|
+
const oauthClient = await this.getOAuthClient(msg.$adapter, msg.$sender.id);
|
|
803
|
+
if (!oauthClient) {
|
|
804
|
+
return '❌ 你还没有绑定 GitHub 账号,star 需要使用你自己的身份\n💡 使用 /github bind 绑定';
|
|
805
|
+
}
|
|
806
|
+
if (args.unstar) {
|
|
807
|
+
const r = await oauthClient.unstarRepo(repo);
|
|
808
|
+
return r.ok || r.status === 204 ? `✅ 已取消 star: ${repo}` : `❌ 操作失败: ${JSON.stringify(r.data)}`;
|
|
809
|
+
}
|
|
810
|
+
else {
|
|
811
|
+
const r = await oauthClient.starRepo(repo);
|
|
812
|
+
return r.ok || r.status === 204 ? `⭐ 已 star: ${repo}` : `❌ 操作失败: ${JSON.stringify(r.data)}`;
|
|
813
|
+
}
|
|
814
|
+
}));
|
|
815
|
+
// --- GitHub Fork (用户级操作) ---
|
|
816
|
+
this.addTool(new ZhinTool('github.fork')
|
|
817
|
+
.desc('Fork 一个仓库到你的 GitHub 账号')
|
|
818
|
+
.keyword('fork', '复刻')
|
|
819
|
+
.tag('github', 'user')
|
|
820
|
+
.param('repo', { type: 'string', description: 'owner/repo (必填)' }, true)
|
|
821
|
+
.execute(async (args, ctx) => {
|
|
822
|
+
if (!ctx?.message)
|
|
823
|
+
return '❌ 无法获取消息上下文';
|
|
824
|
+
const msg = ctx.message;
|
|
825
|
+
const repo = args.repo;
|
|
826
|
+
if (!repo.includes('/'))
|
|
827
|
+
return '❌ 格式应为 owner/repo';
|
|
828
|
+
const oauthClient = await this.getOAuthClient(msg.$adapter, msg.$sender.id);
|
|
829
|
+
if (!oauthClient) {
|
|
830
|
+
return '❌ 你还没有绑定 GitHub 账号,fork 需要使用你自己的身份\n💡 使用 /github bind 绑定';
|
|
831
|
+
}
|
|
832
|
+
const r = await oauthClient.forkRepo(repo);
|
|
833
|
+
return r.ok ? `🍴 已 fork: ${r.data.full_name}\n🔗 ${r.data.html_url}` : `❌ 操作失败: ${r.data?.message || JSON.stringify(r.data)}`;
|
|
834
|
+
}));
|
|
835
|
+
logger.debug('GitHub 工具已注册: pr, issue, repo, subscribe, unsubscribe, subscriptions, bind, unbind, whoami, star, fork');
|
|
571
836
|
}
|
|
572
837
|
// ── 通知推送 ───────────────────────────────────────────────────────
|
|
573
838
|
async dispatchNotification(eventName, payload) {
|
|
@@ -589,26 +854,37 @@ class GitHubAdapter extends Adapter {
|
|
|
589
854
|
eventType = 'pull_request';
|
|
590
855
|
break;
|
|
591
856
|
}
|
|
592
|
-
if (!eventType)
|
|
857
|
+
if (!eventType) {
|
|
858
|
+
logger.debug(`dispatchNotification: 未知事件 ${eventName},跳过`);
|
|
593
859
|
return;
|
|
860
|
+
}
|
|
594
861
|
const repo = payload.repository.full_name;
|
|
595
862
|
const db = root.inject('database');
|
|
596
863
|
const model = db?.models?.get('github_subscriptions');
|
|
597
|
-
if (!model)
|
|
864
|
+
if (!model) {
|
|
865
|
+
logger.warn('dispatchNotification: 数据库模型 github_subscriptions 未就绪');
|
|
598
866
|
return;
|
|
867
|
+
}
|
|
599
868
|
const subs = await model.select().where({ repo });
|
|
869
|
+
logger.debug(`dispatchNotification: ${repo} ${eventName}(${eventType}) — 找到 ${subs?.length || 0} 条订阅`);
|
|
600
870
|
if (!subs?.length)
|
|
601
871
|
return;
|
|
602
872
|
const text = formatNotification(eventName, payload);
|
|
603
873
|
for (const sub of subs) {
|
|
604
874
|
const s = sub;
|
|
605
|
-
|
|
875
|
+
const events = safeParseEvents(s.events);
|
|
876
|
+
if (!events.includes(eventType)) {
|
|
877
|
+
logger.debug(`dispatchNotification: ${s.adapter}:${s.target_id} 未订阅 ${eventType},跳过`);
|
|
606
878
|
continue;
|
|
879
|
+
}
|
|
607
880
|
try {
|
|
608
881
|
const adapter = root.inject(s.adapter);
|
|
609
|
-
if (adapter?.sendMessage) {
|
|
610
|
-
|
|
882
|
+
if (!adapter?.sendMessage) {
|
|
883
|
+
logger.warn(`dispatchNotification: 适配器 ${s.adapter} 不存在或无 sendMessage 方法`);
|
|
884
|
+
continue;
|
|
611
885
|
}
|
|
886
|
+
logger.info(`dispatchNotification: 推送 ${eventType} → ${s.adapter}:${s.bot}:${s.target_id}`);
|
|
887
|
+
await adapter.sendMessage({ context: s.adapter, bot: s.bot, id: s.target_id, type: s.target_type, content: text });
|
|
612
888
|
}
|
|
613
889
|
catch (e) {
|
|
614
890
|
logger.error(`通知推送失败 → ${s.adapter}:${s.target_id}`, e);
|
|
@@ -700,6 +976,7 @@ provide({
|
|
|
700
976
|
});
|
|
701
977
|
useContext('router', 'github', (router, adapter) => {
|
|
702
978
|
adapter.setupWebhook(router);
|
|
979
|
+
adapter.setupOAuth(router);
|
|
703
980
|
});
|
|
704
981
|
logger.info('GitHub 适配器已加载 (GitHub App 认证)');
|
|
705
982
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/lib/types.d.ts
CHANGED
|
@@ -10,6 +10,27 @@ export interface GitHubBotConfig {
|
|
|
10
10
|
installation_id?: number;
|
|
11
11
|
/** Webhook 签名密钥 */
|
|
12
12
|
webhook_secret?: string;
|
|
13
|
+
/** GitHub App OAuth: Client ID (在 App 设置页获取) */
|
|
14
|
+
client_id?: string;
|
|
15
|
+
/** GitHub App OAuth: Client Secret */
|
|
16
|
+
client_secret?: string;
|
|
17
|
+
}
|
|
18
|
+
export interface GitHubOAuthUser {
|
|
19
|
+
id: number;
|
|
20
|
+
/** 聊天平台名称 (icqq / kook / discord ...) */
|
|
21
|
+
platform: string;
|
|
22
|
+
/** 聊天平台用户 ID */
|
|
23
|
+
platform_uid: string;
|
|
24
|
+
/** GitHub 用户名 */
|
|
25
|
+
github_login: string;
|
|
26
|
+
/** GitHub 用户 ID */
|
|
27
|
+
github_id: number;
|
|
28
|
+
/** OAuth access_token */
|
|
29
|
+
access_token: string;
|
|
30
|
+
/** 授权范围 */
|
|
31
|
+
scope: string;
|
|
32
|
+
created_at: Date;
|
|
33
|
+
updated_at: Date;
|
|
13
34
|
}
|
|
14
35
|
export interface ParsedChannel {
|
|
15
36
|
repo: string;
|
package/lib/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/lib/types.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// ── Bot 配置 ─────────────────────────────────────────────────────────
|
|
2
2
|
// GitHub App 认证: app_id + private_key → JWT → Installation Token
|
|
3
|
+
// OAuth 用户授权: client_id + client_secret → 用户绑定 GitHub 账号
|
|
3
4
|
export function parseChannelId(channelId) {
|
|
4
5
|
const issueMatch = channelId.match(/^(.+?\/.+?)\/issues\/(\d+)$/);
|
|
5
6
|
if (issueMatch)
|
package/lib/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,kEAAkE;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,kEAAkE;AAClE,0DAA0D;AAiD1D,MAAM,UAAU,cAAc,CAAC,SAAiB;IAC9C,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;IAClE,IAAI,UAAU;QAAE,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/F,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC7D,IAAI,OAAO;QAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnF,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,IAAoB,EAAE,MAAc;IAC/E,OAAO,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,WAAW,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,SAAS,MAAM,EAAE,CAAC;AAClF,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zhin.js/adapter-github",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"description": "Zhin.js adapter for GitHub — treat issues/PRs as chat channels, full repo management, webhook notifications",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./lib/index.js",
|
|
@@ -34,11 +34,11 @@
|
|
|
34
34
|
"license": "MIT",
|
|
35
35
|
"devDependencies": {
|
|
36
36
|
"typescript": "^5.3.3",
|
|
37
|
-
"zhin.js": "1.0.
|
|
37
|
+
"zhin.js": "1.0.37"
|
|
38
38
|
},
|
|
39
39
|
"peerDependencies": {
|
|
40
|
-
"zhin.js": "1.0.
|
|
41
|
-
"@zhin.js/http": "1.0.
|
|
40
|
+
"zhin.js": "1.0.37",
|
|
41
|
+
"@zhin.js/http": "1.0.30"
|
|
42
42
|
},
|
|
43
43
|
"peerDependenciesMeta": {
|
|
44
44
|
"@zhin.js/http": {
|