openclaw-mini
openclaw-mini 是大型 AI Agent 系统 OpenClaw 核心架构的极简复现版,旨在通过一个小而完整的项目,帮助开发者透彻理解生产级 AI Agent 的系统级设计。它解决了当前大多数教程仅关注基础“问答循环”,而忽视会话管理、上下文压缩、长期记忆及主动唤醒等关键工程难题的痛点。
该项目特别适合希望深入钻研 AI Agent 底层原理的开发者、技术研究人员以及系统架构师。不同于普通的示例代码,openclaw-mini 保留了大量关于“为何如此设计”的深度注释,引导读者按核心、扩展、网关、工程四层架构循序渐进地学习。
其独特技术亮点包括:实现双层 Agent 循环与类型化事件流机制;支持基于 JSONL 的会话持久化与自适应上下文裁剪压缩;内置工具化记忆检索与按需加载能力;以及模拟真实生产环境的 WebSocket RPC 网关和主动心跳唤醒机制。通过剥离繁杂的生产防护细节,openclaw-mini 让学习者能专注于掌握构建可演化、有记忆的"AI 生命系统”所需的核心逻辑,是通往高阶 Agent 开发的优质入门路径。
使用场景
某全栈开发者正在构建一个需要长期运行、具备跨会话记忆能力且能主动响应的智能运维助手。
没有 openclaw-mini 时
- 记忆断层严重:AI 仅作为无状态函数映射,每次新对话都丢失历史上下文,无法记住之前的故障排查记录或用户偏好。
- 上下文失控:缺乏智能裁剪与摘要压缩机制,长对话迅速耗尽 Token 限额,导致关键信息被截断或报错。
- 被动响应局限:系统只能“问一句答一句”,无法通过心跳机制主动唤醒去监控服务器状态或推送预警。
- 架构黑盒难扩:网上教程多只展示简单的 Agent 循环代码,缺乏会话持久化、工具串行等生产级设计参考,二次开发极易踩坑。
- 多模型适配繁琐:切换不同大模型提供商时需重写大量底层逻辑,缺乏统一的适配层来屏蔽差异。
使用 openclaw-mini 后
- 会话持续演化:借助 sessionKey 与会话持久化(JSONL),AI 能像“生命系统”一样保留长期记忆,精准关联历史运维事件。
- 上下文自适应:内置三层递进裁剪与分块摘要压缩,自动优化上下文窗口,确保在有限 Token 内保留最核心的诊断信息。
- 主动服务能力:利用可扩展技能与主动心跳唤醒机制,助手能定时巡检并在发现异常时主动发起对话通知开发者。
- 透明架构指引:四层模块化设计(核心/扩展/网关/工程)清晰展示了从 CLI 到 EventStream 的完整链路,让复杂系统变得可读、可改。
- 无缝模型切换:通过统一的 Provider 适配层,可轻松在 OpenAI、Anthropic 等 22+ 提供商间切换,无需改动业务逻辑。
openclaw-mini 将原本脆弱的脚本式 AI 升级为具备记忆、主动性与工程鲁棒性的真正智能体系统。
运行环境要求
- Linux
- macOS
- Windows
未说明 (基于 Node.js 运行,通常无需专用 GPU,依赖远程 API)
未说明

