Files
cnb/agent/routes/share/index.ts

49 lines
1.7 KiB
TypeScript

import { useKey } from '@kevisual/context';
import { app, cnb } from '../../app.ts';
import z from 'zod';
app.route({
path: 'cnb',
key: 'get-assistant-url',
description: '获取cnb工作空间中部署的各个助手的访问地址',
middleware: ['auth'],
metadata: {
args: {
more: z.boolean().describe('需要更多信息')
}
}
}).define(async (ctx) => {
const uri = useKey('CNB_VSCODE_PROXY_URI') as string || '';
const base = {
base: uri,
link: uri.replace('{{port}}', '51515'),
kevisual: uri.replace('{{port}}', '51515'),
openclaw: uri.replace('{{port}}', '80'),
opencode: uri.replace('{{port}}', '100'),
openwebui: uri.replace('{{port}}', '200'),
note: uri.replace('{{port}}', '3000'),
uptime: uri.replace('{{port}}', '3001'),
immich: uri.replace('{{port}}', '2283'),
nocodb: uri.replace('{{port}}', '4000'),
openlist: uri.replace('{{port}}', '5244'),
xiaoyao: uri.replace('{{port}}', '5678'),
meilisearch: uri.replace('{{port}}', '7700'),
bark: uri.replace('{{port}}', '9111'),
vaultwarden: uri.replace('{{port}}', '8180'),
music: uri.replace('{{port}}', '8096'),
jellyfin: uri.replace('{{port}}', '8096'),
homeassistant: uri.replace('{{port}}', '8123'),
cloudreve: uri.replace('{{port}}', '5212'),
filebrowser: uri.replace('{{port}}', '8081'),
// newapi: uri.replace('{{port}}', '8080'),
vscode: useKey('CNB_VSCODE_PROXY_URI') as string || '',
codeServer: uri.replace('{{port}}', '10000'),
gitea: uri.replace('{{port}}', '3000'),
calibre: uri.replace('{{port}}', '8083'),
searXNG: uri.replace('{{port}}', '8888'),
}
ctx.body = {
...base,
}
}).addTo(app);