Compare commits
167 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a7ab18ea1c | ||
|
|
bf13cdf2d2 | ||
|
|
31d0c060e8 | ||
|
|
7f31d9884f | ||
|
|
665d94addb | ||
|
|
8bf5f64bc3 | ||
|
|
9677055faa | ||
|
|
8f7c2cfa66 | ||
|
|
ee2964e151 | ||
|
|
daa7a20679 | ||
|
|
ed2d8720aa | ||
|
|
5a82a186a7 | ||
|
|
1a34b7724b | ||
|
|
2e04b718e8 | ||
|
|
a075c1cc59 | ||
|
|
bc6725b302 | ||
|
|
6185d314af | ||
|
|
b68403e601 | ||
|
|
ce64c6b048 | ||
|
|
47ad330b35 | ||
|
|
094a8fdd00 | ||
|
|
eb2c715069 | ||
|
|
bd563b10f4 | ||
|
|
e3bf36bcd4 | ||
|
|
7edae9188b | ||
|
|
0acf72a313 | ||
|
|
4fea4b6a9b | ||
|
|
e5ed418949 | ||
|
|
9b294ccba3 | ||
|
|
e900c3e098 | ||
|
|
df8b1b9433 | ||
|
|
63fc2f828e | ||
|
|
0d34b27fff | ||
|
|
224e3e76f0 | ||
|
|
bb2e010930 | ||
|
|
95e1f11502 | ||
|
|
176fa95425 | ||
|
|
2caa5586be | ||
|
|
287f9d2ae4 | ||
|
|
57cf5ca51a | ||
|
|
5241f70ef3 | ||
|
|
fa4c0340fd | ||
|
|
19b9ddd8ba | ||
|
|
879a3c0d1f | ||
|
|
08e28f52c7 | ||
|
|
f33cfab0d5 | ||
|
|
488758764e | ||
|
|
090e8fe32c | ||
|
|
5143266442 | ||
|
|
3a0e432b02 | ||
|
|
2056538375 | ||
|
|
2d9f073435 | ||
|
|
ff6038b786 | ||
|
|
88cc7cd966 | ||
|
|
ed7d16b4f3 | ||
|
|
a0cfb3b9da | ||
|
|
ac8c6c1c73 | ||
|
|
33b01fa0e9 | ||
|
|
92fc6d4b83 | ||
|
|
79c375802d | ||
|
|
da43adac96 | ||
|
|
1499c0cbc8 | ||
|
|
e5f96b7f43 | ||
|
|
59824d9cd5 | ||
|
|
ff6d1b5de7 | ||
|
|
f8f0e8a59c | ||
|
|
f7d6554e9b | ||
|
|
a4dd29145f | ||
|
|
c6a574a2ac | ||
|
|
9c21259577 | ||
|
|
d1d7e7d7bd | ||
|
|
9e75d8dd2e | ||
|
|
9485b62cfd | ||
|
|
8631be501b | ||
|
|
624f697bee | ||
|
|
6b99552f08 | ||
|
|
58486f95e8 | ||
|
|
c4ca92efc9 | ||
|
|
06d1bed987 | ||
|
|
a6b8198c3f | ||
|
|
1647494c7d | ||
|
|
a007292b60 | ||
|
|
fabae13e87 | ||
|
|
060708bd79 | ||
|
|
4e95b57152 | ||
|
|
40d8a0425b | ||
|
|
b53f428cbb | ||
|
|
ea9a873589 | ||
|
|
345b759fff | ||
|
|
b2a021bf8a | ||
|
|
73c50286b7 | ||
|
|
7c69d612b0 | ||
|
|
2c8f73d290 | ||
|
|
968625d27b | ||
|
|
1dfce734ef | ||
|
|
8ee0c34f6f | ||
|
|
37518342fc | ||
|
|
2e5a2c3c12 | ||
|
|
355e4d0e3c | ||
|
|
a1f08dd0ab | ||
|
|
f5c40bae3b | ||
|
|
e4ff312f58 | ||
|
|
35c0756e85 | ||
|
|
649f66213e | ||
|
|
5793c4d2b9 | ||
|
|
8a23dc5576 | ||
|
|
db6df82ea8 | ||
|
|
fbb32adbf6 | ||
|
|
c266655af9 | ||
|
|
b60481c99c | ||
|
|
3f980d4593 | ||
|
|
fa909e5a2a | ||
|
|
d25a84953b | ||
|
|
9f5ad04e92 | ||
|
|
6873746d29 | ||
|
|
4bff8e503b | ||
|
|
8d7e11b021 | ||
|
|
2a68f352bc | ||
|
|
96c43c7cf5 | ||
|
|
53459b9abe | ||
|
|
cd40c1f201 | ||
|
|
8c8e28264f | ||
|
|
8d985e0a2b | ||
|
|
8727a4f29a | ||
|
|
8f99f3edb2 | ||
|
|
77390fa647 | ||
|
|
b74014f9f2 | ||
|
|
441f8c8e3a | ||
|
|
4fc74b1531 | ||
|
|
276902bca0 | ||
|
|
806e2c1262 | ||
|
|
5429e25b1e | ||
|
|
c24c0819ce | ||
|
|
7320773bfe | ||
|
|
9865bd170b | ||
|
|
5ffeef897a | ||
|
|
1ec3ec092b | ||
|
|
5633d113f8 | ||
|
|
5de69b8e6f | ||
|
|
21e56276cd | ||
|
|
f0290af13a | ||
|
|
0b773b1726 | ||
|
|
fafe1b5997 | ||
|
|
aca71bc2d4 | ||
|
|
354050e2b5 | ||
|
|
233aea47d3 | ||
|
|
1a94117607 | ||
|
|
b8de42aeb3 | ||
|
|
367b09fac3 | ||
|
|
f6ebe7c037 | ||
|
|
450d38e15a | ||
|
|
7245a89774 | ||
|
|
f9ad2dcd87 | ||
|
|
868e355e41 | ||
|
|
11cef02d74 | ||
|
|
ea0296f3e2 | ||
|
|
775d830ec3 | ||
|
|
6129e0f898 | ||
|
|
3a9a9fd6f0 | ||
|
|
5b5cd79cb5 | ||
|
|
f499f63c50 | ||
|
|
6cc0c355dd | ||
|
|
5b5ea31d87 | ||
|
|
e2d03b587d | ||
|
|
f7a4fb23c8 | ||
|
|
9cb98a61dd | ||
|
|
f562d4ea81 |
19
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
---
|
||||
name: Bug Report 🐛
|
||||
about: 报告一个问题 (Report a bug)
|
||||
title: "[Bug] "
|
||||
labels: bug
|
||||
assignees: ''
|
||||
---
|
||||
|
||||
**问题描述**
|
||||
简要描述你遇到的问题。
|
||||
|
||||
**复现步骤**
|
||||
1.
|
||||
2.
|
||||
|
||||
**环境信息**
|
||||
- OS:
|
||||
- 报错信息 (如有):
|
||||
|
||||
14
.github/ISSUE_TEMPLATE/feature_request.md
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
---
|
||||
name: Feature Request 💡
|
||||
about: 建议一个新功能 (Propose a feature)
|
||||
title: "[Feat] "
|
||||
labels: enhancement
|
||||
assignees: ''
|
||||
---
|
||||
|
||||
**功能描述**
|
||||
你希望添加什么功能?
|
||||
|
||||
**解决什么问题**
|
||||
这个功能解决了什么痛点?
|
||||
|
||||
7
.github/PULL_REQUEST_TEMPLATE.md
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
## Summary
|
||||
|
||||
<!-- Brief description of what this PR does -->
|
||||
|
||||
## Test Plan
|
||||
|
||||
<!-- How was this tested? -->
|
||||
41
.github/workflows/test.yml
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
name: Tests
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [main]
|
||||
pull_request:
|
||||
branches: [main]
|
||||
|
||||
jobs:
|
||||
test:
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 10
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: "3.11"
|
||||
|
||||
- name: Install uv
|
||||
uses: astral-sh/setup-uv@v3
|
||||
with:
|
||||
enable-cache: true
|
||||
cache-dependency-glob: "requirements.txt"
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
uv pip install --system -r requirements.txt
|
||||
uv pip install --system pytest pytest-cov
|
||||
|
||||
- name: Run tests with coverage
|
||||
run: pytest -v --cov=src --cov-report=xml --cov-report=term --cov-fail-under=60
|
||||
|
||||
- name: Upload coverage to Codecov
|
||||
uses: codecov/codecov-action@v4
|
||||
with:
|
||||
files: ./coverage.xml
|
||||
fail_ci_if_error: false
|
||||
token: ${{ secrets.CODECOV_TOKEN }} # Optional for public repos, but recommended
|
||||
55
CONTRIBUTING.md
Normal file
@@ -0,0 +1,55 @@
|
||||
# 贡献指南 (Contributing Guide)
|
||||
|
||||
感谢你对 **Cultivation World Simulator** (修仙模拟器) 感兴趣!欢迎任何形式的贡献,包括修复 Bug、改进文档或开发新功能。
|
||||
|
||||
> **重要**:任何新功能提交请务必提前在 issue 中讨论清楚,得到维护者确认后,再进行贡献。
|
||||
|
||||
为了保持代码库的健康和风格统一,请在贡献前阅读以下指南。
|
||||
|
||||
## 🛠️ 开发环境搭建
|
||||
|
||||
具体的安装和启动步骤请参考 [README.md](./README.md) 中的说明。
|
||||
|
||||
**项目结构说明:**
|
||||
- **后端 (Python)**: 位于 `src/` 目录。
|
||||
- **前端 (Vue 3)**: 位于 `web/` 目录。
|
||||
|
||||
## ✅ 测试要求 (必须)
|
||||
|
||||
在提交 Pull Request 之前,请务必确保所有测试通过。这是保证代码质量的关键。
|
||||
|
||||
**运行后端测试:**
|
||||
```bash
|
||||
pytest tests/
|
||||
```
|
||||
|
||||
请确保所有测试用例都能通过(PASS)。如果你添加了新功能,建议同时也添加相应的测试用例。
|
||||
|
||||
## 📝 代码规范
|
||||
|
||||
我们追求**简洁、优雅、清晰易读**的代码风格。
|
||||
|
||||
### Python 后端
|
||||
- 遵循 PEP 8 风格指南。
|
||||
- 如果新增了功能,请加入对应的pytest测试。
|
||||
|
||||
### Vue 前端
|
||||
- 使用 **TypeScript** 编写逻辑。
|
||||
- 遵循 Vue 3 Composition API 的最佳实践。
|
||||
- 组件命名清晰,保持单一职责。
|
||||
|
||||
## 🚀 提交 Pull Request (PR)
|
||||
|
||||
1. **Fork** 本仓库到你的 GitHub 账户。
|
||||
2. **Clone** 你的 Fork 版本到本地。
|
||||
3. 创建一个新的分支进行开发:
|
||||
```bash
|
||||
git checkout -b feature/你的功能名称
|
||||
# 或者
|
||||
git checkout -b fix/修复的问题
|
||||
```
|
||||
4. 提交你的更改 (Commit),请使用清晰的提交信息。
|
||||
5. 推送 (Push) 到你的远程分支。
|
||||
6. 在 GitHub 上发起 **Pull Request**。
|
||||
|
||||
感谢你的贡献!一起打造更好的修仙世界。
|
||||
216
EN_README.md
@@ -6,6 +6,29 @@
|
||||
|
||||
# Cultivation World Simulator
|
||||
|
||||

