Skip to content

fix: Modify tiny-robot official website#130

Open
xuanlid wants to merge 7 commits into
devfrom
lx/feat-tiny-robot
Open

fix: Modify tiny-robot official website#130
xuanlid wants to merge 7 commits into
devfrom
lx/feat-tiny-robot

Conversation

@xuanlid

@xuanlid xuanlid commented Jul 2, 2026

Copy link
Copy Markdown
Collaborator

pc:
robot-pc

移动端:
robot-移动端

Summary by CodeRabbit

Summary

  • New Features

    • Added new TinyRobot home sections: Dual Engine overview, Product capability matrix, Usage cases, and a CLI install prompt with one-click copy.
    • Introduced new card-based browsing for robot/component documentation.
    • Updated scene cases to a unified interactive experience with desktop selection and mobile carousel.
  • Improvements

    • Replaced the previous “intelligent experience” and service-scene UI with refreshed sections.
    • Enhanced hero animations/reveal behavior and updated the hero CTA to open documentation.
    • Improved responsive layouts and styling across desktop and mobile.

@coderabbitai

coderabbitai Bot commented Jul 2, 2026

Copy link
Copy Markdown

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 1c0c2eae-3e1f-4c0e-a38a-43cc2cbf2634

📥 Commits

Reviewing files that changed from the base of the PR and between c550c74 and 203fb28.

📒 Files selected for processing (1)
  • packages/home/src/views/tiny-robot-home/index.vue
🚧 Files skipped from review as they are similar to previous changes (1)
  • packages/home/src/views/tiny-robot-home/index.vue

Walkthrough

This PR replaces removed tiny-robot home sections with new sections, refactors existing sections into data-driven cards, updates the hero and technical content, and adds page-level reveal handling plus responsive layout changes.

Changes

Tiny-robot home page sections

Layer / File(s) Summary
New Cli section
packages/home/src/views/tiny-robot-home/components/Cli.vue, packages/home/package.json
Adds the CLI install-command section, copy-to-clipboard behavior, success toast, responsive styling, and the message dependency.
New DualEngine section
packages/home/src/views/tiny-robot-home/components/DualEngine.vue
Adds the dual-engine content section with icon cards and desktop/mobile layouts.
New ProductMatrix section
packages/home/src/views/tiny-robot-home/components/ProductMatrix.vue
Adds the product matrix grid with the special last-item layout and responsive stacking.
New UseUs section
packages/home/src/views/tiny-robot-home/components/UseUs.vue
Adds clickable external-link cards with responsive styling.
RobotComponent data-driven refactor
packages/home/src/views/tiny-robot-home/RobotComponent.vue, packages/home/src/views/tiny-robot-home/components/RobotComponent.vue
Replaces the static robot card layout with a v-for list, link navigation, and updated desktop/mobile card styling.
SceneCases two-panel refactor
packages/home/src/views/tiny-robot-home/SceneCases.vue, packages/home/src/views/tiny-robot-home/components/SceneCases.vue
Reworks the scene selector into a reactive two-panel layout with a mobile carousel and rewritten styling.
FirstScreen copy and asset updates
packages/home/src/views/tiny-robot-home/components/FirstScreen.vue
Updates hero text, assets, CTA behavior, and animation/gradient styling.
TechnicalCore content updates
packages/home/src/views/tiny-robot-home/components/TechnicalCore.vue
Updates content, icons, mobile description formatting, and spacing with fade-in classes.
Home page composition wiring
packages/home/src/views/tiny-robot-home/index.vue
Swaps in the new sections, adds scroll reveal behavior, and updates responsive max-width rules.

Estimated code review effort: 4 (Complex) | ~60 minutes

Poem

A rabbit hops through cards anew,
With copy toast and sections too.
Scenes now shift and heroes glow,
Soft fade-ins make the layout flow,
I nibble carrots, grin, and cheer—
Tiny Robot’s bright and clear! 🐇

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Title check ❓ Inconclusive The title is related to the TinyRobot website update, but it is too generic to convey the main change. Use a more specific title that names the key update, such as the new TinyRobot landing page sections and component layout.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch lx/feat-tiny-robot

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

🧹 Nitpick comments (2)
packages/home/src/views/tiny-robot-home/UseUs.vue (1)

20-25: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Unused TinyTag import.

