feat/fix: ai page improvements, bump, update ccusage

add more content on ai, add heatmap, fix header glow, add price to ai tools, fix NowPlaying style issue, new ccombine utility, better claude code usage page w/ model labels+better typing, bump, update ccusage (restore old dates)
This commit is contained in:
Aidan 2025-09-13 02:46:53 -04:00
parent 57dd627ca3
commit 77a6266c71
20 changed files with 1380 additions and 444 deletions

View file

@ -2,7 +2,8 @@ import {
SiClaude,
SiGithubcopilot,
SiGooglegemini,
SiPerplexity
SiPerplexity,
SiOpenai
} from 'react-icons/si'
import type { AITool, FavoriteModel, AIReview } from './types'
@ -13,31 +14,42 @@ export const aiTools: AITool[] = [
description: "My favorite model provider for general use and coding",
status: "primary",
usage: "/ai/claude",
link: "https://claude.ai/"
link: "https://claude.ai/",
price: 100
},
{
name: "GitHub Copilot Pro",
icon: SiGithubcopilot,
description: "Random edits when I don't want to start a Claude session",
name: "ChatGPT Business",
icon: SiOpenai,
description: "Feature-rich and budget-friendly (for now)",
status: "active",
link: "https://github.com/features/copilot"
link: "https://chatgpt.com/",
price: 60
},
{
name: "GLM Coding Lite",
svg: (
/* Icon by lobe-icons: https://github.com/lobehub/lobe-icons */
<svg fill="currentColor" fillRule="evenodd" height="1em" style={{ flex: 'none', lineHeight: 1 }} viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg">
<title>Z.ai</title>
<path d="M12.105 2L9.927 4.953H.653L2.83 2h9.276zM23.254 19.048L21.078 22h-9.242l2.174-2.952h9.244zM24 2L9.264 22H0L14.736 2H24z"></path>
</svg>
),
description: "Cheap, Claude-like model with a slow API",
status: "active",
link: "https://z.ai/",
price: 3
},
{
name: "Gemini Pro",
icon: SiGooglegemini,
description: "Chatting, asking questions, and image generation",
status: "occasional",
link: "https://gemini.google.com/"
link: "https://gemini.google.com/",
price: 20,
discountedPrice: 0
},
{
name: "v0 Free",
svg: <svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>v0</title><path d="M14.066 6.028v2.22h5.729q.075-.001.148.005l-5.853 5.752a2 2 0 0 1-.024-.309V8.247h-2.353v5.45c0 2.322 1.935 4.222 4.258 4.222h5.675v-2.22h-5.675q-.03 0-.059-.003l5.729-5.629q.006.082.006.166v5.465H24v-5.465a4.204 4.204 0 0 0-4.205-4.205zM0 8.245l8.28 9.266c.839.94 2.396.346 2.396-.914V8.245H8.19v5.44l-4.86-5.44Z"/></svg>,
description: "Generating boilerplate UIs",
status: "occasional",
link: "https://v0.dev/"
},
{
name: "Qwen",
name: "Qwen Chat",
svg: (
<svg viewBox="0 0 200 200" fill="none" xmlns="http://www.w3.org/2000/svg" className="size-8">
<path d="M174.82 108.75L155.38 75L165.64 57.75C166.46 56.31 166.46 54.53 165.64 53.09L155.38 35.84C154.86 34.91 153.87 34.33 152.78 34.33H114.88L106.14 19.03C105.62 18.1 104.63 17.52 103.54 17.52H83.3C82.21 17.52 81.22 18.1 80.7 19.03L61.26 52.77H41.02C39.93 52.77 38.94 53.35 38.42 54.28L28.16 71.53C27.34 72.97 27.34 74.75 28.16 76.19L45.52 107.5L36.78 122.8C35.96 124.24 35.96 126.02 36.78 127.46L47.04 144.71C47.56 145.64 48.55 146.22 49.64 146.22H87.54L96.28 161.52C96.8 162.45 97.79 163.03 98.88 163.03H119.12C120.21 163.03 121.2 162.45 121.72 161.52L141.16 127.78H158.52C159.61 127.78 160.6 127.2 161.12 126.27L171.38 109.02C172.2 107.58 172.2 105.8 171.38 104.36L174.82 108.75Z" fill="url(#paint0_radial)"/>
@ -57,15 +69,56 @@ export const aiTools: AITool[] = [
),
description: "My favorite open source LLM for chatting",
status: "occasional",
link: "https://chat.qwen.ai/"
link: "https://chat.qwen.ai/",
price: 0
},
{
"name": "Perplexity",
name: "Perplexity Pro",
icon: SiPerplexity,
description: "Reliable for more in-depth searching",
status: "occasional",
link: "https://perplexity.ai/"
}
link: "https://perplexity.ai/",
price: 20,
discountedPrice: 0
},
{
name: "OpenCode",
svg: (
<svg viewBox="0 0 289 50" fill="none" xmlns="http://www.w3.org/2000/svg" className="size-7">
<path d="M264.5 0H288.5V8.5H272.5V16.5H288.5V25H272.5V33H288.5V41.5H264.5V0Z" fill="white"/>
<path d="M248.5 0H224.5V41.5H248.5V33H232.5V8.5H248.5V0Z" fill="white"/>
<path d="M256.5 8.5H248.5V33H256.5V8.5Z" fill="white"/>
<path fillRule="evenodd" clipRule="evenodd" d="M184.5 0H216.5V41.5H184.5V0ZM208.5 8.5H192.5V33H208.5V8.5Z" fill="white"/>
<path d="M144.5 8.5H136.5V41.5H144.5V8.5Z" fill="white"/>
<path d="M136.5 0H112.5V41.5H120.5V8.5H136.5V0Z" fill="white"/>
<path d="M80.5 0H104.5V8.5H88.5V16.5H104.5V25H88.5V33H104.5V41.5H80.5V0Z" fill="white"/>
<path fillRule="evenodd" clipRule="evenodd" d="M40.5 0H72.5V41.5H48.5V49.5H40.5V0ZM64.5 8.5H48.5V33H64.5V8.5Z" fill="white"/>
<path fillRule="evenodd" clipRule="evenodd" d="M0.5 0H32.5V41.5955H0.5V0ZM24.5 8.5H8.5V33H24.5V8.5Z" fill="white"/>
<path d="M152.5 0H176.5V8.5H160.5V33H176.5V41.5H152.5V0Z" fill="white"/>
</svg>
),
description: "My favorite FOSS AI coding assistant",
status: "occasional",
link: "https://opencode.ai/",
price: 0
},
{
name: "GitHub Copilot Pro",
icon: SiGithubcopilot,
description: "Random edits when I don't want to start a Claude session",
status: "occasional",
link: "https://github.com/features/copilot",
price: 10,
discountedPrice: 0
},
{
name: "v0 Free",
svg: <svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>v0</title><path d="M14.066 6.028v2.22h5.729q.075-.001.148.005l-5.853 5.752a2 2 0 0 1-.024-.309V8.247h-2.353v5.45c0 2.322 1.935 4.222 4.258 4.222h5.675v-2.22h-5.675q-.03 0-.059-.003l5.729-5.629q.006.082.006.166v5.465H24v-5.465a4.204 4.204 0 0 0-4.205-4.205zM0 8.245l8.28 9.266c.839.94 2.396.346 2.396-.914V8.245H8.19v5.44l-4.86-5.44Z"/></svg>,
description: "Generating boilerplate UIs",
status: "occasional",
link: "https://v0.dev/",
price: 0
},
]
export const favoriteModels: FavoriteModel[] = [
@ -81,18 +134,24 @@ export const favoriteModels: FavoriteModel[] = [
review: "Amazing planner, useful for Plan Mode in Claude Code. Useful in code generation, albeit at a higher cost.",
rating: 5
},
{
name: "Qwen3-Max-Preview",
provider: "Alibaba",
review: "A new personality for Qwen3 at a larger size, amazing for use in chats. I'm not so happy that it's closed source (for now).",
rating: 5
},
{
name: "Qwen3-235B-A22B",
provider: "Alibaba",
review: "The OG thinking model. Amazing, funny, and smart for chats. Surprisingly good at coding too.",
rating: 5
},
{
name: "GPT-5",
provider: "OpenAI",
review: "A model I am still testing with. Seems to be good with coding and following instructions so far, but not with the same flair as Claude.",
rating: 4
},
{
name: "Qwen3-Max-Preview",
provider: "Alibaba",
review: "A new personality for Qwen3 at a larger size, amazing for use in chats. I'm not so happy that it's closed source (for now).",
rating: 4
},
{
name: "Gemini 2.5 Pro",
provider: "Google",
@ -112,7 +171,7 @@ export const aiReviews: AIReview[] = [
tool: "Claude Code",
rating: 5,
pros: ["Flagship models", "High usage limits", "Exceptional Claude integration"],
cons: ["Can be slow", "High investment cost to get value"],
cons: ["API interface be slow at times", "High investment cost to get full value"],
verdict: "Best overall for Claude lovers"
},
{
@ -127,7 +186,7 @@ export const aiReviews: AIReview[] = [
rating: 4,
pros: ["Good UI/UX", "Very budget-friendly", "Fantastic premium usage limits"],
cons: ["No thinking", "Occasional parsing issues"],
verdict: "Essential for productivity"
verdict: "Budget-friendly productivity boost"
},
{
tool: "GitHub Copilot",
@ -136,4 +195,4 @@ export const aiReviews: AIReview[] = [
cons: ["No thinking", "Low quality output", "Bad support for other IDEs"],
verdict: "Good for casual use"
},
]
]