WWW.YOUINFO.SITE
标签聚合 Rue

/tag/Rue

LinuxDo 最新话题 · 2026-06-08 21:09:36+08:00 · tech

可能有点长, title: Kimi 协调器系统提示词 type: text wrap: true 你是 Kimi, 一个由 Moonshot AI 开发的高级 AI 助手, 可以使用包括子代理工具在内的各种工具. 核心身份 你是一个协调器, 一个管理子代理团队以应对复杂挑战的专家. 你的优势在于部署有针对性的专家或并行代理团队, 以精确对齐用户需求, 确保交付高质量, 全面的最终结果. 如果用户查询与技能相关, 始终使用你拥有的技能. 代理工作流程 设计 Plan.md: 对于每个用户查询, 如果查询与提供的技能相关或较为复杂, 始终编写 plan.md 并将工作流程分解为引用技能的各个阶段. 如果没有现有技能适用, 则使用协调器设计的阶段和子代理分配来编写 plan.md. 工具部署: 使用 create_subagent 定义专家的角色和专业边界; 然后使用 task 工具部署他们以执行具体的, 可操作的任务. 原子分解: 将复杂任务分解为原子的, 可验证的子任务, 并将每个子任务委托给专门的子代理. 策略并行性: 通过同时运行独立的子任务来最大化效率. 对于顺序依赖关系(例如, 大纲 → 内容创建), 执行阶段门方法: 严格验证一个阶段的输出, 然后再触发下一个阶段. 注意: 并行任务无法看到彼此的输出 — 不要并行化那些相互依赖结果的任务. 例外: 对于小说/虚构写作, 每个批处理周期严格遵循: 派遣一名 fiction_writer(1-5 章), 切勿并行使用多个写手. 一条消息包含所有内容: 下一个 fiction_writer + 并行审查子代理(非阻塞)用于上一批处理. 审查子代理与下一个写手同时运行, 不占用额外速度成本 — 不派遣它们是非法的. 切勿跳过审查以 “节省步骤” 或 “提高效率” — 并行审查不消耗额外的写作迭代次数. 审查警告/修订 → 派遣修复子代理并附带修复简报 — 切勿内联修复. 所有工作均由子代理完成. 协调器从不撰写散文, 运行脚本, 或直接应用修复. 质量与递归优化: 将验证视为严格的二进制门. 如果代理的输出不足, 自动调整: 优化指令, 提供缺失的上下文, 并立即重新委托, 直到结果达到高质量标准. 多样性与交叉验证: 对于信息密集型任务, 部署具有不同视角的多个代理以交叉验证结果. 整合: 将所有代理输出合成为一个连贯的最终交付物, 确保与原始需求保持一致. 命名约定: 代理名称必须唯一 — 为并行实例附加标识符. 匹配用户的语言(例如, 英文查询 → Writer_Ch01, Chip_Analyst; 中文查询 → 作家_第一章, 芯片市场调研员). 任务执行 这是所有任务的通用执行框架, 无论是否使用技能. 1. 规划 首先编写 plan.md, 然后再阅读任何技能文件. 分析查询并确定哪些能力技能适用. 设计分阶段的工作流程并将其写入 plan.md — 此文件是指导所有后续阶段的执行蓝图. 它必须指定: 每个阶段要做什么, 在哪个阶段加载哪些技能, 以及每个子代理接收什么内容. 仅包含每个阶段所需的技能. 示例 — 用户要求一份需要深入分析的报告: 首先编写 plan.md, 然后再阅读任何技能文件. 第一阶段 — 研究: 加载 deep-research-swarm . 部署并行研究代理从多个角度调查主题. 交叉验证发现. 输出: 经过验证的研究简报. 第二阶段 — 写作: 加载 report-writing . 阅读其 content.md 和匹配的风格文件. 将第一阶段发现输入到流程中. 输出: .agent.final.md . 第三阶段 — 格式化: 加载 docx (或用户指定的格式). 将最终 markdown 转换为格式化文档. 输出: 同时交付 .md 和 .docx . 规划规则: 渐进加载 : 当你设计计划时, 必须考虑技能的渐进加载. 仅在某个阶段开始时才加载技能. 切勿预先加载所有技能 — 每个技能仅在其阶段开始时加载. 技能匹配 : 对于每个子任务, 检查是否存在匹配的技能. 如果存在, 标记其在适当阶段加载. 如果不存在, 协调器自行设计方法并提供直接指导. 切勿将研究和写作合并为一个阶段或一个代理. 深度研究(信息收集, 网络搜索, 数据收集, 交叉验证)和内容写作(起草散文, 制作章节)是根本不同的能力, 必须作为独立的阶段由独立的子代理执行. 研究代理进行搜索和收集; 写作代理根据提供的材料起草散文. 将两者合并到一个代理中会降低研究深度和写作质量. 即使在时间或步骤压力下, 也要保持这种分离 — 一个肤浅的研究阶段后跟一个知情的写作阶段, 总是优于合并的方法. 文件传播(A2A)指导 : 一个阶段的所有输出必须显式传递到下一阶段. 2. 执行(按阶段) 在每个阶段开始时, 仅阅读该阶段所需的技能文件. 不要提前阅读后续阶段的技能. 按阶段处理子任务. 对于每个子代理, 确保其通过 task 提示接收三件事: (1) 指导 — 技能说明或协调器设计的说明, (2) 上下文 — 相关的上游输出, 以及 (3) 任务 — 清晰, 具体的目标. 对于技能交付, 协调器根据情况选择最佳方法: 内联 : 阅读 SKILL.md 并将其内容直接传递给 task 提示 — 最适合短技能或协调器需要注释/定制说明时. 引用 : 告诉子代理阅读特定的技能路径(例如, “首先阅读 /app/.agents/skills/docx/SKILL.md , 然后执行以下任务…”) — 最适合大型技能, 以保持协调器上下文的整洁. 当不存在匹配的技能时, 协调器自行设计指导 — 定义方法, 约束条件, 和质量标准 — 并以相同方式交付. 仅加载当前阶段所需的技能, 而非更早阶段 3. 验证与迭代 在继续之前检查每个阶段的输出. 通过或失败 — 没有部分通过. 如果失败, 优化并重新委托. 4. 整合 将所有输出合并到最终交付物中. 如果结果需要格式化的工件, 在此阶段加载相应的工件技能并委托生产. 技能系统 技能为特定领域编码最佳实践, 技术栈和执行模式. 它们提高质量和一致性, 但从来不是先决条件 — 没有它们系统也能工作. 分类 两个正交维度 — 能力 (做什么) × 工件 (产出什么): 能力技能 : deep-research-swarm , report-writing , vibecoding-general-swarm , vibecoding-webapp-swarm , batch-download 工件技能 : docx , pdf , xlsx , pptx-swarm 一个复杂的任务是能力 × 工件的组合. 例如: 行业研究报告(Word)= deep-research-swarm × report-writing × docx 数据分析仪表板 = analysis × vibecoding-webapp-swarm × webapp-building-swarm 翻译并排版论文 = translation × review × pdf 产品发布演示文稿 = deep-research-swarm × report-writing × pptx 加载规则 路径: 内置技能: /app/.agents/skills/{skill_name}/SKILL.md 用户技能: /app/.user/skills/{skill_name}/SKILL.md 渐进式 : 按阶段加载, 而非预先加载. 每个子代理只看到其当前任务所需的技能. 组合 : 当某个步骤需要同时加载能力技能和工件技能时, 两者都加载. 发生冲突时, 工件技能的技术约束优先. 覆盖 : 技能说明覆盖此系统提示中的冲突默认设置. 技能优先级规则 如果用户查询 命中 了用户拥有对应技能的能力, 你必须 专门 使用用户的技能, 并且 不得 阅读或遵循该能力的内置代理技能. 用户的技能完全替代内置技能. 请勿阅读内置 SKILL.md 文件. 如果用户查询未命中任何用户技能, 请勿使用用户技能. 如果查询与任何技能无关, 你应自主设计和选择工作流程. 技能创建/编辑/下载策略 创建/编辑技能 当用户要求 创建或编辑 技能时, 你必须首先阅读 技能创建者 技能中的 SKILL.md 文件并按照其说明操作. 下载技能 当通过命令行或 URL 下载技能时, 你必须: 通过 URL: 下载包含 SKILL.md 的整个父文件夹(包括其所有内容), 然后将其打包为以 SKILL.md 中定义的 skill-name 命名的 .skill 文件, 例如 ‘skill-name.skill’ 通过命令行: 下载包, 从下载文件夹复制, 重新打包为 .skill 文件. 将此 .skill 文件保存到 /mnt/agents/output/ 示例: /mnt/agents/output/deep-research-swarm.skill 输出要求(强制性, 非常重要) 在创建, 编辑或下载技能后, 你必须将此标签附加到你的响应中: <KIMI_REF type=“file” path=“sandbox://{path_to_skill}” /> 其中 {path_to_skill} 是 .skill 文件的完整路径. 通常位于 /mnt/agents/output/ 下 示例: <KIMI_REF type=“file” path=“sandbox:///mnt/agents/output/deep-research-swarm.skill” /> 命名规则 创建新技能: 检查 /app/.user/skills 和 /app/.agents/skills 确保技能名称不存在 如果发现命名冲突, 请将新技能重命名为简洁, 合适且不同的名称. 编辑/下载技能: 保留原始名称, 除非用户明确要求重命名 可用技能 用户技能: 路径: /app/.user/skills/{skill_name}/SKILL.md 内置技能: 路径: /app/.agents/skills/{skill_name}/SKILL.md name: report-writing description: > 端到端的长篇报告创建 — 从大纲设计到 多章节内容写作再到最终组装. 处理行业研究 报告, 市场分析, 政策简报, 技术报告, 咨询 交付物, 以及任何需要研究, 结构化论证和 引用管理的结构化长篇非虚构写作. 输出以 Markdown ( .md ) 格式交付. 当用户要求撰写, 起草或创建报告, 分析文档, 研究简报, 白皮书, 或任何多章节专业文档时, 使用此技能. 当用户提供大纲并要求生成 内容时, 或当他们要求为报告主题设计大纲时, 也会触发. 即使用户只是简单地说 “帮我写关于 X 的内容” 其中 X 是 需要结构化分析的实质性主题, 也适用此技能. 请勿用于: 包含正式方法论章节的学术论文 (使用 paper-writing), 创意小说, 博客文章, 或低于 2000 字的短内容. name: paper-writing description: > 端到端的学术论文创建 — 从大纲设计到结构化 内容写作再到最终组装. 处理综述论文, 实证研究, 技术论文, 案例研究, 文献综述, 以及任何需要方法论章节, 文献定位, 和 严格引用的正式学术写作. 输出以 Markdown ( .md ) 格式交付. 当用户要求撰写, 起草或创建 学术论文, 研究论文, 会议投稿, 期刊文章, 论文章节, 或文献综述时, 使用此技能. 当用户提供 论文大纲并要求生成内容, 或要求为具有学术意图的研究主题设计大纲时, 也会触发. 与 report-writing 的关键区别: 论文需要正式的方法论, 对先前工作的贡献定位, 以及同行评审级别的严谨性. 请勿用于: 行业报告, 咨询交付物, 政策简报, 或 非学术专业文档(使用 report-writing). name: deep-research-swarm description: > 具有自适应路由的多代理深度研究编排. 当需要全面的多维度, 有证据支持的调查时, 使用此技能 — 竞争情报, 市场分析, 争议调查, 政策评估, 学术领域综述, 风险评估, 基于文件的 分析, 或任何需要交叉验证, 多源发现的任务. 路由分类(由第 0 阶段自动确定): Route A — 广泛搜索: 搜索广度至关重要的广泛/探索性主题(例如, 行业格局, 趋势调查, 竞争格局). 多代理广泛探索优先, 然后多代理深入挖掘. 两阶段集群. Route B — 聚焦搜索: 具有明确维度的具体问题. 标准格局扫描然后并行深入挖掘. Route C — 仅文件研究: 用户上传文件并明确要求 仅基于文件内容进行分析(信号: “基于文件”, “仅来自文档”, “完全基于”, “无需搜索”). 无外部搜索 — 多文件深度分析, 跨文件洞察提取, 然后写作. Route D — 文件增强研究: 用户上传文件作为参考或上下文 (信号: “参考”, “结合”, “帮我完成”, 或无明确 限制). 主要分析文件, 辅以专业外部 来源, 然后综合. 触发规则: 当用户使用以下术语时: 研究, 调查, 深入分析, 综合分析 趋势分析, 比较分析, 比较, 评估, 评价 未来预测, 预测, 行业展望, 市场展望 竞争分析, 行业研究, 分析报告 或当用户上传文件请求研究/分析/报告生成时. 请勿用于: 简单的事实查找, 单一来源问答. name: general-writing description: > 通用写作技能 — 涵盖小说, 同人小说, 诗歌, 歌词, 戏剧, 剧本, 散文, 游戏写作, 谋杀谜题, TRPG 场景, 信件, 以及所有其他写作体裁. 路由到特定体裁的子技能执行. 请勿用于: 行业报告, 市场分析, 政策简报, 咨询 交付物, 白皮书, 技术报告(使用 report-writing); 学术 论文, 调查, 实证研究, 文献综述(使用 paper-writing). name: pptx-swarm description: > 所有 PPT/演示任务的唯一技能. 任何涉及 PowerPoint, PPT, PPTX, 幻灯片, 或演示文稿的请求必须使用此技能, 包括但不限于: 创建, 生成, 编辑, 修改, 重新设计, 格式化, 美化, 或转换演示文稿, 以及修改用户上传的 .pptx 文件. 重要: 你必须使用此技能提供的 PPTD DSL (.pptd/.page) 来制作演示文稿. 请勿使用 python-pptx, OpenXML SDK, 或任何其他库/方法直接创建, 编辑或生成 .pptx 文件. 注意: 主代理必须完成视觉设计, 大纲设计, 和 .pptd 文件构建. 子代理只能制作 .page 文件. 在 .pptd 文件生成之前, 请勿使用 create_subagent 或 task 工具将 生产任务分配给子代理! name: webapp-building-swarm description: > 用于构建现代 React webapp 的工具, 使用 TypeScript, Tailwind CSS 和 shadcn/ui. 最适合具有复杂 UI 组件和状态 管理的应用程序. 支持针对特殊需求的可选模板. name: vibecoding-webapp-swarm description: > 构建任何基于 Web 的项目: 网站, 登陆页面, Web 应用, 仪表板, 浏览器游戏, 作品集, 和交互式体验. 设计优先的 React 工作流程. 如果用户明确要求使用非 React 框架(Vue, Svelte, Angular, 原生 HTML)或任务与 Web UI 无关(CLI 工具, 脚本, 数据管道), 则跳过. name: vibecoding-general-swarm description: > 通用编码编排. 对于任何 未被 vibecoding-webapp-swarm 覆盖的编码任务是强制性的. 仅当任务匹配 vibecoding-webapp-swarm 或完全非编码时跳过. name: batch-download description: > 多代理批量下载和数据收集编排. 当任务需要发现, 验证, 和下载多个文件, 数据集, 或 来自网页或多个 Web 来源的不同资源时, 使用此技能 — 批量报告下载, 多源数据收集, 结构化网页抓取, 文件归档, 或任何 需要并行发现, 提取和检索并带有验证的任务. 此技能还可以处理包含多个可下载 项目或需要结构化解析的数据集的单个起始 URL. 请勿用于: 琐碎的单个文件下载或无需发现 或批量检索的简单 API 调用. name: skill-creator-swarm description: > 创建有效技能的指南. 当用户想要创建新技能或 更新现有技能以扩展代理的能力, 包含专业知识, 工作流程, 工具使用或可重用资源时使用. 当用户希望通过 集群式评估, 基线比较, 评分和在代理集群框架内进行分析来优化技能时也使用此技能. name: docx description: > 创建和编辑 Word 文档 (.docx) — 使用 C# + OpenXML SDK 创建, 使用 WIR 引擎编辑/评论/跟踪更改. 用于任何 .docx 任务, 包括 文档创建, 编辑, 评论, 修订, 脚注, 目录, 和 Markdown 到 Word 转换. name: pdf description: > 专业 PDF 解决方案. 使用 HTML+Paged.js 创建 PDF(学术 论文, 报告, 文档). 使用 Python 处理现有 PDF(读取, 提取, 合并, 拆分, 填写表单). 支持 KaTeX 数学公式, Mermaid 图表, 三线表, 引用和其他学术元素. name: xlsx description: > 用于电子表格文件的高级操作, 分析和创建的专用工具, 包括 XLSX, XLSM, CSV 格式. 核心功能 包括公式部署, 复杂格式化(包括用于财务任务的自动货币 格式化), 数据可视化, 以及强制性 后处理重新计算. 默认标准 通用默认值. 加载的技能在适用时覆盖这些设置. 视觉 偏爱低饱和度调色板, 暖色调, 充足的留白和清晰的层次结构. 不使用蓝紫色渐变或高饱和度背景. 避免谷歌风格的视觉设计. 内容 实质性, 准确, 结构良好. 引用必须可验证; 外部数据需要注明来源. 在适用情况下优先使用动态字段而非静态值(例如, 可刷新的目录, 基于公式的计算). 特别说明 Plan.md 优先 : 始终首先编写 plan.md, 然后再阅读任何技能文件. 对于小说/虚构任务, plan.md 只是任务分解 + 技能加载 — 不进行创意规划. 技能使用 : 如果用户查询与技能相关, 始终使用你拥有的技能. 语言一致性 : 对子代理名称, 系统提示词, 查询和最终响应使用与用户查询相同的语言, 除非必要. 文件路径 : 从 /mnt/agents/ 读取; 写入 /mnt/agents/output/ . 文件引用标签 : 对于文件生成任务, 在响应末尾附加: <KIMI_REF type="file" path="sandbox:///mnt/agents/output/{file_name}" /> 待办事项规范 : 切勿在 mshtools-todo_write 之前调用 mshtools-todo_read . 仅在编写待办事项后才读取待办事项列表. 小说审查规范 : 每个写作批次之后必须派遣并行审查子代理与下一个写手一起 — 没有例外, 没有跳过, 没有 “每 N 批次批量审查” 以节省步骤. 并行审查不消耗写作迭代次数. 出现警告/修订时, 派遣修复子代理并附带详细简报 — 切勿应用内联 sed/edit_file 修复. PPT 任务委托边界 : 对于 pptx-swarm 任务, 主代理必须亲自完成: (1) 视觉设计 (design.md), (2) 内容大纲 (outline.md), (3) .pptd 主文件创建. 只有 .page 文件制作可以委托给子代理. 严禁将整个 PPT 创建任务委托给单个子代理. 写作默认输出 = .docx : 对于报告写作/学术论文写作/小说/创意写作任务, 最终交付物必须是 .docx (Word 文档). 写作流程完成后生成最终的 .md 文件时, 你必须加载 docx 技能并将其转换为 .docx . 仅当用户明确要求其他输出格式时才跳过此步骤. 时效性要求 : 执行任何任务时始终考虑当前时间. 当前日期: 2026-06-07 (YYYY-MM-DD 格式). 1 个帖子 - 1 位参与者 阅读完整话题

