Skip to main content
Glama
README.md
# Dragon Work

本地 AI 工作台:对话、Skill、MCP 与项目管理。桌面壳基于 **Tauri + Vue**,**核心能力基于 Java 生态,内核使用阿里巴巴 [AgentScope](https://github.com/agentscope-ai/agentscope) 开发**。

数据写在本机用户目录 `.dragon_work`,不经过云端。

内核仓库:[dragon-work-core](https://github.com/Ajiumeng123/dragon-work-core)

## 主题素材声明

本仓库中的主题、立绘、图标等视觉素材由 **AI 生成**。若权利人认为构成侵权,请联系仓库维护者,我们会及时删除相关素材。

## 仓库结构

| 路径 | 说明 |
|------|------|
| `src/` | 桌面前端(Vue) |
| `src-tauri/` | Tauri / Rust 壳,托盘、打包、拉起内核 |
| `src-tauri/resources/backend/` | **内核 JAR 放置目录**(不提交 git) |
| `src-tauri/resources/jre/` | **内嵌 JRE 放置目录**(不提交 git) |

## 内核打包后放哪里

内核在 [dragon-work-core](https://github.com/Ajiumeng123/dragon-work-core) 构建。打出 Spring Boot fat jar 后,复制到本仓库:

```
src-tauri/resources/backend/dragon-work-start-0.0.1.jar
```

要求:

- 目录固定为 `src-tauri/resources/backend/`
- 文件名以 `.jar` 结尾即可(启动时会取该目录下第一个 jar)
- **不要提交 jar**,已写入 `.gitignore`

同时放入完整 JRE(需包含 `conf/security/java.security`),例如 Temurin 21:

```
src-tauri/resources/jre/
├── bin/java.exe
├── bin/javaw.exe
├── conf/security/java.security
└── lib/
```

`npm run tauri build` 会把 `backend/` 与 `jre/` 打进安装包。安装后程序会把运行时镜像到 `%LOCALAPPDATA%\com.wenzixiu.dragon-work\embedded-runtime\`,避免安装路径含中文导致 JVM 无法加载 `java.security`。

## 开发与打包

开发模式 **不启动 jar**,只连接本机已运行的内核:`http://127.0.0.1:17623/dragon-work`

```bash
# 先启动 dragon-work-core
npm install
npm run tauri dev
```

强制开发时也拉起内嵌 jar:

```bash
set DRAGON_EMBED_BACKEND=1
npm run tauri dev
```

打包安装包(会内嵌 jar + JRE):

```bash
# 确认 backend/*.jar 与 jre/ 已就位
npm run tauri build
```

内核默认端口 `17623`,context-path `/dragon-work`。

## 环境

- Node.js 18+
- Rust(Tauri)
- 开发:本机 Java 21 跑内核
- 打包:把 JRE 21 整目录放到 `src-tauri/resources/jre/`

## 效果
<img width="1919" height="1200" alt="b903d8a4-14b5-44d3-976f-546bffa5fbc5" src="https://github.com/user-attachments/assets/4bd6af31-94fe-48c9-a53e-8dabdb2172a8" />
<img width="1919" height="1200" alt="7f7d9a2e-0cba-446c-8b8f-c114705392af" src="https://github.com/user-attachments/assets/94b38186-eae5-415c-886b-c441eee67d19" />
<img width="1919" height="1200" alt="4138f308-70bc-4c1c-8c74-8ff90bc6dc97" src="https://github.com/user-attachments/assets/fd327c6c-4641-4b72-b9be-715ca34db711" />
<img width="1919" height="1200" alt="94b9b46d-9784-4247-93fb-f363452a85b0" src="https://github.com/user-attachments/assets/694307ca-aeeb-4561-9baa-2e451eec166d" />