From d33aa7055b5f1d27ab9255445abb8dafae704790 Mon Sep 17 00:00:00 2001 From: Wang Zhiyu Date: Thu, 7 May 2026 17:50:30 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=80=BB=E4=BD=93=E4=BD=93=E9=AA=8C?= =?UTF-8?q?=E6=94=B9=E8=BF=9B=E4=B8=8E=E7=89=88=E6=9C=AC=E5=8F=B7=E5=8F=98?= =?UTF-8?q?=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 186 ++----- AGENTS.md | 50 ++ data/misc/favorites.json5 | 482 ------------------ data/repo/stub/algodata.json | 14 - data/repo/stub/draft.txt | 22 - data/repo/stub/manifest.toml | 4 - data/repo/stub/payload.toml | 5 - data/repo/stub/schedule.toml | 11 - data/repo/stub/typedef.toml | 17 - src/heurams/assets/art/logo-mono-dark.svg | 25 + src/heurams/assets/art/logo-mono-light.svg | 25 + src/heurams/assets/art/logo.svg | 25 + src/heurams/assets/data/cache/.keep | 0 .../heurams/assets/data}/config/_.toml | 0 .../heurams/assets/data}/config/global.toml | 0 .../assets/data}/config/interface/_.toml | 0 .../assets/data}/config/interface/global.toml | 0 .../data}/config/interface/puzzles/_.toml | 0 .../data}/config/interface/puzzles/cloze.toml | 0 .../data}/config/interface/puzzles/mcq.toml | 0 .../data}/config/interface/widgets/_.toml | 0 .../config/interface/widgets/recognition.toml | 0 .../assets/data}/config/providers/_.toml | 0 .../assets/data}/config/providers/tts/_.toml | 0 .../data}/config/providers/tts/edgetts.toml | 0 .../heurams/assets/data}/config/repo/_.toml | 0 .../assets/data}/config/repo/cngk-t.toml | 0 .../assets/data}/config/repo/cngk.toml | 0 .../assets/data}/config/services/_.toml | 0 .../assets/data}/config/services/audio.toml | 0 .../assets/data}/config/services/llm.toml | 0 .../assets/data}/config/services/sync.toml | 0 .../assets/data}/config/services/timer.toml | 0 .../assets/data}/config/services/tts.toml | 0 src/heurams/assets/data/misc/.keep | 0 src/heurams/assets/data/repo/.keep | 0 src/heurams/assets/data/session/.keep | 0 src/heurams/context.py | 9 +- src/heurams/services/version.py | 2 +- 39 files changed, 163 insertions(+), 714 deletions(-) create mode 100644 AGENTS.md delete mode 100644 data/misc/favorites.json5 delete mode 100644 data/repo/stub/algodata.json delete mode 100644 data/repo/stub/draft.txt delete mode 100644 data/repo/stub/manifest.toml delete mode 100644 data/repo/stub/payload.toml delete mode 100644 data/repo/stub/schedule.toml delete mode 100644 data/repo/stub/typedef.toml create mode 100644 src/heurams/assets/art/logo-mono-dark.svg create mode 100644 src/heurams/assets/art/logo-mono-light.svg create mode 100644 src/heurams/assets/art/logo.svg create mode 100644 src/heurams/assets/data/cache/.keep rename {data => src/heurams/assets/data}/config/_.toml (100%) rename {data => src/heurams/assets/data}/config/global.toml (100%) rename {data => src/heurams/assets/data}/config/interface/_.toml (100%) rename {data => src/heurams/assets/data}/config/interface/global.toml (100%) rename {data => src/heurams/assets/data}/config/interface/puzzles/_.toml (100%) rename {data => src/heurams/assets/data}/config/interface/puzzles/cloze.toml (100%) rename {data => src/heurams/assets/data}/config/interface/puzzles/mcq.toml (100%) rename {data => src/heurams/assets/data}/config/interface/widgets/_.toml (100%) rename {data => src/heurams/assets/data}/config/interface/widgets/recognition.toml (100%) rename {data => src/heurams/assets/data}/config/providers/_.toml (100%) rename {data => src/heurams/assets/data}/config/providers/tts/_.toml (100%) rename {data => src/heurams/assets/data}/config/providers/tts/edgetts.toml (100%) rename {data => src/heurams/assets/data}/config/repo/_.toml (100%) rename {data => src/heurams/assets/data}/config/repo/cngk-t.toml (100%) rename {data => src/heurams/assets/data}/config/repo/cngk.toml (100%) rename {data => src/heurams/assets/data}/config/services/_.toml (100%) rename {data => src/heurams/assets/data}/config/services/audio.toml (100%) rename {data => src/heurams/assets/data}/config/services/llm.toml (100%) rename {data => src/heurams/assets/data}/config/services/sync.toml (100%) rename {data => src/heurams/assets/data}/config/services/timer.toml (100%) rename {data => src/heurams/assets/data}/config/services/tts.toml (100%) create mode 100644 src/heurams/assets/data/misc/.keep create mode 100644 src/heurams/assets/data/repo/.keep create mode 100644 src/heurams/assets/data/session/.keep diff --git a/.gitignore b/.gitignore index f317883..cfb89a8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,34 +1,19 @@ -# Project specific additions -.devflag -.vscode/ -.directory -__pycache__/ -.idea/ -cache/ -data/repo/cngk -data/repo/eotgk -data/repo/evtgk -data/misc -data/cache -data/session -*.egg-info/ -build/ -dist/ -old/ -AGENT.md -AGENTS.md +# HeurAMS specific rules *.log.* +*.log *.pkl +/data + +# Editor +.vscode/ +.idea/ + # Byte-compiled / optimized / DLL files __pycache__/ *.py[cod] *$py.class -# C extensions -*.so - # Distribution / packaging -.Python build/ develop-eggs/ dist/ @@ -47,16 +32,6 @@ share/python-wheels/ *.egg MANIFEST -# PyInstaller -# Usually these files are written by a python script from a template -# before PyInstaller builds the exe, so as to inject date/other infos into it. -*.manifest -*.spec - -# Installer logs -pip-log.txt -pip-delete-this-directory.txt - # Unit test / coverage reports htmlcov/ .tox/ @@ -71,73 +46,10 @@ coverage.xml .hypothesis/ .pytest_cache/ cover/ -.claude/ - -# Translations -*.mo -*.pot - -# Django stuff: -*.log -local_settings.py -db.sqlite3 -db.sqlite3-journal - -# Flask stuff: -instance/ -.webassets-cache - -# Scrapy stuff: -.scrapy - -# Sphinx documentation -docs/_build/ - -# PyBuilder -.pybuilder/ -target/ # Jupyter Notebook .ipynb_checkpoints -# IPython -profile_default/ -ipython_config.py - -# pyenv -# For a library or package, you might want to ignore these files since the code is -# intended to run in multiple environments; otherwise, check them in: -# .python-version - -# pipenv -# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. -# However, in case of collaboration, if having platform-specific dependencies or dependencies -# having no cross-platform support, pipenv may install dependencies that don't work, or not -# install all needed dependencies. -#Pipfile.lock - -# poetry -# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. -# This is especially recommended for binary packages to ensure reproducibility, and is more -# commonly used for packaging. -#poetry.lock -#poetry.toml - -# pdm -# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. -#pdm.lock -#pdm.toml - -# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm -__pypackages__/ - -# Celery stuff -celerybeat-schedule -celerybeat.pid - -# SageMath parsed files -*.sage.py - # Environments .env .venv @@ -147,72 +59,32 @@ ENV/ env.bak/ venv.bak/ -# Spyder project settings -.spyderproject -.spyproject +# Linux +*~ +.fuse_hidden* +.directory +.Trash-* +.nfs* +## KDE Dolphin +.directory -# Rope project settings -.ropeproject - -# mkdocs documentation -/site - -# mypy -.mypy_cache/ -.dmypy.json -dmypy.json - -# Pyre type checker -.pyre/ - -# pytype static type analyzer -.pytype/ - -# Cython debug symbols -cython_debug/ - -# PyCharm -.idea/ - -# Audio cache and temporary files -*.mp3 -*.wav -*.ogg -*.tmp - -# LLM cache files -*.cache -*.jsonl - -# Log files -*.log -logs/ - -# OS generated files +# macOS .DS_Store -.DS_Store? +.AppleDouble +.LSOverride ._* -.Spotlight-V100 -.Trashes -ehthumbs.db -Thumbs.db +.AppleDB +.AppleDesktop # Windows Thumbs.db +Thumbs.db:encryptable ehthumbs.db -Desktop.ini +ehthumbs_vista.db +[Dd]esktop.ini +$RECYCLE.BIN/ +*.lnk -# Linux -*~ - -# VSCode -.vscode/ -!.vscode/settings.json -!.vscode/tasks.json -!.vscode/launch.json -!.vscode/extensions.json -*.code-workspace - -# Temporary files -*.tmp -*.temp +# Other trash +AGENT.md +# It's not AGENTS.md \ No newline at end of file diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..4badd4c --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,50 @@ +# AI 编程工具说明 + +本文档为 AI 工具以及在使用 AI 辅助向 HeurAMS 项目贡献代码时的开发者提供指导. + +AI 工具必须完整阅读此 `/AGENTS.md` 文件. + +## 查阅开发文档 + +在帮助进行 HeurAMS 开发时,AI 工具应遵循标准的开发规范与流程, 应当自动查看或是在用户发出"初始化"指令后查看: + +- [贡献指南](/CONTRIBUTING.md) +- [自述文件](/README.md) +- [项目架构](/ARCHITECTURE.md) + +## 明确禁止行为 + +1. 禁止 AI 自动生成 PR 或 patch 文件 +2. 禁止 AI 在未经人工确认的情况下修改现有代码 +3. 禁止 AI 不使用格式化工具而生成格式化文件的行为 +4. 禁止 AI 修复任何"bug", 而不经人工确认 +5. 绝对禁止修改此 `/AGENTS.md` 文件 +6. 禁止一切不遵循项目设计原则, 另造独立库的 "糊屎" 行为 +7. 禁止 AI 直接操作 pip, uv, apt 等工具修改外部依赖或工具, 而应让人类开发者自己操作依赖 +8. 禁止使用不同于任何现有文件的现有注释语言的其他语言写新注释 +9. 禁止不读文件就直接覆写 + +## 许可证与法律要求 + +所有贡献必须符合许可要求, 所有代码必须与 AGPL-3.0-or-later 许可以及项目附加豁免条款(位于 LICENSE 文件尾部 237 至 245 行)兼容. + +## Signed-off-by 与 DCO + +AI 代理**严禁添加** Signed-off-by 标签. + +只有人类能够合法地认证 DCO. + +人类提交者负责: + +- 审阅所有 AI 生成的代码 +- 确保符合许可要求 +- 添加自己的 Signed-off-by 标签以认证 DCO +- 对贡献负责任 + +AI 助手负责: + +- 了解运行环境, 例如操作系统或具体发行版 +- 遵循此文档所述规则 +- 主动提醒使用 AI 工具的开发者 + +本文档参考自 [AI Coding Assistants — The Linux Kernel documentation](https://docs.kernel.org/process/coding-assistants.html) diff --git a/data/misc/favorites.json5 b/data/misc/favorites.json5 deleted file mode 100644 index a8078f5..0000000 --- a/data/misc/favorites.json5 +++ /dev/null @@ -1,482 +0,0 @@ -[ - { - "repo_path": "cngk-t", - "ident": "庄宗受而藏之于庙. 其后用兵, 则遣从事以一少牢告庙, 请其矢, 盛以锦囊, 负而前驱, 及凯旋而纳之", - "added": 1777679860, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "方其系燕父子以组, 函梁君臣之首, 入于太庙, 还矢先王, 而告以成功, 其意气之盛, 可谓壮哉!", - "added": 1777684719, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "洎牧以谗诛, 邯郸为郡, 惜其用武而不终也.", - "added": 1777748505, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "苟以天下之大, 下而从六国破亡之故事, 是又在六国下矣.", - "added": 1777749120, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "故木受绳则直, 金就砺则利, 君子博学而日参省乎己, 则知明而行无过矣.", - "added": 1777749248, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "假舆马者, 非利足也, 而致千里; 假舟楫者, 非能水也, 而绝江河.", - "added": 1777749385, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "向使三国各爱其地, 齐人勿附于秦, 刺客不行, 良将犹在,", - "added": 1777749648, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "则胜负之数, 存亡之理, 当与秦相较, 或未易量.", - "added": 1777749737, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "呜呼! 以赂秦之地封天下之谋臣, 以事秦之心礼天下之奇才, 并力西向,", - "added": 1777749774, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "积土成山, 风雨兴焉; 积水成渊, 蛟龙生焉; 积善成德, 而神明自得, 圣心备焉.", - "added": 1777750294, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "锲而舍之, 朽木不折; 锲而不舍, 金石可镂.", - "added": 1777750446, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "寻寻觅觅, 冷冷清清, 凄凄惨惨戚戚. 乍暖还寒时候, 最难将息. 三杯两盏淡酒, 怎敌他、晚来风急! 雁过也, 正伤心, 却是旧时相识.", - "added": 1777750594, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "满地黄花堆积, 憔悴损, 如今有谁堪摘? 守着窗儿, 独自怎生得黑? 梧桐更兼细雨, 到黄昏、点点滴滴. 这次第, 怎一个愁字了得!", - "added": 1777750678, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "夫六国与秦皆诸侯, 其势弱于秦, 而犹有可以不赂而胜之之势.", - "added": 1777750884, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "登高而招, 臂非加长也, 而见者远; 顺风而呼, 声非加疾也, 而闻者彰.", - "added": 1777750964, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "故不积跬步, 无以至千里; 不积小流, 无以成江海.", - "added": 1777751066, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "且燕赵处秦革灭殆尽之际, 可谓智力孤危, 战败而亡, 诚不得已.", - "added": 1777751570, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "货恶其弃于地也, 不必藏于己; 力恶其不出于身也, 不必为己.", - "added": 1777846911, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "是故谋闭不兴, 盗窃乱贼而不作.", - "added": 1777846943, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "花径不曾缘客扫, 蓬门今始为君开.", - "added": 1777846974, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "盘飧市远无兼味, 樽酒家贫只旧醅.", - "added": 1777847000, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "五花马、千金裘, 呼儿将出换美酒, 与尔同销万古愁!", - "added": 1777847065, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "屈平疾王听之不聪也, 谗谄之蔽明也, 邪曲之害公也, 方正之不容也, 故忧愁幽思而作《离骚》.", - "added": 1777847121, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "夫天者, 人之始也; 父母者, 人之本也.", - "added": 1777847174, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "人穷则反本, 故劳苦倦极, 未尝不呼天也; 疾痛惨怛, 未尝不呼父母也.", - "added": 1777847195, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "信而见疑, 忠而被谤, 能无怨乎?", - "added": 1777847267, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "屈平正道直行, 竭忠尽智以事其君, 谗人间之, 可谓穷矣.", - "added": 1777847825, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "上称帝喾, 下道齐桓, 中述汤武, 以刺世事.", - "added": 1777874192, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "明道德之广崇, 治乱之条贯, 靡不毕见.", - "added": 1777876114, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "其文约, 其辞微, 其志洁, 其行廉.", - "added": 1777884008, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "其志洁, 故其称物芳; 其行廉, 故死而不容.", - "added": 1777884045, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "生乎吾前, 其闻道也固先乎吾, 吾从而师之;", - "added": 1777884247, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "吾师道也, 夫庸知其年之先后生于吾乎?", - "added": 1777884298, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "是故无贵无贱, 无长无少, 道之所存, 师之所存也.", - "added": 1777884338, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "嗟乎! 师道之不传也久矣! 欲人之无惑也难矣!", - "added": 1777884371, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "古之圣人, 其出人也远矣, 犹且从师而问焉;", - "added": 1777884425, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "今之众人, 其下圣人也亦远矣, 而耻学于师.", - "added": 1777884480, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "圣人之所以为圣, 愚人之所以为愚, 其皆出于此乎!", - "added": 1777884505, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "爱其子, 择师而教之; 于其身也, 则耻师焉, 惑矣.", - "added": 1777884537, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "彼童子之师, 授之书而习其句读者, 非吾所谓传其道解其惑者也.", - "added": 1777884705, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "问之, 则曰: “彼与彼年相若也, 道相似也.", - "added": 1777884818, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "其称文小而其指极大, 举类迩而见义远.", - "added": 1777884887, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "惑而不从师, 其为惑也, 终不解矣.", - "added": 1777884938, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "句读之不知, 惑之不解, 或师焉, 或不焉, 小学而大遗, 吾未见其明也.", - "added": 1777885310, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "士大夫之族, 曰师曰弟子云者, 则群聚而笑之.", - "added": 1777885372, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "自疏濯淖污泥之中, 蝉蜕于浊秽, 以浮游尘埃之外, 不获世之滋垢, 皭然泥而不滓者也.", - "added": 1777885657, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "巫医乐师百工之人, 君子不齿, 今其智乃反不能及, 其可怪也欤!", - "added": 1777937005, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "圣人无常师. 孔子师郯子、苌弘、师襄、老聃.", - "added": 1777937060, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "郯子之徒, 其贤不及孔子.", - "added": 1777937080, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "是故弟子不必不如师, 师不必贤于弟子, 闻道有先后, 术业有专攻, 如是而已.", - "added": 1777937115, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "实迷途其未远, 觉今是而昨非.", - "added": 1777937271, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "引壶觞以自酌, 眄庭柯以怡颜.", - "added": 1777937411, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "园日涉以成趣, 门虽设而常关.", - "added": 1777937464, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "云无心以出岫, 鸟倦飞而知还.", - "added": 1777937517, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "归去来兮, 请息交以绝游.", - "added": 1777937573, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "悦亲戚之情话, 乐琴书以消忧.", - "added": 1777937619, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "农人告余以春及, 将有事于西畴.", - "added": 1777937642, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "李氏子蟠, 年十七, 好古文, 六艺经传皆通习之, 不拘于时, 学于余.", - "added": 1777937894, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "善万物之得时, 感吾生之行休.", - "added": 1777938016, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "策扶老以流憩, 时矫首而遐观.", - "added": 1777938520, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "既窈窕以寻壑, 亦崎岖而经丘.", - "added": 1777938937, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "怀良辰以孤往, 或植杖而耘耔.", - "added": 1777968294, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "淮左名都, 竹西佳处, 解鞍少驻初程.", - "added": 1777970555, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "古者富贵而名摩灭, 不可胜记, 唯倜傥非常之人称焉.", - "added": 1778018829, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "盖文王拘而演《周易》; 仲尼厄而作《春秋》; 屈原放逐, 乃赋《离骚》; 左丘失明, 厥有《国语》;", - "added": 1778018908, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "乃如左丘无目, 孙子断足, 终不可用, 退而论书策, 以舒其愤, 思垂空文以自见.", - "added": 1778019166, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "上计轩辕, 下至于兹, 为十表, 本纪十二, 书八章, 世家三十, 列传七十, 凡百三十篇.", - "added": 1778019396, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "草创未就, 会遭此祸, 惜其不成, 是以就极刑而无愠色.", - "added": 1778019511, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "心非木石岂无感, 吞声踯躅不敢言.", - "added": 1778019707, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "仆窃不逊, 近自托于无能之辞, 网罗天下放失旧闻, 略考其行事, 综其终始, 稽其成败兴坏之纪,", - "added": 1778020343, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "仆诚以著此书, 藏之名山, 传之其人, 通邑大都, 则仆偿前辱之责, 虽万被戮, 岂有悔哉!", - "added": 1778020491, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "江畔何人初见月? 江月何年初照人?", - "added": 1778025537, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "不知江月待何人, 但见长江送流水.", - "added": 1778025571, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "斜月沉沉藏海雾, 碣石潇湘无限路.", - "added": 1778025668, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "不知乘月几人归, 落月摇情满江树.", - "added": 1778025686, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "东南形胜, 三吴都会, 钱塘自古繁华.", - "added": 1778025708, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "江娥啼竹素女愁, 李凭中国弹箜篌.", - "added": 1778025886, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "十二门前融冷光, 二十三丝动紫皇.", - "added": 1778025946, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "羌管弄晴, 菱歌泛夜, 嬉嬉钓叟莲娃.", - "added": 1778026396, - "tags": [] - }, - { - "repo_path": "cngk-t", - "ident": "千骑拥高牙, 乘醉听箫鼓, 吟赏烟霞.", - "added": 1778026427, - "tags": [] - } -] \ No newline at end of file diff --git a/data/repo/stub/algodata.json b/data/repo/stub/algodata.json deleted file mode 100644 index d0b6e19..0000000 --- a/data/repo/stub/algodata.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "临安春雨初霁": { - "SM-2": { - "efactor": 2.5, - "real_rept": 4, - "rept": 2, - "interval": 15, - "last_date": 20578, - "next_date": 20593, - "is_activated": 1, - "last_modify": 1777940498.2121851 - } - } -} \ No newline at end of file diff --git a/data/repo/stub/draft.txt b/data/repo/stub/draft.txt deleted file mode 100644 index 7485637..0000000 --- a/data/repo/stub/draft.txt +++ /dev/null @@ -1,22 +0,0 @@ -使用仪器分析分子: -质谱仪 -> 质量特征, 测分子质量(最大质荷比) -红外光谱 -> 化学键和官能团 -核磁共振氢谱 -> 氢原子的种类和数目 -X射线衍射 -> 复杂分子, 分析键长键角 -元素分析仪 -> 确定元素种类及比例, 写出实验式 -元素转换: - C -> CO2 - S -> SO2 - H -> H2O - N -> N2 (注意) - Cl -> HCl - -烷烃: -可以燃烧, 火焰较明亮 -可以在光照下和卤素单质发生取代(卤素单质光照下生成自由基 发生自由基取代反应) -可以高温分解为小的烷烃和烯烃 -不和酸性高锰酸钾, 酸碱反应, 不和Br2(CCl4)反应 -除 CH3Br 为气体外, 多溴代物为液体("油状液滴"), CBr4是固体 -光照用紫外灯或强日光(太阳光直射),不能用普通白炽灯 uv含量低 - - diff --git a/data/repo/stub/manifest.toml b/data/repo/stub/manifest.toml deleted file mode 100644 index 3eadc2b..0000000 --- a/data/repo/stub/manifest.toml +++ /dev/null @@ -1,4 +0,0 @@ -title = "测试用单元集" -package = "stub" -author = "__heurams__" -desc = "" diff --git a/data/repo/stub/payload.toml b/data/repo/stub/payload.toml deleted file mode 100644 index a25f580..0000000 --- a/data/repo/stub/payload.toml +++ /dev/null @@ -1,5 +0,0 @@ -["临安春雨初霁"] -note = ['陆游〔宋代〕'] -content = "临安/春雨/初霁/" -translation = "临安春雨初霁" -keyword_note = { "临安" = "南宋都城, 今杭州", "霁" = "雨后或雪后转晴" } diff --git a/data/repo/stub/schedule.toml b/data/repo/stub/schedule.toml deleted file mode 100644 index aff087d..0000000 --- a/data/repo/stub/schedule.toml +++ /dev/null @@ -1,11 +0,0 @@ -schedule = ["quick_review", "recognition", "final_review"] - -[routes] -quick_review = [["SelectMeaning", "1.0"], ["Recognition", "1.0"]] -recognition = [["Recognition", "1.0"]] -final_review = [["FillBlank", "1.0"], ["Recognition", "1.0"]] - -[annotation] -"quick_review" = "复习旧知" -"recognition" = "新知识" -"final_review" = "总复习" diff --git a/data/repo/stub/typedef.toml b/data/repo/stub/typedef.toml deleted file mode 100644 index 1d06672..0000000 --- a/data/repo/stub/typedef.toml +++ /dev/null @@ -1,17 +0,0 @@ -[annotation] -note = "笔记" -keyword_note = "关键词翻译" -translation = "语句翻译" -delimiter = "分隔符" -content = "内容" -tts_text = "文本转语音文本" - -[common] -delimiter = "/" -tts_text = "eval:payload['content'].replace('/', '')" - -[common.puzzles] # 谜题定义 -# 我们称 "Recognition" 为 recognition 谜题的 alia -"Recognition" = { __origin__ = "recognition", __hint__ = "", primary = "eval:payload['content']", secondary = ["eval:payload['keyword_note']", "eval:payload['note']"], top_dim = ["eval:payload['translation']"] } -"SelectMeaning" = { __origin__ = "mcq", __hint__ = "eval:payload['content']", primary = "eval:payload['content']", mapping = "eval:payload['keyword_note']", jammer = "eval:list(payload['keyword_note'].values())", max_riddles_num = "eval:default['mcq']['max_riddles_num']", prefix = "选择正确项: " } -"FillBlank" = { __origin__ = "cloze", __hint__ = "", text = "eval:payload['content']", delimiter = "eval:nucleon['delimiter']", min_denominator = "eval:default['cloze']['min_denominator']"} diff --git a/src/heurams/assets/art/logo-mono-dark.svg b/src/heurams/assets/art/logo-mono-dark.svg new file mode 100644 index 0000000..fc93eff --- /dev/null +++ b/src/heurams/assets/art/logo-mono-dark.svg @@ -0,0 +1,25 @@ + + + + + HeurAMS Monochrome Logo - Dark + Dark monochrome logo of the HeurAMS Project + + + + + + + + + + + + + + + + + + + diff --git a/src/heurams/assets/art/logo-mono-light.svg b/src/heurams/assets/art/logo-mono-light.svg new file mode 100644 index 0000000..d69dcfb --- /dev/null +++ b/src/heurams/assets/art/logo-mono-light.svg @@ -0,0 +1,25 @@ + + + + + HeurAMS Monochrome Logo - Light + Light monochrome logo of the HeurAMS Project + + + + + + + + + + + + + + + + + + + diff --git a/src/heurams/assets/art/logo.svg b/src/heurams/assets/art/logo.svg new file mode 100644 index 0000000..9ff9c27 --- /dev/null +++ b/src/heurams/assets/art/logo.svg @@ -0,0 +1,25 @@ + + + + + HeurAMS Logo + The logo of the HeurAMS Project + + + + + + + + + + + + + + + + + + + diff --git a/src/heurams/assets/data/cache/.keep b/src/heurams/assets/data/cache/.keep new file mode 100644 index 0000000..e69de29 diff --git a/data/config/_.toml b/src/heurams/assets/data/config/_.toml similarity index 100% rename from data/config/_.toml rename to src/heurams/assets/data/config/_.toml diff --git a/data/config/global.toml b/src/heurams/assets/data/config/global.toml similarity index 100% rename from data/config/global.toml rename to src/heurams/assets/data/config/global.toml diff --git a/data/config/interface/_.toml b/src/heurams/assets/data/config/interface/_.toml similarity index 100% rename from data/config/interface/_.toml rename to src/heurams/assets/data/config/interface/_.toml diff --git a/data/config/interface/global.toml b/src/heurams/assets/data/config/interface/global.toml similarity index 100% rename from data/config/interface/global.toml rename to src/heurams/assets/data/config/interface/global.toml diff --git a/data/config/interface/puzzles/_.toml b/src/heurams/assets/data/config/interface/puzzles/_.toml similarity index 100% rename from data/config/interface/puzzles/_.toml rename to src/heurams/assets/data/config/interface/puzzles/_.toml diff --git a/data/config/interface/puzzles/cloze.toml b/src/heurams/assets/data/config/interface/puzzles/cloze.toml similarity index 100% rename from data/config/interface/puzzles/cloze.toml rename to src/heurams/assets/data/config/interface/puzzles/cloze.toml diff --git a/data/config/interface/puzzles/mcq.toml b/src/heurams/assets/data/config/interface/puzzles/mcq.toml similarity index 100% rename from data/config/interface/puzzles/mcq.toml rename to src/heurams/assets/data/config/interface/puzzles/mcq.toml diff --git a/data/config/interface/widgets/_.toml b/src/heurams/assets/data/config/interface/widgets/_.toml similarity index 100% rename from data/config/interface/widgets/_.toml rename to src/heurams/assets/data/config/interface/widgets/_.toml diff --git a/data/config/interface/widgets/recognition.toml b/src/heurams/assets/data/config/interface/widgets/recognition.toml similarity index 100% rename from data/config/interface/widgets/recognition.toml rename to src/heurams/assets/data/config/interface/widgets/recognition.toml diff --git a/data/config/providers/_.toml b/src/heurams/assets/data/config/providers/_.toml similarity index 100% rename from data/config/providers/_.toml rename to src/heurams/assets/data/config/providers/_.toml diff --git a/data/config/providers/tts/_.toml b/src/heurams/assets/data/config/providers/tts/_.toml similarity index 100% rename from data/config/providers/tts/_.toml rename to src/heurams/assets/data/config/providers/tts/_.toml diff --git a/data/config/providers/tts/edgetts.toml b/src/heurams/assets/data/config/providers/tts/edgetts.toml similarity index 100% rename from data/config/providers/tts/edgetts.toml rename to src/heurams/assets/data/config/providers/tts/edgetts.toml diff --git a/data/config/repo/_.toml b/src/heurams/assets/data/config/repo/_.toml similarity index 100% rename from data/config/repo/_.toml rename to src/heurams/assets/data/config/repo/_.toml diff --git a/data/config/repo/cngk-t.toml b/src/heurams/assets/data/config/repo/cngk-t.toml similarity index 100% rename from data/config/repo/cngk-t.toml rename to src/heurams/assets/data/config/repo/cngk-t.toml diff --git a/data/config/repo/cngk.toml b/src/heurams/assets/data/config/repo/cngk.toml similarity index 100% rename from data/config/repo/cngk.toml rename to src/heurams/assets/data/config/repo/cngk.toml diff --git a/data/config/services/_.toml b/src/heurams/assets/data/config/services/_.toml similarity index 100% rename from data/config/services/_.toml rename to src/heurams/assets/data/config/services/_.toml diff --git a/data/config/services/audio.toml b/src/heurams/assets/data/config/services/audio.toml similarity index 100% rename from data/config/services/audio.toml rename to src/heurams/assets/data/config/services/audio.toml diff --git a/data/config/services/llm.toml b/src/heurams/assets/data/config/services/llm.toml similarity index 100% rename from data/config/services/llm.toml rename to src/heurams/assets/data/config/services/llm.toml diff --git a/data/config/services/sync.toml b/src/heurams/assets/data/config/services/sync.toml similarity index 100% rename from data/config/services/sync.toml rename to src/heurams/assets/data/config/services/sync.toml diff --git a/data/config/services/timer.toml b/src/heurams/assets/data/config/services/timer.toml similarity index 100% rename from data/config/services/timer.toml rename to src/heurams/assets/data/config/services/timer.toml diff --git a/data/config/services/tts.toml b/src/heurams/assets/data/config/services/tts.toml similarity index 100% rename from data/config/services/tts.toml rename to src/heurams/assets/data/config/services/tts.toml diff --git a/src/heurams/assets/data/misc/.keep b/src/heurams/assets/data/misc/.keep new file mode 100644 index 0000000..e69de29 diff --git a/src/heurams/assets/data/repo/.keep b/src/heurams/assets/data/repo/.keep new file mode 100644 index 0000000..e69de29 diff --git a/src/heurams/assets/data/session/.keep b/src/heurams/assets/data/session/.keep new file mode 100644 index 0000000..e69de29 diff --git a/src/heurams/context.py b/src/heurams/context.py index 74b2b0e..62d9eb4 100644 --- a/src/heurams/context.py +++ b/src/heurams/context.py @@ -22,7 +22,14 @@ logger = get_logger(__name__) logger.debug(f"包目录: {rootdir}") logger.debug(f"工作目录: {workdir}") -(workdir / "data" / "config").mkdir(parents=True, exist_ok=True) +default_data = rootdir / "assets" / "data" +user_data = workdir / "data" +if not user_data.exists(): + logger.info("初始化数据目录: %s", user_data) + import shutil + shutil.copytree(default_data, user_data) +else: + (workdir / "data" / "config").mkdir(parents=True, exist_ok=True) config_var: ContextVar[ConfigDict] = ContextVar( "config_var", diff --git a/src/heurams/services/version.py b/src/heurams/services/version.py index 9d05552..70ca690 100644 --- a/src/heurams/services/version.py +++ b/src/heurams/services/version.py @@ -4,7 +4,7 @@ from heurams.services.logger import get_logger logger = get_logger(__name__) ver = "0.5.0" -stage = "rc.1" +stage = "stable" codename = "fulcrum" codename_cn = "支点"