- 品牌替换:OpenCode/opencode → AirCoding/aircoding(16+ 文件) - Logo ASCII art:修复 left/right 行数不匹配导致的启动崩溃 - 启动诊断:添加 OPENCODE_PRINT_TIMING 计时探针 - dev 模式默认 --pure 跳过外部插件加载 - AGENTS.md 模板:追加 AirCoding 多 Agent 专项段落 - architect prompt + plugin:强化 AGENTS.md 产出验证
42 lines
1.0 KiB
TypeScript
42 lines
1.0 KiB
TypeScript
import { createSignal } from "solid-js"
|
|
|
|
const model = {
|
|
id: "claude-3-7-sonnet",
|
|
name: "Claude 3.7 Sonnet",
|
|
provider: { id: "anthropic" },
|
|
variants: { fast: {}, thinking: {} },
|
|
}
|
|
|
|
const agents = [{ name: "build" }, { name: "review" }, { name: "plan" }]
|
|
|
|
const [agent, setAgent] = createSignal(agents[0].name)
|
|
const [variant, setVariant] = createSignal<string | undefined>(undefined)
|
|
|
|
export function useLocal() {
|
|
return {
|
|
slug: () => "c3Rvcnk=",
|
|
agent: {
|
|
list: () => agents,
|
|
current: () => agents.find((item) => item.name === agent()) ?? agents[0],
|
|
set(value?: string) {
|
|
if (!value) {
|
|
setAgent(agents[0].name)
|
|
return
|
|
}
|
|
const hit = agents.find((item) => item.name === value)
|
|
setAgent(hit?.name ?? agents[0].name)
|
|
},
|
|
},
|
|
model: {
|
|
current: () => model,
|
|
variant: {
|
|
list: () => Object.keys(model.variants),
|
|
current: () => variant(),
|
|
set(next?: string) {
|
|
setVariant(next)
|
|
},
|
|
},
|
|
},
|
|
}
|
|
}
|