35 lines
1.2 KiB
TypeScript
35 lines
1.2 KiB
TypeScript
import { tool } from "@opencode-ai/plugin/tool"
|
|
import { type Plugin } from "@opencode-ai/plugin"
|
|
import { app, cnb, appId } from './index.ts';
|
|
|
|
// opencode run "请使用 cnb-login-verify 工具验证登录信信息,检查cookie"
|
|
export const CnbPlugin: Plugin = async ({ project, client, $, directory, worktree }) => {
|
|
return {
|
|
'tool': {
|
|
"cnb-login-verify": {
|
|
name: "CNB 登录验证信息",
|
|
description: "验证 CNB 登录信息是否有效",
|
|
args: {
|
|
checkToken: tool.schema.boolean().describe("是否检查 Token 的有效性").default(true),
|
|
checkCookie: tool.schema.boolean().describe("是否检查 Cookie 的有效性").default(false),
|
|
},
|
|
async execute(args) {
|
|
const res = await app.run({
|
|
path: 'cnb',
|
|
key: 'user-check',
|
|
payload: {
|
|
...args
|
|
}
|
|
}, { appId });
|
|
if (res.code === 200) {
|
|
return res.data?.output;
|
|
}
|
|
return '无法获取登录状态,请检查配置。';
|
|
},
|
|
},
|
|
},
|
|
'tool.execute.before': async (opts) => {
|
|
// console.log('CnbPlugin: tool.execute.before', opts.tool);
|
|
}
|
|
}
|
|
} |