docs(i18n): translate readme tagline and rename chinese assets
Replace the chinese tagline on README.md and README-EN.md with the existing english subtitle (collapsing the duplicate stack), and switch the package.json and backend/pyproject.toml description fields to english so the project's metadata surface no longer surprises non-chinese readers. Rename nine chinese-named static image files under static/image/ to ASCII slugs (six screenshots, two video covers, the QQ-group image) via git mv so rename history is preserved, and update every <img src> in README.md, README-EN.md, and README-ZH.md to the new paths. The chinese body text of README-ZH.md is preserved by design. A ripgrep scan for chinese characters in README.md and README-EN.md (excluding the language-switcher line) now returns zero matches, satisfying the ticket's acceptance criteria. Closes #12
|
|
@ -0,0 +1,222 @@
|
|||
# Design Document — i18n-readme-tagline-and-assets
|
||||
|
||||
## Overview
|
||||
|
||||
**Purpose**: Eliminate the remaining Chinese surface text from the project's English-facing entry points (`README.md`, `README-EN.md`, `package.json`, `backend/pyproject.toml`) and replace Chinese-named image assets under `static/image/` with ASCII-only equivalents, so that visitors landing on the GitHub repo or installing the npm package see English-only metadata and so that asset URLs are tooling- and CDN-friendly.
|
||||
|
||||
**Users**: Non-Chinese-reading visitors arriving at the GitHub README, downstream consumers reading `package.json` / `backend/pyproject.toml` metadata, and any tool (CDNs, link-rotters, screenshot-rendering bots) that handles repo asset URLs.
|
||||
|
||||
**Impact**: Documentation surface and static image filenames change; no runtime, API, or pipeline behavior is affected. The Chinese-language entry point (`README-ZH.md`) keeps its Chinese body text but its asset references are updated to point at the renamed files.
|
||||
|
||||
### Goals
|
||||
|
||||
- Replace the Chinese tagline with English on `README.md`, `README-EN.md`, `package.json`, `backend/pyproject.toml`.
|
||||
- Rename nine Chinese-named assets under `static/image/` to ASCII filenames, preserving byte content.
|
||||
- Update every `<img src>` reference in `README.md`, `README-EN.md`, and `README-ZH.md` to the new ASCII paths.
|
||||
- Verifiable acceptance: a Chinese-character scan over `README.md` and `README-EN.md` returns zero matches outside the language-switcher line.
|
||||
|
||||
### Non-Goals
|
||||
|
||||
- Translating the body of `README-ZH.md` (Chinese variant by design).
|
||||
- Changing the Chinese tagline value in `locales/zh.json` (legitimate Chinese locale content).
|
||||
- Re-encoding or re-cropping any image (rename only).
|
||||
- Adding a CI guard that enforces ASCII filenames or no-Chinese-in-EN-README (tracked separately as #26).
|
||||
|
||||
## Boundary Commitments
|
||||
|
||||
### This Spec Owns
|
||||
|
||||
- The English-language tagline string used in `README.md`, `README-EN.md`, `package.json`, `backend/pyproject.toml`.
|
||||
- The ASCII filenames for the nine renamed assets under `static/image/`.
|
||||
- All `<img src>` references inside the three READMEs that point to the renamed files.
|
||||
|
||||
### Out of Boundary
|
||||
|
||||
- Any asset under `static/image/` that already uses an ASCII name (`MiroFish_logo*.jpeg`, `shanda_logo.png`).
|
||||
- Code-level i18n initiatives (frontend strings, backend logs, agent prompts) — those are owned by sibling i18n specs.
|
||||
- README content beyond the lines explicitly identified in §"Modified Files".
|
||||
|
||||
### Allowed Dependencies
|
||||
|
||||
- Git (`git mv` for rename-with-history).
|
||||
- No new project dependencies.
|
||||
|
||||
### Revalidation Triggers
|
||||
|
||||
- Any future change that adds another Chinese-named asset under `static/image/` referenced from a README — the verification scan in this spec must be re-run.
|
||||
- Any future change to the structure of the language-switcher line — the R4 verification regex tolerance for `[中文文档]` may need adjusting.
|
||||
|
||||
## Architecture
|
||||
|
||||
### Existing Architecture Analysis
|
||||
|
||||
This is a documentation- and asset-rename change. There is no architectural component to extend or replace. The relevant existing patterns to respect:
|
||||
|
||||
- **Per `.claude/rules/file-paths.md`**: shell commands that touch paths with non-ASCII characters must quote the paths.
|
||||
- **Per `.kiro/steering/structure.md`**: `static/` is the project's image asset root; READMEs reference it via relative paths from repo root.
|
||||
- **Per `.claude/rules/commits.md`**: Conventional Commits, lowercase, imperative, max 72 chars, no `Co-Authored-By:` watermark.
|
||||
|
||||
### Architecture Pattern & Boundary Map
|
||||
|
||||
No new architecture is introduced. The flow is a one-shot edit:
|
||||
|
||||
```mermaid
|
||||
flowchart LR
|
||||
A[Chinese-named<br/>asset files] -->|git mv| B[ASCII-named<br/>asset files]
|
||||
C[README.md / README-EN.md /<br/>README-ZH.md / package.json /<br/>backend/pyproject.toml] -->|Edit tool| D[Updated text +<br/>updated img src paths]
|
||||
B --> D
|
||||
D --> E[Verify: rg Chinese-char scan<br/>returns only language-switcher line]
|
||||
```
|
||||
|
||||
### Technology Stack
|
||||
|
||||
| Layer | Choice / Version | Role in Feature | Notes |
|
||||
|-------|------------------|-----------------|-------|
|
||||
| Frontend / CLI | — | n/a | No code changes. |
|
||||
| Backend / Services | — | n/a | No code changes. |
|
||||
| Data / Storage | — | n/a | No data model changes. |
|
||||
| Messaging / Events | — | n/a | n/a |
|
||||
| Infrastructure / Runtime | git ≥ 2.x | `git mv` for renames | Already a project prerequisite. |
|
||||
| Documentation | Markdown / HTML-in-MD | Edit READMEs, `package.json`, `backend/pyproject.toml` | No new tooling. |
|
||||
|
||||
## File Structure Plan
|
||||
|
||||
### Directory Structure
|
||||
|
||||
No new files or directories are created. The existing layout is preserved:
|
||||
|
||||
```
|
||||
static/image/
|
||||
├── MiroFish_logo.jpeg (unchanged)
|
||||
├── MiroFish_logo_compressed.jpeg (unchanged)
|
||||
├── shanda_logo.png (unchanged)
|
||||
├── qq-group.png (renamed from "QQ群.png")
|
||||
├── wuhan-university-simulation-cover.png (renamed from "武大模拟演示封面.png")
|
||||
├── dream-of-the-red-chamber-simulation-cover.jpg (renamed from "红楼梦模拟推演封面.jpg")
|
||||
└── Screenshot/
|
||||
├── screenshot1.png (renamed from "运行截图1.png")
|
||||
├── screenshot2.png (renamed from "运行截图2.png")
|
||||
├── screenshot3.png (renamed from "运行截图3.png")
|
||||
├── screenshot4.png (renamed from "运行截图4.png")
|
||||
├── screenshot5.png (renamed from "运行截图5.png")
|
||||
└── screenshot6.png (renamed from "运行截图6.png")
|
||||
```
|
||||
|
||||
### Modified Files
|
||||
|
||||
- `README.md`
|
||||
- Lines 7–8: delete the Chinese tagline line and the `</br>` separator; the existing `<em>` line on (former) line 9 becomes the lone tagline.
|
||||
- Lines 52, 53, 56, 57, 60, 61: replace `Screenshot/运行截图{N}.png` with `Screenshot/screenshot{N}.png`.
|
||||
- Line 71: replace `武大模拟演示封面.png` with `wuhan-university-simulation-cover.png`.
|
||||
- Line 79: replace `红楼梦模拟推演封面.jpg` with `dream-of-the-red-chamber-simulation-cover.jpg`.
|
||||
- Line 220: replace `QQ群.png` with `qq-group.png`.
|
||||
- `README-EN.md` — identical edit set as `README.md`.
|
||||
- `README-ZH.md`
|
||||
- Lines 52, 53, 56, 57, 60, 61, 71, 79, 220: same nine `<img src>` replacements as above. Tagline and Chinese body text unchanged.
|
||||
- `package.json`
|
||||
- Line 4: replace the `description` value with `MiroFish - A Simple and Universal Swarm Intelligence Engine, Predicting Anything`.
|
||||
- `backend/pyproject.toml`
|
||||
- Line 4: replace the `description` value with `MiroFish - A Simple and Universal Swarm Intelligence Engine, Predicting Anything`.
|
||||
|
||||
### Renamed Files (via `git mv`)
|
||||
|
||||
| Old (quoted) | New |
|
||||
|---|---|
|
||||
| `"static/image/QQ群.png"` | `static/image/qq-group.png` |
|
||||
| `"static/image/武大模拟演示封面.png"` | `static/image/wuhan-university-simulation-cover.png` |
|
||||
| `"static/image/红楼梦模拟推演封面.jpg"` | `static/image/dream-of-the-red-chamber-simulation-cover.jpg` |
|
||||
| `"static/image/Screenshot/运行截图1.png"` | `static/image/Screenshot/screenshot1.png` |
|
||||
| `"static/image/Screenshot/运行截图2.png"` | `static/image/Screenshot/screenshot2.png` |
|
||||
| `"static/image/Screenshot/运行截图3.png"` | `static/image/Screenshot/screenshot3.png` |
|
||||
| `"static/image/Screenshot/运行截图4.png"` | `static/image/Screenshot/screenshot4.png` |
|
||||
| `"static/image/Screenshot/运行截图5.png"` | `static/image/Screenshot/screenshot5.png` |
|
||||
| `"static/image/Screenshot/运行截图6.png"` | `static/image/Screenshot/screenshot6.png` |
|
||||
|
||||
## System Flows
|
||||
|
||||
Not applicable. No runtime flows are introduced or changed.
|
||||
|
||||
## Requirements Traceability
|
||||
|
||||
| Requirement | Summary | Components | Interfaces | Flows |
|
||||
|-------------|---------|------------|------------|-------|
|
||||
| 1.1 | English tagline in README.md | README.md L7–9 edit | n/a | n/a |
|
||||
| 1.2 | English tagline in README-EN.md | README-EN.md L7–9 edit | n/a | n/a |
|
||||
| 1.3 | English description in package.json | package.json L4 edit | n/a | n/a |
|
||||
| 1.4 | English description in backend/pyproject.toml | backend/pyproject.toml L4 edit | n/a | n/a |
|
||||
| 1.5 | README-ZH.md tagline preserved | README-ZH.md (no L7 edit) | n/a | n/a |
|
||||
| 2.1 | Rename screenshot{1..6} | `git mv` of six files | n/a | n/a |
|
||||
| 2.2 | Rename Wuhan video cover | `git mv` of one file | n/a | n/a |
|
||||
| 2.3 | Rename Red Chamber video cover | `git mv` of one file | n/a | n/a |
|
||||
| 2.4 | Rename QQ group image | `git mv` of one file | n/a | n/a |
|
||||
| 2.5 | Byte-preserving rename | `git mv` mechanism choice | n/a | n/a |
|
||||
| 2.6 | No duplicate copies | `git mv` (atomic rename) + `git status` verification | n/a | n/a |
|
||||
| 3.1 | README.md image references updated | README.md L52–61, 71, 79, 220 edits | n/a | n/a |
|
||||
| 3.2 | README-EN.md image references updated | README-EN.md L52–61, 71, 79, 220 edits | n/a | n/a |
|
||||
| 3.3 | README-ZH.md image references updated | README-ZH.md L52–61, 71, 79, 220 edits | n/a | n/a |
|
||||
| 3.4 | No broken images on render | Post-edit verification step | n/a | n/a |
|
||||
| 4.1 | No Chinese chars in README.md body (excl. switcher) | Verification scan | n/a | n/a |
|
||||
| 4.2 | No Chinese chars in README-EN.md body (excl. switcher) | Verification scan | n/a | n/a |
|
||||
| 4.3 | Reviewer-runnable scan returns zero matches | `rg` command in design + commit message | n/a | n/a |
|
||||
|
||||
## Components and Interfaces
|
||||
|
||||
This spec has no software components, services, or APIs. The "components" reduce to two textual operations (translate + rename) and one verification.
|
||||
|
||||
| Operation | Layer | Intent | Req Coverage | Key Dependencies | Contracts |
|
||||
|-----------|-------|--------|--------------|------------------|-----------|
|
||||
| Tagline translation | Docs / Metadata | Replace Chinese tagline with English in 4 files | 1.1, 1.2, 1.3, 1.4 | Edit tool | n/a |
|
||||
| Asset rename + reference update | Static assets / Docs | Rename 9 files; update `<img src>` in 3 READMEs | 2.1–2.6, 3.1–3.4 | `git mv`, Edit tool | n/a |
|
||||
| Verification scan | Acceptance gate | Confirm no residual Chinese in EN READMEs body | 4.1, 4.2, 4.3 | ripgrep | Commit message records the scan command and result |
|
||||
|
||||
### Verification Contract
|
||||
|
||||
The acceptance gate is a single ripgrep invocation, runnable by any reviewer:
|
||||
|
||||
```
|
||||
rg --pcre2 '[\x{4e00}-\x{9fff}]' README.md README-EN.md \
|
||||
| rg -v 'README-ZH\.md'
|
||||
```
|
||||
|
||||
**Preconditions**: All edits and renames committed.
|
||||
**Postconditions**: The pipeline returns zero lines (the only Chinese characters left are in `[中文文档](./README-ZH.md)`, which the second `rg` filters out by matching the `README-ZH.md` substring on the same line).
|
||||
**Invariants**: `README-ZH.md` body is not modified by this scan logic; the language-switcher line in the EN READMEs is the sole expected exemption.
|
||||
|
||||
## Data Models
|
||||
|
||||
Not applicable. No data structures are added or modified.
|
||||
|
||||
## Error Handling
|
||||
|
||||
### Error Strategy
|
||||
|
||||
Failure modes are limited to (a) a `git mv` failing because a path was mistyped (immediately visible at command-execution time) and (b) a `<img src>` left pointing at an old Chinese-named filename (caught by the verification scan).
|
||||
|
||||
### Error Categories and Responses
|
||||
|
||||
- **Mistyped rename target**: `git mv` fails with a clear error; re-run with the correct path.
|
||||
- **Missed reference update**: Verification scan returns the offending file/line; fix and re-scan.
|
||||
- **Accidental binary re-encoding**: `git diff --stat` of the asset file shows non-zero content delta; abandon the change and redo with `git mv`.
|
||||
|
||||
### Monitoring
|
||||
|
||||
Not applicable for a one-shot docs change. The PR diff plus the verification-scan output in the PR description serve as the audit trail.
|
||||
|
||||
## Testing Strategy
|
||||
|
||||
This is a documentation/asset change with no executable code. Testing is review-time:
|
||||
|
||||
- **Verification scan (mandatory)**: Run the ripgrep command in §"Verification Contract" against the working tree before commit; expect zero output. Re-run once more in CI / on the PR branch.
|
||||
- **Rendered-preview check (mandatory)**: Open `README.md`, `README-EN.md`, `README-ZH.md` in GitHub's rendered-markdown view (or a local Markdown previewer) on the feature branch and confirm:
|
||||
1. The tagline appears once, in English, on `README.md` and `README-EN.md`.
|
||||
2. All six screenshot tiles render.
|
||||
3. Both video-cover thumbnails render.
|
||||
4. The QQ group image renders.
|
||||
5. `README-ZH.md` still renders identically except for the new ASCII image URLs.
|
||||
- **`git diff --stat` check (mandatory)**: For each of the nine asset files, the stat must show `0 insertions(+), 0 deletions(-)` (pure rename). If any asset shows a content delta, the rename was performed incorrectly.
|
||||
|
||||
## Optional Sections
|
||||
|
||||
### Migration Strategy
|
||||
|
||||
No data migration. The "migration" is a single PR containing all renames + edits. There is no rollback step beyond a normal `git revert` of the merge commit if a broken image is reported post-merge.
|
||||
|
|
@ -0,0 +1,131 @@
|
|||
# Gap Analysis — i18n-readme-tagline-and-assets
|
||||
|
||||
## 1. Current State Investigation
|
||||
|
||||
### Scope ground truth
|
||||
|
||||
Ripgrep `[\x{4e00}-\x{9fff}]` over `README.md`, `README-EN.md`, `package.json`, and `backend/pyproject.toml` returns the following Chinese-character lines that fall under this feature's mandate:
|
||||
|
||||
| File | Line | Content (excerpt) | Category |
|
||||
| --- | ---: | --- | --- |
|
||||
| `README.md` | 7 | `简洁通用的群体智能引擎,预测万物` | Tagline |
|
||||
| `README.md` | 23 | `[English](./README.md) \| [中文文档](./README-ZH.md)` | Language switcher (allowed) |
|
||||
| `README.md` | 52–61 | `./static/image/Screenshot/运行截图{1..6}.png` (×6) | Asset path |
|
||||
| `README.md` | 71 | `./static/image/武大模拟演示封面.png` | Asset path |
|
||||
| `README.md` | 79 | `./static/image/红楼梦模拟推演封面.jpg` | Asset path |
|
||||
| `README.md` | 220 | `./static/image/QQ群.png` | Asset path (not listed in ticket scope, see Gap §3) |
|
||||
| `README-EN.md` | 7, 23, 52–61, 71, 79, 220 | identical structure to README.md | Same categories |
|
||||
| `package.json` | 4 | `"description": "MiroFish - 简洁通用的群体智能引擎,预测万物"` | Tagline |
|
||||
| `backend/pyproject.toml` | 4 | `description = "MiroFish - 简洁通用的群体智能引擎,预测万物"` | Tagline (twin string, not in original ticket) |
|
||||
|
||||
`README-ZH.md` carries Chinese body text by design (out of scope) but its asset paths must still be updated to point at the renamed ASCII files.
|
||||
|
||||
### Tracked image files (`git ls-files static/image/`)
|
||||
|
||||
```
|
||||
static/image/MiroFish_logo.jpeg
|
||||
static/image/MiroFish_logo_compressed.jpeg
|
||||
static/image/QQ群.png
|
||||
static/image/Screenshot/运行截图{1..6}.png
|
||||
static/image/shanda_logo.png
|
||||
static/image/武大模拟演示封面.png
|
||||
static/image/红楼梦模拟推演封面.jpg
|
||||
```
|
||||
|
||||
Nine files have Chinese names: six screenshots + `QQ群.png` + `武大模拟演示封面.png` + `红楼梦模拟推演封面.jpg`.
|
||||
|
||||
### Tagline structure observation
|
||||
|
||||
`README.md` lines 7–9 currently read:
|
||||
|
||||
```
|
||||
简洁通用的群体智能引擎,预测万物
|
||||
</br>
|
||||
<em>A Simple and Universal Swarm Intelligence Engine, Predicting Anything</em>
|
||||
```
|
||||
|
||||
The English equivalent already exists immediately below the Chinese as italic subtitle. Naive replacement would produce a duplicate (English in plain text + the same English in italic). The natural i18n collapse is to delete the Chinese line plus the `</br>` separator and let the existing `<em>` line stand alone. `README-EN.md` has the identical structure.
|
||||
|
||||
### Conventions to respect (from steering)
|
||||
|
||||
- `tech.md`: 4-space indent, no enforced linter, "match the surrounding file's style". Shell scripts must quote paths with spaces / non-ASCII characters per `.claude/rules/file-paths.md`.
|
||||
- `commits.md`: Conventional Commits, lowercase, imperative, max 72 chars, no `Co-Authored-By:` footer. Branch `<type>/<ticket>-<desc>` — ticket dictates `chore/i18n-12-readme-tagline-and-assets` (or similar).
|
||||
- `dev-guidelines.md`: kebab-case filenames for assets is consistent with the project's frontend file conventions.
|
||||
|
||||
### Existing precedent in the same i18n epic
|
||||
|
||||
Recently merged child issues of epic #11 (`#7`, `#9`, `#3`, `#5`, `#6`) have all been small, focused docs/tooling PRs. This is consistent with treating #12 as an S-effort docs cleanup.
|
||||
|
||||
## 2. Requirements Feasibility Analysis
|
||||
|
||||
### Per-requirement asset map
|
||||
|
||||
| Req | What it needs | Where it lives | Gap |
|
||||
| --- | --- | --- | --- |
|
||||
| R1 (tagline) | English tagline | `README.md:7-9`, `README-EN.md:7-9`, `package.json:4`, `backend/pyproject.toml:4` | **Editorial** — straight string edit. No code paths affected. |
|
||||
| R2 (asset rename) | Rename 8 files (6 screenshots + 2 video covers) | `static/image/Screenshot/`, `static/image/` | **`git mv`** — preserves history. No callers outside READMEs found by grep. |
|
||||
| R3 (README references updated) | Update `<img src>` paths | `README.md`, `README-EN.md`, `README-ZH.md` | **Editorial** — straight string edits. |
|
||||
| R4 (no residual Chinese in EN READMEs) | Verifiable scan | Both `README.md` and `README-EN.md` | **Constraint surfaces extra asset** — `QQ群.png` (line 220) is not in the explicit ticket asset list but its src path contains Chinese, which would fail R4's verification. See Gap §3. |
|
||||
|
||||
### Gaps tagged
|
||||
|
||||
- **Constraint:** `static/image/QQ群.png` is referenced by all three READMEs but is **not explicitly listed in the ticket's scope bullets**, while the ticket's own acceptance criterion ("No Chinese characters in `README.md`, `README-EN.md` body text") would still flag its src path. Either we (a) expand scope to rename it as well or (b) accept a deviation. Recommendation: expand scope — same shape of fix, trivial cost, satisfies the literal acceptance criterion.
|
||||
- **Constraint:** `backend/pyproject.toml:4` carries the identical Chinese tagline string as `package.json:4`. Not in original ticket bullets but is the obvious twin and would surprise a reviewer reading the diff. Already incorporated into requirements.md R1 acceptance criterion 4.
|
||||
- **Unknown / Research Needed (minor):** Confirm GitHub Pages, the live demo site, and any external link to the screenshots do not deep-link into Chinese-named asset URLs. Quick `gh` / web check during design phase will resolve.
|
||||
|
||||
## 3. Implementation Approach Options
|
||||
|
||||
This is a docs/asset-rename feature. There is no algorithm to design — the only real decision is whether the renames go through `git mv` (preserves history) or `git rm`/`git add` (loses history). And whether to expand scope to `QQ群.png`.
|
||||
|
||||
### Option A — Strict ticket scope (no QQ群.png rename)
|
||||
|
||||
- Rename only the eight assets explicitly listed: `运行截图{1..6}.png`, `武大模拟演示封面.png`, `红楼梦模拟推演封面.jpg`.
|
||||
- Translate taglines in `README.md`, `README-EN.md`, `package.json`, `backend/pyproject.toml`.
|
||||
- Skip `QQ群.png`.
|
||||
|
||||
**Trade-offs:**
|
||||
- ✅ Smallest possible diff; no scope creep.
|
||||
- ❌ Acceptance criterion R4 ("no Chinese characters in README body outside language switcher") fails because line 220 still contains `QQ群` in the src path.
|
||||
|
||||
### Option B — Expanded scope including QQ群.png (RECOMMENDED)
|
||||
|
||||
- Same as Option A, plus rename `static/image/QQ群.png` → `static/image/qq-group.png` (or similar) and update its three references.
|
||||
|
||||
**Trade-offs:**
|
||||
- ✅ Satisfies the ticket's own R4 acceptance criterion literally.
|
||||
- ✅ One additional `git mv` + 3 string edits — negligible cost.
|
||||
- ❌ Slightly broader than the ticket bullets (but explicitly justified by the ticket's own acceptance criteria).
|
||||
|
||||
### Option C — Hybrid (rename listed + leave QQ群 + edit alt-only)
|
||||
|
||||
Not viable: there is no way to leave the file in place and still satisfy R4 without renaming.
|
||||
|
||||
### Decision direction
|
||||
|
||||
Recommend Option B. Update requirements R2/R3 to include `QQ群.png` explicitly so the spec is internally consistent with R4.
|
||||
|
||||
## 4. Out-of-Scope for Gap Analysis
|
||||
|
||||
- Choice of exact ASCII filename slugs (decided in design phase).
|
||||
- Whether to re-encode any image (No — bytes-preserving rename only, per R2.4).
|
||||
|
||||
## 5. Implementation Complexity & Risk
|
||||
|
||||
- **Effort:** **S (≈ half-day).** All work is text edits + `git mv` of 9 files + 3 README string-substitution passes + 2 description-field edits. No code changes, no tests.
|
||||
- **Risk:** **Low.** Single failure mode is broken image links; mitigated by a simple grep + rendered-preview check before commit. No runtime, dependency, or pipeline impact. `git mv` preserves history.
|
||||
|
||||
## 6. Recommendations for Design Phase
|
||||
|
||||
- Adopt **Option B** (expanded scope including `QQ群.png`).
|
||||
- Use `git mv` for all renames so history follows.
|
||||
- Pick deterministic ASCII slugs; propose:
|
||||
- `Screenshot/screenshot{1..6}.png`
|
||||
- `wuhan-university-simulation-cover.png`
|
||||
- `dream-of-the-red-chamber-simulation-cover.jpg`
|
||||
- `qq-group.png`
|
||||
- Collapse the duplicated tagline lines in `README.md` / `README-EN.md`: delete the Chinese line + `</br>` separator and let the existing `<em>` English subtitle become the lone tagline (avoids a verbatim-duplicate line).
|
||||
- Verification step: re-run `rg '[\x{4e00}-\x{9fff}]' README.md README-EN.md package.json backend/pyproject.toml` after edits and confirm only the language-switcher line on each README returns a hit.
|
||||
|
||||
## Research items to carry forward
|
||||
|
||||
- (Light) confirm no off-repo deep-link into the renamed assets (live demo site, social cards). If a deep link is found, decide whether to leave a redirect / note in the PR.
|
||||
|
|
@ -0,0 +1,65 @@
|
|||
# Requirements Document
|
||||
|
||||
## Project Description (Input)
|
||||
Translate the Chinese tagline in README.md, README-EN.md, and package.json to English, and rename Chinese-named image asset files in static/image/Screenshot/ to ASCII filenames (Option A from the ticket), updating all references in README.md and README-ZH.md. Acceptance: no Chinese characters in README.md or README-EN.md body text (except the language switcher link to README-ZH.md); package.json description in English; all image links work. Source: GitHub issue #12 (.ticket/12.md).
|
||||
|
||||
## Introduction
|
||||
|
||||
This feature removes the remaining Chinese surface text from the English documentation entry points (`README.md`, `README-EN.md`) and from the npm package metadata (`package.json`), and replaces Chinese-named image asset filenames under `static/image/` with ASCII equivalents so that asset URLs are CDN- and tooling-friendly. References to those assets are updated in all three READMEs (`README.md`, `README-EN.md`, `README-ZH.md`) so that the Chinese-language entry point continues to render correctly. The Chinese-language README (`README-ZH.md`) keeps its Chinese body text by design.
|
||||
|
||||
## Boundary Context
|
||||
|
||||
- **In scope**:
|
||||
- English tagline replacing Chinese tagline in `README.md`, `README-EN.md`, and `package.json` `description`.
|
||||
- Renaming `static/image/Screenshot/运行截图{1..6}.png` to ASCII filenames.
|
||||
- Renaming `static/image/武大模拟演示封面.png` and `static/image/红楼梦模拟推演封面.jpg` to ASCII filenames.
|
||||
- Renaming `static/image/QQ群.png` to an ASCII filename (added per gap-analysis: required by R4 because the existing src path on README.md:220 / README-EN.md:220 contains Chinese characters and would fail the "no Chinese characters in body text" check).
|
||||
- Updating all `<img src="...">` references to those renamed files in `README.md`, `README-EN.md`, and `README-ZH.md`.
|
||||
- Updating `backend/pyproject.toml` `description` field, which carries an identical Chinese tagline string (adjacent twin of `package.json`).
|
||||
- **Out of scope**:
|
||||
- Translating the body of `README-ZH.md` (Chinese variant by design).
|
||||
- Translating the language switcher link label `[中文文档]` (allowed by acceptance criteria).
|
||||
- Touching `locales/zh.json` Chinese tagline value (legitimate Chinese locale content).
|
||||
- **Adjacent expectations**:
|
||||
- The ticket recommends Option A (rename to ASCII). This spec adopts Option A.
|
||||
- This work is a child of the i18n epic (#11) and follows the project's existing `i18n-*` spec naming.
|
||||
|
||||
## Requirements
|
||||
|
||||
### Requirement 1: English tagline in English-facing documentation
|
||||
**Objective:** As a non-Chinese-reading visitor landing on the GitHub repo or installing the npm package, I want the tagline in the English README files and the npm package metadata to be in English, so that I am not surprised by untranslated Chinese strings on the entry surface.
|
||||
|
||||
#### Acceptance Criteria
|
||||
1. The README.md file shall contain the English tagline `A Simple and Universal Swarm Intelligence Engine, Predicting Anything` in place of the Chinese tagline `简洁通用的群体智能引擎,预测万物` on the same line.
|
||||
2. The README-EN.md file shall contain the same English tagline replacement on the corresponding line.
|
||||
3. The package.json `description` field shall contain an English description (no Chinese characters).
|
||||
4. The backend/pyproject.toml `description` field shall contain the same English description used in package.json.
|
||||
5. The README-ZH.md file shall keep its Chinese tagline unchanged.
|
||||
|
||||
### Requirement 2: ASCII filenames for screenshot and video-cover assets
|
||||
**Objective:** As a developer cloning the repo or a CDN serving these assets, I want all image filenames under `static/image/` referenced from the READMEs to be ASCII, so that paths are URL-safe, copy-pasteable, and friendly to tools that mishandle non-ASCII filenames.
|
||||
|
||||
#### Acceptance Criteria
|
||||
1. The `static/image/Screenshot/运行截图{N}.png` files (for N from 1 to 6) shall be renamed to `static/image/Screenshot/screenshot{N}.png`.
|
||||
2. The `static/image/武大模拟演示封面.png` file shall be renamed to `static/image/wuhan-university-simulation-cover.png`.
|
||||
3. The `static/image/红楼梦模拟推演封面.jpg` file shall be renamed to `static/image/dream-of-the-red-chamber-simulation-cover.jpg`.
|
||||
4. The `static/image/QQ群.png` file shall be renamed to `static/image/qq-group.png`.
|
||||
5. The renamed asset files shall preserve the original byte content (rename only, no re-encoding).
|
||||
6. The static/image/ directory shall not contain duplicate copies of the renamed files (the original Chinese-named files are removed, not kept alongside).
|
||||
|
||||
### Requirement 3: All README references updated to the ASCII filenames
|
||||
**Objective:** As a reader of any README variant, I want the screenshot and video-cover images to render correctly, so that the documentation remains visually intact after the rename.
|
||||
|
||||
#### Acceptance Criteria
|
||||
1. The README.md file shall reference each renamed image at its new ASCII path; no `<img src="...">` in the file shall point to a Chinese-named file under `static/image/`.
|
||||
2. The README-EN.md file shall reference each renamed image at its new ASCII path; no `<img src="...">` in the file shall point to a Chinese-named file under `static/image/`.
|
||||
3. The README-ZH.md file shall reference each renamed image at its new ASCII path; no `<img src="...">` in the file shall point to a Chinese-named file under `static/image/`.
|
||||
4. When a reader views the rendered README on GitHub after the change, the system shall display every screenshot and video-cover image without a broken-image placeholder.
|
||||
|
||||
### Requirement 4: No residual Chinese in English README body text
|
||||
**Objective:** As a reviewer verifying acceptance, I want a single objective check that confirms `README.md` and `README-EN.md` body text contains no Chinese characters (apart from the explicit allowance for the language-switcher link), so that the acceptance criteria from the ticket are unambiguously satisfied.
|
||||
|
||||
#### Acceptance Criteria
|
||||
1. The README.md file shall contain no Chinese characters (Unicode CJK Unified Ideographs blocks U+4E00–U+9FFF and adjacent CJK punctuation) outside of the language-switcher link `[中文文档](./README-ZH.md)`.
|
||||
2. The README-EN.md file shall contain no Chinese characters outside of the same language-switcher link.
|
||||
3. If a reviewer runs a Chinese-character scan over `README.md` and `README-EN.md` excluding the language-switcher line, the scan shall report zero matches.
|
||||
|
|
@ -0,0 +1,107 @@
|
|||
# Research & Design Decisions — i18n-readme-tagline-and-assets
|
||||
|
||||
## Summary
|
||||
- **Feature**: `i18n-readme-tagline-and-assets`
|
||||
- **Discovery Scope**: Simple Addition (docs cleanup + asset rename, no runtime code paths)
|
||||
- **Key Findings**:
|
||||
- The duplicate Chinese-tagline / English-`<em>` structure on lines 7–9 of `README.md` and `README-EN.md` means a verbatim translation produces a duplicate; a structural collapse is preferable.
|
||||
- `git ls-files` shows nine Chinese-named assets under `static/image/`; only the eight visible in READMEs need renaming for this spec (the `MiroFish_logo` files and `shanda_logo.png` already use ASCII names).
|
||||
- `backend/pyproject.toml:4` is a twin of `package.json:4` (identical Chinese tagline string); leaving it untranslated would visibly contradict the spec's intent.
|
||||
|
||||
## Research Log
|
||||
|
||||
### Topic — Inventory of Chinese-named assets and references
|
||||
|
||||
- **Context**: Confirm the full set of files and references the spec must touch so no broken-image regression slips in.
|
||||
- **Sources Consulted**: `git ls-files static/image/`, `rg '[\x{4e00}-\x{9fff}]'` over `README.md`, `README-EN.md`, `README-ZH.md`, `package.json`, `backend/pyproject.toml`.
|
||||
- **Findings**:
|
||||
- Tracked Chinese-named files (9): `QQ群.png`, six `Screenshot/运行截图{N}.png`, `武大模拟演示封面.png`, `红楼梦模拟推演封面.jpg`.
|
||||
- Each Chinese-named asset is referenced exactly three times — once in each README. No code path or test references them.
|
||||
- `locales/zh.json:36` contains the tagline as a Chinese-locale value (legitimate, out of scope).
|
||||
- **Implications**: The rename is a closed set: 9 file moves + (3 README × N references) edits. No runtime impact.
|
||||
|
||||
### Topic — Tagline structure on lines 7–9
|
||||
|
||||
- **Context**: Decide the cleanest replacement for the Chinese tagline on the English-facing READMEs.
|
||||
- **Sources Consulted**: `README.md:7-9`, `README-EN.md:7-9`.
|
||||
- **Findings**: The current structure is `<chinese tagline>\n</br>\n<em>English equivalent</em>`. The English subtitle already exists. Naive replacement (substitute Chinese with English on line 7) produces `<english>\n</br>\n<em>English</em>` — visible duplicate.
|
||||
- **Implications**: Collapse to the single existing `<em>` line by deleting the Chinese tagline line and the `</br>` separator on both files.
|
||||
|
||||
### Topic — `git mv` vs. `rm`/`add` for renames
|
||||
|
||||
- **Context**: Choose a rename mechanism that preserves blame/history on the assets.
|
||||
- **Sources Consulted**: Project commit history shows `git mv` usage for prior renames (no formal rule, but consistent practice).
|
||||
- **Findings**: `git mv "old" "new"` records a rename in the index. Git's heuristic file-move detection also picks up `rm + add` of identical bytes, but `git mv` is unambiguous and preserves rename detection across thresholds.
|
||||
- **Implications**: Use `git mv` for all nine renames. Quote source paths (rule from `.claude/rules/file-paths.md`) since they contain non-ASCII characters.
|
||||
|
||||
### Topic — Off-repo deep links to renamed assets (light check)
|
||||
|
||||
- **Context**: The ticket's gap analysis flagged a research item: confirm no external pages deep-link the Chinese-named files.
|
||||
- **Sources Consulted**: `git grep` of repo (no off-repo references). The bilibili links in the READMEs point to videos, not to the cover images. The `mirofish-live-demo` site and `Trendshift` badge are independent assets hosted elsewhere.
|
||||
- **Findings**: No in-repo references outside the READMEs. Out-of-repo deep links are not enumerable from inside the repo; the cost of a broken external deep link is low (a missing image on someone else's page) and accepted. If a deep link surfaces post-merge, a same-day re-add of a redirect symlink resolves it.
|
||||
- **Implications**: Proceed with hard renames; no redirect/copy-on-rename needed.
|
||||
|
||||
## Architecture Pattern Evaluation
|
||||
|
||||
| Option | Description | Strengths | Risks / Limitations | Notes |
|
||||
|--------|-------------|-----------|---------------------|-------|
|
||||
| Strict ticket scope | Rename only the 8 explicitly listed assets; leave `QQ群.png` | Smallest diff | Fails the ticket's own R4 acceptance criterion | Rejected |
|
||||
| Expanded scope (selected) | Also rename `QQ群.png` and update `backend/pyproject.toml` | Internally consistent with R4; trivial cost | Slightly broader than ticket bullets | Selected |
|
||||
| Hybrid (allow exception in R4) | Rename the 8 listed, exempt `QQ群` in the verification scan | Preserves the ticket bullets exactly | Adds an explicit ad-hoc exception that future readers must decode | Rejected |
|
||||
|
||||
## Design Decisions
|
||||
|
||||
### Decision: Rename `static/image/QQ群.png` to ASCII despite not being in the ticket's bullet list
|
||||
|
||||
- **Context**: Acceptance criterion R4 ("no Chinese characters in `README.md` / `README-EN.md` body") would fail because `QQ群` appears in the `<img src>` path on line 220 of both files.
|
||||
- **Alternatives Considered**:
|
||||
1. Strict scope — leave `QQ群.png` and accept R4 fail.
|
||||
2. Expand scope — rename and update.
|
||||
3. Exempt `QQ群.png` in R4's verification scope with explicit allow-list.
|
||||
- **Selected Approach**: Expand scope. Rename `static/image/QQ群.png` → `static/image/qq-group.png`, update three references.
|
||||
- **Rationale**: Trivial cost; same fix shape as the listed assets; the ticket's own acceptance criterion is the source of truth.
|
||||
- **Trade-offs**: One extra file move. None material.
|
||||
- **Follow-up**: None.
|
||||
|
||||
### Decision: Translate `backend/pyproject.toml:4` description in the same PR
|
||||
|
||||
- **Context**: `backend/pyproject.toml` carries the identical Chinese tagline as `package.json`. Leaving it untranslated produces a half-finished diff.
|
||||
- **Alternatives Considered**:
|
||||
1. Leave it for a follow-up ticket.
|
||||
2. Translate it now alongside `package.json`.
|
||||
- **Selected Approach**: Translate now.
|
||||
- **Rationale**: Identical string, identical fix, same review surface. Splitting would create needless coordination.
|
||||
- **Trade-offs**: One additional one-line diff. None material.
|
||||
- **Follow-up**: None.
|
||||
|
||||
### Decision: Collapse duplicate tagline structure rather than substitute in place
|
||||
|
||||
- **Context**: Lines 7–9 of `README.md` and `README-EN.md` would yield a verbatim duplicate after a one-for-one Chinese-to-English substitution.
|
||||
- **Alternatives Considered**:
|
||||
1. Substitute Chinese line in place (produces duplicate).
|
||||
2. Delete Chinese line + `</br>` separator; let the existing `<em>` line stand alone.
|
||||
3. Delete the existing `<em>` line; keep a single non-italic English tagline on line 7.
|
||||
- **Selected Approach**: Option 2 — delete lines 7 and 8, keep line 9 (`<em>` English tagline).
|
||||
- **Rationale**: Preserves the existing visual treatment (italic subtitle below the Trendshift badge). Avoids style drift on a docs-only PR.
|
||||
- **Trade-offs**: Slightly different visual weight (italic only) vs. the prior bilingual stack (plain Chinese + italic English). Acceptable for an English-facing doc.
|
||||
- **Follow-up**: None.
|
||||
|
||||
### Decision: Use `git mv` for all renames
|
||||
|
||||
- **Context**: Need to preserve rename detection.
|
||||
- **Alternatives Considered**: `git mv` vs. shell `mv` + `git rm` / `git add`.
|
||||
- **Selected Approach**: `git mv "old" "new"` with quoted paths.
|
||||
- **Rationale**: Unambiguous record in the index; matches existing project practice.
|
||||
- **Trade-offs**: None.
|
||||
- **Follow-up**: None.
|
||||
|
||||
## Risks & Mitigations
|
||||
|
||||
- **Risk:** Broken images on rendered GitHub README after merge. **Mitigation:** Post-edit grep to confirm zero remaining Chinese-named asset references in any README; preview rendered markdown locally or on a branch before merge.
|
||||
- **Risk:** Off-repo deep links to old asset URLs (Trendshift cards, social previews). **Mitigation:** Accepted; cost is a single missing image on an external page.
|
||||
- **Risk:** Diff churn from accidentally re-encoding a binary on macOS or Windows checkout. **Mitigation:** Use `git mv` (no content transform); verify `git diff --stat` shows only renames for the asset files (no content delta).
|
||||
|
||||
## References
|
||||
- Ticket source: `.ticket/12.md` / GitHub issue #12.
|
||||
- Project rule on quoting paths: `.claude/rules/file-paths.md`.
|
||||
- Project commit conventions: `.claude/rules/commits.md` and `.kiro/steering/structure.md`.
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
"feature_name": "i18n-readme-tagline-and-assets",
|
||||
"created_at": "2026-05-07T19:24:24Z",
|
||||
"updated_at": "2026-05-07T19:32:00Z",
|
||||
"language": "en",
|
||||
"phase": "tasks-generated",
|
||||
"ticket": "12",
|
||||
"approvals": {
|
||||
"requirements": {
|
||||
"generated": true,
|
||||
"approved": true
|
||||
},
|
||||
"design": {
|
||||
"generated": true,
|
||||
"approved": true
|
||||
},
|
||||
"tasks": {
|
||||
"generated": true,
|
||||
"approved": false
|
||||
}
|
||||
},
|
||||
"ready_for_implementation": true
|
||||
}
|
||||
|
|
@ -0,0 +1,47 @@
|
|||
# Implementation Plan
|
||||
|
||||
- [x] 1. Translate Chinese taglines to English in the project's English-facing metadata
|
||||
- In `README.md`, delete the Chinese tagline line and the immediately following `</br>` line so the existing italic English subtitle on the next line stands as the lone tagline; verify the result still renders with one tagline visible above the Shanda badge
|
||||
- Apply the identical edit to `README-EN.md`
|
||||
- In `package.json`, set the `description` value to `MiroFish - A Simple and Universal Swarm Intelligence Engine, Predicting Anything`
|
||||
- In `backend/pyproject.toml`, set the `description` value to the same English string used in `package.json`
|
||||
- Leave `README-ZH.md` line 7 (the Chinese tagline) untouched
|
||||
- Observable completion: a ripgrep scan for `[\x{4e00}-\x{9fff}]` over `README.md`, `README-EN.md`, `package.json`, and `backend/pyproject.toml` returns hits **only** on the language-switcher line of the two READMEs
|
||||
- _Requirements: 1.1, 1.2, 1.3, 1.4, 1.5_
|
||||
|
||||
- [x] 2. (P) Rename Chinese-named static image assets to ASCII filenames using git mv
|
||||
- Move the six screenshot files `static/image/Screenshot/运行截图{1..6}.png` to `static/image/Screenshot/screenshot{1..6}.png`
|
||||
- Move `static/image/武大模拟演示封面.png` to `static/image/wuhan-university-simulation-cover.png`
|
||||
- Move `static/image/红楼梦模拟推演封面.jpg` to `static/image/dream-of-the-red-chamber-simulation-cover.jpg`
|
||||
- Move `static/image/QQ群.png` to `static/image/qq-group.png`
|
||||
- Quote source paths in shell invocations because they contain non-ASCII characters
|
||||
- Use `git mv` (not shell `mv` + `git add`) so rename detection is recorded directly in the index
|
||||
- Observable completion: `git status` reports nine `renamed:` entries with no other file modifications; `git diff --stat -M` shows zero content-line delta for each asset
|
||||
- _Requirements: 2.1, 2.2, 2.3, 2.4, 2.5, 2.6_
|
||||
- _Boundary: static/image/_
|
||||
|
||||
- [x] 3. Update README image references to point at the renamed ASCII asset paths
|
||||
- In `README.md`, rewrite the nine `<img src="...">` paths on lines 52–61, 71, 79, and 220 so each points at the corresponding ASCII filename from task 2
|
||||
- Apply the identical nine edits to `README-EN.md`
|
||||
- Apply the identical nine edits to `README-ZH.md` (asset path updates only — Chinese body text and Chinese alt attributes preserved)
|
||||
- Observable completion: a ripgrep search for `运行截图|武大模拟演示封面|红楼梦模拟推演封面|QQ群` in `README.md`, `README-EN.md`, and `README-ZH.md` returns zero matches
|
||||
- _Requirements: 3.1, 3.2, 3.3_
|
||||
- _Depends: 2_
|
||||
|
||||
- [x] 4. Verify acceptance gates before commit
|
||||
- [x] 4.1 Run the Chinese-character verification scan and confirm zero residual hits in the EN READMEs body
|
||||
- Execute `rg --pcre2 '[\x{4e00}-\x{9fff}]' README.md README-EN.md | rg -v 'README-ZH\.md'` from the repo root
|
||||
- Observable completion: the pipeline produces zero output lines, confirming the only Chinese characters left in the EN READMEs are inside the language-switcher link to `README-ZH.md`
|
||||
- _Requirements: 4.1, 4.2, 4.3_
|
||||
|
||||
- [x] 4.2 Confirm asset renames are byte-preserving and unambiguous
|
||||
- Run `git diff --stat -M` and verify each of the nine asset files appears as a pure rename (no `+` or `-` line counts)
|
||||
- Run `git status` and confirm there are no untracked Chinese-named files left behind in `static/image/` or `static/image/Screenshot/`
|
||||
- Observable completion: nine `renamed:` entries in `git status`; zero untracked Chinese-named asset files; zero content delta on the asset rows of `git diff --stat`
|
||||
- _Requirements: 2.5, 2.6, 3.4_
|
||||
|
||||
- [x] 4.3 Confirm rendered images by spot-checking the README in a Markdown previewer
|
||||
- Open `README.md`, `README-EN.md`, and `README-ZH.md` in a Markdown preview (GitHub preview on the feature branch or local previewer) and inspect the screenshot grid, the two video-cover thumbnails, and the QQ group image on each file
|
||||
- Observable completion: every `<img>` element renders an actual image (no broken-image placeholder) on all three READMEs
|
||||
- _Requirements: 3.4_
|
||||
- **Note**: This task ran in an autonomous environment where no Markdown previewer was available; instead, every `<img src>` path in all three READMEs was cross-checked against the working tree and all 33 references resolved to existing files (zero broken paths). A reviewer should still spot-check on the GitHub-rendered PR preview.
|
||||
20
README-EN.md
|
|
@ -4,8 +4,6 @@
|
|||
|
||||
<a href="https://trendshift.io/repositories/16144" target="_blank"><img src="https://trendshift.io/api/badge/repositories/16144" alt="666ghj%2FMiroFish | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a>
|
||||
|
||||
简洁通用的群体智能引擎,预测万物
|
||||
</br>
|
||||
<em>A Simple and Universal Swarm Intelligence Engine, Predicting Anything</em>
|
||||
|
||||
<a href="https://www.shanda.com/" target="_blank"><img src="./static/image/shanda_logo.png" alt="666ghj%2MiroFish | Shanda" height="40"/></a>
|
||||
|
|
@ -49,16 +47,16 @@ Welcome to visit our online demo environment and experience a prediction simulat
|
|||
<div align="center">
|
||||
<table>
|
||||
<tr>
|
||||
<td><img src="./static/image/Screenshot/运行截图1.png" alt="Screenshot 1" width="100%"/></td>
|
||||
<td><img src="./static/image/Screenshot/运行截图2.png" alt="Screenshot 2" width="100%"/></td>
|
||||
<td><img src="./static/image/Screenshot/screenshot1.png" alt="Screenshot 1" width="100%"/></td>
|
||||
<td><img src="./static/image/Screenshot/screenshot2.png" alt="Screenshot 2" width="100%"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="./static/image/Screenshot/运行截图3.png" alt="Screenshot 3" width="100%"/></td>
|
||||
<td><img src="./static/image/Screenshot/运行截图4.png" alt="Screenshot 4" width="100%"/></td>
|
||||
<td><img src="./static/image/Screenshot/screenshot3.png" alt="Screenshot 3" width="100%"/></td>
|
||||
<td><img src="./static/image/Screenshot/screenshot4.png" alt="Screenshot 4" width="100%"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="./static/image/Screenshot/运行截图5.png" alt="Screenshot 5" width="100%"/></td>
|
||||
<td><img src="./static/image/Screenshot/运行截图6.png" alt="Screenshot 6" width="100%"/></td>
|
||||
<td><img src="./static/image/Screenshot/screenshot5.png" alt="Screenshot 5" width="100%"/></td>
|
||||
<td><img src="./static/image/Screenshot/screenshot6.png" alt="Screenshot 6" width="100%"/></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
|
@ -68,7 +66,7 @@ Welcome to visit our online demo environment and experience a prediction simulat
|
|||
### 1. Wuhan University Public Opinion Simulation + MiroFish Project Introduction
|
||||
|
||||
<div align="center">
|
||||
<a href="https://www.bilibili.com/video/BV1VYBsBHEMY/" target="_blank"><img src="./static/image/武大模拟演示封面.png" alt="MiroFish Demo Video" width="75%"/></a>
|
||||
<a href="https://www.bilibili.com/video/BV1VYBsBHEMY/" target="_blank"><img src="./static/image/wuhan-university-simulation-cover.png" alt="MiroFish Demo Video" width="75%"/></a>
|
||||
|
||||
Click the image to watch the complete demo video for prediction using BettaFish-generated "Wuhan University Public Opinion Report"
|
||||
</div>
|
||||
|
|
@ -76,7 +74,7 @@ Click the image to watch the complete demo video for prediction using BettaFish-
|
|||
### 2. Dream of the Red Chamber Lost Ending Simulation
|
||||
|
||||
<div align="center">
|
||||
<a href="https://www.bilibili.com/video/BV1cPk3BBExq" target="_blank"><img src="./static/image/红楼梦模拟推演封面.jpg" alt="MiroFish Demo Video" width="75%"/></a>
|
||||
<a href="https://www.bilibili.com/video/BV1cPk3BBExq" target="_blank"><img src="./static/image/dream-of-the-red-chamber-simulation-cover.jpg" alt="MiroFish Demo Video" width="75%"/></a>
|
||||
|
||||
Click the image to watch MiroFish's deep prediction of the lost ending based on hundreds of thousands of words from the first 80 chapters of "Dream of the Red Chamber"
|
||||
</div>
|
||||
|
|
@ -217,7 +215,7 @@ npm run frontend # Start frontend only
|
|||
## 📬 Join the Conversation
|
||||
|
||||
<div align="center">
|
||||
<img src="./static/image/QQ群.png" alt="QQ Group" width="60%"/>
|
||||
<img src="./static/image/qq-group.png" alt="QQ Group" width="60%"/>
|
||||
</div>
|
||||
|
||||
|
||||
|
|
|
|||
18
README-ZH.md
|
|
@ -49,16 +49,16 @@ MiroFish 致力于打造映射现实的群体智能镜像,通过捕捉个体
|
|||
<div align="center">
|
||||
<table>
|
||||
<tr>
|
||||
<td><img src="./static/image/Screenshot/运行截图1.png" alt="截图1" width="100%"/></td>
|
||||
<td><img src="./static/image/Screenshot/运行截图2.png" alt="截图2" width="100%"/></td>
|
||||
<td><img src="./static/image/Screenshot/screenshot1.png" alt="截图1" width="100%"/></td>
|
||||
<td><img src="./static/image/Screenshot/screenshot2.png" alt="截图2" width="100%"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="./static/image/Screenshot/运行截图3.png" alt="截图3" width="100%"/></td>
|
||||
<td><img src="./static/image/Screenshot/运行截图4.png" alt="截图4" width="100%"/></td>
|
||||
<td><img src="./static/image/Screenshot/screenshot3.png" alt="截图3" width="100%"/></td>
|
||||
<td><img src="./static/image/Screenshot/screenshot4.png" alt="截图4" width="100%"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="./static/image/Screenshot/运行截图5.png" alt="截图5" width="100%"/></td>
|
||||
<td><img src="./static/image/Screenshot/运行截图6.png" alt="截图6" width="100%"/></td>
|
||||
<td><img src="./static/image/Screenshot/screenshot5.png" alt="截图5" width="100%"/></td>
|
||||
<td><img src="./static/image/Screenshot/screenshot6.png" alt="截图6" width="100%"/></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
|
@ -68,7 +68,7 @@ MiroFish 致力于打造映射现实的群体智能镜像,通过捕捉个体
|
|||
### 1. 武汉大学舆情推演预测 + MiroFish项目讲解
|
||||
|
||||
<div align="center">
|
||||
<a href="https://www.bilibili.com/video/BV1VYBsBHEMY/" target="_blank"><img src="./static/image/武大模拟演示封面.png" alt="MiroFish Demo Video" width="75%"/></a>
|
||||
<a href="https://www.bilibili.com/video/BV1VYBsBHEMY/" target="_blank"><img src="./static/image/wuhan-university-simulation-cover.png" alt="MiroFish Demo Video" width="75%"/></a>
|
||||
|
||||
点击图片查看使用微舆BettaFish生成的《武大舆情报告》进行预测的完整演示视频
|
||||
</div>
|
||||
|
|
@ -76,7 +76,7 @@ MiroFish 致力于打造映射现实的群体智能镜像,通过捕捉个体
|
|||
### 2. 《红楼梦》失传结局推演预测
|
||||
|
||||
<div align="center">
|
||||
<a href="https://www.bilibili.com/video/BV1cPk3BBExq" target="_blank"><img src="./static/image/红楼梦模拟推演封面.jpg" alt="MiroFish Demo Video" width="75%"/></a>
|
||||
<a href="https://www.bilibili.com/video/BV1cPk3BBExq" target="_blank"><img src="./static/image/dream-of-the-red-chamber-simulation-cover.jpg" alt="MiroFish Demo Video" width="75%"/></a>
|
||||
|
||||
点击图片查看基于《红楼梦》前80回数十万字,MiroFish深度预测失传结局
|
||||
</div>
|
||||
|
|
@ -217,7 +217,7 @@ npm run frontend # 仅启动前端
|
|||
## 📬 更多交流
|
||||
|
||||
<div align="center">
|
||||
<img src="./static/image/QQ群.png" alt="QQ交流群" width="60%"/>
|
||||
<img src="./static/image/qq-group.png" alt="QQ交流群" width="60%"/>
|
||||
</div>
|
||||
|
||||
|
||||
|
|
|
|||
20
README.md
|
|
@ -4,8 +4,6 @@
|
|||
|
||||
<a href="https://trendshift.io/repositories/16144" target="_blank"><img src="https://trendshift.io/api/badge/repositories/16144" alt="666ghj%2FMiroFish | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a>
|
||||
|
||||
简洁通用的群体智能引擎,预测万物
|
||||
</br>
|
||||
<em>A Simple and Universal Swarm Intelligence Engine, Predicting Anything</em>
|
||||
|
||||
<a href="https://www.shanda.com/" target="_blank"><img src="./static/image/shanda_logo.png" alt="666ghj%2MiroFish | Shanda" height="40"/></a>
|
||||
|
|
@ -49,16 +47,16 @@ Welcome to visit our online demo environment and experience a prediction simulat
|
|||
<div align="center">
|
||||
<table>
|
||||
<tr>
|
||||
<td><img src="./static/image/Screenshot/运行截图1.png" alt="Screenshot 1" width="100%"/></td>
|
||||
<td><img src="./static/image/Screenshot/运行截图2.png" alt="Screenshot 2" width="100%"/></td>
|
||||
<td><img src="./static/image/Screenshot/screenshot1.png" alt="Screenshot 1" width="100%"/></td>
|
||||
<td><img src="./static/image/Screenshot/screenshot2.png" alt="Screenshot 2" width="100%"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="./static/image/Screenshot/运行截图3.png" alt="Screenshot 3" width="100%"/></td>
|
||||
<td><img src="./static/image/Screenshot/运行截图4.png" alt="Screenshot 4" width="100%"/></td>
|
||||
<td><img src="./static/image/Screenshot/screenshot3.png" alt="Screenshot 3" width="100%"/></td>
|
||||
<td><img src="./static/image/Screenshot/screenshot4.png" alt="Screenshot 4" width="100%"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="./static/image/Screenshot/运行截图5.png" alt="Screenshot 5" width="100%"/></td>
|
||||
<td><img src="./static/image/Screenshot/运行截图6.png" alt="Screenshot 6" width="100%"/></td>
|
||||
<td><img src="./static/image/Screenshot/screenshot5.png" alt="Screenshot 5" width="100%"/></td>
|
||||
<td><img src="./static/image/Screenshot/screenshot6.png" alt="Screenshot 6" width="100%"/></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
|
@ -68,7 +66,7 @@ Welcome to visit our online demo environment and experience a prediction simulat
|
|||
### 1. Wuhan University Public Opinion Simulation + MiroFish Project Introduction
|
||||
|
||||
<div align="center">
|
||||
<a href="https://www.bilibili.com/video/BV1VYBsBHEMY/" target="_blank"><img src="./static/image/武大模拟演示封面.png" alt="MiroFish Demo Video" width="75%"/></a>
|
||||
<a href="https://www.bilibili.com/video/BV1VYBsBHEMY/" target="_blank"><img src="./static/image/wuhan-university-simulation-cover.png" alt="MiroFish Demo Video" width="75%"/></a>
|
||||
|
||||
Click the image to watch the complete demo video for prediction using BettaFish-generated "Wuhan University Public Opinion Report"
|
||||
</div>
|
||||
|
|
@ -76,7 +74,7 @@ Click the image to watch the complete demo video for prediction using BettaFish-
|
|||
### 2. Dream of the Red Chamber Lost Ending Simulation
|
||||
|
||||
<div align="center">
|
||||
<a href="https://www.bilibili.com/video/BV1cPk3BBExq" target="_blank"><img src="./static/image/红楼梦模拟推演封面.jpg" alt="MiroFish Demo Video" width="75%"/></a>
|
||||
<a href="https://www.bilibili.com/video/BV1cPk3BBExq" target="_blank"><img src="./static/image/dream-of-the-red-chamber-simulation-cover.jpg" alt="MiroFish Demo Video" width="75%"/></a>
|
||||
|
||||
Click the image to watch MiroFish's deep prediction of the lost ending based on hundreds of thousands of words from the first 80 chapters of "Dream of the Red Chamber"
|
||||
</div>
|
||||
|
|
@ -217,7 +215,7 @@ npm run frontend # Start frontend only
|
|||
## 📬 Join the Conversation
|
||||
|
||||
<div align="center">
|
||||
<img src="./static/image/QQ群.png" alt="QQ Group" width="60%"/>
|
||||
<img src="./static/image/qq-group.png" alt="QQ Group" width="60%"/>
|
||||
</div>
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
[project]
|
||||
name = "mirofish-backend"
|
||||
version = "0.1.0"
|
||||
description = "MiroFish - 简洁通用的群体智能引擎,预测万物"
|
||||
description = "MiroFish - A Simple and Universal Swarm Intelligence Engine, Predicting Anything"
|
||||
requires-python = ">=3.11"
|
||||
license = { text = "AGPL-3.0" }
|
||||
authors = [
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"name": "mirofish",
|
||||
"version": "0.1.0",
|
||||
"description": "MiroFish - 简洁通用的群体智能引擎,预测万物",
|
||||
"description": "MiroFish - A Simple and Universal Swarm Intelligence Engine, Predicting Anything",
|
||||
"scripts": {
|
||||
"setup": "npm install && cd frontend && npm install",
|
||||
"setup:backend": "cd backend && uv sync",
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 67 KiB After Width: | Height: | Size: 67 KiB |
|
Before Width: | Height: | Size: 246 KiB After Width: | Height: | Size: 246 KiB |
|
Before Width: | Height: | Size: 255 KiB After Width: | Height: | Size: 255 KiB |
|
Before Width: | Height: | Size: 77 KiB After Width: | Height: | Size: 77 KiB |
|
Before Width: | Height: | Size: 120 KiB After Width: | Height: | Size: 120 KiB |
|
Before Width: | Height: | Size: 450 KiB After Width: | Height: | Size: 450 KiB |
|
Before Width: | Height: | Size: 454 KiB After Width: | Height: | Size: 454 KiB |
|
Before Width: | Height: | Size: 118 KiB After Width: | Height: | Size: 118 KiB |
|
Before Width: | Height: | Size: 199 KiB After Width: | Height: | Size: 199 KiB |