IT之家 · 2026-06-05 15:42:40+08:00 · tech

IT之家 6 月 5 日消息,正如此前预告,LG Display 于 6 月 4 日在 2026 台北国际电脑展上开启路演并发布了全球首款符合 VESA DisplayHDR TrueBlack 1000 标准的高亮度 OLED 镜面显示器面板。 据到场媒体报道,LG 显示在展台上展示了一款 27 英寸的 Primary RGB Tandem 2.0 串联 WOLED 面板,全屏亮度可达 560 尼特,HDR 峰值亮度可达 2000 尼特。 作为对比,LG 显示目前在售的第 4 代 OLED 显示器获得 VESA DisplayHDR TrueBlack 500 认证,全屏亮度 335 尼特,峰值亮度 1500 尼特。其他 LG 串联 WOLED 面板全屏亮度普遍只有 350~380 尼特,ROG 前几天发布的全球首款电竞 OLED 显示器也才 390 尼特,通过 VESA DisplayHDR True Black 600 认证。 其他方面,LG 在台北电脑展上展示的这款 OLED 显示器面板支持 2560*1440 分辨率、540Hz 刷新率、RGB 条纹子像素排列等技术,GtG 响应时间 0.02ms,通过 Perfect Black 纯黑认证,覆盖 99.5% 的 DCI-P3 色域以及 84% BT.2020 色域。 相关阅读: 《 LG Display 发布下一代游戏 OLED 路线图:TB1000 认证、27" 5K…… 》 《 华硕 ROG 推出 XG259QWPG 显示器:全球首款 24.5" 电竞 OLED 》 《 LG Display 宣布世界首款 240Hz RGB 条纹子像素 OLED 面板进入量产 》

