Files

2.4 KiB
Raw Permalink Blame History

Sage — AI 编程助手

功能上高度对应 opencode,但 UI 风格完全不同(Tokyo Night 配色 + Ink/React TUI),并额外内置长期记忆系统。

启动

# 在终端里直接运行(需要真实 TTY)
node sage.mjs

# 或者
cd packages/tui && node --import=tsx/esm src/index.tsx

配置 ~/.sage/config.json

{
  "defaultProvider": "anthropic",
  "defaultModel": "claude-sonnet-4-6",
  "theme": "tokyo-night",
  "providers": {
    "anthropic": { "apiKey": "sk-ant-..." },
    "openai":    { "apiKey": "sk-..." },
    "google":    { "apiKey": "..." },
    "openrouter":{ "apiKey": "sk-or-..." }
  },
  "memory": {
    "autoSummarize": true,
    "maxMemories": 500,
    "recallCount": 5
  }
}

也可以通过环境变量:ANTHROPIC_API_KEY / OPENAI_API_KEY / GOOGLE_API_KEY / OPENROUTER_API_KEY

键位

按键 功能
^B 切换 session 面板焦点
↑↓ 在 session 面板中导航 / 历史命令
Enter 发送消息 / 选中 session
^C 中断当前生成
Esc 关闭弹窗 / 清除错误

斜线命令

命令 说明
/remember <文字> 手动保存一条长期记忆
/memories 浏览 & 删除所有记忆
/model <id> [provider] 切换模型,如 /model gpt-4o openai
/new 新建 session
/clear 清空显示
/abort 停止生成
/help 命令列表

长期记忆

  • 每次发消息前,自动用 BM25 召回最相关的历史记忆注入上下文
  • 底部黄色条 ◊ 3 memories recalled 显示命中的记忆
  • 每 20 条消息自动用 LLM 摘要本次会话并写入记忆库
  • 数据存于 ~/.sage/sage.db(SQLite + FTS5)

内置工具

工具 说明
bash 执行 shell 命令
read 读取文件
write 写入文件
edit 精确字符串替换
glob 文件模式匹配
grep 正则内容搜索(ripgrep)

支持的 Provider

  • Anthropic — Claude Opus 4.8 / Sonnet 4.6 / Haiku 4.5
  • OpenAI — GPT-4o / GPT-4o-mini / o3
  • Google — Gemini 2.5 Pro / Flash
  • OpenRouter — 所有主流模型

项目结构

packages/
  core/    — DB、session、工具系统
  llm/     — 多 Provider + 流式调用循环
  memory/  — 长期记忆 (FTS5 BM25 检索)
  tui/     — Ink (React) TUI,Tokyo Night 风格