|
||||
[](https://space.bilibili.com/527346837)
|
||||

|
||||
|
||||

|
||||

|
||||

|
||||
[](LICENSE)
|
||||
|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||
|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
<p align="center">
|
||||
<img src="assets/screenshot.gif" alt="Game Demo" width="100%">
|
||||
</p>
|
||||
@@ -28,34 +51,45 @@ You don't need to personally fight monsters or level up. Instead, you observe al
|
||||
|
||||
<table border="0">
|
||||
<tr>
|
||||
<td width="33%" valign="top">
|
||||
<h4 align="center">Character Panel</h4>
|
||||
<img src="assets/角色.png" width="100%" />
|
||||
<br/><br/>
|
||||
<h4 align="center">Personality Traits</h4>
|
||||
<img src="assets/特质.png" width="100%" />
|
||||
</td>
|
||||
<td width="33%" valign="top">
|
||||
<h4 align="center">Sect System</h4>
|
||||
<img src="assets/宗门.png" width="100%" />
|
||||
<img src="assets/screenshots/宗门.png" width="100%" />
|
||||
<br/><br/>
|
||||
<h4 align="center">City Regions</h4>
|
||||
<img src="assets/screenshots/城市.png" width="100%" />
|
||||
<br/><br/>
|
||||
<h4 align="center">Life Experiences</h4>
|
||||
<img src="assets/经历.png" width="100%" />
|
||||
<img src="assets/screenshots/经历.png" width="100%" />
|
||||
</td>
|
||||
<td width="33%" valign="top">
|
||||
<h4 align="center">Independent Thinking</h4>
|
||||
<img src="assets/思考.png" width="100%" />
|
||||
<h4 align="center">Character Panel</h4>
|
||||
<img src="assets/screenshots/角色.png" width="100%" />
|
||||
<br/><br/>
|
||||
<h4 align="center">Short/Long Term Goals</h4>
|
||||
<img src="assets/目标.png" width="100%" />
|
||||
<h4 align="center">Personality Traits</h4>
|
||||
<img src="assets/screenshots/特质.png" width="100%" />
|
||||
<br/><br/>
|
||||
<h4 align="center">Independent Thinking</h4>
|
||||
<img src="assets/screenshots/思考.png" width="100%" />
|
||||
<br/><br/>
|
||||
<h4 align="center">Nicknames</h4>
|
||||
<img src="assets/绰号.png" width="100%" />
|
||||
<img src="assets/screenshots/绰号.png" width="100%" />
|
||||
</td>
|
||||
<td width="33%" valign="top">
|
||||
<h4 align="center">Cave Exploration</h4>
|
||||
<img src="assets/screenshots/洞府.png" width="100%" />
|
||||
<br/><br/>
|
||||
<h4 align="center">Short/Long Term Goals</h4>
|
||||
<img src="assets/screenshots/目标.png" width="100%" />
|
||||
<br/><br/>
|
||||
<h4 align="center">Elixirs/Artifacts/Weapons</h4>
|
||||
<img src="assets/screenshots/丹药.png" width="100%" />
|
||||
<img src="assets/screenshots/法宝.png" width="100%" />
|
||||
<img src="assets/screenshots/武器.png" width="100%" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
### Why make this?
|
||||
### 💭 Why make this?
|
||||
The worlds in cultivation novels are fascinating, but readers can only ever observe a corner of them.
|
||||
|
||||
Cultivation games are either completely scripted or rely on simple state machines designed by humans, often resulting in forced and unintelligent behaviors.
|
||||
@@ -64,13 +98,75 @@ With the advent of Large Language Models, the goal of making "every character al
|
||||
|
||||
I hope to create a pure, joyful, direct, and living sense of immersion in a cultivation world. Not a pure marketing tool for some game company, nor pure research like "Stanford Town", but an actual world that provides players with real immersion.
|
||||
|
||||
## Contact
|
||||
## 📞 Contact
|
||||
|
||||
If you have any questions or suggestions, feel free to open an Issue or Pull Request.
|
||||
You're also welcome to leave a message on my [Bilibili account](https://space.bilibili.com/527346837)!
|
||||
You can also join the QQ group for discussion: 1071821688. Verification answer is my Bilibili nickname.
|
||||
You can also join the QQ group for discussion: 1071821688. Verification answer: 肥桥今天吃什么
|
||||
|
||||
## Development Progress
|
||||
## 🚀 Usage
|
||||
|
||||
### ⚙️ Run Steps
|
||||
1. Clone the repo:
|
||||
```bash
|
||||
git clone https://github.com/your-username/cultivation-world-simulator.git
|
||||
cd cultivation-world-simulator
|
||||
```
|
||||
|
||||
2. Install dependencies:
|
||||
```bash
|
||||
# Backend dependencies
|
||||
pip install -r requirements.txt
|
||||
|
||||
# Frontend dependencies (Node.js environment required)
|
||||
cd web && npm install
|
||||
```
|
||||
|
||||
3. Configure LLM:
|
||||
Edit `static/config.yml`:
|
||||
```yaml
|
||||
llm:
|
||||
key: "your-api-key-here" # your api key
|
||||
base_url: "https://api.xxx.com" # API addr
|
||||
model_name: "normal_model_name"
|
||||
fast_model_name: "fast_model_name"
|
||||
```
|
||||
Supports all API providers compatible with OpenAI interface format (e.g., Qwen, DeepSeek, SiliconFlow, OpenRouter, etc.)
|
||||
|
||||
You can also configure LLM parameters directly in the frontend:
|
||||
|
||||
<img src="assets/llm_config.png" alt="Frontend LLM Config" width="100%">
|
||||
|
||||
4. Run:
|
||||
```bash
|
||||
# Start service (Recommended dev mode, automatically starts frontend)
|
||||
python src/server/main.py --dev
|
||||
```
|
||||
The browser will automatically open the web frontend.
|
||||
|
||||
|
||||
## 📊 Project Status
|
||||
|
||||

|
||||
|
||||
## ⭐ Star History
|
||||
|
||||
If you find this project interesting, please give us a Star ⭐! It will motivate us to keep improving and adding new features.
|
||||
|
||||
<div align="center">
|
||||
<a href="https://star-history.com/#4thfever/cultivation-world-simulator&Date">
|
||||
<img src="https://api.star-history.com/svg?repos=4thfever/cultivation-world-simulator&type=Date" alt="Star History Chart" width="600">
|
||||
</a>
|
||||
</div>
|
||||
|
||||
## 👥 Contributors
|
||||
- Aku, for world design & discussion
|
||||
- [@xzhseh](https://github.com/xzhseh), contributed code
|
||||
|
||||
## 🙏 Acknowledgments
|
||||
- Referenced some UI elements from ailifeengine
|
||||
|
||||
## 📋 Development Progress
|
||||
|
||||
### 🏗️ Foundation
|
||||
- ✅ World map basics, time, event system
|
||||
@@ -81,6 +177,9 @@ You can also join the QQ group for discussion: 1071821688. Verification answer i
|
||||
- ✅ Standalone release (packaged exe)
|
||||
- ✅ Menu bar & Save & Load
|
||||
- ✅ Flexible custom LLM interface
|
||||
- ✅ Support macOS
|
||||
- [ ] Support multi-language localization
|
||||
- ✅ Start Game Page
|
||||
|
||||
### 🗺️ World System
|
||||
- ✅ Basic tile mechanics
|
||||
@@ -88,7 +187,6 @@ You can also join the QQ group for discussion: 1071821688. Verification answer i
|
||||
- ✅ Same-tile NPC interactions
|
||||
- ✅ Qi distribution and yields
|
||||
- ✅ World event
|
||||
- [ ] Dynamic worldview, map, history, sect, and notable figure generation
|
||||
|
||||
### 👤 Character System
|
||||
- ✅ Core attributes
|
||||
@@ -102,15 +200,17 @@ You can also join the QQ group for discussion: 1071821688. Verification answer i
|
||||
- ✅ Effect system: buffs/debuffs
|
||||
- ✅ Techniques
|
||||
- ✅ Combat equipment & auxiliary equipment
|
||||
- ✅ Elixir
|
||||
- ✅ Short/Long term memory
|
||||
- ✅ Character's short and long term objectives, supporting player active setting
|
||||
- ✅ Avatar nicknames
|
||||
- [ ] Character compatibility
|
||||
- [ ] Skill learning system:
|
||||
- [ ] Learnable skills
|
||||
- [ ] Life professions (alchemy, formations, planting, forging, etc.)
|
||||
- [ ] Life Skills
|
||||
- ✅ Forging
|
||||
- ✅ Refine
|
||||
- [ ] Planting
|
||||
- [ ] Taming
|
||||
- [ ] Evolving skills
|
||||
- [ ] Mortals
|
||||
- [ ] Prodigies (stronger abilities and AI)
|
||||
|
||||
### 🏛️ Organizations
|
||||
- [ ] Sect system
|
||||
@@ -126,7 +226,7 @@ You can also join the QQ group for discussion: 1071821688. Verification answer i
|
||||
### ⚡ Action System
|
||||
- ✅ Basic movement
|
||||
- ✅ Action execution framework
|
||||
- ✅ Defined actions (rule-complete)
|
||||
- ✅ Defined actions
|
||||
- ✅ Long-duration actions and settlement
|
||||
- ✅ Multi-month actions (cultivate, breakthrough, play, etc.)
|
||||
- ✅ Auto-settlement upon completion
|
||||
@@ -137,7 +237,7 @@ You can also join the QQ group for discussion: 1071821688. Verification answer i
|
||||
### 🎭 Event System
|
||||
- ✅ Heaven-earth Qi fluctuations
|
||||
- [ ] World-scale events:
|
||||
- [ ] Auctions
|
||||
- ✅ Auctions
|
||||
- [ ] Secret realm exploration
|
||||
- [ ] Martial tournaments
|
||||
- [ ] Sect grand competition
|
||||
@@ -176,11 +276,10 @@ You can also join the QQ group for discussion: 1071821688. Verification answer i
|
||||
- ✅ One-off choices (e.g., switch techniques or not)
|
||||
|
||||
### 🏛️ World Lore
|
||||
- [ ] Lore framework
|
||||
- [ ] Worldbuilding
|
||||
- [ ] Ancient history generation
|
||||
- ✅ Inject basic world knowledge
|
||||
- ✅ User input history, dynamic generation of techniques, equipment, sects, and region info
|
||||
|
||||
### Specials
|
||||
### ✨ Specials
|
||||
- ✅ Fortuitous encounters
|
||||
- ✅ Tribulations & Heart devils
|
||||
- [ ] Possession & Rebirth
|
||||
@@ -188,66 +287,13 @@ You can also join the QQ group for discussion: 1071821688. Verification answer i
|
||||
- [ ] Divination & Prophecy
|
||||
- [ ] Male appearance female traits & Female appearance male traits
|
||||
- [ ] Character Secrets & Two-faced
|
||||
- [ ] Ascension to Upper Realm
|
||||
- [ ] Ascension to Heaven
|
||||
- [ ] Formations
|
||||
- [ ] Paths/Daos
|
||||
- [ ] World Secrets & World Laws (Flexible customization)
|
||||
- [ ] Gu Refining
|
||||
- [ ] World-ending Crisis
|
||||
- [ ] Become a Legend of Later Ages
|
||||
|
||||
### 🔭 Long-term
|
||||
- [ ] ECS parallel toolkit
|
||||
- [ ] Novelization/imagery/video for history and events
|
||||
- [ ] Avatar calling MCP tools on their own
|
||||
|
||||
## Usage
|
||||
|
||||
### Run Steps
|
||||
1. Clone the repo:
|
||||
```bash
|
||||
git clone https://github.com/your-username/cultivation-world-simulator.git
|
||||
cd cultivation-world-simulator
|
||||
```
|
||||
|
||||
2. Install dependencies:
|
||||
```bash
|
||||
# Backend dependencies
|
||||
pip install -r requirements.txt
|
||||
|
||||
# Frontend dependencies (Node.js environment required)
|
||||
cd web && npm install
|
||||
```
|
||||
|
||||
3. Configure LLM:
|
||||
Edit `static/config.yml`:
|
||||
```yaml
|
||||
llm:
|
||||
key: "your-api-key-here" # your API key
|
||||
base_url: "https://api.xxx.com" # API base URL
|
||||
model_name: "model-name" # main model name
|
||||
fast_model_name: "fast-model" # fast model name
|
||||
```
|
||||
Supports all API providers compatible with OpenAI interface format (e.g., Qwen, DeepSeek, SiliconFlow, OpenRouter, etc.)
|
||||
|
||||
You can also configure LLM parameters directly in the frontend:
|
||||
|
||||
<img src="assets/llm_config.png" alt="Frontend LLM Config" width="100%">
|
||||
|
||||
4. Run:
|
||||
```bash
|
||||
# Start service (Recommended dev mode, automatically starts frontend)
|
||||
python src/server/main.py --dev
|
||||
```
|
||||
The browser will automatically open the web frontend.
|
||||
|
||||
|
||||
## Contributors
|
||||
- Aku, for world design & discussion
|
||||
|
||||
## Acknowledgments
|
||||
- Referenced some UI elements from ailifeengine
|
||||
|
||||
## License
|
||||
|
||||
This project is licensed as specified in the [LICENSE](LICENSE) file.
|
||||
- [ ] Avatar calling MCP tools on their own
|
||||
228
README.md
@@ -6,9 +6,29 @@
|
||||
|
||||
# 修仙世界模拟器 (Cultivation World Simulator)
|
||||
|
||||

|
||||

|
||||

|
||||
[](https://space.bilibili.com/527346837)
|
||||

|
||||
|
||||

|
||||

|
||||

|
||||
[](LICENSE)
|
||||
[](https://codecov.io/gh/AI-Cultivation/cultivation-world-simulator)
|
||||
|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||
|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
|
||||
<p align="center">
|
||||
@@ -33,34 +53,45 @@
|
||||
|
||||
<table border="0">
|
||||
<tr>
|
||||
<td width="33%" valign="top">
|
||||
<h4 align="center">角色面板</h4>
|
||||
<img src="assets/角色.png" width="100%" />
|
||||
<br/><br/>
|
||||
<h4 align="center">性格特质</h4>
|
||||
<img src="assets/特质.png" width="100%" />
|
||||
</td>
|
||||
<td width="33%" valign="top">
|
||||
<h4 align="center">宗门体系</h4>
|
||||
<img src="assets/宗门.png" width="100%" />
|
||||
<img src="assets/screenshots/宗门.png" width="100%" />
|
||||
<br/><br/>
|
||||
<h4 align="center">城市区域</h4>
|
||||
<img src="assets/screenshots/城市.png" width="100%" />
|
||||
<br/><br/>
|
||||
<h4 align="center">生平经历</h4>
|
||||
<img src="assets/经历.png" width="100%" />
|
||||
<img src="assets/screenshots/经历.png" width="100%" />
|
||||
</td>
|
||||
<td width="33%" valign="top">
|
||||
<h4 align="center">自主思考</h4>
|
||||
<img src="assets/思考.png" width="100%" />
|
||||
<h4 align="center">角色面板</h4>
|
||||
<img src="assets/screenshots/角色.png" width="100%" />
|
||||
<br/><br/>
|
||||
<h4 align="center">长短期目标</h4>
|
||||
<img src="assets/目标.png" width="100%" />
|
||||
<h4 align="center">性格特质</h4>
|
||||
<img src="assets/screenshots/特质.png" width="100%" />
|
||||
<br/><br/>
|
||||
<h4 align="center">自主思考</h4>
|
||||
<img src="assets/screenshots/思考.png" width="100%" />
|
||||
<br/><br/>
|
||||
<h4 align="center">江湖绰号</h4>
|
||||
<img src="assets/绰号.png" width="100%" />
|
||||
<img src="assets/screenshots/绰号.png" width="100%" />
|
||||
</td>
|
||||
<td width="33%" valign="top">
|
||||
<h4 align="center">洞府探秘</h4>
|
||||
<img src="assets/screenshots/洞府.png" width="100%" />
|
||||
<br/><br/>
|
||||
<h4 align="center">长短期目标</h4>
|
||||
<img src="assets/screenshots/目标.png" width="100%" />
|
||||
<br/><br/>
|
||||
<h4 align="center">丹药/法宝/武器</h4>
|
||||
<img src="assets/screenshots/丹药.png" width="100%" />
|
||||
<img src="assets/screenshots/法宝.png" width="100%" />
|
||||
<img src="assets/screenshots/武器.png" width="100%" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
### 为什么要做这个?
|
||||
### 💭 为什么要做这个?
|
||||
修仙网文中的世界很精彩,但读者永远只能观察到一隅。
|
||||
|
||||
修仙品类游戏要么是完全的预设剧本,要么依靠人工设计的简单规则状态机,有许许多多牵强和降智的表现。
|
||||
@@ -69,12 +100,84 @@
|
||||
|
||||
希望能够创造出纯粹的、快乐的、直接的、活着的修仙世界的沉浸感。不是像一些游戏公司的纯粹宣传工具,也不是像斯坦福小镇那样的纯粹研究,而是能给玩家提供真实代入感和沉浸感的实际世界。
|
||||
|
||||
## 联系方式
|
||||
## 📞 联系方式
|
||||
如果您对项目有任何问题或建议,欢迎提交 Issue 或 Pull Request。
|
||||
欢迎给我的[B站账号](https://space.bilibili.com/527346837)留言!
|
||||
也可以加入QQ群进行讨论:1071821688。进群需要输入我的B站昵称。
|
||||
也可以加入QQ群进行讨论:1071821688。进群问题的答案:肥桥今天吃什么
|
||||
|
||||
## 功能开发进度
|
||||
## 🚀 使用方法
|
||||
|
||||
### ⚙️ 运行步骤
|
||||
1. 克隆项目到本地:
|
||||
```bash
|
||||
git clone https://github.com/your-username/cultivation-world-simulator.git
|
||||
cd cultivation-world-simulator
|
||||
```
|
||||
|
||||
2. 安装依赖:
|
||||
```bash
|
||||
# 后端依赖
|
||||
pip install -r requirements.txt
|
||||
|
||||
# 前端依赖 (需Node.js环境)
|
||||
cd web && npm install
|
||||
```
|
||||
|
||||
3. 配置LLM:
|
||||
在 `static/config.yml` 中配置LLM参数(OpenAI格式):
|
||||
```yaml
|
||||
llm:
|
||||
key: "your-api-key-here" # 你的API密钥
|
||||
base_url: "https://api.xxx.com" # API地址
|
||||
model_name: "normal_model_name" # 智能模型名称
|
||||
fast_model_name: "fast_model_name" # 快速模型名称
|
||||
```
|
||||
|
||||
也支持在前端直接配入LLM参数:
|
||||
|
||||
<img src="assets/llm_config.png" alt="前端LLM配置" width="100%">
|
||||
|
||||
4. 运行:
|
||||
```bash
|
||||
# 启动服务 (推荐开发模式,会自动启动前端)
|
||||
python src/server/main.py --dev
|
||||
```
|
||||
浏览器会自动打开网页前端。
|
||||
|
||||
|
||||
## 📊 项目状态
|
||||
|
||||
<div align="center">
|
||||
<img src="https://github-readme-activity-graph.vercel.app/graph?username=4thfever&repo=cultivation-world-simulator&theme=github-compact&hide_border=true&area=true" width="100%" alt="Activity Graph" />
|
||||
</div>
|
||||
|
||||
<br/>
|
||||
|
||||

|
||||
|
||||
## ⭐ Star History
|
||||
|
||||
如果你觉得这个项目有趣,请给我们一个 Star ⭐!这将激励我们持续改进和添加新功能。
|
||||
|
||||
<div align="center">
|
||||
<a href="https://star-history.com/#4thfever/cultivation-world-simulator&Date">
|
||||
<img src="https://api.star-history.com/svg?repos=4thfever/cultivation-world-simulator&type=Date" alt="Star History Chart" width="600">
|
||||
</a>
|
||||
</div>
|
||||
|
||||
## 👥 贡献者
|
||||
|
||||
<a href="https://github.com/4thfever/cultivation-world-simulator/graphs/contributors">
|
||||
<img src="https://contrib.rocks/image?repo=4thfever/cultivation-world-simulator&max=100&columns=12" />
|
||||
</a>
|
||||
|
||||
* **Aku** - 世界观 & 玩法设计与讨论
|
||||
* **[@xzhseh](https://github.com/xzhseh)** - 贡献代码
|
||||
|
||||
## 🙏 致谢
|
||||
- 参考了ai life engine部分ui
|
||||
|
||||
## 📋 功能开发进度
|
||||
|
||||
### 🏗️ 基础系统
|
||||
- ✅ 基础世界地图、时间、事件系统
|
||||
@@ -85,6 +188,9 @@
|
||||
- ✅ release 一键即玩的exe
|
||||
- ✅ 菜单栏 & 存档 & 读档
|
||||
- ✅ 灵活自定义LLM接口
|
||||
- ✅ 支持mac os
|
||||
- [ ] 多语言本地化
|
||||
- ✅ 开始游戏页
|
||||
|
||||
### 🗺️ 世界系统
|
||||
- ✅ 基础tile地块系统
|
||||
@@ -92,7 +198,6 @@
|
||||
- ✅ 同地块NPC交互
|
||||
- ✅ 灵气分布与产出设计
|
||||
- ✅ 世界事件
|
||||
- [ ] 动态世界观设定、地图、历史、宗门、名人生成
|
||||
|
||||
### 👤 角色系统
|
||||
- ✅ 角色基础属性系统
|
||||
@@ -106,15 +211,17 @@
|
||||
- ✅ 角色Effects系统:增益/减益效果
|
||||
- ✅ 角色功法
|
||||
- ✅ 角色兵器 & 辅助装备
|
||||
- ✅ 丹药
|
||||
- ✅ 角色长短期记忆
|
||||
- ✅ 角色的长短期目标,支持玩家主动设定
|
||||
- ✅ 角色绰号
|
||||
- [ ] 角色间相性
|
||||
- [ ] 技能学习系统:
|
||||
- [ ] 可学习技能
|
||||
- [ ] 生活职业(丹药、阵法、种植、铸造etc)
|
||||
- [ ] 生活技能
|
||||
- ✅ 铸造
|
||||
- ✅ 炼丹
|
||||
- [ ] 种植
|
||||
- [ ] 饲养
|
||||
- [ ] 技能可升级
|
||||
- [ ] 凡人系统
|
||||
- [ ] 天骄系统(更强能力,更强AI)
|
||||
|
||||
### 🏛️ 组织系统
|
||||
- [ ] 宗门系统
|
||||
@@ -130,18 +237,18 @@
|
||||
### ⚡ 动作系统
|
||||
- ✅ 基础移动动作
|
||||
- ✅ 动作执行框架
|
||||
- ✅ 有明确规则的定义动作(Defined Action)
|
||||
- ✅ 有明确规则的定义动作
|
||||
- ✅ 长动作执行和结算系统
|
||||
- ✅ 支持多月份持续的动作(如修炼、突破、游戏等)
|
||||
- ✅ 动作完成时的自动结算机制
|
||||
- ✅ 多人动作:动作发起与动作响应
|
||||
- ✅ 影响人际关系的LLM动作(LLM Action)
|
||||
- ✅ 影响人际关系的LLM动作
|
||||
- ✅ 系统性的动作注册与运行逻辑
|
||||
|
||||
### 🎭 事件系统
|
||||
- ✅ 天地灵气变动
|
||||
- [ ] 世界范围大事件:
|
||||
- [ ] 拍卖会
|
||||
- ✅ 多人大事件:
|
||||
- ✅ 拍卖会
|
||||
- [ ] 秘境探索
|
||||
- [ ] 比武大会
|
||||
- [ ] 宗门大比
|
||||
@@ -180,11 +287,10 @@
|
||||
- ✅ 一次性选择(如是否要切换功法)
|
||||
|
||||
### 🏛️ 世界背景系统
|
||||
- [ ] 背景故事框架
|
||||
- [ ] 世界观生成
|
||||
- [ ] 上古历史生成
|
||||
- ✅ 注入基础世界知识
|
||||
- ✅ 用户输入历史,动态生成功法、装备、宗门、区域信息
|
||||
|
||||
### 特殊
|
||||
### ✨ 特殊
|
||||
- ✅ 奇遇
|
||||
- ✅ 天劫 & 心魔
|
||||
- [ ] 夺舍 & 重生
|
||||
@@ -198,59 +304,7 @@
|
||||
- [ ] 世界秘密 & 世界法则 (可灵活自定义)
|
||||
- [ ] 炼蛊
|
||||
- [ ] 灭世危机
|
||||
- [ ] 成为后世传奇
|
||||
|
||||
### 🔭 远期展望
|
||||
- [ ] ECS并行
|
||||
- [ ] 历史/事件的小说化&图片化&视频化
|
||||
- [ ] MCP agent化,修士自行调用工具
|
||||
|
||||
## 使用方法
|
||||
|
||||
### 运行步骤
|
||||
1. 克隆项目到本地:
|
||||
```bash
|
||||
git clone https://github.com/your-username/cultivation-world-simulator.git
|
||||
cd cultivation-world-simulator
|
||||
```
|
||||
|
||||
2. 安装依赖:
|
||||
```bash
|
||||
# 后端依赖
|
||||
pip install -r requirements.txt
|
||||
|
||||
# 前端依赖 (需Node.js环境)
|
||||
cd web && npm install
|
||||
```
|
||||
|
||||
3. 配置LLM:
|
||||
在 `static/config.yml` 中配置LLM参数(OpenAI格式):
|
||||
```yaml
|
||||
llm:
|
||||
key: "your-api-key-here" # 你的API密钥
|
||||
base_url: "https://api.xxx.com" # API地址
|
||||
model_name: "qwen-plus" # 智能模型名称
|
||||
fast_model_name: "qwen-turbo" # 快速模型名称
|
||||
```
|
||||
|
||||
也支持在前端直接配入LLM参数:
|
||||
|
||||
<img src="assets/llm_config.png" alt="前端LLM配置" width="100%">
|
||||
|
||||
4. 运行:
|
||||
```bash
|
||||
# 启动服务 (推荐开发模式,会自动启动前端)
|
||||
python src/server/main.py --dev
|
||||
```
|
||||
浏览器会自动打开网页前端。
|
||||
|
||||
|
||||
## 贡献者
|
||||
- Aku, 世界观\玩法设计与讨论
|
||||
|
||||
## 致谢
|
||||
- 参考了ai life engine部分ui
|
||||
|
||||
## 许可证
|
||||
|
||||
本项目采用 [LICENSE](LICENSE) 文件中指定的许可证。
|
||||
- [ ] MCP agent化,修士自行调用工具
|
||||
|
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 204 KiB After Width: | Height: | Size: 204 KiB |
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 208 KiB After Width: | Height: | Size: 208 KiB |
|
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 196 KiB After Width: | Height: | Size: 196 KiB |
|
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 191 KiB After Width: | Height: | Size: 191 KiB |
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 263 KiB After Width: | Height: | Size: 263 KiB |
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 244 KiB After Width: | Height: | Size: 244 KiB |
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 238 KiB After Width: | Height: | Size: 238 KiB |
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 218 KiB After Width: | Height: | Size: 218 KiB |
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 357 KiB After Width: | Height: | Size: 357 KiB |
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 348 KiB After Width: | Height: | Size: 348 KiB |
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 335 KiB After Width: | Height: | Size: 335 KiB |
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 325 KiB After Width: | Height: | Size: 325 KiB |
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 222 KiB After Width: | Height: | Size: 222 KiB |
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 230 KiB After Width: | Height: | Size: 230 KiB |
|
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 194 KiB After Width: | Height: | Size: 194 KiB |
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 198 KiB After Width: | Height: | Size: 198 KiB |
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 292 KiB After Width: | Height: | Size: 292 KiB |
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 281 KiB After Width: | Height: | Size: 281 KiB |
|
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 255 KiB After Width: | Height: | Size: 255 KiB |
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 275 KiB After Width: | Height: | Size: 275 KiB |
BIN
assets/icon.ico
|
Before Width: | Height: | Size: 126 KiB After Width: | Height: | Size: 164 KiB |
BIN
assets/icon.png
|
Before Width: | Height: | Size: 867 KiB After Width: | Height: | Size: 761 KiB |
BIN
assets/screenshots/丹药.png
Normal file
|
After Width: | Height: | Size: 22 KiB |
BIN
assets/screenshots/城市.png
Normal file
|
After Width: | Height: | Size: 64 KiB |
|
Before Width: | Height: | Size: 136 KiB After Width: | Height: | Size: 136 KiB |
|
Before Width: | Height: | Size: 67 KiB After Width: | Height: | Size: 67 KiB |
BIN
assets/screenshots/武器.png
Normal file
|
After Width: | Height: | Size: 21 KiB |
BIN
assets/screenshots/法宝.png
Normal file
|
After Width: | Height: | Size: 32 KiB |
BIN
assets/screenshots/洞府.png
Normal file
|
After Width: | Height: | Size: 60 KiB |
|
Before Width: | Height: | Size: 65 KiB After Width: | Height: | Size: 65 KiB |
BIN
assets/screenshots/目标.png
Normal file
|
After Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
BIN
assets/screenshots/角色.png
Normal file
|
After Width: | Height: | Size: 80 KiB |
|
Before Width: | Height: | Size: 318 KiB After Width: | Height: | Size: 318 KiB |
|
Before Width: | Height: | Size: 2.0 MiB After Width: | Height: | Size: 2.0 MiB |
|
Before Width: | Height: | Size: 9.6 KiB After Width: | Height: | Size: 9.6 KiB |
|
Before Width: | Height: | Size: 9.6 KiB After Width: | Height: | Size: 9.6 KiB |
|
Before Width: | Height: | Size: 9.6 KiB After Width: | Height: | Size: 9.6 KiB |
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 1.6 MiB After Width: | Height: | Size: 1.6 MiB |
|
Before Width: | Height: | Size: 6.5 KiB After Width: | Height: | Size: 6.5 KiB |
|
Before Width: | Height: | Size: 6.1 KiB After Width: | Height: | Size: 6.1 KiB |
|
Before Width: | Height: | Size: 8.6 KiB After Width: | Height: | Size: 8.6 KiB |
|
Before Width: | Height: | Size: 9.0 KiB After Width: | Height: | Size: 9.0 KiB |
|
Before Width: | Height: | Size: 2.0 MiB After Width: | Height: | Size: 2.0 MiB |
|
Before Width: | Height: | Size: 8.4 KiB After Width: | Height: | Size: 8.4 KiB |
|
Before Width: | Height: | Size: 9.5 KiB After Width: | Height: | Size: 9.5 KiB |
|
Before Width: | Height: | Size: 9.7 KiB After Width: | Height: | Size: 9.7 KiB |
|
Before Width: | Height: | Size: 9.6 KiB After Width: | Height: | Size: 9.6 KiB |
|
Before Width: | Height: | Size: 1.7 MiB After Width: | Height: | Size: 1.7 MiB |
|
Before Width: | Height: | Size: 6.2 KiB After Width: | Height: | Size: 6.2 KiB |
|
Before Width: | Height: | Size: 7.6 KiB After Width: | Height: | Size: 7.6 KiB |
|
Before Width: | Height: | Size: 8.5 KiB After Width: | Height: | Size: 8.5 KiB |
|
Before Width: | Height: | Size: 8.9 KiB After Width: | Height: | Size: 8.9 KiB |
|
Before Width: | Height: | Size: 1.8 MiB After Width: | Height: | Size: 1.8 MiB |
|
Before Width: | Height: | Size: 7.4 KiB After Width: | Height: | Size: 7.4 KiB |
|
Before Width: | Height: | Size: 8.7 KiB After Width: | Height: | Size: 8.7 KiB |
|
Before Width: | Height: | Size: 9.4 KiB After Width: | Height: | Size: 9.4 KiB |
|
Before Width: | Height: | Size: 9.8 KiB After Width: | Height: | Size: 9.8 KiB |
|
Before Width: | Height: | Size: 8.7 KiB After Width: | Height: | Size: 8.7 KiB |
|
Before Width: | Height: | Size: 8.3 KiB After Width: | Height: | Size: 8.3 KiB |
|
Before Width: | Height: | Size: 9.3 KiB After Width: | Height: | Size: 9.3 KiB |
|
Before Width: | Height: | Size: 9.6 KiB After Width: | Height: | Size: 9.6 KiB |
|
Before Width: | Height: | Size: 352 KiB After Width: | Height: | Size: 352 KiB |
|
Before Width: | Height: | Size: 8.5 KiB After Width: | Height: | Size: 8.5 KiB |
|
Before Width: | Height: | Size: 8.0 KiB After Width: | Height: | Size: 8.0 KiB |
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 323 KiB After Width: | Height: | Size: 323 KiB |
|
Before Width: | Height: | Size: 9.4 KiB After Width: | Height: | Size: 9.4 KiB |
|
Before Width: | Height: | Size: 9.3 KiB After Width: | Height: | Size: 9.3 KiB |
|
Before Width: | Height: | Size: 8.8 KiB After Width: | Height: | Size: 8.8 KiB |