Archived
0
0
This commit is contained in:
2025-12-17 20:43:32 +08:00
parent 1e534e5fe5
commit 321f287263
15 changed files with 235 additions and 82 deletions

View File

@@ -7,14 +7,14 @@
"潜进" 软件组项目包含多个子项目
此仓库包含了 "潜进" 项目的核心和基于 Textual 的基本用户界面的实现
## 开发计划
0.0.x: 简易调度器实现与最小原型.
0.1.x: 命令行操作的调度器.
0.2.x: 使用 Textual 构建富文本终端用户界面, 项目可行性验证, 采用 SM-2 原始算法, 评估方式为用户自评估的原型.
0.3.x: 简单的多文件项目, 创建了记忆内容/算法数据结构, 基于 SM-2 改进算法的自动复习测评评估. 重点设计古诗文记忆理解功能, 以及 TUI 界面实现, 简单的 TTS 集成.
0.4.x (当前): 使用模块管理解耦设计, 增加文档与类型标注, 采用上下文设计模式的隐式依赖注入与遵从 IoC, 注册器设计的算法与功能实现, 支持其他调度算法模块 (SM-2, FSRS) 与谜题模块, 采用日志调试, 更新文件格式, 引入动态数据模式(宏驱动的动态内容生成), 与基于文件的策略调控, 更佳的用户数据处理, 加入模块化扩展集成, 将算法数据格式换为 json 提高性能, 采用 provider-service 抽象架构, 支持切换服务提供者, 整体兼容性改进.
下一步?
使用 Flutter 构建酷酷的现代化前端, 增加云同步/文档源服务...
## 开发进程
- 0.0.x: 简易调度器实现与最小原型.
- 0.1.x: 命令行操作的调度器.
- 0.2.x: 使用 Textual 构建富文本终端用户界面, 项目可行性验证, 采用 SM-2 原始算法, 评估方式为用户自评估的原型.
- 0.3.x: 简单的多文件项目, 创建了记忆内容/算法数据结构, 基于 SM-2 改进算法的自动复习测评评估. 重点设计古诗文记忆理解功能, 以及 TUI 界面实现, 简单的 TTS 集成.
- 0.4.x: 使用模块管理解耦设计, 增加文档与类型标注, 采用上下文设计模式的隐式依赖注入与遵从 IoC, 注册器设计的算法与功能实现, 支持其他调度算法模块 (SM-2, FSRS) 与谜题模块, 采用日志调试, 更新文件格式, 引入动态数据模式(宏驱动的动态内容生成), 与基于文件的策略调控, 更佳的用户数据处理, 加入模块化扩展集成, 将算法数据格式换为 json 提高性能, 采用 provider-service 抽象架构, 支持切换服务提供者, 整体兼容性改进.
> 下一步?
> 使用 Flutter 构建酷酷的现代化前端, 增加云同步/文档源服务...
## 特性
@@ -84,55 +84,6 @@ python -m heurams.interface
配置文件位于 `config/config.toml`(相对于工作目录)。如果不存在,会使用内置的默认配置。
### 创建配置文件
复制示例配置:
```bash
cp -r config.example/config.toml config/
```
然后编辑 `config/config.toml` 以符合你的需求。
### 主要配置项
```toml
# 调试设置
persist_to_file = 1 # 是否将更改保存到文件
daystamp_override = -1 # 覆盖日戳(测试用)
timestamp_override = -1 # 覆盖时间戳(测试用)
quick_pass = 0 # 一键通过模式
# 每个会话默认新记忆单元数量
tasked_number = 8
# 时区偏移(秒),用于日戳计算
timezone_offset = +28800 # 中国标准时间 (UTC+8)
# 谜题默认配置
[puzzles.mcq]
max_riddles_num = 2 # 选择题最大谜题数
[puzzles.cloze]
min_denominator = 3 # 填空题最小分母
# 路径配置(相对于工作目录或绝对路径)
[paths]
nucleon_dir = "./data/nucleon"
electron_dir = "./data/electron"
orbital_dir = "./data/orbital"
cache_dir = "./data/cache"
template_dir = "./data/template"
# 服务提供者配置
[services]
audio = "playsound" # 可选: playsound, termux
tts = "edgetts" # 可选: edgetts
llm = "openai" # 可选: openai
# OpenAI 兼容 LLM 配置
[providers.llm.openai]
url = "" # API 端点 URL
key = "" # API 密钥
```
## 项目结构
### 架构图
@@ -183,6 +134,7 @@ graph TB
TUI --> AudioService
TUI --> TTSService
TUI --> OtherServices
Config --> Files
Config --> Context
AudioService --> AudioProvider
TTSService --> TTSProvider
@@ -192,7 +144,6 @@ graph TB
Reactor --> Puzzles
Particles --> Files
Algorithms --> Files
Config --> Files
```
### 目录结构