Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/majiayu000/sage --skill sage-architecture명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SOC 직업 분류 기준
SKILL.md 표시 중
| name | sage-architecture |
| description | Sage 项目整体架构设计指南,基于 Claude Code、Crush 最佳实践的融合方案 |
| when_to_use | 当涉及 Sage 项目架构设计、模块规划、重构决策时使用 |
| allowed_tools | ["Read","Grep","Glob","Edit","Write","Bash"] |
| user_invocable | true |
| priority | 100 |
每个模块 < 200 行,超过则拆分为子模块。
正确 ✓
src/tools/
├── mod.rs # 公开接口 (~50行)
├── registry.rs # 注册表 (~150行)
├── executor.rs # 执行器 (~180行)
└── permission/ # 子模块
├── mod.rs
├── rules.rs
└── handlers.rs
错误 ✗
src/tools/
├── mod.rs # 800行的巨型文件
┌─────────────────────────────────────────────────────────────┐
│ sage-cli (用户界面) │
├─────────────────────────────────────────────────────────────┤
│ sage-sdk (高级 API) │
├─────────────────────────────────────────────────────────────┤
│ sage-core (核心引擎) │
│ ┌─────────┬─────────┬─────────┬─────────┬─────────┐ │
│ │ agent │ llm │ tools │ skills │ context │ │
│ ├─────────┼─────────┼─────────┼─────────┼─────────┤ │
│ │recovery │learning │checkpoint│ mcp │ storage │ │
│ └─────────┴─────────┴─────────┴─────────┴─────────┘ │
├─────────────────────────────────────────────────────────────┤
│ sage-tools (工具实现) │
└─────────────────────────────────────────────────────────────┘
| 模块 | 功能 | 竞品对比 |
|---|---|---|
recovery/ | 熔断器、限流器、supervisor | OpenClaude/Crush 无 |
learning/ | 模式学习、用户偏好 | OpenClaude/Crush 无 |
checkpoints/ | 状态快照、回滚恢复 | OpenClaude/Crush 无 |
storage/ | 多后端(SQLite/Postgres) | Crush 仅 SQLite |
sandbox/ | 安全沙箱执行 | OpenClaude/Crush 无 |
绝不删除这些模块,它们是 Sage 的核心竞争力。
Prompt 模板化(而非硬编码):
prompts/
├── templates/
│ ├── coder.md.tpl # 主 system prompt
│ ├── task.md.tpl # 任务 prompt
│ └── initialize.md.tpl # 初始化 prompt
├── renderer.rs # 模板渲染器
└── variables.rs # 变量定义
工具描述文件(TOOL.md):
tools/builtin/
├── bash/
│ ├── mod.rs # 实现
│ └── TOOL.md # 描述(注入 system prompt)
├── edit/
│ ├── mod.rs
│ └── TOOL.md
| 当前 | 合并到 | 原因 |
|---|---|---|
settings/ | config/ | 功能重叠 |
session/ | context/ | 会话是上下文的一部分 |
sandbox/ | tools/sandbox/ | 沙箱服务于工具执行 |
modes/ | agent/modes/ | 模式是 agent 的状态 |
cost/ | telemetry/cost/ | 成本是遥测的一部分 |
| 当前 | 拆分为 | 原因 |
|---|---|---|
llm/ 过大 | llm/{client,providers,streaming,fallback}/ | 文件超 200 行 |
agent/unified/ | agent/executor/{loop,step,completion}/ | 职责过多 |
// 正确 ✓ - 缩写词当作普通单词
LlmClient, SseDecoder, McpServer, HttpRequest
// 错误 ✗ - 全大写缩写
LLMClient, SSEDecoder, MCPServer, HTTPRequest
// 正确 ✓ - 小写下划线
pub mod rate_limiter;
pub mod circuit_breaker;
// 错误 ✗ - 驼峰或连字符
pub mod rateLimiter;
pub mod circuit-breaker;
sage-cli → sage-sdk → sage-core → sage-tools
↓
外部 crates (tokio, serde, etc.)
禁止:
sage-core 依赖 sage-clisage-tools 依赖 sage-sdk创建新模块前确认:
//! 模块简短描述
//!
//! 详细说明(可选)
mod submodule1;
mod submodule2;
pub use submodule1::PublicType;
pub use submodule2::public_function;
// 私有实现(如果有)