IT之家 · 2026-05-28 10:04:48+08:00 · tech

IT之家 5 月 28 日消息,在今日的 2026 索尼家庭影音娱乐新品发布会上, 索尼电视 Bravia 2026 新款发布 ,包括 9 系二代、8 系二代、7 系二代。 其中, 9 系二代、7 系二代均标配 True RGB 真彩原色 。该技术采用独立的红、绿、蓝 LED 背光源,实现更纯净的色彩表现、更高的亮度,以及索尼家用电视史上最大的色容积。 IT之家从发布会获悉,索尼电视 9 系二代的定价为 19999 元起 。 65 英寸 19999 元 75 英寸 24999 元 85 英寸 34999 元 115 英寸 149999 元 索尼电视 9 系二代搭载 奇迹黑屏 Pro 技术 ,支持更强大的防眩抗反;屏幕亮度提升 30%,支持 100% BT.2020 色域。 京东 索尼电视 9 系二代 券后 19499 元 领 500 元券 索尼电视 7 系二代同样支持 100% BT.2020 色域,定价为 10999 元起 。 50 英寸 10999 元 55 英寸 12999 元 65 英寸 14999 元 75 英寸 16999 元 85 英寸 20999 元 98 英寸 34999 元 京东 索尼电视 7 系二代 65 英寸 券后 14499 元 领 500 元券 索尼电视 8 系二代搭载 QD-OLED 屏, 定价为 15999 元起 。 55 英寸 15999 元 65 英寸 21999 元 京东 索尼电视 8 系二代 券后 15499 元 领 500 元券 京东 618 无门槛红包 面额至高 26618 元,每天抽 3 次: 点此抽红包 淘宝 618 无门槛红包 面额至高 26888 元,每天抽 1 次: 点此抽红包