快速开始
OpenClaw Mini
OpenClaw 核心架构的精简复现,用于学习 AI Agent 的系统级设计。
"没有记忆的 AI 只是函数映射,有记忆 + 主动唤醒的 AI,才是会演化的'生命系统'"
项目定位
目标:
- 用一个小而完整的项目解释 OpenClaw 内核真正重要的设计点
- 让读者能同时读懂 CLI、Agent Loop、Session、Context、Gateway 四条主线
- 保留“为什么这么设计”的注释,而不只是给出能跑的代码
非目标:
- 不追求和 OpenClaw 主仓库 1:1 API 兼容
- 不覆盖所有 channel、provider、插件和运维能力
- 不把生产环境里的所有防护、权限和兼容性细节都搬过来
仓库:
- GitHub:
https://github.com/voocel/openclaw-mini - npm 包名:
openclaw-mini
20 分钟快速开始
git clone git@github.com:voocel/openclaw-mini.git
cd openclaw-mini
pnpm install
cp .env.example .env
在 .env 里至少配置一个可用的模型 Key,然后先跑最小校验:
pnpm test
pnpm dev
想直接看 Gateway 的 ACK-then-stream 链路:
pnpm example:gateway
安装与开发
作为独立项目开发:
pnpm install
pnpm test
pnpm build
本地 CLI:
pnpm dev
pnpm gateway
pnpm gateway:connect
发布前自检:
pnpm test
pnpm build
pnpm pack:check
为什么做这个项目
网上大多数 Agent 教程只讲 Agent Loop:
while tool_calls:
response = llm.generate(messages)
for tool in tools:
result = tool.execute()
messages.append(result)
这不是真正的 Agent 架构。 一个生产级 Agent 需要的是"系统级最佳实践"。
OpenClaw 是一个超 43w 行的复杂 Agent 系统,本项目从中提炼出核心设计与最小实现,帮助你理解:
- Agent Loop 的双层循环与 EventStream 事件流
- 会话持久化与上下文管理(裁剪 + 摘要压缩)
- 长期记忆、技能系统、主动唤醒的真实实现
- 多 Provider 适配(Anthropic / OpenAI / Google / Groq 等 22+ 提供商)
模块分层
本项目按学习价值分为四层,建议按 核心 → 扩展 → 网关 → 工程 的顺序阅读:
┌─────────────────────────────────────────────────────────────┐
│ [网关层] Gateway │
│ WebSocket RPC 网关,让 Agent 从 CLI 直连升级为网络服务 │
│ │
│ Protocol (帧协议) · Server (广播+握手+路由) │
│ Client (重连+心跳) · Handlers (RPC 方法) │
├─────────────────────────────────────────────────────────────┤
│ [工程层] Production │
│ 生产级防护与控制,学习可跳过 │
│ │
│ session-key · tool-policy · command-queue │
│ sandbox-paths · context-window-guard · tool-result-guard │
├─────────────────────────────────────────────────────────────┤
│ [扩展层] Extended │
│ openclaw 特有的高级功能,非通用 Agent 必需 │
│ │
│ Memory (长期记忆) · Skills (技能系统) · Heartbeat (主动唤醒) │
├─────────────────────────────────────────────────────────────┤
│ [核心层] Core │
│ 任何 Agent 都需要的基础能力 ← 优先阅读 │
│ │
│ Agent Loop (双层循环) EventStream (20 种类型化事件) │
│ Session (JSONL 持久化) Context (加载 + 裁剪 + 摘要压缩) │
│ Tools (工具抽象+内置) Provider (多模型适配) │
└─────────────────────────────────────────────────────────────┘
核心层 — 必读
| 模块 | 文件 | 核心职责 | openclaw 对应 |
|---|---|---|---|
| Agent | agent.ts |
入口 + subscribe/emit 事件分发 | agent.js |
| Agent Loop | agent-loop.ts |
双层循环 (outer=follow-up, inner=tools+steering) | agent-loop.js |
| EventStream | agent-events.ts |
20 种 MiniAgentEvent 判别联合 + 异步推拉 | types.d.ts AgentEvent |
| Session | session.ts |
JSONL 持久化、历史管理 | session-manager.ts |
| Context | context/loader.ts |
按需加载 AGENTS.md 等 bootstrap 文件 | bootstrap-files.ts |
| Pruning | context/pruning.ts |
三层递进裁剪 (tool_result → assistant → 保留最近) | context-pruning/pruner.ts |
| Compaction | context/compaction.ts |
自适应分块摘要压缩 | compaction.ts |
| Tools | tools/*.ts |
工具抽象 + 10 个内置工具 | src/tools/ |
| Provider | provider/*.ts |
多模型适配层 (基于 pi-ai, 22+ 提供商) | pi-ai |
扩展层 — 选读
| 模块 | 文件 | 核心职责 | openclaw 对应 |
|---|---|---|---|
| Memory | memory.ts |
长期记忆 (关键词检索 + 相关性排序) | memory/manager.ts |
| Skills | skills.ts |
SKILL.md frontmatter + 触发词匹配 | agents/skills/ |
| Heartbeat | heartbeat.ts |
两层架构: wake 请求合并 + runner 调度 | heartbeat-runner.ts + heartbeat-wake.ts |
工程层 — 可跳过
| 模块 | 文件 | 核心职责 |
|---|---|---|
| Session Key | session-key.ts |
多 agent 会话键规范化 (agent:id:session) |
| Tool Policy | tool-policy.ts |
工具访问三级控制 (allow/deny/none) |
| Command Queue | command-queue.ts |
并发 lane 控制 (session 串行 + global 并行) |
| Tool Result Guard | session-tool-result-guard.ts |
自动补齐缺失的 tool_result |
| Context Window Guard | context-window-guard.ts |
上下文窗口溢出保护 |
| Sandbox Paths | sandbox-paths.ts |
路径安全检查 |
网关层 — 进阶必读
学习如何将 Agent 从 CLI 直连升级为可远程访问的 WebSocket RPC 服务。
| 模块 | 文件 | 核心职责 | openclaw 对应 |
|---|---|---|---|
| Protocol | gateway/protocol.ts |
三种帧类型 (req/res/event) + 错误码 + 常量 | protocol/schema/frames.ts + error-codes.ts |
| Server | gateway/server.ts |
HTTP+WS 服务、challenge 握手、方法路由、Pub/Sub 广播、背压控制、优雅关闭 | server.impl.ts + server-broadcast.ts + server-close.ts |
| Handlers | gateway/handlers.ts |
6 个 RPC 方法 (connect/chat.send/chat.history/sessions.*/health) | server-methods/*.ts |
| Client | gateway/client.ts |
Pending Map、指数退避重连、Tick 心跳监视、seq 间隙检测 | client.ts |
| CLI | gateway/gateway-cli.ts |
serve/connect 双模式 CLI 入口 | cli/gateway-cli.ts |
核心设计解析
1. Agent Loop — 双层循环 + EventStream
问题:简单 while 循环无法处理 follow-up、steering injection、上下文溢出等复杂场景。
openclaw 方案:双层循环 + EventStream 事件流
// agent-loop.ts — 返回 EventStream,IIFE 推送事件
function runAgentLoop(params): EventStream<MiniAgentEvent, MiniAgentResult> {
const stream = createMiniAgentStream();
(async () => {
// outer loop: follow-up 循环(处理 end_turn / tool_use 继续)
while (outerTurn < maxOuterTurns) {
// inner loop: 工具执行 + steering injection
// stream.push({ type: "tool_execution_start", ... })
}
stream.end({ text, turns, toolCalls });
})();
return stream; // 调用方 for-await 消费
}
事件订阅(对齐 pi-agent-core Agent.subscribe):
const agent = new Agent({ apiKey, provider: "anthropic" });
const unsubscribe = agent.subscribe((event) => {
switch (event.type) {
case "message_delta": // 流式文本
process.stdout.write(event.delta);
break;
case "tool_execution_start": // 工具开始
console.log(`[${event.toolName}]`, event.args);
break;
case "agent_error": // 运行错误
console.error(event.error);
break;
}
});
const result = await agent.run(sessionKey, "列出当前目录的文件");
unsubscribe();
2. 会话管理器 — JSONL 持久化
问题:Agent 重启后如何恢复对话上下文?
// session.ts — 双写策略: 内存缓存 + 磁盘持久化
async append(sessionKey: string, message: Message): Promise<void> {
// 1. 内存缓存立即更新(读取零 I/O)
state.entries.push(entry);
// 2. 首条 assistant 消息后才落盘(避免空会话写磁盘)
if (!state.hasAssistant && message.role === "assistant") {
state.hasAssistant = true;
await rewriteSessionFile(state); // 首次: 完整写入 header + entries
} else if (state.hasAssistant) {
await fs.appendFile(filePath, line); // 后续: O(1) 追加
}
}
JSONL 格式:每行一条 entry,损坏行跳过不影响其他数据。写锁防并发。
3. 上下文 — 加载 + 裁剪 + 摘要压缩
问题:上下文窗口有限,如何在不丢失关键信息的情况下控制大小?
三层递进策略:
- Pruning — 裁剪旧的 tool_result(保留最近 N 条完整)
- Compaction — 超过阈值后,旧消息压缩为"历史摘要"
- Bootstrap — 按需加载 AGENTS.md 等配置文件(超长文件 head+tail 截断)
4. 记忆 — 长期记忆 (扩展层)
问题:如何让 Agent "记住"跨会话的信息?
// memory.ts — 关键词匹配 + 纯相关性排序(无时间衰减)
async search(query: string, limit = 5): Promise<MemorySearchResult[]> {
const queryTerms = query.toLowerCase().split(/\s+/);
for (const entry of this.entries) {
let score = 0;
for (const term of queryTerms) {
if (text.includes(term)) score += 1;
if (entry.tags.some(t => t.includes(term))) score += 0.5;
}
}
}
openclaw 用 SQLite-vec 做向量语义搜索 + BM25 关键词搜索,本项目简化为纯关键词相关性检索,不引入时间衰减。
5. 心跳 — 主动唤醒 (扩展层)
问题:Agent 如何"主动"工作,而不只是被动响应?
两层架构:
- HeartbeatWake(请求合并层):多来源触发 (interval/cron/exec/requested) → 250ms 合并窗口 → 双重缓冲
- HeartbeatRunner(调度层):活跃时间检查 → HEARTBEAT.md 解析 → 空内容跳过 → 重复抑制
| 设计点 | 为什么这样做 |
|---|---|
| setTimeout 而非 setInterval | 精确计算下次运行时间,避免漂移 |
| 250ms 合并窗口 | 防止多个事件同时触发 |
| 双重缓冲 | 运行中收到新请求不丢失 |
| 重复抑制 | 24h 内相同消息不重复发送 |
6. 网关 — WebSocket RPC 网关 (网关层)
问题:Agent 只能通过 CLI 本地使用,如何让多个客户端通过网络共享同一个 Agent?
openclaw 方案:WebSocket RPC + Pub/Sub 广播 + Challenge-Response 认证
终端 A ──┐ ┌── broadcast ──→ 终端 A
├── WebSocket ──→ Gateway ──┤
终端 B ──┘ RPC (Agent) └── broadcast ──→ 终端 B
12 个精华设计模式(全部从 openclaw 源码提炼):
| 设计模式 | 文件 | 对齐 openclaw |
|---|---|---|
| 协议帧 (req/res/event 判别联合) | protocol.ts |
protocol/schema/frames.ts |
| Challenge-Response 握手 | server.ts |
server/ws-connection.ts |
| Timing-safe token 比较 | handlers.ts |
auth.ts safeEqual |
| 方法路由 Handler Map | handlers.ts |
server-methods.ts |
| Pub/Sub 广播 + seq 递增 | server.ts |
server-broadcast.ts |
dropIfSlow 分级背压 |
server.ts |
server-broadcast.ts |
| Delta 限流 (150ms) | handlers.ts |
server-chat.ts emitChatDelta |
| Tick 心跳 30s | server.ts |
server-maintenance.ts |
| Pending Map + 超时 + flush | client.ts |
client.ts |
| Seq 间隙检测 | client.ts |
client.ts onGap |
| 指数退避重连 (1s→30s) | client.ts |
client.ts scheduleReconnect |
| Tick 心跳监视 (2 周期) | client.ts |
client.ts startTickWatch |
握手流程:
Server Client
│◄──── WebSocket 连接建立 ───────────│
├─ Event: connect.challenge ───────►│ { nonce, ts }
│◄── Request: connect ─────────────┤ { token, nonce }
├── 验证 token (timingSafeEqual) │
├─ Response: HelloOk ──────────────►│ { protocol, methods, events, policy }
ACK-then-stream 模式(聊天消息流转):
// 客户端发送
client.request("chat.send", { sessionKey: "main", message: "hello" });
// 服务端立即 ACK: { ok: true, payload: { sessionKey, runId } }
// 异步执行 agent.run(),事件流通过 broadcast 推送:
// Event { event: "chat", payload: { state: "delta", text: "..." } } ← 150ms 限流
// Event { event: "chat", payload: { state: "final", text: "..." } }
设计模式索引
| 模式 | 所在文件 | 说明 |
|---|---|---|
| EventStream 异步推拉 | agent-events.ts |
push/asyncIterator/end/result |
| Subscribe/Emit 观察者 | agent.ts |
listeners Set + subscribe 返回 unsubscribe |
| 双层循环 | agent-loop.ts |
outer (follow-up) + inner (tools+steering) |
| JSONL 追加日志 | session.ts |
每行一条消息,追加写入 |
| 三层递进裁剪 | context/pruning.ts |
tool_result → assistant → 保留最近 |
| 自适应分块摘要 | context/compaction.ts |
按 token 分块,逐块摘要 |
| 双重缓冲调度 | heartbeat.ts |
running + scheduled 状态机 |
| 三级编译策略 | tool-policy.ts |
allow/deny/none → 过滤工具列表 |
| Challenge-Response 握手 | gateway/server.ts |
nonce 挑战 → token 验证 → HelloOk |
| Timing-safe 认证 | gateway/handlers.ts |
crypto.timingSafeEqual 防计时攻击 |
| WebSocket RPC Pending Map | gateway/client.ts |
UUID id → Promise → 超时自动 reject |
| Pub/Sub 广播 + 背压 | gateway/server.ts |
seq 递增 + dropIfSlow + 慢消费者检测 |
| 指数退避重连 | gateway/client.ts |
1s → 2s → 4s → ... → 30s,成功后重置 |
| Tick 心跳监视 | gateway/client.ts |
2 周期无 tick → 主动断开触发重连 |
| Delta 限流 | gateway/handlers.ts |
150ms 内最多广播一次,累积文本 |
| ACK-then-stream | gateway/handlers.ts |
立即响应 → 异步执行 → 事件流推送 |
快速开始
要求:Node.js >=20
在项目根目录执行:
pnpm install
推荐用 .env 文件配置(项目启动时自动加载):
OPENCLAW_MINI_PROVIDER=anthropic
OPENCLAW_MINI_MODEL=claude-sonnet-4-20250514
OPENCLAW_MINI_BASE_URL=https://your-proxy.com/api/anthropic
ANTHROPIC_API_KEY=sk-xxx
pnpm dev
使用 OpenAI 兼容 API
智谱、DeepSeek、月之暗面 Kimi 等国产大模型均兼容 OpenAI 格式,通过 provider=openai + 自定义 BASE_URL 即可接入。
以智谱免费模型 GLM-4-Flash 为例:
OPENCLAW_MINI_PROVIDER=openai
OPENCLAW_MINI_MODEL=glm-4-flash
OPENCLAW_MINI_BASE_URL=https://open.bigmodel.cn/api/paas/v4
OPENCLAW_MINI_REASONING=none
OPENAI_API_KEY=你的API Key
pnpm dev
OPENCLAW_MINI_REASONING=none用于关闭 extended thinking,不支持该特性的模型需设置此项。
网关模式
除了 CLI 直连,还可以通过 Gateway 服务让多个客户端远程访问同一个 Agent:
# 终端 1:启动 Gateway 服务
pnpm gateway
# 终端 2:连接 Gateway
pnpm gateway:connect
可选参数:
pnpm gateway -- --port 8080 --token mySecret # 自定义端口和认证 token
pnpm gateway:connect -- --url ws://remote:18789 # 连接远程 Gateway
pnpm gateway:connect -- --session work # 指定会话名
客户端内命令:/health 查看状态、/sessions 列出会话、/quit 断开。
也支持 CLI 参数:
# 直接使用 Anthropic
ANTHROPIC_API_KEY=sk-xxx pnpm dev
# 指定 provider + model
pnpm dev -- --provider openai --model gpt-4o
# 使用代理
pnpm dev -- --base-url https://your-proxy.com/api/anthropic
# 关闭 extended thinking(不支持的模型需设置)
pnpm dev -- --reasoning none
使用示例
先确认基础检查能通过:
pnpm build
pnpm test
教学用示例:
pnpm example:basic
pnpm example:custom-tools
pnpm example:gateway
import { Agent } from "openclaw-mini";
const agent = new Agent({
provider: "anthropic",
baseUrl: "https://your-proxy.com/api/anthropic", // 可选,代理/自部署端点
// apiKey 不传则自动从环境变量读取
agentId: "main",
workspaceDir: process.cwd(),
reasoning: "medium", // 默认开启 extended thinking (minimal/low/medium/high/xhigh)
});
// 事件订阅
const unsubscribe = agent.subscribe((event) => {
switch (event.type) {
case "thinking_delta": // 流式思考
process.stdout.write(event.delta);
break;
case "message_delta": // 流式文本
process.stdout.write(event.delta);
break;
case "tool_execution_start":
console.log(`[${event.toolName}]`, event.args);
break;
}
});
const result = await agent.run("session-1", "请列出当前目录的文件");
console.log(`${result.turns} 轮, ${result.toolCalls} 次工具调用`);
unsubscribe();
学习路径建议
- 核心层优先:
agent-loop.ts→agent.ts→agent-events.ts→session.ts→context/ - 理解事件流:subscribe/emit 模式 + EventStream 异步推拉
- 扩展层选读:
memory.ts→skills.ts→heartbeat.ts(按兴趣) - 网关层进阶:
gateway/protocol.ts→gateway/server.ts→gateway/handlers.ts→gateway/client.ts - 对照 openclaw 源码:验证简化版是否抓住了核心
- 工程层跳过:除非你在做生产级 Agent,否则不需要关注
许可证
MIT
常见问题
相似工具推荐
openclaw
OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你
n8n
n8n 是一款面向技术团队的公平代码(fair-code)工作流自动化平台,旨在让用户在享受低代码快速构建便利的同时,保留编写自定义代码的灵活性。它主要解决了传统自动化工具要么过于封闭难以扩展、要么完全依赖手写代码效率低下的痛点,帮助用户轻松连接 400 多种应用与服务,实现复杂业务流程的自动化。 n8n 特别适合开发者、工程师以及具备一定技术背景的业务人员使用。其核心亮点在于“按需编码”:既可以通过直观的可视化界面拖拽节点搭建流程,也能随时插入 JavaScript 或 Python 代码、调用 npm 包来处理复杂逻辑。此外,n8n 原生集成了基于 LangChain 的 AI 能力,支持用户利用自有数据和模型构建智能体工作流。在部署方面,n8n 提供极高的自由度,支持完全自托管以保障数据隐私和控制权,也提供云端服务选项。凭借活跃的社区生态和数百个现成模板,n8n 让构建强大且可控的自动化系统变得简单高效。
AutoGPT
AutoGPT 是一个旨在让每个人都能轻松使用和构建 AI 的强大平台,核心功能是帮助用户创建、部署和管理能够自动执行复杂任务的连续型 AI 智能体。它解决了传统 AI 应用中需要频繁人工干预、难以自动化长流程工作的痛点,让用户只需设定目标,AI 即可自主规划步骤、调用工具并持续运行直至完成任务。 无论是开发者、研究人员,还是希望提升工作效率的普通用户,都能从 AutoGPT 中受益。开发者可利用其低代码界面快速定制专属智能体;研究人员能基于开源架构探索多智能体协作机制;而非技术背景用户也可直接选用预置的智能体模板,立即投入实际工作场景。 AutoGPT 的技术亮点在于其模块化“积木式”工作流设计——用户通过连接功能块即可构建复杂逻辑,每个块负责单一动作,灵活且易于调试。同时,平台支持本地自托管与云端部署两种模式,兼顾数据隐私与使用便捷性。配合完善的文档和一键安装脚本,即使是初次接触的用户也能在几分钟内启动自己的第一个 AI 智能体。AutoGPT 正致力于降低 AI 应用门槛,让人人都能成为 AI 的创造者与受益者。
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
opencode
OpenCode 是一款开源的 AI 编程助手(Coding Agent),旨在像一位智能搭档一样融入您的开发流程。它不仅仅是一个代码补全插件,而是一个能够理解项目上下文、自主规划任务并执行复杂编码操作的智能体。无论是生成全新功能、重构现有代码,还是排查难以定位的 Bug,OpenCode 都能通过自然语言交互高效完成,显著减少开发者在重复性劳动和上下文切换上的时间消耗。 这款工具专为软件开发者、工程师及技术研究人员设计,特别适合希望利用大模型能力来提升编码效率、加速原型开发或处理遗留代码维护的专业人群。其核心亮点在于完全开源的架构,这意味着用户可以审查代码逻辑、自定义行为策略,甚至私有化部署以保障数据安全,彻底打破了传统闭源 AI 助手的“黑盒”限制。 在技术体验上,OpenCode 提供了灵活的终端界面(Terminal UI)和正在测试中的桌面应用程序,支持 macOS、Windows 及 Linux 全平台。它兼容多种包管理工具,安装便捷,并能无缝集成到现有的开发环境中。无论您是追求极致控制权的资深极客,还是渴望提升产出的独立开发者,OpenCode 都提供了一个透明、可信