miantiao.me 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,14 @@
1
+ // <define:__TERMINAL_CODE_COLORS__>
2
+ var define_TERMINAL_CODE_COLORS_default = { "ayu-dark": { "var(--shiki-foreground)": "#c5cbd2", "var(--shiki-background)": "#141b22", "var(--shiki-token-keyword)": "#ff8f40", "var(--shiki-token-string)": "#aad94c", "var(--shiki-token-string-expression)": "#aad94c", "var(--shiki-token-function)": "#ffb454", "var(--shiki-token-constant)": "#d2a6ff", "var(--shiki-token-parameter)": "#e4a75c", "var(--shiki-token-comment)": "#929ba6", "var(--shiki-token-punctuation)": "#f29668", "var(--shiki-token-link)": "#66c6f1" }, "ayu-light": { "var(--shiki-foreground)": "#515a64", "var(--shiki-background)": "#f3f5f7", "var(--shiki-token-keyword)": "#a4551d", "var(--shiki-token-string)": "#547515", "var(--shiki-token-string-expression)": "#547515", "var(--shiki-token-function)": "#8c6411", "var(--shiki-token-constant)": "#8058a5", "var(--shiki-token-parameter)": "#9f5815", "var(--shiki-token-comment)": "#5f6b78", "var(--shiki-token-punctuation)": "#9a5941", "var(--shiki-token-link)": "#127399" }, "solarized-light": { "var(--shiki-foreground)": "#526970", "var(--shiki-background)": "#f5efdc", "var(--shiki-token-keyword)": "#596e10", "var(--shiki-token-string)": "#16736b", "var(--shiki-token-string-expression)": "#16736b", "var(--shiki-token-function)": "#1e6ba4", "var(--shiki-token-constant)": "#b13c78", "var(--shiki-token-parameter)": "#b34213", "var(--shiki-token-comment)": "#576a71", "var(--shiki-token-punctuation)": "#657b83", "var(--shiki-token-link)": "#1e6ba4" }, nord: { "var(--shiki-foreground)": "#d8dee9", "var(--shiki-background)": "#343b49", "var(--shiki-token-keyword)": "#99b3cd", "var(--shiki-token-string)": "#a3be8c", "var(--shiki-token-string-expression)": "#a3be8c", "var(--shiki-token-function)": "#88c0d0", "var(--shiki-token-constant)": "#c4a7bf", "var(--shiki-token-parameter)": "#dba391", "var(--shiki-token-comment)": "#a5b2c8", "var(--shiki-token-punctuation)": "#d8dee9", "var(--shiki-token-link)": "#88c0d0" }, dracula: { "var(--shiki-foreground)": "#e3e3e1", "var(--shiki-background)": "#222430", "var(--shiki-token-keyword)": "#ff79c6", "var(--shiki-token-string)": "#f1fa8c", "var(--shiki-token-string-expression)": "#f1fa8c", "var(--shiki-token-function)": "#50fa7b", "var(--shiki-token-constant)": "#bd93f9", "var(--shiki-token-parameter)": "#ffb86c", "var(--shiki-token-comment)": "#a3adce", "var(--shiki-token-punctuation)": "#f8f8f2", "var(--shiki-token-link)": "#bd93f9" }, gruvbox: { "var(--shiki-foreground)": "#d5c4a1", "var(--shiki-background)": "#242424", "var(--shiki-token-keyword)": "#fc6c5b", "var(--shiki-token-string)": "#b8bb26", "var(--shiki-token-string-expression)": "#b8bb26", "var(--shiki-token-function)": "#fabd2f", "var(--shiki-token-constant)": "#d3869b", "var(--shiki-token-parameter)": "#fe8019", "var(--shiki-token-comment)": "#bdae93", "var(--shiki-token-punctuation)": "#d5c4a1", "var(--shiki-token-link)": "#83a598" } };
3
+
4
+ // <define:__TERMINAL_HOME__>
5
+ var define_TERMINAL_HOME_default = { index: { schemaVersion: 1, revision: "bundled-dedac08627ea366e3cd7c145795957fa9c49e511524a4292efb777ed7082261f", site: { name: "\u9762\u6761\u5B9E\u9A8C\u5BA4", description: "\u6298\u817E\u4E9B\u4EC0\u4E48\u73A9\u610F", url: "https://miantiao.me", feedUrl: "https://feed.miantiao.me/", sponsorUrl: "https://sponsor.miantiao.me/", pageSize: 10, author: { name: "\u9762\u6761", roles: ["\u4E13\u6CE8\u4E8E\u524D\u7AEF\u5F00\u53D1\u7684 Web \u5F00\u53D1\u5DE5\u7A0B\u5E08", "\u8BA1\u7B97\u673A\u4E13\u4E1A\u6BD5\u4E1A\u7684\u4E1A\u4F59\u9009\u624B", "Self-hosting \u7231\u597D\u8005", "Homelab \u7406\u6027\u73A9\u5BB6"] }, nav: [{ title: "\u535A\u5BA2", href: "/blog/" }, { title: "\u9879\u76EE", href: "/projects/" }, { title: "\u6807\u7B7E", href: "/tags/" }, { title: "\u641C\u7D22", href: "/search/" }, { title: "\u5173\u4E8E", href: "/about/" }], socials: [{ title: "Twitter", href: "https://404.li/x" }, { title: "Mastodon", href: "https://404.li/mastodon" }, { title: "GitHub", href: "https://404.li/github" }, { title: "Telegram", href: "https://404.li/telegram" }, { title: "Instagram", href: "https://404.li/ig" }, { title: "Email", href: "mailto:root@miantiao.me" }], friends: [{ title: "Willin Wang", href: "https://willin.wang" }, { title: "\u4E14\u542C\u4E66\u541F", href: "https://yufan.me" }, { title: "liruifengv", href: "https://liruifengv.com" }, { title: "Indie Fox", href: "https://indiefox.me" }, { title: "\u738B\u5C0F\u55E8\u7684\u4E0D\u8001\u6B4C", href: "https://sogo.la" }, { title: "I'm Kai", href: "https://kaiyi.cool" }, { title: "CaptainOfPhB", href: "https://captainofphb.me" }, { title: "Corey Chiu", href: "https://coreychiu.com" }, { title: ".\u{1D643}\u{1D656}\u{1D663}", href: "https://www.vvhan.com" }] }, ai: { baseUrl: "https://public.miantiao.me", model: "public" }, pages: { home: { path: "/", title: "\u9762\u6761\u5B9E\u9A8C\u5BA4", documentUrl: "/api/terminal/v1/pages/home.json" }, about: { path: "/about/", title: "\u5173\u4E8E", documentUrl: "/api/terminal/v1/pages/about.json" } }, posts: [], projects: [{ id: "sink", title: "Sink", description: "\u26A1 A Simple / Speedy / Secure Link Shortener with Analytics, 100% run on Cloudflare.", url: "https://Sink.Cool", repo: "Sink", stars: 6869 }, { id: "hacker-podcast", title: "hacker-podcast", description: "\u4E00\u4E2A\u57FA\u4E8E AI \u7684 Hacker News \u4E2D\u6587\u64AD\u5BA2\u9879\u76EE\uFF0C\u6BCF\u5929\u81EA\u52A8\u6293\u53D6 Hacker News \u70ED\u95E8\u6587\u7AE0\uFF0C\u901A\u8FC7 AI \u751F\u6210\u4E2D\u6587\u603B\u7ED3\u5E76\u8F6C\u6362\u4E3A\u64AD\u5BA2\u5185\u5BB9\u3002", url: "https://hacker-podcast.agi.li", repo: "hacker-podcast", stars: 2557 }, { id: "broadcast-channel", title: "BroadcastChannel", description: "Turn your Telegram Channel into a MicroBlog.", url: "https://memo.miantiao.me", repo: "BroadcastChannel", stars: 2053 }, { id: "ssh-ai-chat", title: "ssh-ai-chat", description: "Chat with AI over SSH.", url: "https://chat.agi.li", repo: "ssh-ai-chat", stars: 829 }, { id: "bm-md", title: "bm.md", description: "\u66F4\u597D\u7528\u7684 Markdown \u6392\u7248\u52A9\u624B\uFF5C\u4E00\u952E\u9002\u914D\u5FAE\u4FE1\u516C\u4F17\u53F7\u3001\u7F51\u9875\u4E0E\u56FE\u7247\u3002", url: "https://bm.md", repo: "bm.md", stars: 592 }, { id: "cloud-code", title: "cloud-code", description: "Cloud Code (Cloudflare + OpenCode), running OpenCode on Cloudflare to build a dedicated cloud Agent for you.", url: "https://github.com/miantiao-me/cloud-code", repo: "cloud-code", stars: 550 }, { id: "aigc-weekly", title: "aigc-weekly", description: "Agili \u7684 AIGC \u5468\u520A - \u4E00\u4E2A\u7531 Agentic AI Agent \u9A71\u52A8\u7684 AIGC\uFF08\u4EBA\u5DE5\u667A\u80FD\u751F\u6210\u5185\u5BB9\uFF09\u7CBE\u9009\u5468\u520A\u3002", url: "https://aigc-weekly.agi.li", repo: "aigc-weekly", stars: 544 }], tags: [], searchIndexUrl: "/api/search-index.json" }, document: { schemaVersion: 1, revision: "bundled-dedac08627ea366e3cd7c145795957fa9c49e511524a4292efb777ed7082261f", path: "/", title: "\u9762\u6761\u5B9E\u9A8C\u5BA4", markdown: "# \u9762\u6761\u5B9E\u9A8C\u5BA4 miantiao.me\n\n\u6298\u817E\u4E9B\u4EC0\u4E48\u73A9\u610F\u3002\u7AD9\u5185\u5185\u5BB9\u5747\u7531 AI \u751F\u6210\uFF0C\u8F93\u5165 /help \u67E5\u770B\u547D\u4EE4\u3002\n\n- [\u6D4F\u89C8\u5168\u90E8\u6587\u7AE0 /blog](https://miantiao.me/blog/)\n- [\u6298\u817E\u7684\u9879\u76EE /projects](https://miantiao.me/projects/)\n- [\u6309\u6807\u7B7E\u6D4F\u89C8 /tags](https://miantiao.me/tags/)\n- [\u641C\u7D22\u6587\u7AE0 /search](https://miantiao.me/search/)\n- [\u5173\u4E8E\u672C\u7AD9 /about](https://miantiao.me/about/)\n\n\u4F60\u597D\uFF0C\u4F60\u662F\u8C01\uFF1F\n\n## \u6211\u662F\u9762\u6761\n\n- \u4E13\u6CE8\u4E8E\u524D\u7AEF\u5F00\u53D1\u7684 Web \u5F00\u53D1\u5DE5\u7A0B\u5E08\n- \u8BA1\u7B97\u673A\u4E13\u4E1A\u6BD5\u4E1A\u7684\u4E1A\u4F59\u9009\u624B\n- Self-hosting \u7231\u597D\u8005\n- Homelab \u7406\u6027\u73A9\u5BB6\n\n[Twitter](https://404.li/x) \xB7 [Mastodon](https://404.li/mastodon) \xB7 [GitHub](https://404.li/github) \xB7 [Telegram](https://404.li/telegram) \xB7 [Instagram](https://404.li/ig) \xB7 [Email](mailto:root@miantiao.me)\n\n\u6700\u8FD1\u5728\u6298\u817E\u4EC0\u4E48\u9879\u76EE\uFF1F\n\n\u25C6 **List** projects/ (\u6309 Star \u6392\u5E8F\uFF0C6 of 7)\n\n## \u9879\u76EE\n\n\u5DE5\u4F5C\u4E4B\u5916\u6298\u817E\u7684\u4E00\u4E9B\u9879\u76EE\uFF0C\u65F6\u4E0D\u65F6\u4E0A\u65B0\uFF0C\u8BB0\u5F97\u591A\u56DE\u6765\u770B\u770B\u3002\n\n- ### [Sink](https://sink.cool/)\n\n [\u2605 6.9k](https://github.com/miantiao-me/Sink)\n\n \u26A1 A Simple / Speedy / Secure Link Shortener with Analytics, 100% run on Cloudflare.\n\n- ### [hacker-podcast](https://hacker-podcast.agi.li/)\n\n [\u2605 2.6k](https://github.com/miantiao-me/hacker-podcast)\n\n \u4E00\u4E2A\u57FA\u4E8E AI \u7684 Hacker News \u4E2D\u6587\u64AD\u5BA2\u9879\u76EE\uFF0C\u6BCF\u5929\u81EA\u52A8\u6293\u53D6 Hacker News \u70ED\u95E8\u6587\u7AE0\uFF0C\u901A\u8FC7 AI \u751F\u6210\u4E2D\u6587\u603B\u7ED3\u5E76\u8F6C\u6362\u4E3A\u64AD\u5BA2\u5185\u5BB9\u3002\n\n- ### [BroadcastChannel](https://memo.miantiao.me/)\n\n [\u2605 2.1k](https://github.com/miantiao-me/BroadcastChannel)\n\n Turn your Telegram Channel into a MicroBlog.\n\n- ### [ssh-ai-chat](https://chat.agi.li/)\n\n [\u2605 829](https://github.com/miantiao-me/ssh-ai-chat)\n\n Chat with AI over SSH.\n\n- ### [bm.md](https://bm.md/)\n\n [\u2605 592](https://github.com/miantiao-me/bm.md)\n\n \u66F4\u597D\u7528\u7684 Markdown \u6392\u7248\u52A9\u624B\uFF5C\u4E00\u952E\u9002\u914D\u5FAE\u4FE1\u516C\u4F17\u53F7\u3001\u7F51\u9875\u4E0E\u56FE\u7247\u3002\n\n- ### [cloud-code](https://github.com/miantiao-me/cloud-code)\n\n [\u2605 550](https://github.com/miantiao-me/cloud-code)\n\n Cloud Code (Cloudflare + OpenCode), running OpenCode on Cloudflare to build a dedicated cloud Agent for you.\n\n[\u67E5\u770B\u5168\u90E8\u9879\u76EE](https://miantiao.me/projects/)\n\n\u6700\u8FD1\u5199\u4E86\u4EC0\u4E48\uFF1F\n\n\u25C6 **Read** posts/\n\n## \u535A\u5BA2\n\n\u4E0D\u5199\u4EE3\u7801\u7684\u65F6\u5019\u4E5F\u5199\u4E00\u4E9B\u6280\u672F\u6587\u7AE0\u3002\n\n\n\n[\u67E5\u770B\u5168\u90E8\u6587\u7AE0](https://miantiao.me/blog/)\n\n\u600E\u4E48\u8BA2\u9605\u4F60\u7684\u535A\u5BA2\uFF1F\n\n## \u8BA2\u9605\n\nRSS \u5730\u5740 <https://feed.miantiao.me/>\uFF0C\u4E5F\u53EF\u4EE5\u901A\u8FC7 [Feedly](https://feedly.com/i/subscription/feed%2Fhttps%3A%2F%2Ffeed.miantiao.me%2F) \u6216 [Inoreader](https://www.inoreader.com/feed/https%3A%2F%2Ffeed.miantiao.me%2F) \u8BA2\u9605\u3002\n\n\u90FD\u8BA4\u8BC6\u54EA\u4E9B\u7F51\u53CB\uFF1F\n\n## \u7F51\u4E0A\u90BB\u5C45\n\n\u72EC\u5B66\u800C\u65E0\u53CB\uFF0C\u5219\u5B64\u964B\u800C\u5BE1\u95FB\u3002\n\n- [Willin Wang](https://willin.wang/) willin.wang\n- [\u4E14\u542C\u4E66\u541F](https://yufan.me/) yufan.me\n- [liruifengv](https://liruifengv.com/) liruifengv.com\n- [Indie Fox](https://indiefox.me/) indiefox.me\n- [\u738B\u5C0F\u55E8\u7684\u4E0D\u8001\u6B4C](https://sogo.la/) sogo.la\n- [I'm Kai](https://kaiyi.cool/) kaiyi.cool\n- [CaptainOfPhB](https://captainofphb.me/) captainofphb.me\n- [Corey Chiu](https://coreychiu.com/) coreychiu.com\n- [.\u{1D643}\u{1D656}\u{1D663}](https://www.vvhan.com/) www\\.vvhan.com\n", sections: [{ kind: "welcome", markdown: "# \u9762\u6761\u5B9E\u9A8C\u5BA4 miantiao.me\n\n\u6298\u817E\u4E9B\u4EC0\u4E48\u73A9\u610F\u3002\u7AD9\u5185\u5185\u5BB9\u5747\u7531 AI \u751F\u6210\uFF0C\u8F93\u5165 /help \u67E5\u770B\u547D\u4EE4\u3002\n", logo: "\u2800\u2800\u2800\u28A0\u28E4\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u28E0\u2844\u2800\u2800\u2800\u2800\u28E0\u2804\u28B4\u2840\u2800\u2800\u2800\n\u2800\u2800\u28A0\u287E\u281B\u2800\u2800\u2880\u28C4\u28E4\u28E4\u2840\u28E0\u28E4\u28C4\u2800\u28E4\u28FF\u28E6\u2844\u2800\u2800\u28A0\u285F\u2800\u2808\u28BB\u28C4\u2800\u2800\n\u2880\u28F4\u281F\u2800\u2800\u2800\u2800\u28B8\u287F\u2809\u28B9\u28FF\u280B\u2819\u28FF\u2800\u2809\u28FF\u2809\u2801\u2800\u2800\u28FC\u2803\u2800\u2800\u2800\u2839\u28E6\u2800\n\u2818\u28BF\u28C4\u2800\u2800\u2800\u2800\u28B8\u2847\u2800\u28B8\u28FF\u2800\u2800\u28FF\u2800\u2800\u28FF\u2800\u2800\u2800\u28A0\u284F\u2800\u2800\u2800\u2800\u28E0\u285F\u2800\n\u2800\u2800\u2839\u28E6\u2840\u2800\u2800\u28B8\u2847\u2800\u28B8\u28FF\u2800\u2800\u28FF\u2800\u2800\u28FF\u28C4\u2840\u2800\u28FE\u2801\u2800\u2800\u2800\u28F4\u280F\u2800\u2800\n\u2800\u2800\u2800\u2839\u28FF\u2800\u2800\u2818\u2803\u2800\u2818\u281B\u2800\u2800\u281B\u2800\u2800\u2819\u281B\u2803\u2810\u280B\u2800\u2800\u2800\u283E\u2803\u2800\u2800\u2800", menu: [{ title: "\u6D4F\u89C8\u5168\u90E8\u6587\u7AE0", href: "https://miantiao.me/blog/", command: "/blog" }, { title: "\u6298\u817E\u7684\u9879\u76EE", href: "https://miantiao.me/projects/", command: "/projects" }, { title: "\u6309\u6807\u7B7E\u6D4F\u89C8", href: "https://miantiao.me/tags/", command: "/tags" }, { title: "\u641C\u7D22\u6587\u7AE0", href: "https://miantiao.me/search/", command: "/search" }, { title: "\u5173\u4E8E\u672C\u7AD9", href: "https://miantiao.me/about/", command: "/about" }] }, { kind: "turn", prompt: "\u4F60\u597D\uFF0C\u4F60\u662F\u8C01\uFF1F", markdown: "## \u6211\u662F\u9762\u6761\n\n- \u4E13\u6CE8\u4E8E\u524D\u7AEF\u5F00\u53D1\u7684 Web \u5F00\u53D1\u5DE5\u7A0B\u5E08\n- \u8BA1\u7B97\u673A\u4E13\u4E1A\u6BD5\u4E1A\u7684\u4E1A\u4F59\u9009\u624B\n- Self-hosting \u7231\u597D\u8005\n- Homelab \u7406\u6027\u73A9\u5BB6\n\n[Twitter](https://404.li/x) \xB7 [Mastodon](https://404.li/mastodon) \xB7 [GitHub](https://404.li/github) \xB7 [Telegram](https://404.li/telegram) \xB7 [Instagram](https://404.li/ig) \xB7 [Email](mailto:root@miantiao.me)\n" }, { kind: "turn", prompt: "\u6700\u8FD1\u5728\u6298\u817E\u4EC0\u4E48\u9879\u76EE\uFF1F", markdown: "\u25C6 **List** projects/ (\u6309 Star \u6392\u5E8F\uFF0C6 of 7)\n\n## \u9879\u76EE\n\n\u5DE5\u4F5C\u4E4B\u5916\u6298\u817E\u7684\u4E00\u4E9B\u9879\u76EE\uFF0C\u65F6\u4E0D\u65F6\u4E0A\u65B0\uFF0C\u8BB0\u5F97\u591A\u56DE\u6765\u770B\u770B\u3002\n\n- ### [Sink](https://sink.cool/)\n\n [\u2605 6.9k](https://github.com/miantiao-me/Sink)\n\n \u26A1 A Simple / Speedy / Secure Link Shortener with Analytics, 100% run on Cloudflare.\n\n- ### [hacker-podcast](https://hacker-podcast.agi.li/)\n\n [\u2605 2.6k](https://github.com/miantiao-me/hacker-podcast)\n\n \u4E00\u4E2A\u57FA\u4E8E AI \u7684 Hacker News \u4E2D\u6587\u64AD\u5BA2\u9879\u76EE\uFF0C\u6BCF\u5929\u81EA\u52A8\u6293\u53D6 Hacker News \u70ED\u95E8\u6587\u7AE0\uFF0C\u901A\u8FC7 AI \u751F\u6210\u4E2D\u6587\u603B\u7ED3\u5E76\u8F6C\u6362\u4E3A\u64AD\u5BA2\u5185\u5BB9\u3002\n\n- ### [BroadcastChannel](https://memo.miantiao.me/)\n\n [\u2605 2.1k](https://github.com/miantiao-me/BroadcastChannel)\n\n Turn your Telegram Channel into a MicroBlog.\n\n- ### [ssh-ai-chat](https://chat.agi.li/)\n\n [\u2605 829](https://github.com/miantiao-me/ssh-ai-chat)\n\n Chat with AI over SSH.\n\n- ### [bm.md](https://bm.md/)\n\n [\u2605 592](https://github.com/miantiao-me/bm.md)\n\n \u66F4\u597D\u7528\u7684 Markdown \u6392\u7248\u52A9\u624B\uFF5C\u4E00\u952E\u9002\u914D\u5FAE\u4FE1\u516C\u4F17\u53F7\u3001\u7F51\u9875\u4E0E\u56FE\u7247\u3002\n\n- ### [cloud-code](https://github.com/miantiao-me/cloud-code)\n\n [\u2605 550](https://github.com/miantiao-me/cloud-code)\n\n Cloud Code (Cloudflare + OpenCode), running OpenCode on Cloudflare to build a dedicated cloud Agent for you.\n\n[\u67E5\u770B\u5168\u90E8\u9879\u76EE](https://miantiao.me/projects/)\n", list: { kind: "projects", before: "\u25C6 **List** projects/ (\u6309 Star \u6392\u5E8F\uFF0C6 of 7)\n\n## \u9879\u76EE\n\n\u5DE5\u4F5C\u4E4B\u5916\u6298\u817E\u7684\u4E00\u4E9B\u9879\u76EE\uFF0C\u65F6\u4E0D\u65F6\u4E0A\u65B0\uFF0C\u8BB0\u5F97\u591A\u56DE\u6765\u770B\u770B\u3002\n", after: "[\u67E5\u770B\u5168\u90E8\u9879\u76EE](https://miantiao.me/projects/)\n", items: [{ id: "sink", title: "Sink", description: "\u26A1 A Simple / Speedy / Secure Link Shortener with Analytics, 100% run on Cloudflare.", url: "https://Sink.Cool", repo: "Sink", stars: 6869 }, { id: "hacker-podcast", title: "hacker-podcast", description: "\u4E00\u4E2A\u57FA\u4E8E AI \u7684 Hacker News \u4E2D\u6587\u64AD\u5BA2\u9879\u76EE\uFF0C\u6BCF\u5929\u81EA\u52A8\u6293\u53D6 Hacker News \u70ED\u95E8\u6587\u7AE0\uFF0C\u901A\u8FC7 AI \u751F\u6210\u4E2D\u6587\u603B\u7ED3\u5E76\u8F6C\u6362\u4E3A\u64AD\u5BA2\u5185\u5BB9\u3002", url: "https://hacker-podcast.agi.li", repo: "hacker-podcast", stars: 2557 }, { id: "broadcast-channel", title: "BroadcastChannel", description: "Turn your Telegram Channel into a MicroBlog.", url: "https://memo.miantiao.me", repo: "BroadcastChannel", stars: 2053 }, { id: "ssh-ai-chat", title: "ssh-ai-chat", description: "Chat with AI over SSH.", url: "https://chat.agi.li", repo: "ssh-ai-chat", stars: 829 }, { id: "bm-md", title: "bm.md", description: "\u66F4\u597D\u7528\u7684 Markdown \u6392\u7248\u52A9\u624B\uFF5C\u4E00\u952E\u9002\u914D\u5FAE\u4FE1\u516C\u4F17\u53F7\u3001\u7F51\u9875\u4E0E\u56FE\u7247\u3002", url: "https://bm.md", repo: "bm.md", stars: 592 }, { id: "cloud-code", title: "cloud-code", description: "Cloud Code (Cloudflare + OpenCode), running OpenCode on Cloudflare to build a dedicated cloud Agent for you.", url: "https://github.com/miantiao-me/cloud-code", repo: "cloud-code", stars: 550 }] } }, { kind: "turn", prompt: "\u6700\u8FD1\u5199\u4E86\u4EC0\u4E48\uFF1F", markdown: "\u25C6 **Read** posts/\n\n## \u535A\u5BA2\n\n\u4E0D\u5199\u4EE3\u7801\u7684\u65F6\u5019\u4E5F\u5199\u4E00\u4E9B\u6280\u672F\u6587\u7AE0\u3002\n\n\n\n[\u67E5\u770B\u5168\u90E8\u6587\u7AE0](https://miantiao.me/blog/)\n", list: { kind: "posts", before: "\u25C6 **Read** posts/\n\n## \u535A\u5BA2\n\n\u4E0D\u5199\u4EE3\u7801\u7684\u65F6\u5019\u4E5F\u5199\u4E00\u4E9B\u6280\u672F\u6587\u7AE0\u3002\n", after: "[\u67E5\u770B\u5168\u90E8\u6587\u7AE0](https://miantiao.me/blog/)\n", items: [] } }, { kind: "turn", prompt: "\u600E\u4E48\u8BA2\u9605\u4F60\u7684\u535A\u5BA2\uFF1F", markdown: "## \u8BA2\u9605\n\nRSS \u5730\u5740 <https://feed.miantiao.me/>\uFF0C\u4E5F\u53EF\u4EE5\u901A\u8FC7 [Feedly](https://feedly.com/i/subscription/feed%2Fhttps%3A%2F%2Ffeed.miantiao.me%2F) \u6216 [Inoreader](https://www.inoreader.com/feed/https%3A%2F%2Ffeed.miantiao.me%2F) \u8BA2\u9605\u3002\n" }, { kind: "turn", prompt: "\u90FD\u8BA4\u8BC6\u54EA\u4E9B\u7F51\u53CB\uFF1F", markdown: "## \u7F51\u4E0A\u90BB\u5C45\n\n\u72EC\u5B66\u800C\u65E0\u53CB\uFF0C\u5219\u5B64\u964B\u800C\u5BE1\u95FB\u3002\n\n- [Willin Wang](https://willin.wang/) willin.wang\n- [\u4E14\u542C\u4E66\u541F](https://yufan.me/) yufan.me\n- [liruifengv](https://liruifengv.com/) liruifengv.com\n- [Indie Fox](https://indiefox.me/) indiefox.me\n- [\u738B\u5C0F\u55E8\u7684\u4E0D\u8001\u6B4C](https://sogo.la/) sogo.la\n- [I'm Kai](https://kaiyi.cool/) kaiyi.cool\n- [CaptainOfPhB](https://captainofphb.me/) captainofphb.me\n- [Corey Chiu](https://coreychiu.com/) coreychiu.com\n- [.\u{1D643}\u{1D656}\u{1D663}](https://www.vvhan.com/) www\\.vvhan.com\n" }] } };
6
+
7
+ // <define:__TERMINAL_PALETTES__>
8
+ var define_TERMINAL_PALETTES_default = { "ayu-dark": { page: "#0b1015", bg: "#0f1419", band: "#1e2229", well: "#141b22", hover: "#242a33", visual: "#27374a", fg: "#d6dae0", "fg-soft": "#c5cbd2", secondary: "#c5cbd2", prompt: "#c5cbd2", muted: "#929ba6", bright: "#c5cbd2", dim: "#5a6673", line: "#343e4a", "line-strong": "#5a6673", accent: "#f2856f", skill: "#3fb7e3", h1: "#e4a75c", h2: "#3fb7e3", h3: "#f2856f", code: "#95e6cb", link: "#66c6f1", ok: "#78d05c", warn: "#e4a75c", err: "#f58572", path: "#e4a75c", "scroll-bg": "#0f1419", "scroll-fg": "#343e4a", "syntax-fg": "#c5cbd2", "syntax-comment": "#929ba6", "syntax-keyword": "#ff8f40", "syntax-string": "#aad94c", "syntax-function": "#ffb454", "syntax-constant": "#d2a6ff", "syntax-parameter": "#e4a75c", "syntax-punctuation": "#f29668", "syntax-variable": "#c5cbd2" }, "ayu-light": { page: "#f1f3f5", bg: "#fcfcfc", band: "#ebeff2", well: "#f3f5f7", hover: "#e8edf2", visual: "#d6e5f7", fg: "#434b54", "fg-soft": "#515a64", secondary: "#515a64", prompt: "#515a64", muted: "#5f6b78", bright: "#515a64", dim: "#9ba6b2", line: "#d6dde4", "line-strong": "#9ba6b2", accent: "#ac4f1e", skill: "#147198", h1: "#8d6211", h2: "#147299", h3: "#9a5941", code: "#1c7962", link: "#127399", ok: "#547515", warn: "#8c6411", err: "#c03b3b", path: "#9f5815", "scroll-bg": "#fcfcfc", "scroll-fg": "#d6dde4", "syntax-fg": "#515a64", "syntax-comment": "#5f6b78", "syntax-keyword": "#a4551d", "syntax-string": "#547515", "syntax-function": "#8c6411", "syntax-constant": "#8058a5", "syntax-parameter": "#9f5815", "syntax-punctuation": "#9a5941", "syntax-variable": "#515a64" }, "solarized-light": { page: "#eee8d5", bg: "#fdf6e3", band: "#eee8d5", well: "#f5efdc", hover: "#e6dfcb", visual: "#d9d2bd", fg: "#465a61", "fg-soft": "#4f656c", secondary: "#526970", prompt: "#526970", muted: "#52646b", bright: "#526970", dim: "#93a1a1", line: "#d5cfbc", "line-strong": "#93a1a1", accent: "#b34213", skill: "#1c669b", h1: "#596e10", h2: "#1e6ba4", h3: "#5c60a7", code: "#16736b", link: "#1e6ba4", ok: "#596e10", warn: "#836200", err: "#be312f", path: "#b34213", "scroll-bg": "#fdf6e3", "scroll-fg": "#d5cfbc", "syntax-fg": "#526970", "syntax-comment": "#576a71", "syntax-keyword": "#596e10", "syntax-string": "#16736b", "syntax-function": "#1e6ba4", "syntax-constant": "#b13c78", "syntax-parameter": "#b34213", "syntax-punctuation": "#657b83", "syntax-variable": "#526970" }, nord: { page: "#272d38", bg: "#2e3440", band: "#3b4252", well: "#343b49", hover: "#434c5e", visual: "#4c566a", fg: "#eceff4", "fg-soft": "#d8dee9", secondary: "#d8dee9", prompt: "#d8dee9", muted: "#b3bed1", bright: "#d8dee9", dim: "#66738a", line: "#434c5e", "line-strong": "#66738a", accent: "#99b3cd", skill: "#92c6d4", h1: "#8fbcbb", h2: "#88c0d0", h3: "#c4a7bf", code: "#8fbcbb", link: "#88c0d0", ok: "#a3be8c", warn: "#ebcb8b", err: "#d9a2a7", path: "#dba391", "scroll-bg": "#2e3440", "scroll-fg": "#434c5e", "syntax-fg": "#d8dee9", "syntax-comment": "#a5b2c8", "syntax-keyword": "#99b3cd", "syntax-string": "#a3be8c", "syntax-function": "#88c0d0", "syntax-constant": "#c4a7bf", "syntax-parameter": "#dba391", "syntax-punctuation": "#d8dee9", "syntax-variable": "#d8dee9" }, dracula: { page: "#21222c", bg: "#282a36", band: "#343746", well: "#222430", hover: "#3b3e51", visual: "#44475a", fg: "#f8f8f2", "fg-soft": "#e3e3e1", secondary: "#e3e3e1", prompt: "#e3e3e1", muted: "#a3adce", bright: "#e3e3e1", dim: "#6272a4", line: "#44475a", "line-strong": "#6272a4", accent: "#ff79c6", skill: "#c199f9", h1: "#50fa7b", h2: "#8be9fd", h3: "#bd93f9", code: "#8be9fd", link: "#bd93f9", ok: "#50fa7b", warn: "#f1fa8c", err: "#ff7979", path: "#ffb86c", "scroll-bg": "#282a36", "scroll-fg": "#44475a", "syntax-fg": "#e3e3e1", "syntax-comment": "#a3adce", "syntax-keyword": "#ff79c6", "syntax-string": "#f1fa8c", "syntax-function": "#50fa7b", "syntax-constant": "#bd93f9", "syntax-parameter": "#ffb86c", "syntax-punctuation": "#f8f8f2", "syntax-variable": "#e3e3e1" }, gruvbox: { page: "#1d2021", bg: "#282828", band: "#32302f", well: "#242424", hover: "#3c3836", visual: "#504945", fg: "#ebdbb2", "fg-soft": "#d5c4a1", secondary: "#d5c4a1", prompt: "#d5c4a1", muted: "#bdae93", bright: "#d5c4a1", dim: "#928374", line: "#504945", "line-strong": "#928374", accent: "#fc6c5b", skill: "#8baa9e", h1: "#b8bb26", h2: "#83a598", h3: "#d3869b", code: "#8ec07c", link: "#83a598", ok: "#b8bb26", warn: "#fabd2f", err: "#fc6c5b", path: "#fe8019", "scroll-bg": "#282828", "scroll-fg": "#504945", "syntax-fg": "#d5c4a1", "syntax-comment": "#bdae93", "syntax-keyword": "#fc6c5b", "syntax-string": "#b8bb26", "syntax-function": "#fabd2f", "syntax-constant": "#d3869b", "syntax-parameter": "#fe8019", "syntax-punctuation": "#d5c4a1", "syntax-variable": "#d5c4a1" } };
9
+
10
+ export {
11
+ define_TERMINAL_CODE_COLORS_default,
12
+ define_TERMINAL_HOME_default,
13
+ define_TERMINAL_PALETTES_default
14
+ };
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import "./chunk-ZOMIOTOE.js";
2
+ import "./chunk-CPSJKI42.js";
3
3
 