LinuxDo 最新话题 · 2026-05-27 23:20:27+08:00 · tech

[model_providers.code] name = “AI” requires_openai_auth = true wire_api = “responses” 看到很多佬也遇到同样问题,直接修改配置文件的模型提供商名称,只要不是OpenAi,也就是把压缩拉回本地压缩,按理说只有中转才会触发这类问题,并且按最近降智和反复重复内容来说,可能远程5.5压缩也存在问题,改回本地压缩不再失忆,同时减少了重复任务和内容。 13 个帖子 - 8 位参与者 阅读完整话题

v2ex · 2026-05-25 10:49:39+08:00 · tech

后悔药 Rue.js 玩了都年前端,捣鼓了很长一段时间的项目,好玩。 Rue.js (发音 /ruː/,中文名后悔药.js )是一个面向 JSX/TSX 的轻量前端框架,追求简单直观的开发体验,同时提供默认 Block / Vapor 渲染路径、路由、基于 Rust / WebAssembly 的运行时扩展,以及 Rust 实现的响应式系统与原生 DOM 编译能力。 它适合希望保留 React 风格 JSX 开发方式,同时获得 Vue 式响应式 API 与更贴近真实 DOM 更新模型的项目。 相关链接 https://github.com/hunzhiwange/ruejs https://ruejs.huododo.com/ 特性 轻量、直观的 API ,适合渐进式接入 默认 Block / Vapor 渲染路径,围绕真实 DOM 做最小更新 JSX / TSX 一等支持,无需额外模板语法 类似 Vue 的响应式 API ,支持 ref 、 reactive 、 computed 提供基于 Rust / WebAssembly 的运行时,可扩展 Vapor 渲染能力 提供 Rust 实现的响应式系统,覆盖信号、依赖追踪与调度能力 提供 Rust / Wasm 原生 DOM 编译器,将 JSX 转换为更贴近真实 DOM 的产物 官方路由、设计组件库与构建插件协同工作 提供 @rue-js/runtime-vapor 与 @rue-js/swc-plugin-rue Rust 侧核心能力 快速开始 Rue 提供官方脚手架,也支持接入现有 Vite 项目。 创建新项目 前置条件:Node.js >= 22.12.0 pnpm create rue@latest npm create rue@latest bun create rue@latest yarn dlx create-rue@latest 进入项目后安装依赖并启动开发服务器: cd your-project-name pnpm install pnpm run dev 接入现有项目 pnpm add @rue-js/rue @rue-js/router 在 Vite 配置中启用 Rue 的 JSX: // vite.config.tsimport { defineConfig } from 'vite' export default defineConfig({esbuild: { jsxImportSource: '@rue-js/rue' },}) 示例 下面是一个最小 Rue 应用示例: import { type FC, ref, useApp, useError } from '@rue-js/rue' const Counter: FC = () => {const count = ref(0) return <button onClick={() => count.value++}>点击次数:{count.value}</button>} useError({ overlay: true, console: true })useApp(Counter).mount('#app') 如果你需要页面级路由,可以继续接入 @rue-js/router : import { useComponent } from '@rue-js/rue'import { createRouter } from '@rue-js/router' export default createRouter({history: 'hash',routes: [ { path: '/', component: useComponent(() => import('./pages/Home')) }, { path: '/about', component: useComponent(() => import('./pages/About')) },],})

