Files
cmhub/docs/current-state.md
T

154 lines
49 KiB
Markdown
Raw Normal View History

2026-07-01 17:42:10 +08:00
# 敶枏�摰䂿緵�嗆��
> �祆��臬虾閬������滚翰�改�霈啣�隞��銝𦒘遙�∠��輻��啣��嗆���撣桀𨭌 AI coding agent �踹��芰�霈∪���蕭�乩�摨梶緵�嗚��
> ��蟮�扯�瘚�偌餈賢��� [`../progress.md`](../progress.md)嚗䔶�閬�銁�祆��滚�蝏湔擪摰峕㟲�扯��亙���
## �諹提颲寧�
- [`06-tasks.md`](06-tasks.md)嚗帋遙�∠��選�蝏湔擪隞餃𦛚�嗆�����韏硋�撉峕𤣰閬����
- [`../progress.md`](../progress.md)嚗𡁏�銵峕�瘞湛��芾蕭�㰘扇敶閙�頧格�銵䎚���霂���獈憛𧼮��喟���
- `current-state.md`嚗𡁜��滚翰�改��航��𡝗凒�啣��滨𤌍敶𨰻����滚𦶢隞扎��歇摰峕��䁅��䔶�銝�甇乓��
## 敶枏�敹怎�
- �交�嚗�2026-07-16
- �嗆挾嚗䥪hase 6 憓𧼮撩嚗㇈VP �𠬍�嚗𢏺hase 3 撖孵� API 銝𤾸��澆歇摰峕��� T-306嚗釶hase 4 �冽�蝡� T-501 瘜典� / �餃�嚗Òllauth嚗剹��-502 API Key �芸𨭌蝞∠�憿萸��-503 銝芯犖銝剖� / 霈啣�憿萸��-504 ���潮△銝� T-505 �冽�蝡臬恣�訾��硋歇摰峕�嚗釶hase 5 T-401 餈鞱𨯫�𤾸蝱摰����-402 MVP 摰峕㟲撉峕𤣰銝� T-403 �函蔡 / 餈鞱���﹝撌脣��琜�Phase 6 T-601 �舐鍂�怠��𤑳緵��-602 django-admin 銝剜��𣇉洵 1-3 撅���-603 django-admin 摮埈挾蝥找葉�����-604 銝剜��𤩺�霂齿𧋦�啗�皛扎��-605 �漤�蝞梢�霂���亥氜�啜��-606 �砍�擐㚚△ + 摰X�蝡臭�頧賢�����-607 獢屸𢒰蝡舀��啁��祆��交𦻖����-608 �啁鍂�瑟釣�諹��� 100 �寡��函��啜��-609 獢屸𢒰蝡舐��祆��交𦻖����惩撩�嗆凒�唳�霈啜��-610 擐㚚△撖澆�璅⊥踎銝贝蝸�亙藁��-611 �冽�蝡臬����蝏煺�銝箄蓡�桀���-612 �笔㦛�峕郊�亙藁甇Z���-613 �賜��鞉瓲敹� service��-614 �笔㦛撘�郊隞餃𦛚�𡝗𦻖����-615 �批�甇亦��暹𦻖���瘚� / 撘�鍂�����-616 �笔㦛憭梯揖�芸𢆡�滩� 2 甈~��-617 獢屸𢒰蝡舐��祆�隞嗅之撠誩�畾萎� T-618 摰X�蝡臬�撣���砍��啣�憛急嵗撉���唳旿撌脣��琜��𡒊賒隞漤�憭���笔��臭��噼��啗揭�剔㴓��恥�瑞垢銝贝蝸���撣���煺漣靘扳唂�峕郊�亙藁�券�閫��
- ���舀�嚗𡁶頂蝏� Python 3.12.3 + Django 5.2.15 + DRF 3.16.1 + django-allauth 65.18.0 + PyMySQL 1.1.3 + cryptography 49.0.0 + requests 2.34.2 + ahocorapy 1.6.2 + wechatpayv3 2.0.2 + python-alipay-sdk 3.4.0 + django-admin嚗㛈ySQL 8.4 撌脫𦻖�� settings嚗�僎�舀� `MYSQL_CONNECT_TIMEOUT` / `MYSQL_READ_TIMEOUT` / `MYSQL_WRITE_TIMEOUT`嚗𤤿鍂�瑞垢撌脩鍂 Django 璅⊥踎 SSR + Bootstrap + allauth �賢𧑐瘜典��餃�嚗𤤿�鈭折�蝵脣藁敺�蛹 VPS / 摰嘥� + Nginx + Gunicorn(gthread) + systemd嚗𥡝祕閫� `03-tech-stack.md` 銝� `deployment.md`
2026-07-08 21:24:59 +08:00
- �煺漣隞��嚗𡁜歇�㗇�撠� Django 撌亦�撉冽沲嚗䫤manage.py`��config/`嚗苽-002 撌脣�撱� `apps/users|portal|billing|ai|api`嚗苽-003 撌脫��芸�銋� `User` 瘜典�餈� django-admin嚗苽-004 撌脣��� email �臭��扼��nit ��𧋦�剛���pp 憿箏���.env.example` 銝� `pyproject.toml`嚗苽-101 撌脫鰵憓� `apps/ai/providers/`嚗㇊rovider �亙藁��釣�諹”��hat/gemini/images/images_edits ����剁�嚗苽-102 撌脫鰵憓� `AiModel` / `ModelAlias`��ernet �惩�撖�𤨎摮睃�����滩圾�僐��dmin �滨蔭憿萸��import_ai_models` 撖澆��賭誘嚗苽-103 撌脫鰵憓� `AiConfigAuditLog` 摰∟恣銵具��dmin �芾粉憿菟𢒰����唬�摮�/�𣳇膄摰∟恣 hook嚗苽-104/T-105 撌脣��𣂼��� title/image smoke 銝𤾸恣�訾耨銵伐�T-201 撌脫鰵憓� `UserWallet` / `ApiKey`��PointsLedger` / `CallRecord`��笆摨� admin 銝舘�蝘鳴�T-202 撌脫鰵憓� `PricingRule` / `ExchangeRate`��apps.billing.pricing` 霈∟晶霈∠��賣㺭��dmin �滨蔭憿萎�餈�宏嚗苽-203 撌脫鰵憓� `apps.billing.services`嚗���啣僎�穃��券�������毺&霈支�撟��憭梯揖���對�T-204 撌脫鰵憓� `billing.0003_pointsledger_unique_ledger_change_type_per_call`嚗𣬚鍂 MySQL �航氜�啁� `ref_call + change_type` 憭滚��臭�蝥行��𨅯��脤�憭� refund嚗苽-301 撌脫鰵憓� `apps.api.authentication.ApiKeyAuthentication` 銝� `ExternalApiView`嚗苽-302 撌脫鰵憓䂿��鞉𦻖����鉝����堒��具��㦛��𧋦�啣��典� `/api/v1/generate/title|image` 頝舐眏嚗苽-303 撌脫鰵憓� `apps.billing.services.get_balance_snapshot()` 銝� `/api/v1/balance` 雿䠷��亥砭�亙藁嚗苽-304 撌脫鰵憓� `RechargeOrder`����澆�靚��蝑暸����具���蝑匧�韐行��~��凝靽�/�臭�摰嘥�靚�楝�曹�餈�宏 `billing.0004_rechargeorder_and_more`嚗苽-305 撌脫鰵憓� `create_recharge_order()`��凝靽�/�臭�摰脲醌����� mock/SDK �亙藁��/api/v1/recharge/create` 銝� `/api/v1/recharge/status`嚗苽-306 撌脫鰵憓� `apps.api.throttles`��apps.api.exceptions`��REST_FRAMEWORK` 摰匧�暺䁅恕霈方������/霈方�憭梯揖�鞉���image_url` SSRF �脫擪銝𤾸�摨𥪜之撠譍��僐����澆�蝚娪�憸苷��琜�T-501/T-608 撌脫𦻖�� allauth 瘜典��餃�頝臬�嚗峕釣�峕��笔� adapter 靚�鍂 `grant_signup_bonus()` 蝏� billing 銝�甈⊥�批��� 100 �孵僎�� `signup_bonus` 瘚�偌嚗峕鰵憓� `SignupBonusGrant(user UNIQUE)` 撟����扇��dmin �芾粉璉�蝝W� `billing.0007` 餈�宏嚗苽-502 撌脫鰵憓� `/apikeys`��PI Key �𥕦遣銵典����銵券△����歹��𢠃�嚗匧𢆡雿頣�����擧���蘨�曄內銝�甈∴��𡑒”�芣遬蝷� prefix嚗苽-503/T-608 撌脫�撅� `/dashboard` 銝箔葵鈭箔葉敹���鳴�撟嗆鰵憓� `/records/recharge` ���潸扇敶蓥� `/records/usage` �寞㺭霈啣�嚗�蘨霂餃�蝷箏��滨鍂�瑟㺭�桀�瘜典�韏删� / 瘨�晶 / ��甈暹�瘞湛�T-504 撌脫鰵憓� `/recharge` 憿菟𢒰��RechargeCreateForm`����澆紡�芸����頧株砭�𡁏𧋦嚗屸△�W�撱� pending 霈W����蝷箔�蝏渡�蟡冽旿��蔭霂� `/api/v1/recharge/status`嚗諹恥�� paid �𤾸��唬�憸嘅�T-505 撌脫� Bootstrap 5 CSS 銝� qrcode.js vendoring �� `apps/portal/static/portal/vendor/`嚗屸△�V��滢�韏� jsdelivr嚗�僎�𠰴��潸扇敶� / �寞㺭霈啣��嫣蛹 Django `Paginator` ��△嚗苽-401 撌脫鰵憓� `adjust_wallet_points()` �见極靚���滚𦛚��兝�� admin 銝梶鍂靚��銵典�銝擧芋�選��𤾸蝱�舐恣��/璉�蝝Y鍂�瑯��兝����PI Key嚗���𧶏���恣韐寡��踺���������潸恥�𨰻����唳�瘞氬��釣�諹��寡扇敶訫�靚�鍂霈啣�嚗峕�瘞�/霈W�/靚�鍂霈啣�靽脲��芾粉嚗苽-402 撌脫鰵憓� `docs/mvp-acceptance.md`嚗峕� P0 撉峕𤣰�拚猐霈啣� MVP 摰峕㟲撉峕𤣰蝏栞捏���霂閗��桀�撌脩䰻�𣂼�嚗苽-403 撌脫鰵憓� `docs/deployment.md` 銝� `requirements-production.txt`嚗�僎�� settings 銝剛‘朣� `STATIC_ROOT`��CSRF_TRUSTED_ORIGINS`���鈭� `CACHES`��TTPS cookie��roxy SSL��STS �臬��㗛�銝� `ACCOUNT_SIGNUP_RATE_LIMIT` 瘜典��鞉��滨蔭嚗苽-601 撌脫鰵憓� `apps.ai.catalog.get_public_model_catalog()`��GET /api/v1/models` 銝� portal `/models` �芾粉憿菟𢒰嚗�蘨撅閧內 active �航��典��溻����䜘��糓�阡�閬���曉��寞㺭�蓥遠嚗䔶�閫�� provider key嚗䔶��湧蠧摨訫� SKU / URL / key / `extra_body`嚗苽-604 撌脫鰵憓� `apps.moderation`��SensitiveWord` 璅∪�/admin/餈�宏��eyword
2026-07-09 14:46:09 +08:00
- T-614/T-616 �煺漣隞��銵亙�嚗𡁜歇�啣� `ImageGenerationTask` 銝� `api.0001_initial`嚗峕鰵憓� `POST /api/v1/generate/image/tasks`��GET /api/v1/generate/image/tasks/{task_id}`��apps.api.image_tasks` 隞餃𦛚�滚𦛚��run_image_tasks` management command ��蘨霂� admin嚗𥕦�甇交�鈭斗𣈲�� `Idempotency-Key` �駁� / �脩�璉�瘚页�worker 雿輻鍂 DB 隞餃𦛚銵具���蝥艾���頝喃� reaper嚗峕��蠘��� cmhub �条恣 URL嚗苽-616 撌脤�朞� `api.0002_imagegenerationtask_next_attempt_at_and_more` 憓𧼮� `next_attempt_at` 銝� `(status, next_attempt_at)` 蝝W�嚗䔶葩�嗆�� `upstream_timeout` / `upstream_error` 暺䁅恕��憭𡁻�霂� 2 甈∴��滩��罸𡢿銝漤���對���蝏�仃韐� / �萎遙�⊥�韏啗恣韐孵�撟����甈整��
2026-07-13 17:04:59 +08:00
- T-617 �煺漣隞��銵亙�嚗䫤DownloadRelease` 撌脫鰵憓� `size_bytes` �舐征甇�㟲�啣�畾萄�餈�宏 `portal.0004_downloadrelease_size_bytes`嚗𩥇jango-admin �臬‵�坔僎�典�銵典�蝷綽�`GET /api/v1/client/releases/latest` �� `release` 撖寡情�啣� `size_bytes`嚗峕��潸��墧㟲�堆��芷�蝵株��� `null`嚗峕𧊋�穃��嗡��芾��� `release:null`��
- T-618 �煺漣隞��銵亙�嚗䫤DownloadReleaseAdmin` 撌脫�銝梶鍂 `ModelForm`嚗���唳鰵憓� / 蝻𤥁�摰X�蝡臬�撣���祆𧒄 `sha256` 銝� `size_bytes` 敹�‵嚗𥟇㺭�桀�摮埈挾隞滚�摰孵��脩征�潘�API 隞滚虾霂餃���蟮 `size_bytes=null` 霈啣���
- ���圈�霂��T-618 摰X�蝡臬�撣���砍��啣�憛急�隞嗆嵗撉���唳旿撌脤�霂� `.\init.ps1` 撘�撌亙��朞�嚗𢱌py -3.12 manage.py check` �朞�嚗�0 issues嚗𢱌py -3.12 manage.py makemigrations --check --dry-run` �朞�嚗𨨲o changes detected嚗𢱌py -3.12 manage.py test apps.portal.tests.PortalAccountFlowTests.test_download_release_admin_requires_sha256_and_size_bytes apps.portal.tests.PortalAccountFlowTests.test_download_release_admin_saves_valid_release_metadata apps.api.tests.ClientLatestReleaseApiTests.test_latest_release_returns_null_size_bytes_when_not_configured apps.api.tests.ClientLatestReleaseApiTests.test_latest_release_is_public_without_api_key_and_returns_current_release --keepdb --noinput --verbosity 2` �朞�嚗�4 tests OK���霂閙�隞滢��� allauth �� MySQL �∩辣�臭�蝥行�銝羓��X� `models.W036` 霅血���
2026-07-13 17:04:59 +08:00
- ���圈�霂��T-617 獢屸𢒰蝡舐��祆�隞嗅之撠誩�畾萄歇撉諹� `py -3.12 manage.py makemigrations --check --dry-run` �朞�嚗𨨲o changes detected嚗𢱌py -3.12 manage.py check` �朞�嚗�0 issues嚗𢱌py -3.12 manage.py test apps.api.tests.ClientLatestReleaseApiTests --keepdb --noinput --verbosity 2` �朞�嚗�12 tests OK嚗諹��� `size_bytes` �匧�潦��𧊋�滨蔭銝� `null`��𧊋�穃�銝滩��鮋▲撅��畾萸���摨𥪜�畾萇蒾�滚��� admin 摮埈挾�航�嚗𢱌py -3.12 manage.py migrate portal --noinput` 120 蝘坿��塚�雿� `py -3.12 manage.py showmigrations portal` 蝖株恕 `portal.0004_downloadrelease_size_bytes` 撌脣��剁�銝娍�畾讠� migrate 餈𤤿����霂閙�隞滢��� allauth �� MySQL �∩辣�臭�蝥行�銝羓��X� `models.W036` 霅血���
2026-07-08 23:11:46 +08:00
- T-614 摰䂿緵�𤥁�銵亙�嚗鯱orker �扯��滢��箔�隞餃𦛚敹怎�憭滩� `prepare_generation()`嚗�朖憭滚恣 prompt 撟園�閫���怠� / Provider / 摰帋遠嚗𥡝揭�∩蝙�典歇憸�緍 `CallRecord.points_cost`嚗䔶�隡𡁻�憭齿緍�嫘����笔�銝贝��臬�摰匧��𤥁�嚗諹�摨枏��游��㘾�隞餃𦛚隞滚虾鋡急㜃�芸僎��甈橘��亙�蝏剝��㛖妖�𧢲�憸𤑳���揢璅∪�嚗���閧𡠺�𡁏�鈭斗𧒄璅∪��滨蔭敹怎����甇� submit 撖� `image_base64` �芾圾��僎靽嘥�颲枏���辣嚗峕��Y垢銝駁曎頝舀綫�鞟誧蝏凋蝙�剁�`image_url` 隡𡁜銁 submit �嗆挾摰峕� SSRF �⊿����蝔衤�頧賢�憭批��𣂼�嚗�虾�賡獈憛墧�鈭方窈瘙��撅硺�颲寧��澆捆頝臬���
2026-07-08 22:44:17 +08:00
- T-615 �煺漣隞��銵亙�嚗𡁜歇�啣� `apps.api.telemetry`嚗峕唂�峕郊 `POST /api/v1/generate/image` 銝擧鰵撘�郊�𣂷漱 `POST /api/v1/generate/image/tasks` �賢� `cmhub.api.generation_usage` 蝏𤘪��𡝗𠯫敹𦯀�隞� `generation_route_usage`嚗𥕦�畾萇蒾�滚�銝� `route_type`��PI Key ID/�滨���user_id`��X-Client-Version`����溻��𠶖�����埈𧒄���霂舐��� HTTP �嗆���銝滩扇敶� API Key �擧���rompt��㦛�� base64 �� provider raw��
2026-07-09 14:46:09 +08:00
- 撘�郊�笔㦛 worker �㘾�銵亙�嚗䫤run_image_tasks` 瘥誩����銝芯遙�∩�颲枏枂 `event=image_task_processed task_id=... status=... alias=... attempt=... max_attempts=... retrying=... next_attempt_at=... duration_ms=...`嚗屸�霂蓥葉 / 憭梯揖 / 餈��隞餃𦛚憸嘥�颲枏枂 `error_code`嚗𥟇𠯫敹𦯀���鉄 prompt��image_base64`��rovider raw �硋��乓���鈭扳�摰� worker 摨娍� 2��4��8��16 �鞟漣閫���笔��踹漲���埈𧒄���霂舐���ySQL 餈墧𦻖�啣�銝𦠜虜憭梯揖���銝滚遣霈桃凒�交��� 100��
- ���圈�霂��T-616 �笔㦛憭梯揖�芸𢆡�滩� 2 甈∪歇撉諹� `py -3.12 -m py_compile apps\api\generation.py apps\api\image_tasks.py apps\api\management\commands\run_image_tasks.py apps\api\models.py apps\api\admin.py apps\api\tests.py config\settings.py` �朞�嚗𢱌py -3.12 manage.py makemigrations api` ��� `api.0002_imagegenerationtask_next_attempt_at_and_more`嚗𢱌py -3.12 manage.py migrate api --noinput` 撌脫� `api.0001` / `api.0002` 摨𠉛鍂�啣��滚��穃�嚗𢱌py -3.12 manage.py check` �朞�嚗�0 issues嚗𢱌py -3.12 manage.py makemigrations --check --dry-run` �朞�嚗𨨲o changes detected嚗苽-616 �啣� 5 �∠𤌍���霂閖�朞�嚗諹��㚚�甈∟��嗅��笔�銝漤���嫘��舅甈∟��嗅�銝㗇活�𣂼��芣緍銝�甈~���蝏凋�甈∟��嗆�蝏�蘨��銝�甈~����滩��躰秤蝡见朖��甈整��orker �滩��亙�摮埈挾�峕��煺縑�臭�瘜�蠧嚗𥕦�甇亦��暹唂銵䔶蛹�𧼮� 12 tests OK嚗𢱌py -3.12 manage.py test apps.api.tests.GenerateApiTests --keepdb --noinput --verbosity 2` �朞�嚗�37 tests OK嚗𢱌.\init.ps1` �朞�嚗𢱌git diff --check` �朞�嚗䔶� Windows CRLF �鞟內���霂閙�隞滢��� allauth �� MySQL �∩辣�臭�蝥行�銝羓��X� `models.W036` 霅血���
2026-07-08 22:44:17 +08:00
- ���圈�霂��T-615 �批�甇亦��暹𦻖���瘚见歇撉諹� `py -3.12 -m py_compile apps\api\telemetry.py apps\api\views.py apps\api\tests.py` �朞�嚗𥟇鰵憓� 3 �∠𤌍���霂閖�朞�嚗諹��𡝗唂�峕郊�𣂼��亙���鰵撘�郊�𣂷漱�𣂼��亙����甇乩�憸苷�頞喲�霂舀𠯫敹梹�蝖株恕�舀� client version / api_key / route_type �亥砭銝𥪯�瘜�蠧 prompt��ase64����� API Key �� provider raw嚗𢱌py -3.12 manage.py check` �朞�嚗�0 issues嚗𢱌py -3.12 manage.py makemigrations --check --dry-run` �朞�嚗𨨲o changes detected嚗𢱌py -3.12 manage.py test apps.api.tests.GenerateApiTests --keepdb --noinput --verbosity 2` �朞�嚗�31 tests OK嚗𢱌.\init.ps1` �朞�嚗𢱌git diff --check` �朞�嚗䔶� Windows CRLF �鞟內���霂閙�隞滢��� allauth �� MySQL �∩辣�臭�蝥行�銝羓��X� `models.W036` 霅血���
2026-07-04 10:47:35 +08:00
- �冽�蝡臬紡�迎�憿園�撖潸⏛ active �嗆��歇靽桀�嚗䈣portal/base.html` �箔� `request.resolver_match.url_name` 擃䀝漁敶枏�憿菟𢒰�亙藁嚗�僎�� `aria-current="page"` ��扇嚗䜘����潦�滢��滚銁�𧼮��潮△�箏�瘛梯𠧧擃䀝漁��
2026-07-08 22:08:48 +08:00
- ���圈�霂��T-614 �笔㦛撘�郊隞餃𦛚�𡝗𦻖��歇撉諹� `py -3.12 manage.py makemigrations api` ��� `api.0001_initial`嚗𢱌py -3.12 manage.py test apps.api.tests.GenerateApiTests -v 2 --keepdb` �朞�嚗�28 tests OK嚗諹��𡝗��蠘��行⏛銝滚遣隞餃𦛚/銝齿緍�嫘���憸苷�頞� 402��dempotency-Key �駁����蝒���orker �𣂼�頧株砭�䔶� URL��楊�冽��垍���仃韐�/頞�𧒄��甈整��eaper �萎遙�⊿��甈整���憭� worker 撟���� reaper ��甈曉������ worker 銝滚虾�孵��𣂼����甈∩�撣� `--keepdb` 餈鞱��嗅�撌脫� `test_cmhub` 閫血�鈭支�撘誩��斤&霈文紡�� EOF 銝剜鱏嚗偦�頝� `--keepdb` �朞����霂閙�隞滢��� allauth �� MySQL �∩辣�臭�蝥行�銝羓��X� `models.W036` 霅血���
2026-07-08 21:24:59 +08:00
- ���圈�霂��T-613 �賜��鞉瓲敹� service 撌脤�霂� `.\init.ps1` 撘�撌亙��朞�嚗𢱌py -3.12 -m py_compile apps\api\generation.py apps\api\storage.py apps\api\views.py apps\api\tests.py` �朞�嚗𢱌py -3.12 manage.py check` �朞�嚗�0 issues嚗𢱌py -3.12 manage.py makemigrations --check --dry-run` �朞�嚗𨨲o changes detected嚗苽-613 �啣��詨� service �格�瘚贝� 2 tests OK嚗𢱌py -3.12 manage.py test apps.api.tests.GenerateApiTests --keepdb --noinput --verbosity 1` �朞�嚗�19 tests OK嚗𢱌.\init.ps1` �嗅偏�朞�嚗𢱌git diff --check` �朞�嚗䔶� Windows CRLF �鞟內��㦛撠肽� `py -3.12 manage.py test apps.api --keepdb --noinput --verbosity 1`嚗�𦶢隞� 484 蝘坿��嗆��剛�蝏𤘪�嚗𥟇�頝煾���� API 瘚贝�蝐餅𧒄�冽�霂訫� setup �嗆挾�箇緵餈𦦵� MySQL `43.128.3.240` 餈墧𦻖頞�𧒄 `OperationalError(2003)`嚗峕��� `Test-NetConnection 43.128.3.240 -Port 3306` �曄內蝡臬藁�航噢���霂閙�隞滢��� allauth �� MySQL �∩辣�臭�蝥行�銝羓��X� `models.W036` 霅血���
2026-07-08 20:14:33 +08:00
- ���圈�霂��T-612 �笔㦛�峕郊�亙藁甇Z�撌脤�霂� `py -3.12 -m py_compile config\settings.py apps\ai\providers\utils.py apps\ai\providers\openai_compatible.py apps\api\generation.py apps\ai\tests.py apps\api\tests.py` �朞�嚗𢱌py -3.12 manage.py check` �朞�嚗�0 issues嚗𢱌py -3.12 manage.py makemigrations --check --dry-run` �朞�嚗𨨲o changes detected嚗𤤿��� Provider �格�瘚贝� 3 tests OK嚗𣬚&霈斤��曆�皜貉窈瘙��餈𥪜��曄� URL 銝贝蝸隡朞◤ `AI_IMAGE_UPSTREAM_DEADLINE_SECONDS` �芣鱏嚗峕��祉��𣂷��𡑒砲蝖祆⏛甇W蔣�㵪�`GenerateApiTests.test_image_upstream_timeout_refunds_precharged_points_and_marks_call_failed` �朞�嚗𢱌GenerateApiTests` �渡� 17 tests OK嚗𢱌.\init.ps1` �嗅偏�朞�嚗𢱌git diff --check` �朞�嚗䔶� Windows CRLF �鞟內���霂閙�隞滢��� allauth �� MySQL �∩辣�臭�蝥行�銝羓��X� `models.W036` 霅血���
2026-07-08 17:05:20 +08:00
- ���圈�霂��T-611 �冽�蝡臬����蝏煺�銝箄蓡�桀�撌脤�霂� `py -3.12 manage.py check` �朞�嚗�0 issues嚗𢱌py -3.12 manage.py makemigrations --check --dry-run` �朞�嚗𨨲o changes detected嚗𢱌git diff --check` �朞�嚗䔶� Windows CRLF �鞟內嚗𢱌py -3.12 manage.py test apps.portal.tests.PortalAccountFlowTests.test_homepage_is_public_and_shows_anonymous_onboarding_without_release apps.portal.tests.PortalAccountFlowTests.test_homepage_shows_current_download_release apps.portal.tests.PortalAccountFlowTests.test_portal_pages_use_shopee_circle_branding --keepdb --noinput --verbosity 2` �朞�嚗�3 tests OK���霂閙�隞滢��� allauth �� MySQL �∩辣�臭�蝥行�銝羓��X� `models.W036` 霅血���
2026-07-04 10:14:16 +08:00
- 瘚贝�嚗関-601 撌脤�霂��`.\init.ps1` �朞�嚗㇊ython 3.12.3嚗䔶�韏硋歇皛∟雲嚗䈣manage.py check` 0 issues嚗峕��啣鍳�典𦶢隞歹�嚗𢱌py -3.12 -m py_compile apps\ai\catalog.py apps\api\views.py apps\api\urls.py apps\api\tests.py apps\portal\views.py apps\portal\urls.py apps\portal\tests.py` �朞�嚗𢱌py -3.12 manage.py check` �朞�嚗𢱌py -3.12 manage.py makemigrations --check --dry-run` �惩��吔�`git diff --check` �朞�嚗𢱌py -3.12 manage.py test apps.api.tests.ModelsCatalogApiTests apps.portal.tests.PortalAccountFlowTests.test_models_page_requires_session_login apps.portal.tests.PortalAccountFlowTests.test_models_page_lists_public_aliases_prices_and_unpriced_state --keepdb --noinput --verbosity 2` 擐𡝗活餈鞱��� 3 �� API 瘚贝�撌脤�朞�嚗俰ortal `setUpClass` �嗆挾�㰘�蝔� MySQL 餈墧𦻖 43.128.3.240 頞�𧒄銝剜鱏嚗偦��� `Test-NetConnection 43.128.3.240 -Port 3306` �曄內 `TcpTestSucceeded=True`嚗���祇�頝睲舅�� portal 瘚贝��朞�嚗�2 tests OK��-403 撌脤�霂��`./init.ps1` 撘�撌亙��朞�嚗𢱌py -3.12 manage.py check` �朞�嚗𢱌py -3.12 manage.py makemigrations --check --dry-run` �惩��吔�`py -3.12 manage.py findstatic portal/vendor/bootstrap/bootstrap.min.css portal/vendor/qrcode/qrcode.js --verbosity 1` �曉�銝支葵�砍𧑐 static ��辣嚗𢱌py -3.12 manage.py check --deploy` �典��滚��� `.env` 銝衤��仿��笔��券�蝵株郎�𠺪�銝湔𧒄瘜典��煺漣�见��函㴓憓���𧶏��� HSTS includeSubDomains/preload嚗匧��朞�嚗�0 issues嚗𢱌py -3.12 manage.py collectstatic --dry-run --noinput` �朞�嚗屸���𤣰�� 169 銝� static ��辣嚗𢱌py -3.12 manage.py createcachetable --dry-run cmhub_cache` �朞�嚗諹��� MySQL cache 銵� DDL嚗𢱌py -3.12 -m compileall config` �朞�嚗𥕦�霂� `py -3.12 manage.py test apps.api --noinput --keepdb --verbosity 2` �� 25 �∠鍂靘见歇�朞�嚗䈣GenerateApiTests` 14 �∪�餈𦦵� MySQL 餈墧𦻖�滨蔭/鈭见𦛚銝剜鱏鋡怨扇 ERROR嚗屸��� `Test-NetConnection 43.128.3.240 -Port 3306` 蝡臬藁�航噢嚗���祇�頝� `py -3.12 manage.py test apps.api.tests.GenerateApiTests --noinput --keepdb --verbosity 2` �朞�嚗�14 tests OK���霂�/餈�宏�嗆挾隞齿� allauth `account.EmailAddress` �∩辣�臭�蝥行��� MySQL 銝𠹺��臬�撱箇� `models.W036` 霅血�嚗𥟇𧋦憿寧𤌍�冽�韐行𧋦�桃拳�臭��抒眏 `user.email` �臭�蝥行��踵���
2026-07-08 15:13:23 +08:00
- ���圈�霂��T-608 �啁鍂�瑟釣�諹��� 100 �寡��函��啣歇撉諹� `py -3.12 -m py_compile config\settings.py apps\billing\models.py apps\billing\services.py apps\billing\admin.py apps\portal\adapters.py apps\portal\views.py apps\billing\tests.py apps\portal\tests.py` �朞�嚗𢱌py -3.12 manage.py check` �朞�嚗�0 issues嚗𢱌py -3.12 manage.py makemigrations --check --dry-run` �朞�嚗𨨲o changes detected嚗𢱌py -3.12 manage.py migrate billing --noinput` �朞�嚗𨨲o migrations to apply嚗𥟇釣�諹��寞��∪�撟嗅�撟���格�瘚贝� 3 tests OK嚗𥟇釣�屸�瘚��蝵格�霂� 1 test OK嚗徱ortal 瘜典�韏删����憿菜�獢���紡�芥��ashboard �𣬚��啗扇敶閧𤌍���霂� 6 tests OK嚗𢱌SignupBonusGrant` admin 瘜典� smoke 1 test OK嚗𢱌.\init.ps1` �嗅偏�朞�嚗㇊ython 3.12.3嚗䔶�韏硋歇皛∟雲嚗䈣manage.py check` 0 issues嚗峕��啣鍳�典𦶢隞歹�嚗𢱌git diff --check` �朞�嚗䔶� Windows CRLF �鞟內���霂閙�隞齿� allauth �� MySQL �∩辣�臭�蝥行�銝羓��X� `models.W036` 霅血�嚗𥕢�甈� portal �格�瘚贝��臬𢆡�嗆挾�曉�餈𦦵� MySQL 餈墧𦻖 `43.128.3.240` 頞�𧒄銝剜鱏嚗𣬚垢��䔝瘚𧢲�憭滚��滩��朞���
2026-07-07 08:33:49 +08:00
- ���圈�霂��T-607 獢屸𢒰蝡舀��啁��祆��交𦻖��歇撉諹� `.\init.ps1` 撘�撌亙��朞�嚗𢱌py -3.12 -m py_compile apps\api\views.py apps\api\urls.py apps\api\tests.py` �朞�嚗𢱌py -3.12 manage.py check` �朞�嚗�0 issues嚗𢱌py -3.12 manage.py makemigrations --check --dry-run` �朞�嚗𨨲o changes detected嚗𢱌py -3.12 manage.py test apps.api.tests.ClientLatestReleaseApiTests --keepdb --noinput --verbosity 2` �朞�嚗�9 tests OK嚗𢱌py -3.12 manage.py test apps.api.tests.ApiKeyAuthenticationTests apps.api.tests.BalanceApiTests apps.api.tests.ModelsCatalogApiTests apps.api.tests.ClientLatestReleaseApiTests --keepdb --noinput --verbosity 2` �朞�嚗�25 tests OK嚗𢱌py -3.12 manage.py test apps.api --keepdb --noinput --verbosity 1` �朞�嚗�54 tests OK嚗𢱌.\init.ps1` �嗅偏�朞�嚗𢱌git diff --check` �朞�嚗䔶� Windows CRLF �鞟內���霂閙�隞���� allauth �� MySQL �∩辣�臭�蝥行�銝羓��X� `models.W036` 霅血���
2026-07-06 23:18:08 +08:00
- ���圈�霂��T-606 �砍�擐㚚△ + 摰X�蝡臭�頧賢���歇撉諹� `.\init.ps1` �朞�嚗㇊ython 3.12.3嚗䔶�韏硋歇皛∟雲嚗䈣manage.py check` 0 issues嚗峕��啣鍳�典𦶢隞歹�嚗𢱌py -3.12 -m py_compile apps\portal\models.py apps\portal\admin.py apps\portal\views.py apps\portal\urls.py apps\portal\tests.py` �朞�嚗𢱌py -3.12 manage.py check` �朞�嚗�0 issues嚗𢱌py -3.12 manage.py makemigrations --check --dry-run` �朞�嚗𨨲o changes detected嚗𢱌py -3.12 manage.py migrate portal` 撌脣��� `portal.0001_initial` �啣��齿㺭�桀�嚗𢱌py -3.12 manage.py shell -c "... Client().get('/') ..."` 餈𥪜� `STATUS=200`���憿菜�霂��銝贝蝸�箸�霂��摮睃銁嚗𢱌py -3.12 manage.py findstatic portal/brand.css portal/vendor/bootstrap/bootstrap.min.css portal/vendor/qrcode/qrcode.js --verbosity 1` ��𪄳�堆�`py -3.12 manage.py test apps.portal.tests.PortalAccountFlowTests.test_homepage_is_public_and_shows_anonymous_onboarding_without_release apps.portal.tests.PortalAccountFlowTests.test_homepage_shows_current_download_release apps.portal.tests.PortalAccountFlowTests.test_homepage_shows_dashboard_entry_for_authenticated_user apps.portal.tests.PortalAccountFlowTests.test_download_release_only_keeps_one_current_per_platform apps.portal.tests.PortalAccountFlowTests.test_authenticated_nav_highlights_current_page_only --noinput --verbosity 2` �朞�嚗�5 tests OK��py -3.12 manage.py test apps.portal.tests.PortalAccountFlowTests --keepdb --noinput --verbosity 2` 撌脤�頝𡢅��㰘�蝔� MySQL `43.128.3.240` �冽�霂訫�餈�宏�嗆挾餈墧𦻖頞�𧒄嚗�2003 / WinError 10060嚗劐葉�哨�銝齿糓�剛�憭梯揖嚗𥟇㺭�桀��W��𡡞�銵亥� portal �渡���
- ���圈�霂��T-605 �漤�蝞梢�霂���亙歇撉諹� `py -3.12 -m py_compile config\settings.py apps\portal\tests.py` �朞�嚗𢱌py -3.12 manage.py check` �朞�嚗�0 issues嚗𢱌py -3.12 manage.py makemigrations --check --dry-run` �朞�嚗𨨲o changes detected嚗𥟇凒�啣���釣�� / �餃��格�瘚贝� 3 tests OK嚗𢱌py -3.12 manage.py test apps.portal --keepdb --noinput --verbosity 2` �朞�嚗�26 tests OK嚗𢱌git diff --check` �朞�嚗䔶� Windows CRLF �鞟內����� `py -3.12 manage.py test --keepdb --noinput --verbosity 2` 撌脣�霂𤏪��𤑳緵 131 tests嚗諹��� 95 tests �舘�蝔� MySQL `43.128.3.240` �箇緵餈墧𦻖頞�𧒄 / WinError 10051嚗峕�蝏� 22 errors嚗偦��� `Test-NetConnection 43.128.3.240 -Port 3306` �曄內 `TcpTestSucceeded=True`嚗���砍�頝穃仃韐亥絲�寧� billing ����� 17 �∩��∠鍂靘� OK嚗�僎�烐緍�寧鍂靘𧢲𧋦雿𤘪��� `ok` �𤾸銁瘚贝�摨� flush �嗆挾�齿活�� MySQL 餈墧𦻖頞�𧒄 / WinError 10060 霈� ERROR���霈綽�T-605 �詨�瘚贝�撌脤�朞�嚗���誩�甈∠遛�𡑒�蝔� MySQL 蝔喳��折獈憛𠺶��
- ���圈�霂��T-604 銝剜��𤩺�霂齿𧋦�啗�皛文歇撉諹� `py -3.12 -m py_compile config\settings.py apps\api\generation.py apps\api\tests.py apps\moderation\apps.py apps\moderation\models.py apps\moderation\normalization.py apps\moderation\policy.py apps\moderation\services.py apps\moderation\signals.py apps\moderation\versioning.py apps\moderation\providers\base.py apps\moderation\providers\keyword.py apps\moderation\tests.py` �朞�嚗𢱌py -3.12 manage.py check` �朞�嚗�0 issues嚗𢱌py -3.12 manage.py makemigrations --check --dry-run` �朞�嚗𨨲o changes detected嚗𢱌py -3.12 manage.py test apps.moderation --keepdb --noinput --verbosity 2` �朞�嚗�7 tests OK嚗𥟇鰵憓䂿��鞉𦻖��𤌍���霂� 2 tests OK嚗𢱌py -3.12 manage.py test apps.api.tests.GenerateApiTests --keepdb --noinput --verbosity 2` �朞�嚗�16 tests OK���霂閙�隞���� allauth �� MySQL �∩辣�臭�蝥行�銝羓��X� `models.W036` 霅血���
- ���圈�霂��T-603 django-admin 摮埈挾蝥找葉���撌脫𤣰撠橘�鈭箏極蝖株恕 `/admin/` 摮埈挾��倌銝剜��吔�`py -3.12 manage.py check` �朞�嚗�0 issues嚗𢱌py -3.12 manage.py makemigrations --check --dry-run` �朞�嚗𨨲o changes detected嚗𢱌py -3.12 manage.py test apps.users.tests apps.billing.tests.BillingAdminTests apps.ai.tests.AiModelAdminTests apps.ai.tests.AiConfigAuditAdminTests --keepdb --noinput --verbosity 2` �朞�嚗�15 tests OK���霂閙�隞���� allauth �� MySQL �∩辣�臭�蝥行�銝羓��X� `models.W036` 霅血���
2026-07-06 17:08:15 +08:00
- 蝥蹂� AI ������蝻粹萅撌脖耨憭㵪�2026-07-06 �典��滨瑪銝� `AI_KEY_ENCRYPTION_KEY` �齿鰵撖澆� `/secure/cmhub/ai_models.json`嚗䔶耨憭� `title-standard` 撖孵� `AiModel.api_key_encrypted` �䭾�閫����䔮憸塩���霂��`python3.12 manage.py check` �朞�嚗𢱌python3.12 manage.py smoke_ai_generation title` �笔�靚�鍂�𣂼�嚗䈣model_used=gpt-5.5`嚗諹�埈𧒄蝥� 16.9s嚗諹��� 3 銝芣�憸矋��� `api_key.txt` 蝚砌�銝� Key 靚� `POST https://cm.833729.com/api/v1/generate/title` �𣂼�餈𥪜� 5 銝芣�憸矋�`points_cost=1`嚗䔶�憸苷� 1010 ��� 1009��
- 蝥蹂��凋耨撉諹�嚗䫤/admin/billing/exchangerate/` 500 �孵��� `ExchangeRateAdmin.date_hierarchy` 閫血� MySQL `CONVERT_TZ`嚗諹�𣬚�鈭� MySQL �芸�頧賣𧒄�箄”嚗㷉jango �� `ValueError: Database returned an invalid datetime value`嚗𥕦歇蝘駁膄 `apps.billing.admin` 銝� 4 銝� DateTime `date_hierarchy`嚗䔶��� `list_filter` �交�蝑偦�剹���霂� `py -3.12 -m py_compile apps\billing\admin.py apps\billing\tests.py`��py -3.12 manage.py check`��py -3.12 manage.py test apps.billing.tests.BillingAdminTests.test_exchange_rate_changelist_renders_when_rates_exist --keepdb --noinput --verbosity 2` ���朞���
2026-07-06 08:56:30 +08:00
- Mock �臭��鞟內嚗䫤PAYMENT_CALLBACK_MODE=mock` �塚��冽�蝡� `/recharge` ����臭�霈W��箏�隡𡁏遬蝷粹��格�霂閙芋撘𤩺�蝷綽�霂湔�鈭𣬚輕��蘨�其��磰�霈W��𥕦遣��△�X葡�枏��嗆��蔭霂g�銝滩�雿輻鍂敺桐縑�𡝗𣈲隞睃��笔�隞䀹狡嚗𢱌sdk` 璅∪�銝齿遬蝷箄砲�鞟內���霂� `py -3.12 -m py_compile apps\portal\views.py apps\portal\tests.py`��py -3.12 manage.py check`��py -3.12 manage.py test apps.portal.tests.PortalAccountFlowTests.test_recharge_page_post_creates_pending_order_without_crediting_wallet_or_ledger apps.portal.tests.PortalAccountFlowTests.test_recharge_page_does_not_show_mock_notice_in_sdk_mode --keepdb --noinput --verbosity 2` ���朞���
- 敺桐縑甇��銝见��凋耨嚗𡁶瑪銝𠰴凝靽� Native 銝见�憭梯揖�孵��� `wechatpayv3` SDK ��閬�遬撘� `pay_type=WeChatPayType.NATIVE`嚗䔶��𣂼��滚�銝� `(status_code, json_string)` tuple �屸� dict嚗𥕦歇�澆捆 tuple/json �滚�撟嗉��碶��蓥�銝餃𢆡�亙���瑪銝羓鍂靽桀��𡒊� `_create_wechat_payment_order_with_sdk()` �𥕦遣 1 ����剝��臭�霂瑟�嚗𣬚&霈方��� `weixin://wxpay/bizpayurl` 蟡冽旿��𡖂嚗䮝ending 霈W�銝餃𢆡�亙�撘�虜銝滚�霈� `/api/v1/recharge/status` 餈𥪜� 500嚗諹�峕糓靽脲�敶枏�霈W��嗆����� 200��
- �臭�摰苷葩�嗡�蝥選�蝥蹂��臭�摰嗪�銝见�餈𥪜� `isv.illegal-client-ip`嚗���滩��� IP 銝滚銁�臭�摰嘥虾靽∪��蓥葉嚗㚁����冽𣈲隞睃�撘��曉像�唳� VPS �箏藁 IP `43.128.3.240` �惩��臭縑 IP �𤾸��W����甇斤鍂�瑞垢 `/recharge` 銵典���𧒄�芸�蝷箏僎�亙�敺桐縑�臭�嚗𥕦�撅� API��芋�𧢲�銝整���靚���臭�摰� SDK 頝臬�靽萘�銝滚���
2026-07-02 11:07:44 +08:00
- �唳旿嚗鋫I 銝𦠜虜靚�鍂銝擧芋�钅�蝵桀��� `D:\chengma\cmbot`嚗Ǒsrc/services/ai_text_service.py`��ai_image_service.py`��config/ai_models.json`嚗㚁��笔� `ai_models.json` 銝齿�鈭歹����朞� `import_ai_models` �賭誘�惩�撖澆�
2026-07-01 18:01:23 +08:00
- ����臬𢆡頝臬�嚗阳indows �� `./init.ps1`嚗𢥧nix/WSL �� `./init.sh`
- ���撉諹�頝臬�嚗阳indows �� `py -3.12 manage.py check` / `py -3.12 manage.py test`
2026-07-08 15:13:23 +08:00
- 霈曇恣�箇瑪嚗�**�芸𨭌�冽�蝡� + 撖孵� API + 餈鞱𨯫�𤾸蝱**銝匧�銝��蓥�嚗𤤿鍂�瑟芋�� `User`(auth)/`UserWallet`(�寞㺭嚗屸� wallet ���)/`ApiKey`(1:N嚗��撣����)嚗𥕦笆憭碶舅�亙藁 + **�賢��怠� + Provider �����**嚗�虾�埝�靘𥕦����嚗𥡝䌊�拇醌����潘��啁鍂�瑟釣�峕��煺�甈⊥�扯��� 100 �寡��函��堆�敹�◆蝏� billing �� `signup_bonus` 瘚�偌嚗䔶��朞� `SignupBonusGrant(user UNIQUE)` �脤�憭滚��整��祕閫� `04-architecture.md` 銝� 2026-07-08 �� `progress.md` �喟�
2026-07-09 14:46:09 +08:00
- �滨蔭�箇瑪嚗朞�銵𣬚㴓憓���誯�銝剛� `docs/env.md`嚗𤤿�摰𧼮���/�臭��剛�銝滚��坔�隞���𡝗�獢�甅靘卝��鍂�瑞垢瘜典�蝑𣇉裦�箏�銝� `ACCOUNT_EMAIL_VERIFICATION="none"`嚗𡁜��桃拳撉諹���釣��朖�舐鍂���蝞曹�敹�‵銝𥪜𣈲銝�嚗𢱌DJANGO_EMAIL_BACKEND` / `DJANGO_DEFAULT_FROM_EMAIL` 隞�鍂鈭𤾸�蝏剖���𪄳�𠺶���𡁶䰻�𡝗�憭漤�蝞梢�霂���桐辣�賢�嚗䔶�雿靝蛹敶枏�瘜典��餃��滨蔭�∩辣����潸恥�訫銁�𥕦遣�園�摰𡁏����憸�恣�寞㺭嚗��靚��韐虫蝙�刻恥�訫�潘�銝齿��唳����蝞𨰜��𣈲隞睃�靚��銝见��� `PAYMENT_CALLBACK_MODE` �批�嚗𡁏𧋦��/瘚贝��舐鍂 HMAC `mock`嚗𣬚�鈭批�銝� `sdk`嚗𥕢�蝏渡��砍𧑐�㗇����蝷箇眏 `PAYMENT_QR_EXPIRES_MINUTES` �批���-306 韏瑕笆憭� API 摰匧��滨蔭��鉄 `API_GENERATE_THROTTLE_RATE`��API_AUTH_FAILURE_THROTTLE_RATE`��IMAGE_URL_MAX_BYTES`��IMAGE_URL_MAX_REDIRECTS`��IMAGE_URL_CONNECT_TIMEOUT_SECONDS`��IMAGE_URL_READ_TIMEOUT_SECONDS`��RECHARGE_MAX_AMOUNT_CNY`��-403 韏瑞�鈭折������鈭� cache 銝� HTTPS 摰匧��滨蔭��鉄 `STATIC_URL`��STATIC_ROOT`��DJANGO_CACHE_BACKEND`��DJANGO_CACHE_LOCATION`��DJANGO_CSRF_TRUSTED_ORIGINS`��DJANGO_SESSION_COOKIE_SECURE`��DJANGO_CSRF_COOKIE_SECURE`��DJANGO_SECURE_SSL_REDIRECT`��DJANGO_SECURE_PROXY_SSL_HEADER`��DJANGO_SECURE_HSTS_SECONDS`��-604 韏瑕�摰孵��券�蝵桀��� `MODERATION_ENABLED`��MODERATION_PROVIDER=keyword`��MODERATION_FAIL_CLOSED`��MODERATION_BLOCK_ON_REVIEW`��MODERATION_CACHE_VERSION_KEY`嚗𤤿�鈭批� worker 銝见�憿颱蝙�典�鈭� cache �輯蝸�𤩺�霂滨��砍噡��-612 韏瑞��曉�甇交𦻖��迫銵��滨蔭��鉄 `AI_IMAGE_UPSTREAM_DEADLINE_SECONDS`嚗�蘨雿𦦵鍂鈭� `generate_image` 銝𦠜虜霂餃�蝖祆⏛甇U��-614/T-616 韏瑕�甇亦��暸�蝵桀��� `PUBLIC_BASE_URL`��MEDIA_PUBLIC_BASE_URL`��IMAGE_TASK_RETENTION_HOURS`��GENERATED_IMAGE_RETENTION_HOURS`��IMAGE_TASK_REAPER_INTERVAL_SECONDS`��IMAGE_TASK_LEASE_SECONDS`��IMAGE_TASK_MAX_RETRIES`��IMAGE_TASK_RETRY_BACKOFF_SECONDS`嚗𤤿�鈭批�憿餉�銵� `run_image_tasks` worker��
2026-07-08 22:44:17 +08:00
- 敶枏� blocker嚗𡁜凝靽⊥迤撘譍��訫歇�質��硺�蝏渡�嚗䔶�蝥蹂�敺桐縑�噼��曉枂�� `PaymentVerificationError`嚗䔶����閧𡠺靽桀�撟嗅��鐥�靝�甈曉��芸𢆡�亥揭�嗪𡡒�舫��塚��臭�摰脲�憭滢�韏硋��曉像�唳� `43.128.3.240` �惩��臭縑 IP��瑪銝羓�摰墧�憸条��𣂼歇頝煾�𡁜僎撉諹����嚗𥕦㦛���甇交唂�亙藁撌脩眏 T-612 �牐�皜貊′�芣迫甇Z�嚗𣊁-614 撌脫�靘𥕦�甇乩遙�∪�頝臬�嚗𣊁-615 撌脰‘�批�甇� / �啣�甇交�鈭日�瘚见��扯楝撘�鍂�����
2026-07-01 17:42:10 +08:00
## 敶枏��桀�閬��
| 頝臬� | �嗆�� | 霂湔� |
| --- | --- | --- |
2026-07-03 17:53:49 +08:00
| `docs/` | 撌脫� | �典� harness ��﹝嚗苽-403 �啣� `deployment.md` |
2026-07-01 17:42:10 +08:00
| `AGENTS.md` / `CLAUDE.md` | 撌脫� | 隞枏�蝥批��� |
| `progress.md` | 撌脫� | �扯�瘚�偌嚗�歇霈啣�憭朞蔭��﹝�喟�嚗𥕦�蝏凋遙�∠誧蝏剛蕭�� |
2026-07-02 10:17:10 +08:00
| `init.sh` / `init.ps1` | 撌脫� | �臬𢆡撉諹��亙藁嚗�歇�箏�蝟餌� Python 3.12 �賭誘嚗�僎�⊿�閫���函��� `>=3.12,<3.14` |
2026-07-03 17:53:49 +08:00
| `requirements.txt` / `requirements-production.txt` / `pyproject.toml` | 撌脫� | `requirements.txt` 蝞⊥𧋦��/�箇�餈鞱�靘肽�嚗𢱌requirements-production.txt` 餈賢� Linux �煺漣 Gunicorn嚗𢱌pyproject.toml` �賢𧑐 `requires-python`嚗苽-101 �啣� `requests`嚗苽-102 雿輻鍂�X� `cryptography` �� Fernet �惩�嚗苽-501 �啣� `django-allauth` |
2026-07-01 18:01:23 +08:00
| `config/`嚗㇄jango 撌亦�嚗� | 撌脫� | T-001 �𥕦遣嚗�鉄 settings / urls / wsgi / asgi |
2026-07-08 15:38:59 +08:00
| `apps/`嚗ósers/portal/billing/ai/api/moderation嚗� | 撌脫� | T-002 �𥕦遣嚗𢱌apps/users` 撌脣�銋㕑䌊摰帋� `User`嚗苽-003 撌脫釣�� admin 銝� admin smoke test嚗苽-004 撌脩� `User.email` �惩𣈲銝�蝥行�嚗苽-101 撌脫鰵憓� `apps/ai/providers`嚗苽-102 撌脫鰵憓� `apps/ai/security.py`��aliases.py`��importers.py`��anagement command 銝� `ai.0001_initial` 餈�宏嚗苽-103 撌脫鰵憓� `apps/ai/audit.py` 銝� `ai.0002_aiconfigauditlog` 餈�宏嚗苽-104/T-105 撌脫鰵憓� `smoke_ai_generation` 敶訫� title/image smoke �賭誘嚗苽-201 撌脣銁 users �� `UserWallet` / `ApiKey`嚗�銁 billing �� `PointsLedger` / `CallRecord`嚗苽-202 撌脣銁 billing �� `PricingRule` / `ExchangeRate` 銝� `pricing.py`嚗苽-203/T-303/T-304/T-305 撌脣銁 `apps/billing/services.py` �賣緍��/���嫘���憸嘥翰�扼����澆�韐虫����潔��𤏪�T-401 撌脣銁 `apps/billing/services.py` �� `adjust_wallet_points()`嚗�銁 `apps/users/admin.py` 銝� `apps/users/templates/admin/users/userwallet/adjust_points.html` �賡兝���撌亥��孵����T-608 撌脣銁 billing �� `SignupBonusGrant`��grant_signup_bonus()`��signup_bonus` 瘚�偌蝐餃���dmin 璉�蝝W�餈�宏嚗苽-304/T-305 撌脣銁 `apps/billing/payment_gateways.py` �賢�靚��蝑整��ock 銝见�銝� SDK �亙藁嚗苽-301~T-306 撌脣銁 api �賡�������鞉𦻖����鉝����堒��具��㦛����具���憸脲䰻霂U����澆�靚�����潔���/�嗆��䰻霂U��image_url` SSRF �脫擪�����/霈方��鞉�銝𡒊�銝� 429 �躰秤�滚�嚗苽-501/T-608 撌脣銁 portal �� allauth 瘜典�/�餃�/�餃枂頝舐眏��芋�踴��dapter 銝� dashboard嚗峕釣�峕��蠘䌊�刻��� 100 �對�T-502 撌脣銁 portal �� `/apikeys`��PI Key �𥕦遣銵典����銵冽芋�蹂��𣳇膄嚗����嚗匧𢆡雿頣�T-503/T-608 撌脣銁 portal �賭葵鈭箔葉敹���颯����潸扇敶訫��寞㺭霈啣�憿蛛�T-504 撌脣銁 portal �� `/recharge` ���潮△����潸”�𨰻���蝏渡�蟡冽旿撅閧內�𣬚𠶖��蔭霂g�T-505 撌脣銁 portal �賣𧋦�� vendor static 銝舘扇敶訫�憿蛛�T-601 撌脣銁 `apps/ai/catalog.py` �賢�撘�璅∪��桀�嚗�銁 api �� `/api/v1/models`嚗�銁 portal �� `/models` 憿菟𢒰��紡�芸����T-604 撌脣銁 moderation �� `SensitiveWord`��eyword matcher���銝��硔���鈭� cache ��𧋦憭望�銝� admin嚗苽-606 撌脣銁 portal �賢�撘�擐㚚△��DownloadRelease`���頧賜��� admin��brand.css` 銝𡡞�憿菜芋�選�T-607/T-609 撌脣銁 api �� `/api/v1/client/releases/latest` �砍���𧋦璉��交𦻖���撟嗅銁 portal `DownloadRelease` �� `force_update` 摮埈挾銝� admin 撅閧內 |
2026-07-09 14:46:09 +08:00
| `apps/api` 撘�郊�笔㦛 | 撌脫� | T-614 撌脰氜 `ImageGenerationTask`��api.0001_initial`���甇交�鈭�/頧株砭頝舐眏��遙�� service��orker lease / heartbeat / reaper��run_image_tasks` �賭誘�� admin �芾粉�㘾�嚗苽-616 撌脰氜 `api.0002`��next_attempt_at`��葩�嗆�批仃韐亥䌊�券�霂訫�頧株砭�滚��啣��滩�摮埈挾嚗𥟇唂�峕郊�笔㦛�亙藁靽萘� |
2026-07-01 18:01:23 +08:00
| `manage.py` | 撌脫� | T-001 �𥕦遣 |
2026-07-01 17:42:10 +08:00
| `tests/` | 敺�遣 | �誩�隞餃𦛚銵亙� |
## 隞餃𦛚�𧢲踎�嗆��
隞餃𦛚�嗆��誑 [`06-tasks.md`](06-tasks.md) 銝箏�嚗���脫�銵諹扇敶閗� [`../progress.md`](../progress.md)��
- 撌脣��琜�T-001 �嘥��� Django + DRF 憿寧𤌍撉冽沲嚗苽-002 撱箇� apps �桀���䌊摰帋� User 銝𡡞�蝵殷�T-003 �仿�� django-admin 銝擧�撠𤩺�霂𤏪�T-004 Phase 0 撉冽沲摰⊥瓲靽株‘嚗苽-101 Provider ����典� + 蝘餅� cmbot 靚�鍂嚗苽-102 AiModel + ModelAlias 璅∪� + �怠�閫��嚗苽-103 �滨蔭�䀹凒摰∟恣嚗苽-104 頝煾�帋�甈∪��嗆�憸条��琜�T-105 Phase 1 AI 撅�恣�訾耨銵伐�T-201 User / UserWallet / ApiKey / PointsLedger / CallRecord 璅∪�嚗苽-202 PricingRule / ExchangeRate 璅∪� + 霈∟晶霈∠�嚗苽-203 撟嗅�摰匧���� / ���對�T-204 Phase 2 霈∟晶�詨�摰⊥瓲�惩𤐄嚗苽-301 API Key �湔�嚗苽-302 ������ / �曄��亙藁嚗苽-303 雿䠷��亥砭�亙藁嚗苽-304 ���澆�靚��T-305 �怎����潔��� + 頧株砭嚗苽-306 Phase 3 撖孵� API 摰匧��惩𤐄嚗苽-501 瘜典� / �餃�嚗Òllauth嚗㚁�T-502 API Key �芸𨭌蝞∠�憿蛛�T-503 銝芯犖銝剖� / 霈啣�憿蛛�T-504 ���潮△嚗�醌�� + 頧株砭�啗揭嚗㚁�T-505 Phase 4 �冽�蝡臬恣�訾��吔�T-401 餈鞱𨯫�𤾸蝱摰��嚗苽-402 摰峕㟲撉峕𤣰 MVP嚗苽-403 �函蔡 / 餈鞱���﹝嚗苽-601 �舐鍂�怠��𤑳緵嚗苽-602 django-admin 銝剜��吔�蝚� 1-3 撅��嚗苽-603 django-admin 銝剜��吔�蝚� 4 撅�瑕�畾萇漣嚗㚁�T-604 銝剜��𤩺�霂齿𧋦�啗�皛歹�T-605 �漤�蝞梢�霂���亥氜�堆�T-606 �砍�擐㚚△ + 摰X�蝡臭�頧賢����T-607 獢屸𢒰蝡舀��啁��祆��交𦻖���T-608 �啁鍂�瑟釣�諹��� 100 �寡��函��堆�T-609 獢屸𢒰蝡舐��祆��交𦻖����惩撩�嗆凒�唳�霈堆�T-610 擐㚚△撖澆�璅⊥踎銝贝蝸�亙藁嚗苽-611 �冽�蝡臬����蝏煺�銝箄蓡�桀�嚗苽-612 �笔㦛�峕郊�亙藁甇Z�嚗��皜貊′�芣迫 + �輯窈瘙���∪�嚗㚁�T-613 �賜��鞉瓲敹� service嚗�恣韐�+摰⊥瓲+銝𦠜虜�曹澈 core嚗㚁�T-614 �笔㦛撘�郊隞餃𦛚�𡝗𦻖����𣂷漱+頧株砭嚗峕鰵憓硺��冽唂�亙藁嚗㚁�T-615 �批�甇亦��暹𦻖��鍂�誯�瘚� + 撘�鍂���嚗苽-616 �笔㦛憭梯揖�芸𢆡�滩� 2 甈∴�T-617 獢屸𢒰蝡舐��祆��交𦻖����䭾�隞嗅之撠誩�畾蛛�T-618 摰X�蝡臬�撣���砍��啣�憛急�隞嗆嵗撉���唳旿��
2026-07-01 17:42:10 +08:00
- 甇�銁餈𥡝�嚗𡁏���
- 敺��憪页�T-619 憭𡁜��曄���圾撟嗉��墧�摮梹��𡒊賒隞齿��笔��臭��噼��啗揭�剔㴓��恥�瑞垢�穃��𣬚瑪銝𦠜唂�峕郊�亙藁�券�閫��蝏抒賒��遙�~��
2026-07-09 14:46:09 +08:00
- 敶枏� blocker嚗𡁏𣈲隞睃��瑞�摰𧼮���/霂�髡銝𡒊�鈭� SDK 靘肽�隞滚��𣂷�嚗𥕦凝靽∪�靚��韐阡𡡒�臭����笔��臭�撉峕𤣰嚗𤤿�摰� AI ������撌脣銁蝥蹂�頝煾�𡄯��曄������ / 504 / 摰X�蝡航��園��拙歇��蛹 T-612~T-616 撟嗅��𣂼極蝔衤儒憭����
- 銝衤�銝芸虾憸��隞餃𦛚嚗関-619 憭𡁜��曄���圾撟嗉��墧�摮𨰜��遙�∪蘨�啣��峕郊 `POST /api/v1/analyze/images` 銝𡒊𡠺蝡� `vision` �滢� / �怠�嚗䔶��孵��唳��������曉�撘�郊�笔㦛�亙藁嚗𥕦�雿栞��港�撉峕𤣰隞� [`06-tasks.md`](06-tasks.md) 銝箏���
2026-07-01 17:42:10 +08:00
## 敶枏��航�銵��摰�
```bash
2026-07-01 18:01:23 +08:00
# Windows PowerShell
py -3.12 -m pip install -r requirements.txt
py -3.12 manage.py check
py -3.12 manage.py test
py -3.12 manage.py runserver
2026-07-02 11:07:44 +08:00
py -3.12 manage.py import_ai_models path\to\ai_models.json --create-default-aliases
2026-07-02 13:58:34 +08:00
py -3.12 manage.py smoke_ai_generation title --recorded
2026-07-02 14:47:22 +08:00
py -3.12 manage.py smoke_ai_generation image --recorded
2026-07-01 18:01:23 +08:00
# Unix / WSL
python3.12 -m pip install -r requirements.txt
python3.12 manage.py check
python3.12 manage.py test
python3.12 manage.py runserver
2026-07-02 11:07:44 +08:00
python3.12 manage.py import_ai_models path/to/ai_models.json --create-default-aliases
2026-07-02 13:58:34 +08:00
python3.12 manage.py smoke_ai_generation title --recorded
2026-07-02 14:47:22 +08:00
python3.12 manage.py smoke_ai_generation image --recorded
2026-07-03 17:53:49 +08:00
# Linux production
python3.12 -m pip install -r requirements-production.txt
python3.12 manage.py migrate
python3.12 manage.py createcachetable cmhub_cache
python3.12 manage.py collectstatic --noinput
gunicorn config.wsgi:application --bind 127.0.0.1:8001 --workers 2 --worker-class gthread --threads 4 --timeout 120
gunicorn config.wsgi:application --bind 127.0.0.1:8002 --workers 1 --worker-class gthread --threads 4 --timeout 360
2026-07-08 22:08:48 +08:00
python3.12 manage.py run_image_tasks --worker-id cmhub-image-worker-1 --sleep-seconds 1
2026-07-01 17:42:10 +08:00
```
2026-07-03 08:36:30 +08:00
敶枏�撖孵� API嚗�
2026-07-02 22:41:37 +08:00
- `POST /api/v1/generate/title`
- `POST /api/v1/generate/image`
2026-07-08 22:08:48 +08:00
- `POST /api/v1/generate/image/tasks`
- `GET /api/v1/generate/image/tasks/{task_id}`
2026-07-03 08:36:30 +08:00
- `GET /api/v1/balance`
2026-07-04 10:14:16 +08:00
- `GET /api/v1/models`
2026-07-07 08:33:49 +08:00
- `GET /api/v1/client/releases/latest`
2026-07-03 09:34:07 +08:00
- `POST /api/v1/recharge/create`嚗�鍂�瑞垢 session + CSRF嚗�
- `GET /api/v1/recharge/status`嚗�鍂�瑞垢 session嚗�
2026-07-03 09:07:21 +08:00
- `POST /api/v1/recharge/callback/wechat`
- `POST /api/v1/recharge/callback/alipay`
2026-07-02 22:41:37 +08:00
2026-07-03 11:27:45 +08:00
敶枏��冽�蝡舫△�g�
2026-07-06 23:18:08 +08:00
- `GET /`
2026-07-03 11:27:45 +08:00
- `GET/POST /signup`
- `GET/POST /login`
- `GET/POST /logout`
- `GET /dashboard`
2026-07-03 14:49:45 +08:00
- `GET/POST /recharge`
2026-07-03 11:51:46 +08:00
- `GET/POST /apikeys`
- `POST /apikeys/<id>/delete`
2026-07-04 10:14:16 +08:00
- `GET /models`
2026-07-03 14:00:00 +08:00
- `GET /records/recharge`
- `GET /records/usage`
2026-07-03 11:27:45 +08:00
2026-07-08 21:24:59 +08:00
敶枏�撉冽沲�航�銵䎚��-002 撌脣銁擐𡝗活餈�宏�滚�撱箄䌊摰帋� User嚗�僎�� `env.md` �亙� MySQL 8.4 / utf8mb4嚗𥡝�蝔� MySQL 撌脣��� Django �嘥�餈�宏��-003 撌脫𦻖�� django-admin嚗峕�霂訫虾�𥕦遣/��瘥� `test_cmhub` 瘚贝�摨橒�敶枏�餈𦦵� MySQL 撖寥�蝜�遣摨�/��摨㮖��航��湔�頞�𧒄嚗��閬�𧒄�� `--keepdb` 銝𥪯葡銵諹�瘚贝���-004 撌脣��� `users.0002_alter_user_email`嚗䈣user.email` 撌脫��臭�蝝W���-101 �� AI provider 撅�蘨�� HTTP 靚�鍂銝𤾸�摨磰圾�琜�T-102 撌脫� provider 餈鞱��滨蔭�亙��唳旿摨� `AiModel` / `ModelAlias`嚗䈣resolve_alias()` 瘥𤩺活�亙��� active �滨蔭撟嗆� `text` / `image` �賢��⊿���-103 撌脰‘ `AiConfigAuditLog`嚗蘏dmin 靽嘥�/�𣳇膄 `AiModel` / `ModelAlias` �嗉扇敶� actor��ction��arget��hanged_fields��hanges��reated_at嚗���亙蘨霈啣� empty/set �嗆����-104/T-105 撌脩鍂銝湔𧒄�墧��滨蔭頝煾�𡁜��嗆�憸睃�敶訫��曄������-201 撌脰氜�圈兝����PI Key����唳�瘞游�靚�鍂霈啣�嚗鋫PI Key �擧��芸銁�𥕦遣 helper 餈𥪜�嚗����蘨摮� hash/prefix嚗𡱰allRecord �芸� `result_ref`/`result_summary`嚗峕瓷�� provider raw 摮埈挾��-202 撌脰氜�� `PricingRule` / `ExchangeRate`嚗朞恣韐寞� `operation_type + alias + resolution` �� active 閫��嚗䔶���移蝖桀�颲函�嚗���鮋��暺䁅恕隞瘀�蝻箄��蹱� `NoPricingRuleError(code="no_pricing_rule")`嚗偦�憸脲揢�寞㺭�匧��� active 瘙���睲��𡝗㟲��-203 撌脰氜�� `precharge_call()` / `mark_call_success()` / `refund_call_points()`嚗𡁻�����勗�銵䕘�雿䠷�銝滩雲銝滚�靚�鍂/瘚�偌嚗𥕦仃韐仿���寥�靚�鍂霈啣�撟嗅�蝑匧� refund 瘚�偌��-204 撌脣��𣂼���𣈲銝�蝥行��惩𤐄嚗�僎�硋�銝�甈∪��� `manage.py test` �閙活�函遛��-301 撌脰氜�� `Authorization: Bearer <API_KEY>` �湔�嚗𡁏��笔� `request.user` 銝箸�撅䂿鍂�瑯��request.auth` 銝� `ApiKey`嚗𣬚撩憭�/�䭾� Key 餈𥪜� 401嚗𣬚鍂�瑟� Key 蝳�鍂餈𥪜� 403嚗���� API 銝齿𦻖�� Web session��-302/T-613 撌脰氜�啁��鞉𦻖����曹澈�詨�嚗𡁏唂�峕郊�亙藁隞滢�����滚�憟𤑳漲嚗𢱌prepare_generation()` �扯� prompt 摰⊥瓲��㦛����亙�������滩圾�僐��rovider �㗇𥋘�諹恣韐寡恣蝞梹�`precharge_generation()` 靚� billing 憸�緍嚗𢱌execute_precharged_generation()` 憭滨鍂撌脤��� `CallRecord` 靚��皜詨僎�𣂼�蝖株恕�硋仃韐仿���對��曄�蝏𤘪�靽嘥��唳𧋦�� media 撟園�朞� URL ��遣�刻��𧼮��� URL��-303 撌脰氜�唬�憸脲䰻霂X𦻖���`GET /api/v1/balance` 蝏扳㗁憭㚚� API Key �湔�嚗諹粉�� billing 雿䠷�敹怎�撟嗉��𧼮�摰孵�畾� `user` / `points_balance`嚗䔶誑�𠹺��恍�蝞梁� `account.username` / `account.display_name`嚗峕�霂閗��碶�憸苷�瘚�偌蝝臬�銝��氬��-304 撌脰氜�啣��澆�靚��`RechargeOrder` 靽嘥�銝见�������憸�/瘙��/�寞㺭嚗�凝靽�/�臭�摰嘥�靚��撉𣬚倌�齿�霈W�撟���亥揭嚗屸�憭滚�靚���滚��删�嚗屸�憸苷�銝��港��亥揭嚗𥕢蜓�冽䰻�訫�摨訫虾靚�鍂 `query_and_apply_recharge_payment(order_no, query_func)` 憭滨鍂�䔶��亥揭頝臬���-305 撌脰氜�唳醌����蓥�頧株砭嚗𡁶鍂�瑞垢 session �餃��𤾸虾 `POST /api/v1/recharge/create` �𥕦遣 pending 霈W�撟嗆嚉�� mock/SDK 鈭𣬚輕��巨�殷�`GET /api/v1/recharge/status` �芾��墧𧋦鈭箄恥�訫僎�� pending �嗅�霂蓥蜓�冽䰻�閗‘�亥揭嚗𡩅PI Key 銝滩�靚�鍂餈嗘舅銝芰鍂�瑞垢�亙藁��-306 撌脰氜�啣笆憭� API 摰匧��惩𤐄嚗䫤image_url` 銝贝蝸�冽緍�孵��𡁜�霈桃蒾�滚����蝵穃𧑐���⊿����摰𡁜��鞱歲�⊿����摨𥪜之撠譍��琜�DRF �典�暺䁅恕銝滚��𣂼��舐鍂 Session/Basic嚗𤤿��鞉𦻖��� Key �鞉�嚗諹恕霂�仃韐交� IP �鞉�嚗𥕦��潔��閙��閧��煾�銝𢠃���-501/T-605/T-608 撌脰氜�� allauth 瘜典� / �餃�嚗䫤ACCOUNT_EMAIL_VERIFICATION="none"`嚗���桃拳撉諹���釣��朖�舐鍂嚗屸�蝞曹�敹�‵銝𥪜𣈲銝�嚗𥟇釣�峕��毺� billing �烐𦆮 100 �孵僎�� `signup_bonus` 瘚�偌嚗屸�憭滩��冽�撟嗅�閫血��� `SignupBonusGrant` 撟����扇�𨅯�嚗峕釣�屸�瘚�眏 allauth signup rate limit �扯���-502 撌脰氜�� API Key �芸𨭌蝞∠�嚗䫤/apikeys` �餃�霈輸䔮嚗𣬚��𣂼�摰峕㟲�擧��芣遬蝷箔�甈∴��𡑒”�芣遬蝷� prefix嚗䔶��曄內 hash �硋��脫�����𣳇膄銝箏��
2026-07-08 23:11:46 +08:00
T-614 撌脰氜�啣�甇亦��曆遙�∪�嚗𡁏�鈭斗𦻖������餈𥪜� `task_id`嚗諹蔭霂X𦻖����� queued/running/succeeded/failed嚗墒orker �� reaper 憭滨鍂�䔶�憟埈��毺&霈� / 憭梯揖���寡楝敺���批�甇交𦻖��誧蝏剖�摰嫘����� worker 隡𡁜�頝穃恣�� / �怠�閫�� / 摰帋遠嚗䔶�銝漤�憭齿緍�對�`image_url` 颲枏�隡𡁜銁 submit �嗆挾銝贝蝸嚗峕��Y垢銝駁曎頝臬�隡睃��� `image_base64`��-615 撌脰氜�唳唂�峕郊 / �啣�甇交�鈭日�瘚页�銝支葵�亙藁�賭��� `generation_route_usage` 蝏𤘪��𡝗𠯫敹梹�靘蹂��匧恥�瑞垢��𧋦��PI Key �� route_type 閫��餈�宏餈𥕦漲嚗𥟇唂�峕郊�亙藁銝讠瑪�滚�憿餌誧蝏凋����摨𥪜�摰對�撟嗅��祉�銝讠瑪隞餃𦛚��
2026-07-01 17:42:10 +08:00
## 撘�憪讠����璉���
1. 霂颱�摨梶漣 `AGENTS.md` / `CLAUDE.md`��
2. 霂� `docs/00-ai-start-here.md`��
3. 霂� `docs/05-coding-rules.md`嚗�陘�嗥洵 8 ����穃��剁���
2026-07-08 22:44:17 +08:00
4. �� `docs/06-tasks.md` 憸��蝚砌�銝� `TODO` 銝𥪯�韏硋� `DONE` ��遙�∴�敶枏��䭾�蝖桃��瑚遙�~��
5. 銝衤�甇乩�����煺漣��閬�����摰墧𣈲隞睃�靚��韐阡𡡒�胯��恥�瑞垢銝贝蝸���撣���硋抅鈭� `generation_route_usage` �亙�閫���批�甇亦��暹𦻖���蝘餅��萄��滨�銝讠瑪隞餃𦛚��
2026-07-01 17:42:10 +08:00
## 蝏湔擪閫��
隞���嗆����𡝗𧒄�峕郊�湔鰵�祆�嚗𡁏鰵憓�/蝘餃𢆡�亙藁��辣���憪见�獢�沲�𡝗芋�𨰜��遙�∠𠶖����硔��鰵憓𧼮虾餈鞱��賭誘����唳�獢��隞��銝滢��氬��
- 隞餃𦛚�嗆����硋�甇� [`06-tasks.md`](06-tasks.md)��
- 瘥讛蔭�扯�霈啣����霂�𦶢隞扎��獈憛𠺶���蝑𤥁蕭�惩� [`../progress.md`](../progress.md)��
- �祆�隞嗅蘨靽萘�敶枏�敹怎�嚗䔶�靽萘�摰峕㟲��蟮��