4
4
  // packages/cli/src/index.ts
5
5
  import { parseArgs } from "node:util";
@@ -16,14 +16,14 @@ try {
16
16
  "miantiao.me \u2014 \u7EC8\u7AEF\u91CC\u7684\u9762\u6761\n\n\u7528\u6CD5\uFF1Anpx miantiao.me [--site <URL>]\n\n -h, --help \u67E5\u770B\u5E2E\u52A9\n -v, --version \u67E5\u770B\u7248\u672C\n --site <URL> \u5B98\u7F51\u5730\u5740\uFF0C\u4E5F\u53EF\u6307\u5411\u672C\u5730\u9884\u89C8\n\n\u8FDB\u5165\u540E\u8F93\u5165 /help \u67E5\u770B\u547D\u4EE4\uFF0CCtrl+C \u9000\u51FA\u3002\n\u9700\u8981 Node.js 22.14 \u6216\u66F4\u65B0\u7248\u672C\uFF0C\u4EE5\u53CA\u53EF\u4EA4\u4E92\u7684\u7EC8\u7AEF\u3002"
17
17
  );
18
18
  } else if (values.version) {
19
- console.log("0.3.0");
19
+ console.log("0.4.0");
20
20
  } else {
21
21
  const site = new URL(values.site);
22
22
  if (!["https:", "http:"].includes(site.protocol) || site.username || site.password)
23
23
  throw new Error("--site \u5FC5\u987B\u4E3A\u4E0D\u542B\u51ED\u8BC1\u7684 HTTP \u6216 HTTPS \u5730\u5740\u3002");
24
24
  if (!process.stdin.isTTY || !process.stdout.isTTY)
25
25
  throw new Error("\u8BF7\u5728\u4EA4\u4E92\u5F0F\u7EC8\u7AEF\u8FD0\u884C npx miantiao.me\uFF1B\u4F7F\u7528 --help \u67E5\u770B\u5E2E\u52A9\u3002");
26
- const { run } = await import("./app-VCJ3SOSQ.js");
26
+ const { run } = await import("./app-RHHRYSSP.js");
27
27
  await run(site.origin);
28
28
  }
29
29
  } catch (error) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "miantiao.me",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "description": "在终端浏览 miantiao.me,与面条的 AI 助手对话。",
5
5
  "type": "module",
6
6
  "bin": {
@@ -31,9 +31,14 @@
31
31
  "@assistant-ui/react-ink": "^0.0.54",
32
32
  "@assistant-ui/react-ink-markdown": "^0.0.53",
33
33
  "ai": "^7.0.170",
34
+ "chalk": "^5.6.2",
35
+ "cli-spinners": "^3.4.0",
36
+ "date-fns": "^4.4.0",
34
37
  "es-toolkit": "^1.53.2",
35
38
  "flexsearch": "^0.8.212",
36
39
  "ink": "^8.0.0",
40
+ "ink-link": "^5.0.0",
41
+ "marked": "^18.1.3",
37
42
  "react": "^19.3.1",
38
43
  "shiki": "4.6.0",
39
44
  "string-width": "^8.3.0",