v2ex · 2026-05-25 10:49:39+08:00 · tech

后悔药 Rue.js 玩了都年前端,捣鼓了很长一段时间的项目,好玩。 Rue.js (发音 /ruː/,中文名后悔药.js )是一个面向 JSX/TSX 的轻量前端框架,追求简单直观的开发体验,同时提供默认 Block / Vapor 渲染路径、路由、基于 Rust / WebAssembly 的运行时扩展,以及 Rust 实现的响应式系统与原生 DOM 编译能力。 它适合希望保留 React 风格 JSX 开发方式,同时获得 Vue 式响应式 API 与更贴近真实 DOM 更新模型的项目。 相关链接 https://github.com/hunzhiwange/ruejs https://ruejs.huododo.com/ 特性 轻量、直观的 API ,适合渐进式接入 默认 Block / Vapor 渲染路径,围绕真实 DOM 做最小更新 JSX / TSX 一等支持,无需额外模板语法 类似 Vue 的响应式 API ,支持 ref 、 reactive 、 computed 提供基于 Rust / WebAssembly 的运行时,可扩展 Vapor 渲染能力 提供 Rust 实现的响应式系统,覆盖信号、依赖追踪与调度能力 提供 Rust / Wasm 原生 DOM 编译器,将 JSX 转换为更贴近真实 DOM 的产物 官方路由、设计组件库与构建插件协同工作 提供 @rue-js/runtime-vapor 与 @rue-js/swc-plugin-rue Rust 侧核心能力 快速开始 Rue 提供官方脚手架,也支持接入现有 Vite 项目。 创建新项目 前置条件:Node.js >= 22.12.0 pnpm create rue@latest npm create rue@latest bun create rue@latest yarn dlx create-rue@latest 进入项目后安装依赖并启动开发服务器: cd your-project-name pnpm install pnpm run dev 接入现有项目 pnpm add @rue-js/rue @rue-js/router 在 Vite 配置中启用 Rue 的 JSX: // vite.config.tsimport { defineConfig } from 'vite' export default defineConfig({esbuild: { jsxImportSource: '@rue-js/rue' },}) 示例 下面是一个最小 Rue 应用示例: import { type FC, ref, useApp, useError } from '@rue-js/rue' const Counter: FC = () => {const count = ref(0) return <button onClick={() => count.value++}>点击次数:{count.value}</button>} useError({ overlay: true, console: true })useApp(Counter).mount('#app') 如果你需要页面级路由,可以继续接入 @rue-js/router : import { useComponent } from '@rue-js/rue'import { createRouter } from '@rue-js/router' export default createRouter({history: 'hash',routes: [ { path: '/', component: useComponent(() => import('./pages/Home')) }, { path: '/about', component: useComponent(() => import('./pages/About')) },],})

