chore: 说明依赖
This commit is contained in:
@@ -137,7 +137,7 @@ graph LR
|
|||||||
Schedule --> Orbital
|
Schedule --> Orbital
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
______________________________________________________________________
|
||||||
|
|
||||||
## 调度反应器 (Reactor)
|
## 调度反应器 (Reactor)
|
||||||
|
|
||||||
@@ -222,7 +222,7 @@ Router.__init__(atoms)
|
|||||||
└─ Algorithm.revisor(algodata, feedback)
|
└─ Algorithm.revisor(algodata, feedback)
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
______________________________________________________________________
|
||||||
|
|
||||||
## 算法系统
|
## 算法系统
|
||||||
|
|
||||||
@@ -260,7 +260,7 @@ Router.__init__(atoms)
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
______________________________________________________________________
|
||||||
|
|
||||||
## 仓库系统 (Repo)
|
## 仓库系统 (Repo)
|
||||||
|
|
||||||
@@ -303,7 +303,7 @@ classDiagram
|
|||||||
- `_generate_particles_data()` 在初始化时自动将 payload 数据转换为 `Nucleon` 所需的格式.
|
- `_generate_particles_data()` 在初始化时自动将 payload 数据转换为 `Nucleon` 所需的格式.
|
||||||
- 默认保存列表 `default_save_list = ["algodata"]`, 仅持久化算法状态.
|
- 默认保存列表 `default_save_list = ["algodata"]`, 仅持久化算法状态.
|
||||||
|
|
||||||
---
|
______________________________________________________________________
|
||||||
|
|
||||||
## Lict 集合
|
## Lict 集合
|
||||||
|
|
||||||
@@ -320,7 +320,7 @@ lict.dicted_data # 纯字典导出
|
|||||||
|
|
||||||
脏同步机制:修改列表时自动同步字典, 修改字典时自动同步列表. 用于 `payload` 和 `algodata` 的双模式访问需求.
|
脏同步机制:修改列表时自动同步字典, 修改字典时自动同步列表. 用于 `payload` 和 `algodata` 的双模式访问需求.
|
||||||
|
|
||||||
---
|
______________________________________________________________________
|
||||||
|
|
||||||
## 配置系统 (ConfigDict)
|
## 配置系统 (ConfigDict)
|
||||||
|
|
||||||
@@ -361,7 +361,7 @@ with ConfigContext(test_config):
|
|||||||
... # 临时使用测试配置
|
... # 临时使用测试配置
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
______________________________________________________________________
|
||||||
|
|
||||||
## 提供者系统 (Providers)
|
## 提供者系统 (Providers)
|
||||||
|
|
||||||
@@ -377,7 +377,7 @@ with ConfigContext(test_config):
|
|||||||
|
|
||||||
选择方式:`services/*.toml` 中的 `provider` 字段.
|
选择方式:`services/*.toml` 中的 `provider` 字段.
|
||||||
|
|
||||||
---
|
______________________________________________________________________
|
||||||
|
|
||||||
## 谜题系统 (Puzzles)
|
## 谜题系统 (Puzzles)
|
||||||
|
|
||||||
@@ -393,7 +393,7 @@ with ConfigContext(test_config):
|
|||||||
|
|
||||||
谜题通过轨道策略 (Orbital)在 `Expander` 中按概率展开, 每个原子可产生多个谜题, 每个谜题独立评分.
|
谜题通过轨道策略 (Orbital)在 `Expander` 中按概率展开, 每个原子可产生多个谜题, 每个谜题独立评分.
|
||||||
|
|
||||||
---
|
______________________________________________________________________
|
||||||
|
|
||||||
## 服务层
|
## 服务层
|
||||||
|
|
||||||
@@ -412,7 +412,7 @@ with ConfigContext(test_config):
|
|||||||
|
|
||||||
日志系统:每个模块通过 `get_logger(__name__)` 创建自己的日志器, 日志文件 10MB 轮转, 最多 5 个备份, 追加到 `heurams.log`.
|
日志系统:每个模块通过 `get_logger(__name__)` 创建自己的日志器, 日志文件 10MB 轮转, 最多 5 个备份, 追加到 `heurams.log`.
|
||||||
|
|
||||||
---
|
______________________________________________________________________
|
||||||
|
|
||||||
## 复习全流程
|
## 复习全流程
|
||||||
|
|
||||||
@@ -454,7 +454,7 @@ sequenceDiagram
|
|||||||
UI->>User: 显示总结
|
UI->>User: 显示总结
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
______________________________________________________________________
|
||||||
|
|
||||||
## 关键设计决策
|
## 关键设计决策
|
||||||
|
|
||||||
|
|||||||
65
README.md
65
README.md
@@ -49,19 +49,68 @@
|
|||||||
|
|
||||||
### 从包管理器安装
|
### 从包管理器安装
|
||||||
|
|
||||||
潜进(heurams) 处于早期开发考虑, 尚未上架 PyPI, 但您可以用我们的基础设施安装稳定版和开发版本
|
潜进(heurams) 处于早期开发考虑, 尚未上架 PyPI, 但您可以用我们的基础设施安装稳定版和开发版本.
|
||||||
|
|
||||||
|
> [!CAUTION]
|
||||||
|
> 对于部分 Linux 发行版和 Android Termux 用户:\
|
||||||
|
> 您需要先行安装 `cmake` 和 `libzmq` 才能正确安装项目的 `zmq` 依赖\
|
||||||
|
> 例如在 termux 上先运行 `pkg install cmake clang libzmq`\
|
||||||
|
> 项目功能本身不依赖它, 但需要该依赖用于启动可选的调试服务器
|
||||||
|
|
||||||
|
#### 稳定版本
|
||||||
|
|
||||||
```
|
```
|
||||||
# 稳定版
|
python -m pip install heurams[all] -i https://pypi.pluv27.top/root/stable/+simple/ # 安装全部可选依赖(推荐)
|
||||||
python -m pip install heurams -i https://pypi.pluv27.top/root/stable/+simple/
|
|
||||||
# 开发版
|
|
||||||
python -m pip install heurams -i https://pypi.pluv27.top/root/dev/+simple/
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
#### 开发版本
|
||||||
|
|
||||||
|
```
|
||||||
|
python -m pip install heurams[all] -i https://pypi.pluv27.top/root/dev/+simple/ # 安装全部可选依赖(推荐)
|
||||||
|
```
|
||||||
|
|
||||||
|
#### 依赖组说明
|
||||||
|
|
||||||
|
由于部分依赖只被少数功能需要, 所以我们把可选依赖分得比较细, 前面的命令会安装所有可选依赖, 以下是依赖组列表
|
||||||
|
|
||||||
|
- 基础依赖: (只能驱动程序库)
|
||||||
|
- tabulate: 终端表格
|
||||||
|
- toml: TOML 文件加载
|
||||||
|
- transitions: 状态机依赖
|
||||||
|
- `interface` 依赖组: (基本用户界面依赖)
|
||||||
|
- textual: 终端用户界面
|
||||||
|
- psutil: 获取系统信息
|
||||||
|
- `algo-fsrs` 依赖组:
|
||||||
|
- py-fsrs: FSRS 算法模块需要
|
||||||
|
- `tts-edgetts` 依赖组:
|
||||||
|
- edge-tts:微软文本转语音
|
||||||
|
- `misc-jieba` 依赖组:
|
||||||
|
- jieba: 中文智能分词所需
|
||||||
|
- `llm-openai` 依赖组:
|
||||||
|
- openai: OpenAI API 所需
|
||||||
|
- `audio-playsound` 依赖组:
|
||||||
|
- playsound: 通用音频播放
|
||||||
|
- pygobject: playsound 依赖
|
||||||
|
- `dev` 依赖组:
|
||||||
|
- zmq: 远程调试服务器所需
|
||||||
|
- pytest: 测试所需
|
||||||
|
- pytest-cov: 测试所需
|
||||||
|
- `all` 依赖组:
|
||||||
|
- 包含以上所有依赖
|
||||||
|
|
||||||
|
llm-openai:OpenAI API 支持
|
||||||
|
|
||||||
|
audio-playsound:播放声音(注意 playsound==1.2.2 固定版本,pygobject 是 Linux 下的依赖)
|
||||||
|
|
||||||
|
dev:开发调试工具(ZMQ 远程调试、pytest 单元测试等)
|
||||||
|
|
||||||
|
全量安装组
|
||||||
|
all:包含以上所有可选组
|
||||||
|
|
||||||
### 从源码安装
|
### 从源码安装
|
||||||
|
|
||||||
我们提供原生 python 和 uv 两种安装方式\
|
我们提供原生 python 和 uv 两种安装方式.\
|
||||||
详见[贡献指南](CONTRIBUTING.md)
|
详见[贡献指南](CONTRIBUTING.md).
|
||||||
|
|
||||||
## 项目结构
|
## 项目结构
|
||||||
|
|
||||||
@@ -99,4 +148,4 @@ python -m pip install heurams -i https://pypi.pluv27.top/root/dev/+simple/
|
|||||||
- 原版权: Copyright (c) 2014 Kazuaki Tanida
|
- 原版权: Copyright (c) 2014 Kazuaki Tanida
|
||||||
- 原许可证: MIT License
|
- 原许可证: MIT License
|
||||||
|
|
||||||
本项目受益于他们无私且优秀的工作
|
本项目受益于他们无私且优秀的工作.
|
||||||
|
|||||||
Reference in New Issue
Block a user