[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-74355":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":16,"forks30d":16,"starsTrendScore":16,"compositeScore":19,"rankGlobal":10,"rankLanguage":10,"license":20,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":23,"hasPages":21,"topics":24,"createdAt":10,"pushedAt":10,"updatedAt":25,"readmeContent":26,"aiSummary":27,"trendingCount":16,"starSnapshotCount":16,"syncStatus":28,"lastSyncTime":29,"discoverSource":30},74355,"openhanako","liliMozi\u002Fopenhanako","liliMozi","A personal AI agent with memory, personality, and autonomy.","",null,"JavaScript",4545,421,26,493,0,260,823,89.88,"Apache License 2.0",false,"main",true,[],"2026-06-10 04:05:42","\u003Cp align=\"center\">\n  \u003Cimg src=\".github\u002Fassets\u002Fbanner.jpg\" width=\"100%\" alt=\"OpenHanako Banner\">\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\".github\u002Fassets\u002FHanako-280.png\" width=\"80\" alt=\"Hanako\">\n\u003C\u002Fp>\n\n\u003Ch1 align=\"center\">OpenHanako\u003C\u002Fh1>\n\n\u003Cp align=\"center\">一个有记忆、有灵魂的私人 AI 助理\u003C\u002Fp>\n\n\u003Cp align=\"center\">\u003Ca href=\"README_EN.md\">English\u003C\u002Fa>\u003C\u002Fp>\n\n[![License](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-Apache%202.0-blue.svg)](LICENSE)\n[![Platform](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fplatform-macOS%20%7C%20Windows%20%7C%20Linux-lightgrey.svg)](https:\u002F\u002Fgithub.com\u002FliliMozi\u002Fopenhanako\u002Freleases)\n\n---\n\n## Hanako 是什么\n\nOpenHanako 是一个更加易用的 AI agent，有记忆，有性格，会主动行动，还能多 Agent 在你的电脑上一同工作。\n\n作为助手，Ta 是温柔的：不需要写复杂的配置，不需要理解晦涩的术语。Hanako 它不只面向 coder ，而是为每一个坐在电脑前工作的人设计的助手。\n作为工具，Ta 是强大的：记住你说过的每一件事，操作你的电脑，浏览网页，搜索信息，读写文件，执行代码，管理日程，还能自主学习新技能。\n\n我开这个项目的初衷是：弥合绝大多数人和 AI Agent 之间的缝隙，让强大的 Agent 能力不再只局限于命令行里。于是我做了比传统 Coding Agent 更多一些的优化：一方面是强化 Agent「像人」的属性，是你和他们沟通更自然；另一方面，因为我本职也是一介文员，所以我也针对日常办公场景做了很多工具性和流程性的优化，敬请探索。\n此外，Hanako 有比较完备的图形页面。\n\n如果你用过 claude code、codex、Manus 等 CLI 或是图形化的 Agent，你会在 Hanako 这里找到熟悉又新奇的感觉。\n\n## 功能特性\n\n**记忆** — 结合主流的记忆方案，自己又发挥了一下，做了个记忆系统，近期的事情记得非常牢固，但目前确实有待优化。\n\n**人格** — 不是千篇一律的\"AI 助手\"。通过人格模板和自定义人格文件塑造独特的性格，每个 Agent 都有自己的说话方式和行为逻辑，Agent 之间分离做得很好，备份方便，Agent 就是文件夹，后续还会添加备份功能。\n\n**工具** — 读写文件、执行一次性命令或持续终端会话、浏览网页、通过浏览器后端或 API 搜索互联网、截图、分段长截图、媒体预览、检查网页。能力覆盖日常办公的绝大多数场景。\n\n**SKILLS 支持** — 内置兼容庞大 SKILLS 社区生态，之外，我也做了一些主动的优化：有时候干活之前，Agent 会从 GitHub 安装社区技能，Agent 也可以自己编写并学会新技能，有比较不错的主动性。当然，默认情况给 Agent 做了比较严格的 SKILLS 审核，如果发现 SKILLS 装不上可以自行关闭。\n\n**角色卡与技能包** — Agent 可以导入 \u002F 导出为本地优先的角色卡 zip，按白名单携带人格、头像、可选记忆和 Skills。Skill Bundle 是独立的技能包基础设施，可以在技能管理页分组、拖拽、成组启用，并单独导出为 zip，方便迁移和分享。\n\n**多 Agent** — 创建多个 Agent，各自有独立的记忆、人格和定时任务。Agent 之间可以通过频道群聊协作，也可以互相委派任务。\n\n**书桌** — 每个 Agent 都有自己的书桌，可以放文件、写笺（类似便签，Agent 会主动读取并执行）。支持拖拽操作、文件预览和工作区文件树变更监听，是你和 Agent 之间的异步协作空间。\n\n**全屏媒体查看器** — 聊天里或书桌上的任意图片、SVG、视频，点开就是暗色遮罩的全屏预览：滚轮缩放、拖拽平移，`+` \u002F `−` \u002F `0` 键盘快捷，左右箭头在同会话或同目录的相邻媒体间切换。\n\n**定时任务与心跳** — Agent 可以设置定时任务（Cron），也会定期巡检书桌上的文件变化。你不在的时候，Ta 也能按计划自主工作。\n\n**安全沙盒** — 双层隔离：应用层 PathGuard 四级访问控制 + 操作系统级沙盒（macOS Seatbelt \u002F Linux Bubblewrap \u002F Windows AppContainer）。Agent 的权限在你的掌控之中。平时可只读访问系统普通文件，写入和删除限制在工作目录与受控数据目录；如果你想调整权限，可以在设置 → 安全页面修改沙盒级别；外部网络也可以配置系统代理、手动代理或直连。\n\n**插件系统** — 约定优先的可扩展插件架构。拖拽安装社区插件，插件可以贡献工具、技能、命令、Agent 模板、HTTP 路由、事件钩子、LLM Provider、页面、侧栏 Widget、配置 schema 和后台任务。路由可直接访问核心服务（PluginContext 注入），通过 Session Bus 与 Agent 对话、获取历史、管理 session。两级权限模型（restricted \u002F full-access）保障安全。\n\n**多平台接入** — 同一个 Agent 可以同时接入 Telegram、飞书、QQ、微信机器人，在任何平台和 Ta 对话，可以远程操作电脑；Bridge 消息会带平台上下文，通知也可以回发到当前外部平台。\n\n**国际化** — 界面支持中文、英文、日文、韩文、繁体中文 5 种语言。\n\n## 截图\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\".github\u002Fassets\u002Fscreenshot-main.jpg\" width=\"100%\" alt=\"Hanako 主界面\">\n\u003C\u002Fp>\n\n## 快速开始\n\n### 下载安装\n\n**macOS（Apple Silicon \u002F Intel）**：从 [Releases](https:\u002F\u002Fgithub.com\u002FliliMozi\u002Fopenhanako\u002Freleases) 下载最新 `.dmg`。\n\n应用已通过 Apple Developer ID 签名和公证，macOS 应该可以直接打开。\n\n**Windows**：从 [Releases](https:\u002F\u002Fgithub.com\u002FliliMozi\u002Fopenhanako\u002Freleases) 下载最新 `.exe` 安装包。\n\n> **Windows SmartScreen 提示：** 安装包暂未经过代码签名，首次运行时 Windows Defender SmartScreen 可能会拦截，点击**更多信息** → **仍要运行**即可，未签名版本的正常现象。\n\n**Linux**：从 [Releases](https:\u002F\u002Fgithub.com\u002FliliMozi\u002Fopenhanako\u002Freleases) 下载最新 `.AppImage` 或 `.deb`。\n\n### 首次运行\n\n首次启动时，引导向导会带你完成配置：选择语言、输入你的名字、连接模型提供商（API key + base URL），并选择三个模型：**对话模型**（主对话）、**小工具模型**（轻量任务）、**大工具模型**（记忆编译和深度分析）。设置页还可以单独选择**视觉模型**，让文本模型通过 Vision Bridge 处理图片附件。Hanako 支持 OpenAI 兼容、Anthropic 风格、OAuth Provider 和 Ollama 本地模型等多类接入。\n目前也添加了 OpenAI 的 OAuth 登录，鉴于 Anthropic 会有封号风险，所以暂时不提供。\n\n## 架构\n\n```\ncore\u002F           引擎编排层 + Manager（含 PluginManager）\nlib\u002F            核心库（记忆、工具、沙盒、Bridge 适配器）\nserver\u002F         Hono HTTP + WebSocket 服务（独立 Node.js 进程）\nhub\u002F            调度器、频道路由、事件总线\ndesktop\u002F        Electron 应用 + React 前端\nshared\u002F         跨层共享工具（config schema、error bus、模型引用等）\nplugins\u002F        内置系统插件（随应用打包）\nskills2set\u002F     内置技能定义\nscripts\u002F        构建工具（server 打包、启动器、签名）\ntests\u002F          Vitest 测试\n```\n\n引擎层协调多个 Manager（Agent、Session、Model、Preferences、Skill、Channel、BridgeSession、Plugin 等），通过统一的 facade 暴露。Hub 负责后台任务（心跳巡检、定时任务、频道路由、Agent 间通信、DM 路由），独立于当前聊天会话运行。\n\nSession 内的用户可见文件通过 `SessionFile` sidecar 统一登记，桌面端、Bridge 和未来移动端按各自能力消费同一份文件身份。Bridge 平台媒体发送规则见 `.docs\u002FBRIDGE-MEDIA-CAPABILITIES.md`，插件文件贡献规则见 `PLUGINS.md`。\n\n本机 staged 文件优先由各平台 adapter 直接上传：Telegram \u002F 飞书 \u002F 微信走各自上传接口，QQ 走官方 Bot 分片上传接口，再发送 `msg_type: 7` 富媒体消息。`preferences.bridge.mediaPublicBaseUrl` \u002F `HANA_BRIDGE_PUBLIC_BASE_URL` 只用于仍需公网 URL 的平台或远程 fallback；该 URL 作为 `\u002Fapi\u002Fbridge\u002Fmedia\u002F:token` 临时文件路由的 origin，文件本身仍由短期 token、下载次数和本地路径白名单保护。Hana 不会自动开启公网 tunnel，公网入口必须由用户显式提供。\n\nServer 以独立 Node.js 进程运行（由 Electron spawn 或独立启动），通过 Vite 打包，@vercel\u002Fnft 追踪依赖。与 Electron 渲染进程通过 WebSocket 通信。\n用户数据目录由 `HANA_HOME` 决定（生产默认 `~\u002F.hanako`，开发默认 `~\u002F.hanako-dev`）。Pi SDK 自己的数据隔离在 `${HANA_HOME}\u002F.pi\u002F` 下。\n\n## 技术栈\n\n| 层级 | 技术 |\n|------|------|\n| 桌面端 | Electron 38 |\n| 前端 | React 19 + Zustand 5 + CSS Modules |\n| 构建 | Vite 7 |\n| 服务端 | Hono + @hono\u002Fnode-server |\n| Agent 运行时 | [Pi SDK](https:\u002F\u002Fgithub.com\u002Fnicepkg\u002Fpi) |\n| 数据库 | better-sqlite3（WAL 模式） |\n| 测试 | Vitest |\n| 国际化 | 5 语言（zh \u002F en \u002F ja \u002F ko \u002F zh-TW） |\n\n## 平台支持\n\n| 平台 | 状态 |\n|------|------|\n| macOS (Apple Silicon) | 已支持（已签名公证） |\n| macOS (Intel) | 已支持 |\n| Windows | Beta |\n| Linux | 已支持（AppImage \u002F deb） |\n| 移动端 (PWA) | v0：同一 Hana server 的手机会话与工作台访问 |\n\n## 开发\n\n```bash\n# 安装依赖\nnpm install\n\n# Electron 启动（自动构建 renderer）\nnpm start\n\n# Vite HMR 开发（需先运行 npm run dev:renderer）\nnpm run start:vite\n\n# 运行测试\nnpm test\n\n# 类型检查\nnpm run typecheck\n```\n\n## 许可证\n\n[Apache License 2.0](LICENSE)\n\n## 链接\n\n- [官网](https:\u002F\u002Fopenhanako.com)\n- [提交 Issue](https:\u002F\u002Fgithub.com\u002FliliMozi\u002Fopenhanako\u002Fissues)\n- [安全页](https:\u002F\u002Fgithub.com\u002FliliMozi\u002Fopenhanako\u002Fsecurity)\n- [安全政策](SECURITY.md)\n- [插件开发指南](PLUGINS.md)\n- [贡献指南](CONTRIBUTING.md)\n","OpenHanako 是一个具有记忆、个性和自主性的私人AI助理。它能够记住对话内容，拥有独特的人格设定，并能主动执行任务如文件操作、网页浏览、信息搜索等。此外，支持多Agent协作以及丰富的技能扩展，通过图形界面提供直观的操作体验。该项目特别适合需要高效办公助手的个人用户，无论是程序员还是普通办公人员都能从中受益，尤其在处理日常重复性工作时可以显著提高效率。基于JavaScript开发，并采用Apache License 2.0开源协议，确保了软件的安全性和可访问性。",2,"2026-06-06 03:51:06","high_star"]