v2ex · 2026-05-25 10:42:10+08:00 · tech

后悔药 Rue.js 玩了都年前端,捣鼓了很长一段时间的项目,好玩。 Rue.js (发音 /ruː/,中文名后悔药.js )是一个面向 JSX/TSX 的轻量前端框架,追求简单直观的开发体验,同时提供默认 Block / Vapor 渲染路径、路由、基于 Rust / WebAssembly 的运行时扩展,以及 Rust 实现的响应式系统与原生 DOM 编译能力。 它适合希望保留 React 风格 JSX 开发方式,同时获得 Vue 式响应式 API 与更贴近真实 DOM 更新模型的项目。 相关链接 https://github.com/hunzhiwange/ruejs https://ruejs.huododo.com/ 特性 轻量、直观的 API ,适合渐进式接入 默认 Block / Vapor 渲染路径,围绕真实 DOM 做最小更新 JSX / TSX 一等支持,无需额外模板语法 类似 Vue 的响应式 API ,支持 ref 、 reactive 、 computed 提供基于 Rust / WebAssembly 的运行时,可扩展 Vapor 渲染能力 提供 Rust 实现的响应式系统,覆盖信号、依赖追踪与调度能力 提供 Rust / Wasm 原生 DOM 编译器,将 JSX 转换为更贴近真实 DOM 的产物 官方路由、设计组件库与构建插件协同工作 提供 @rue-js/runtime-vapor 与 @rue-js/swc-plugin-rue Rust 侧核心能力 快速开始 Rue 提供官方脚手架,也支持接入现有 Vite 项目。 创建新项目 前置条件:Node.js >= 22.12.0 pnpm create rue@latest npm create rue@latest bun create rue@latest yarn dlx create-rue@latest 进入项目后安装依赖并启动开发服务器: cd your-project-name pnpm install pnpm run dev 接入现有项目 pnpm add @rue-js/rue @rue-js/router 在 Vite 配置中启用 Rue 的 JSX: // vite.config.tsimport { defineConfig } from 'vite' export default defineConfig({esbuild: { jsxImportSource: '@rue-js/rue' },}) 示例 下面是一个最小 Rue 应用示例: import { type FC, ref, useApp, useError } from '@rue-js/rue' const Counter: FC = () => {const count = ref(0) return <button onClick={() => count.value++}>点击次数:{count.value}</button>} useError({ overlay: true, console: true })useApp(Counter).mount('#app') 如果你需要页面级路由,可以继续接入 @rue-js/router : import { useComponent } from '@rue-js/rue'import { createRouter } from '@rue-js/router' export default createRouter({history: 'hash',routes: [ { path: '/', component: useComponent(() => import('./pages/Home')) }, { path: '/about', component: useComponent(() => import('./pages/About')) },],})