TinyTag is imported but never referenced in the template.

🧹 Proposed fix
 <script setup>
-import { TinyTag } from '`@opentiny/vue`'
 import icon1 from '`@/assets/images/home/tiny-robot-home/use-us-icon1.png`'
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@packages/home/src/views/tiny-robot-home/UseUs.vue` around lines 20 - 25, The
UseUs.vue script has an unused TinyTag import that is never referenced in the
component template. Remove the TinyTag import from the <script setup> block,
keeping the remaining asset imports intact, so the component only imports
symbols actually used in the file.
packages/home/src/views/tiny-robot-home/FirstScreen.vue (1)

13-14: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Remove now-dead gotoChat code.

The "立即体验" button is commented out (line 13) and gotoChat (lines 54-56) is no longer referenced anywhere, leaving dead code.

♻️ Suggested cleanup
         <div class="first-screen-content-footer">
-          <!-- <tiny-button type="primary" round `@click`="gotoChat">立即体验</tiny-button> -->
           <tiny-button type="primary" round `@click`="gotoDocs">组件文档</tiny-button>
         </div>
-const gotoChat = () => {
-  window.open('https://chat.opentiny.design/')
-}
-
 const gotoDocs = () => {

Also applies to: 54-56

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@packages/home/src/views/tiny-robot-home/FirstScreen.vue` around lines 13 -
14, The commented-out “立即体验” button and the unused gotoChat method are dead code
in FirstScreen.vue, so remove both to keep the component clean. Delete the
commented template entry and remove the gotoChat function from the script block,
ensuring only the remaining gotoDocs flow is kept and no other references to
gotoChat remain.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@packages/home/src/views/tiny-robot-home/Cli.vue`:
- Around line 11-14: The “复制” control in Cli.vue is currently dead because
.copy-right only renders the icon/text and never triggers copying. Wire the
element to an existing click handler that uses useCopy() from
packages/home/src/tools/utils.js, and pass info.command so it copies the command
text to the clipboard and updates the copy/copy-success state. Reference the
Cli.vue component’s copy-right block and the useCopy helper to implement the
interaction without adding a new clipboard flow.

In `@packages/home/src/views/tiny-robot-home/FirstScreen.vue`:
- Line 125: The mobile banner background in FirstScreen.vue is pointing to the
wrong asset path and will fail to load. Update the mobile media query to use the
tiny-robot-home version of the banner asset, making sure the background-image
for the mobile state references the correct file under the tiny-robot-home
folder.

In `@packages/home/src/views/tiny-robot-home/RobotComponent.vue`:
- Line 12: The TinyTag usage in RobotComponent currently binds the label with
the value prop, but this component renders the visible text from text or default
slot content instead. Update the TinyTag instance in RobotComponent to pass
item.tag via the text prop or as slot content, using the TinyTag component as
the reference point so the label actually appears in the UI.

In `@packages/home/src/views/tiny-robot-home/UseUs.vue`:
- Around line 58-60: The external link handler in handleClickCase currently
opens URLs without tabnabbing protection. Update the window.open call used for
these third-party links to include the noopener and noreferrer features,
following the existing external-link convention used elsewhere in the codebase.
Keep the change localized to UseUs.vue and ensure all menu clicks that open
external destinations use the protected window.open signature.

---

Nitpick comments:
In `@packages/home/src/views/tiny-robot-home/FirstScreen.vue`:
- Around line 13-14: The commented-out “立即体验” button and the unused gotoChat
method are dead code in FirstScreen.vue, so remove both to keep the component
clean. Delete the commented template entry and remove the gotoChat function from
the script block, ensuring only the remaining gotoDocs flow is kept and no other
references to gotoChat remain.

In `@packages/home/src/views/tiny-robot-home/UseUs.vue`:
- Around line 20-25: The UseUs.vue script has an unused TinyTag import that is
never referenced in the component template. Remove the TinyTag import from the
<script setup> block, keeping the remaining asset imports intact, so the
component only imports symbols actually used in the file.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 1aad845b-6807-41b4-899e-bb968cb2af1f

📥 Commits

Reviewing files that changed from the base of the PR and between a78de9b and 650c4c1.

⛔ Files ignored due to path filters (59)
  • packages/home/src/assets/images/home/tiny-robot-home/cli-bg.svg is excluded by !**/*.svg
  • packages/home/src/assets/images/home/tiny-robot-home/cli-icon.svg is excluded by !**/*.svg
  • packages/home/src/assets/images/home/tiny-robot-home/component-bubble.svg is excluded by !**/*.svg
  • packages/home/src/assets/images/home/tiny-robot-home/component-history.svg is excluded by !**/*.svg
  • packages/home/src/assets/images/home/tiny-robot-home/component-mcp.svg is excluded by !**/*.svg
  • packages/home/src/assets/images/home/tiny-robot-home/component-popover.svg is excluded by !**/*.svg
  • packages/home/src/assets/images/home/tiny-robot-home/component-sender.svg is excluded by !**/*.svg
  • packages/home/src/assets/images/home/tiny-robot-home/component-welcome.svg is excluded by !**/*.svg
  • packages/home/src/assets/images/home/tiny-robot-home/copy.svg is excluded by !**/*.svg
  • packages/home/src/assets/images/home/tiny-robot-home/dual-engine-icon1.svg is excluded by !**/*.svg
  • packages/home/src/assets/images/home/tiny-robot-home/dual-engine-icon2.svg is excluded by !**/*.svg
  • packages/home/src/assets/images/home/tiny-robot-home/dual-engine-icon3.svg is excluded by !**/*.svg
  • packages/home/src/assets/images/home/tiny-robot-home/product-bg.svg is excluded by !**/*.svg
  • packages/home/src/assets/images/home/tiny-robot-home/product-chat.svg is excluded by !**/*.svg
  • packages/home/src/assets/images/home/tiny-robot-home/product-cli.svg is excluded by !**/*.svg
  • packages/home/src/assets/images/home/tiny-robot-home/product-component.svg is excluded by !**/*.svg
  • packages/home/src/assets/images/home/tiny-robot-home/product-kit.svg is excluded by !**/*.svg
  • packages/home/src/assets/images/home/tiny-robot-home/product-skill.svg is excluded by !**/*.svg
  • packages/home/src/assets/images/home/tiny-robot-home/scene-cases-icon1.svg is excluded by !**/*.svg
  • packages/home/src/assets/images/home/tiny-robot-home/scene-cases-icon2.svg is excluded by !**/*.svg
  • packages/home/src/assets/images/home/tiny-robot-home/scene-cases-icon3.svg is excluded by !**/*.svg
  • packages/home/src/assets/images/home/tiny-robot-home/sender.svg is excluded by !**/*.svg
  • packages/home/src/assets/images/home/tiny-robot-home/technical_core_icon1.svg is excluded by !**/*.svg
  • packages/home/src/assets/images/home/tiny-robot-home/technical_core_icon2.svg is excluded by !**/*.svg
  • packages/home/src/assets/images/home/tiny-robot-home/technical_core_icon3.svg is excluded by !**/*.svg
  • packages/home/src/assets/images/home/tiny-robot-home/technical_core_icon4.svg is excluded by !**/*.svg
  • packages/home/src/assets/images/home/tiny-robot-home/top.svg is excluded by !**/*.svg
  • packages/home/src/assets/images/home/tiny-robot-home/top_banner.svg is excluded by !**/*.svg
  • packages/home/src/assets/images/home/tiny-robot-home/top_mobile_banner.svg is excluded by !**/*.svg
  • packages/home/src/assets/images/home/tiny-robot-home/use-us-icon1.png is excluded by !**/*.png
  • packages/home/src/assets/images/home/tiny-robot-home/use-us-icon2.png is excluded by !**/*.png
  • packages/home/src/assets/images/home/tiny-robot-home/use-us-icon3.png is excluded by !**/*.png
  • packages/home/src/assets/images/home/tiny-robot-home/use-us-icon4.png is excluded by !**/*.png
  • packages/home/src/assets/images/home/tinyrobot_component1.svg is excluded by !**/*.svg
  • packages/home/src/assets/images/home/tinyrobot_component2.svg is excluded by !**/*.svg
  • packages/home/src/assets/images/home/tinyrobot_devops.png is excluded by !**/*.png
  • packages/home/src/assets/images/home/tinyrobot_experience.svg is excluded by !**/*.svg
  • packages/home/src/assets/images/home/tinyrobot_experience_icon1.svg is excluded by !**/*.svg
  • packages/home/src/assets/images/home/tinyrobot_experience_icon2.svg is excluded by !**/*.svg
  • packages/home/src/assets/images/home/tinyrobot_experience_icon3.svg is excluded by !**/*.svg
  • packages/home/src/assets/images/home/tinyrobot_office.png is excluded by !**/*.png
  • packages/home/src/assets/images/home/tinyrobot_operations.png is excluded by !**/*.png
  • packages/home/src/assets/images/home/tinyrobot_scene_cases_img1.svg is excluded by !**/*.svg
  • packages/home/src/assets/images/home/tinyrobot_scene_cases_img2.svg is excluded by !**/*.svg
  • packages/home/src/assets/images/home/tinyrobot_scene_cases_img3.svg is excluded by !**/*.svg
  • packages/home/src/assets/images/home/tinyrobot_scene_cases_img4.svg is excluded by !**/*.svg
  • packages/home/src/assets/images/home/tinyrobot_scene_cases_img5.svg is excluded by !**/*.svg
  • packages/home/src/assets/images/home/tinyrobot_scene_cases_img6.svg is excluded by !**/*.svg
  • packages/home/src/assets/images/home/tinyrobot_service_scene_bg.svg is excluded by !**/*.svg
  • packages/home/src/assets/images/home/tinyrobot_service_scene_icon1.svg is excluded by !**/*.svg
  • packages/home/src/assets/images/home/tinyrobot_service_scene_icon2.svg is excluded by !**/*.svg
  • packages/home/src/assets/images/home/tinyrobot_service_scene_icon3.svg is excluded by !**/*.svg
  • packages/home/src/assets/images/home/tinyrobot_service_scene_icon4.svg is excluded by !**/*.svg
  • packages/home/src/assets/images/home/tinyrobot_technical_core_icon1.svg is excluded by !**/*.svg
  • packages/home/src/assets/images/home/tinyrobot_technical_core_icon2.svg is excluded by !**/*.svg
  • packages/home/src/assets/images/home/tinyrobot_technical_core_icon3.svg is excluded by !**/*.svg
  • packages/home/src/assets/images/home/tinyrobot_technical_core_icon4.svg is excluded by !**/*.svg
  • packages/home/src/assets/images/home/tinyrobot_top_banner.svg is excluded by !**/*.svg
  • packages/home/src/assets/images/home/tinyrobot_workforce.png is excluded by !**/*.png
📒 Files selected for processing (16)
  • packages/home/src/assets/images/home/tiny-robot-home/dual-engine copy.webp
  • packages/home/src/assets/images/home/tiny-robot-home/dual-engine.webp
  • packages/home/src/assets/images/home/tiny-robot-home/scene-cases-img1.webp
  • packages/home/src/assets/images/home/tiny-robot-home/scene-cases-img2.webp
  • packages/home/src/assets/images/home/tiny-robot-home/scene-cases-img3.webp
  • packages/home/src/views/tiny-robot-home/Cli.vue
  • packages/home/src/views/tiny-robot-home/DualEngine.vue
  • packages/home/src/views/tiny-robot-home/FirstScreen.vue
  • packages/home/src/views/tiny-robot-home/IntelligentExperience.vue
  • packages/home/src/views/tiny-robot-home/ProductMatrix.vue
  • packages/home/src/views/tiny-robot-home/RobotComponent.vue
  • packages/home/src/views/tiny-robot-home/SceneCases.vue
  • packages/home/src/views/tiny-robot-home/ServiceScene.vue
  • packages/home/src/views/tiny-robot-home/TechnicalCore.vue
  • packages/home/src/views/tiny-robot-home/UseUs.vue
  • packages/home/src/views/tiny-robot-home/index.vue
💤 Files with no reviewable changes (2)
  • packages/home/src/views/tiny-robot-home/ServiceScene.vue
  • packages/home/src/views/tiny-robot-home/IntelligentExperience.vue

Comment thread packages/home/src/views/tiny-robot-home/Cli.vue Outdated
Comment thread packages/home/src/views/tiny-robot-home/components/FirstScreen.vue
Comment thread packages/home/src/views/tiny-robot-home/components/UseUs.vue

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
packages/home/src/views/tiny-robot-home/index.vue (1)

83-92: 🩺 Stability & Availability | 🔵 Trivial | ⚡ Quick win

Consider respecting prefers-reduced-motion.

The fade/translate animation runs unconditionally for all users. Users with motion sensitivity preferences aren't accounted for.

♿ Proposed fix
   :deep(.fade-in-up) {
     opacity: 0;
     transform: translateY(30px);
     transition: opacity 0.6s ease-out, transform 0.6s ease-out;
   }
+
+  `@media` (prefers-reduced-motion: reduce) {
+    :deep(.fade-in-up) {
+      opacity: 1;
+      transform: none;
+      transition: none;
+    }
+  }
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@packages/home/src/views/tiny-robot-home/index.vue` around lines 83 - 92, The
fade-in animation in the tiny-robot-home view runs for everyone, including users
who prefer reduced motion. Update the stylesheet for the .fade-in-up and
.fade-in-up.is-visible rules to respect prefers-reduced-motion by disabling or
simplifying the opacity/translate transition when that media query is active.
Keep the fix localized to the existing scoped styles in the index.vue component.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@packages/home/src/views/tiny-robot-home/index.vue`:
- Around line 27-38: The homepage fade-in behavior in the tiny-robot-home view
hides content by default and only reveals it through JavaScript, so a no-JS
fallback is needed. Update the `initFadeInUp`/`.fade-in-up` flow so content is
visible without script execution, ideally by making elements visible by default
and applying animation only after JS adds a state class, or by adding a CSS
fallback for the `fade-in-up`/`is-visible` classes. Keep the existing
`IntersectionObserver` path in `index.vue` but ensure section titles and content
remain readable if `initFadeInUp` never runs.

---

Nitpick comments:
In `@packages/home/src/views/tiny-robot-home/index.vue`:
- Around line 83-92: The fade-in animation in the tiny-robot-home view runs for
everyone, including users who prefer reduced motion. Update the stylesheet for
the .fade-in-up and .fade-in-up.is-visible rules to respect
prefers-reduced-motion by disabling or simplifying the opacity/translate
transition when that media query is active. Keep the fix localized to the
existing scoped styles in the index.vue component.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 9838ed8f-3501-4551-9184-42ca3651a326

📥 Commits

Reviewing files that changed from the base of the PR and between fc19472 and 1061cf9.

⛔ Files ignored due to path filters (5)
  • packages/home/src/assets/images/home/tiny-robot-home/product-chat.svg is excluded by !**/*.svg
  • packages/home/src/assets/images/home/tiny-robot-home/product-cli.svg is excluded by !**/*.svg
  • packages/home/src/assets/images/home/tiny-robot-home/product-component.svg is excluded by !**/*.svg
  • packages/home/src/assets/images/home/tiny-robot-home/product-kit.svg is excluded by !**/*.svg
  • packages/home/src/assets/images/home/tiny-robot-home/product-skill.svg is excluded by !**/*.svg
📒 Files selected for processing (9)
  • packages/home/src/views/tiny-robot-home/components/Cli.vue
  • packages/home/src/views/tiny-robot-home/components/DualEngine.vue
  • packages/home/src/views/tiny-robot-home/components/FirstScreen.vue
  • packages/home/src/views/tiny-robot-home/components/ProductMatrix.vue
  • packages/home/src/views/tiny-robot-home/components/RobotComponent.vue
  • packages/home/src/views/tiny-robot-home/components/SceneCases.vue
  • packages/home/src/views/tiny-robot-home/components/TechnicalCore.vue
  • packages/home/src/views/tiny-robot-home/components/UseUs.vue
  • packages/home/src/views/tiny-robot-home/index.vue
💤 Files with no reviewable changes (1)
  • packages/home/src/views/tiny-robot-home/components/Cli.vue

Comment thread packages/home/src/views/tiny-robot-home/index.vue

@gene9831 gene9831 left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AI部分评论直接给了修改建议,可以应用下,不要直接 resolved
比如 window.open(url),AI建议改成 window.open(..., '_target', 'noopener=yes,noreferrer=yes')。这可以应用,提高了安全性。
其他AI给出的评论也可以仔细看看

Comment thread packages/home/src/views/tiny-robot-home/components/Cli.vue
Comment thread packages/home/src/views/tiny-robot-home/index.vue Outdated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants