feat: 添加 opencode 模块和相关服务
This commit is contained in:
99
remote/xcopencodeweb/README.md
Normal file
99
remote/xcopencodeweb/README.md
Normal file
@@ -0,0 +1,99 @@
|
|||||||
|
# XCOpenCodeWeb
|
||||||
|
|
||||||
|
XCOpenCodeWeb 是一个基于 Web 的 AI 编程助手界面,用于与 OpenCode 服务器交互。
|
||||||
|
|
||||||
|
## 快速开始
|
||||||
|
|
||||||
|
### 使用单文件 exe(推荐)
|
||||||
|
|
||||||
|
直接下载 `XCOpenCodeWeb.exe`,双击运行:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 默认端口 3000
|
||||||
|
XCOpenCodeWeb.exe
|
||||||
|
|
||||||
|
# 指定端口
|
||||||
|
XCOpenCodeWeb.exe --port 8080
|
||||||
|
|
||||||
|
# 查看帮助
|
||||||
|
XCOpenCodeWeb.exe --help
|
||||||
|
```
|
||||||
|
|
||||||
|
启动后访问 http://localhost:3000
|
||||||
|
|
||||||
|
### 从源码运行
|
||||||
|
|
||||||
|
需要安装 [Bun](https://bun.sh) 或 Node.js 20+
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 安装依赖
|
||||||
|
bun install
|
||||||
|
|
||||||
|
# 构建前端
|
||||||
|
bun run build
|
||||||
|
|
||||||
|
# 启动服务器
|
||||||
|
bun server/index.js --port 3000
|
||||||
|
```
|
||||||
|
|
||||||
|
## 构建单文件 exe
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd web
|
||||||
|
bun run build:exe
|
||||||
|
```
|
||||||
|
|
||||||
|
输出:`web/XCOpenCodeWeb.exe`(约 320MB)
|
||||||
|
|
||||||
|
详细文档:[docs/single-file-exe-build.md](docs/single-file-exe-build.md)
|
||||||
|
|
||||||
|
## 项目结构
|
||||||
|
|
||||||
|
```
|
||||||
|
├── ui/ # 前端组件库
|
||||||
|
├── web/
|
||||||
|
│ ├── src/ # 前端源码
|
||||||
|
│ ├── server/ # 后端服务器
|
||||||
|
│ ├── bin/ # CLI 工具
|
||||||
|
│ └── dist/ # 构建输出
|
||||||
|
├── docs/ # 文档
|
||||||
|
└── AGENTS.md # AI Agent 参考文档
|
||||||
|
```
|
||||||
|
|
||||||
|
## 常用命令
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 开发模式
|
||||||
|
bun run dev # 前端热更新
|
||||||
|
bun run dev:server # 启动开发服务器
|
||||||
|
|
||||||
|
# 构建
|
||||||
|
bun run build # 构建前端
|
||||||
|
bun run build:exe # 构建单文件 exe
|
||||||
|
|
||||||
|
# 代码检查
|
||||||
|
bun run type-check:web # TypeScript 类型检查
|
||||||
|
bun run lint:web # ESLint 检查
|
||||||
|
```
|
||||||
|
|
||||||
|
## 依赖
|
||||||
|
|
||||||
|
- [Bun](https://bun.sh) - 运行时和打包工具
|
||||||
|
- [React](https://react.dev) - 前端框架
|
||||||
|
- [Express](https://expressjs.com) - 后端服务器
|
||||||
|
- [Tailwind CSS](https://tailwindcss.com) - 样式框架
|
||||||
|
|
||||||
|
## 配置
|
||||||
|
|
||||||
|
### 环境变量
|
||||||
|
|
||||||
|
| 变量 | 说明 |
|
||||||
|
|------|------|
|
||||||
|
| `XCOpenCodeWeb_PORT` | 服务器端口(默认 3000) |
|
||||||
|
| `OPENCODE_HOST` | 外部 OpenCode 服务器地址 |
|
||||||
|
| `OPENCODE_PORT` | 外部 OpenCode 端口 |
|
||||||
|
| `OPENCODE_SKIP_START` | 跳过启动 OpenCode |
|
||||||
|
|
||||||
|
## 许可证
|
||||||
|
|
||||||
|
MIT
|
||||||
99
services/xcopencodeweb/README.md
Normal file
99
services/xcopencodeweb/README.md
Normal file
@@ -0,0 +1,99 @@
|
|||||||
|
# XCOpenCodeWeb
|
||||||
|
|
||||||
|
XCOpenCodeWeb 是一个基于 Web 的 AI 编程助手界面,用于与 OpenCode 服务器交互。
|
||||||
|
|
||||||
|
## 快速开始
|
||||||
|
|
||||||
|
### 使用单文件 exe(推荐)
|
||||||
|
|
||||||
|
直接下载 `XCOpenCodeWeb.exe`,双击运行:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 默认端口 3000
|
||||||
|
XCOpenCodeWeb.exe
|
||||||
|
|
||||||
|
# 指定端口
|
||||||
|
XCOpenCodeWeb.exe --port 8080
|
||||||
|
|
||||||
|
# 查看帮助
|
||||||
|
XCOpenCodeWeb.exe --help
|
||||||
|
```
|
||||||
|
|
||||||
|
启动后访问 http://localhost:3000
|
||||||
|
|
||||||
|
### 从源码运行
|
||||||
|
|
||||||
|
需要安装 [Bun](https://bun.sh) 或 Node.js 20+
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 安装依赖
|
||||||
|
bun install
|
||||||
|
|
||||||
|
# 构建前端
|
||||||
|
bun run build
|
||||||
|
|
||||||
|
# 启动服务器
|
||||||
|
bun server/index.js --port 3000
|
||||||
|
```
|
||||||
|
|
||||||
|
## 构建单文件 exe
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd web
|
||||||
|
bun run build:exe
|
||||||
|
```
|
||||||
|
|
||||||
|
输出:`web/XCOpenCodeWeb.exe`(约 320MB)
|
||||||
|
|
||||||
|
详细文档:[docs/single-file-exe-build.md](docs/single-file-exe-build.md)
|
||||||
|
|
||||||
|
## 项目结构
|
||||||
|
|
||||||
|
```
|
||||||
|
├── ui/ # 前端组件库
|
||||||
|
├── web/
|
||||||
|
│ ├── src/ # 前端源码
|
||||||
|
│ ├── server/ # 后端服务器
|
||||||
|
│ ├── bin/ # CLI 工具
|
||||||
|
│ └── dist/ # 构建输出
|
||||||
|
├── docs/ # 文档
|
||||||
|
└── AGENTS.md # AI Agent 参考文档
|
||||||
|
```
|
||||||
|
|
||||||
|
## 常用命令
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 开发模式
|
||||||
|
bun run dev # 前端热更新
|
||||||
|
bun run dev:server # 启动开发服务器
|
||||||
|
|
||||||
|
# 构建
|
||||||
|
bun run build # 构建前端
|
||||||
|
bun run build:exe # 构建单文件 exe
|
||||||
|
|
||||||
|
# 代码检查
|
||||||
|
bun run type-check:web # TypeScript 类型检查
|
||||||
|
bun run lint:web # ESLint 检查
|
||||||
|
```
|
||||||
|
|
||||||
|
## 依赖
|
||||||
|
|
||||||
|
- [Bun](https://bun.sh) - 运行时和打包工具
|
||||||
|
- [React](https://react.dev) - 前端框架
|
||||||
|
- [Express](https://expressjs.com) - 后端服务器
|
||||||
|
- [Tailwind CSS](https://tailwindcss.com) - 样式框架
|
||||||
|
|
||||||
|
## 配置
|
||||||
|
|
||||||
|
### 环境变量
|
||||||
|
|
||||||
|
| 变量 | 说明 |
|
||||||
|
|------|------|
|
||||||
|
| `XCOpenCodeWeb_PORT` | 服务器端口(默认 3000) |
|
||||||
|
| `OPENCODE_HOST` | 外部 OpenCode 服务器地址 |
|
||||||
|
| `OPENCODE_PORT` | 外部 OpenCode 端口 |
|
||||||
|
| `OPENCODE_SKIP_START` | 跳过启动 OpenCode |
|
||||||
|
|
||||||
|
## 许可证
|
||||||
|
|
||||||
|
MIT
|
||||||
BIN
services/xcopencodeweb/XCOpenCodeWeb.exe
Normal file
BIN
services/xcopencodeweb/XCOpenCodeWeb.exe
Normal file
Binary file not shown.
12
shared/modules/opencode/index.ts
Normal file
12
shared/modules/opencode/index.ts
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
import { defineModule } from '../types.js'
|
||||||
|
|
||||||
|
export const OPENCODE_MODULE = defineModule({
|
||||||
|
id: 'opencode',
|
||||||
|
name: 'OpenCode',
|
||||||
|
basePath: '/opencode',
|
||||||
|
order: 15,
|
||||||
|
version: '1.0.0',
|
||||||
|
backend: {
|
||||||
|
enabled: false,
|
||||||
|
},
|
||||||
|
})
|
||||||
11
src/modules/opencode/OpenCodePage.tsx
Normal file
11
src/modules/opencode/OpenCodePage.tsx
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
import React from 'react'
|
||||||
|
|
||||||
|
export const OpenCodePage: React.FC = () => {
|
||||||
|
return (
|
||||||
|
<div className="max-w-4xl mx-auto w-full px-14 py-12 pb-40">
|
||||||
|
<h1 className="text-2xl font-bold text-gray-800 dark:text-gray-200 mb-8 flex items-center gap-2">
|
||||||
|
OpenCode
|
||||||
|
</h1>
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
}
|
||||||
11
src/modules/opencode/index.tsx
Normal file
11
src/modules/opencode/index.tsx
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
import { Code } from 'lucide-react'
|
||||||
|
import { OpenCodePage } from './OpenCodePage'
|
||||||
|
import { OPENCODE_MODULE } from '@shared/modules/opencode'
|
||||||
|
import { createFrontendModule } from '@/lib/module-registry'
|
||||||
|
|
||||||
|
export default createFrontendModule(OPENCODE_MODULE, {
|
||||||
|
icon: Code,
|
||||||
|
component: OpenCodePage,
|
||||||
|
})
|
||||||
|
|
||||||
|
export { OpenCodePage }
|
||||||
Reference in New Issue
Block a user