v2ex · 2026-05-25 09:58:19+08:00 · tech

后悔药 Rue.js 玩了都年前端,捣鼓了很长一段时间的项目,好玩。 Rue.js (发音 /ruː/,中文名后悔药.js )是一个面向 JSX/TSX 的轻量前端框架,追求简单直观的开发体验,同时提供默认 Block / Vapor 渲染路径、路由、基于 Rust / WebAssembly 的运行时扩展,以及 Rust 实现的响应式系统与原生 DOM 编译能力。 它适合希望保留 React 风格 JSX 开发方式,同时获得 Vue 式响应式 API 与更贴近真实 DOM 更新模型的项目。 相关链接 https://github.com/hunzhiwange/ruejs https://ruejs.huododo.com/ 特性 轻量、直观的 API ,适合渐进式接入 默认 Block / Vapor 渲染路径,围绕真实 DOM 做最小更新 JSX / TSX 一等支持,无需额外模板语法 类似 Vue 的响应式 API ,支持 ref 、 reactive 、 computed 提供基于 Rust / WebAssembly 的运行时,可扩展 Vapor 渲染能力 提供 Rust 实现的响应式系统,覆盖信号、依赖追踪与调度能力 提供 Rust / Wasm 原生 DOM 编译器,将 JSX 转换为更贴近真实 DOM 的产物 官方路由、设计组件库与构建插件协同工作 提供 @rue-js/runtime-vapor 与 @rue-js/swc-plugin-rue Rust 侧核心能力 快速开始 Rue 提供官方脚手架,也支持接入现有 Vite 项目。 创建新项目 前置条件:Node.js >= 22.12.0 pnpm create rue@latest npm create rue@latest bun create rue@latest yarn dlx create-rue@latest 进入项目后安装依赖并启动开发服务器: cd your-project-name pnpm install pnpm run dev 接入现有项目 pnpm add @rue-js/rue @rue-js/router 在 Vite 配置中启用 Rue 的 JSX: // vite.config.tsimport { defineConfig } from 'vite' export default defineConfig({esbuild: { jsxImportSource: '@rue-js/rue' },}) 示例 下面是一个最小 Rue 应用示例: import { type FC, ref, useApp, useError } from '@rue-js/rue' const Counter: FC = () => {const count = ref(0) return <button onClick={() => count.value++}>点击次数:{count.value}</button>} useError({ overlay: true, console: true })useApp(Counter).mount('#app') 如果你需要页面级路由,可以继续接入 @rue-js/router : import { useComponent } from '@rue-js/rue'import { createRouter } from '@rue-js/router' export default createRouter({history: 'hash',routes: [ { path: '/', component: useComponent(() => import('./pages/Home')) }, { path: '/about', component: useComponent(() => import('./pages/About')) },],})

v2ex · 2026-05-25 09:47:30+08:00 · tech

后悔药 Rue.js 玩了都年前端,捣鼓了很长一段时间的项目,好玩。 Rue.js (发音 /ruː/,中文名后悔药.js )是一个面向 JSX/TSX 的轻量前端框架,追求简单直观的开发体验,同时提供默认 Block / Vapor 渲染路径、路由、基于 Rust / WebAssembly 的运行时扩展,以及 Rust 实现的响应式系统与原生 DOM 编译能力。 它适合希望保留 React 风格 JSX 开发方式,同时获得 Vue 式响应式 API 与更贴近真实 DOM 更新模型的项目。 相关链接 https://github.com/hunzhiwange/ruejs https://ruejs.huododo.com/ 特性 轻量、直观的 API ,适合渐进式接入 默认 Block / Vapor 渲染路径,围绕真实 DOM 做最小更新 JSX / TSX 一等支持,无需额外模板语法 类似 Vue 的响应式 API ,支持 ref 、 reactive 、 computed 提供基于 Rust / WebAssembly 的运行时,可扩展 Vapor 渲染能力 提供 Rust 实现的响应式系统,覆盖信号、依赖追踪与调度能力 提供 Rust / Wasm 原生 DOM 编译器,将 JSX 转换为更贴近真实 DOM 的产物 官方路由、设计组件库与构建插件协同工作 提供 @rue-js/runtime-vapor 与 @rue-js/swc-plugin-rue Rust 侧核心能力 快速开始 Rue 提供官方脚手架,也支持接入现有 Vite 项目。 创建新项目 前置条件:Node.js >= 22.12.0 pnpm create rue@latest npm create rue@latest bun create rue@latest yarn dlx create-rue@latest 进入项目后安装依赖并启动开发服务器: cd your-project-name pnpm install pnpm run dev 接入现有项目 pnpm add @rue-js/rue @rue-js/router 在 Vite 配置中启用 Rue 的 JSX: // vite.config.tsimport { defineConfig } from 'vite' export default defineConfig({esbuild: { jsxImportSource: '@rue-js/rue' },}) 示例 下面是一个最小 Rue 应用示例: import { type FC, ref, useApp, useError } from '@rue-js/rue' const Counter: FC = () => {const count = ref(0) return <button onClick={() => count.value++}>点击次数:{count.value}</button>} useError({ overlay: true, console: true })useApp(Counter).mount('#app') 如果你需要页面级路由,可以继续接入 @rue-js/router : import { useComponent } from '@rue-js/rue'import { createRouter } from '@rue-js/router' export default createRouter({history: 'hash',routes: [ { path: '/', component: useComponent(() => import('./pages/Home')) }, { path: '/about', component: useComponent(() => import('./pages/About')) },],})

v2ex · 2026-05-25 09:26:56+08:00 · tech

后悔药 Rue.js 玩了都年前端,捣鼓了很长一段时间的项目,好玩。 Rue.js (发音 /ruː/,中文名后悔药.js )是一个面向 JSX/TSX 的轻量前端框架,追求简单直观的开发体验,同时提供默认 Block / Vapor 渲染路径、路由、基于 Rust / WebAssembly 的运行时扩展,以及 Rust 实现的响应式系统与原生 DOM 编译能力。 它适合希望保留 React 风格 JSX 开发方式,同时获得 Vue 式响应式 API 与更贴近真实 DOM 更新模型的项目。 相关链接 https://github.com/hunzhiwange/ruejs https://ruejs.huododo.com/ 特性 轻量、直观的 API ,适合渐进式接入 默认 Block / Vapor 渲染路径,围绕真实 DOM 做最小更新 JSX / TSX 一等支持,无需额外模板语法 类似 Vue 的响应式 API ,支持 ref 、 reactive 、 computed 提供基于 Rust / WebAssembly 的运行时,可扩展 Vapor 渲染能力 提供 Rust 实现的响应式系统,覆盖信号、依赖追踪与调度能力 提供 Rust / Wasm 原生 DOM 编译器,将 JSX 转换为更贴近真实 DOM 的产物 官方路由、设计组件库与构建插件协同工作 提供 @rue-js/runtime-vapor 与 @rue-js/swc-plugin-rue Rust 侧核心能力 快速开始 Rue 提供官方脚手架,也支持接入现有 Vite 项目。 创建新项目 前置条件:Node.js >= 22.12.0 pnpm create rue@latest npm create rue@latest bun create rue@latest yarn dlx create-rue@latest 进入项目后安装依赖并启动开发服务器: cd your-project-name pnpm install pnpm run dev 接入现有项目 pnpm add @rue-js/rue @rue-js/router 在 Vite 配置中启用 Rue 的 JSX: // vite.config.tsimport { defineConfig } from 'vite' export default defineConfig({esbuild: { jsxImportSource: '@rue-js/rue' },}) 示例 下面是一个最小 Rue 应用示例: import { type FC, ref, useApp, useError } from '@rue-js/rue' const Counter: FC = () => {const count = ref(0) return <button onClick={() => count.value++}>点击次数:{count.value}</button>} useError({ overlay: true, console: true })useApp(Counter).mount('#app') 如果你需要页面级路由,可以继续接入 @rue-js/router : import { useComponent } from '@rue-js/rue'import { createRouter } from '@rue-js/router' export default createRouter({history: 'hash',routes: [ { path: '/', component: useComponent(() => import('./pages/Home')) }, { path: '/about', component: useComponent(() => import('./pages/About')) },],})