skyloom 1.11.0 → 1.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/ci.yml +36 -36
- package/README.md +142 -46
- package/config/default.yaml +43 -47
- package/config/models.yaml +155 -0
- package/config/providers.yaml +39 -39
- package/config/skills/api_integrator/SKILL.md +15 -15
- package/config/skills/arch_designer/SKILL.md +13 -13
- package/config/skills/ci_cd_manager/SKILL.md +14 -14
- package/config/skills/code_analysis/SKILL.md +13 -13
- package/config/skills/code_generator/SKILL.md +12 -12
- package/config/skills/code_reviewer/SKILL.md +13 -13
- package/config/skills/content_writer/SKILL.md +14 -14
- package/config/skills/data_transformer/SKILL.md +15 -15
- package/config/skills/document_analysis/SKILL.md +13 -13
- package/config/skills/emotional_companion/SKILL.md +15 -15
- package/config/skills/performance_checker/SKILL.md +14 -14
- package/config/skills/security_auditor/SKILL.md +14 -14
- package/config/skills/self_evolve/SKILL.md +13 -13
- package/config/skills/sys_operator/SKILL.md +15 -15
- package/config/skills/task_planner/SKILL.md +14 -14
- package/config/skills/web_research/SKILL.md +14 -14
- package/config/skills/workflow_designer/SKILL.md +13 -13
- package/dist/agents/dew.js +52 -52
- package/dist/agents/fair.js +84 -84
- package/dist/agents/fog.js +30 -30
- package/dist/agents/frost.js +32 -32
- package/dist/agents/rain.js +32 -32
- package/dist/agents/snow.js +68 -68
- package/dist/cli/main.js +172 -47
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/tui.d.ts.map +1 -1
- package/dist/cli/tui.js +9 -1
- package/dist/cli/tui.js.map +1 -1
- package/dist/core/agent/task.d.ts +58 -0
- package/dist/core/agent/task.d.ts.map +1 -0
- package/dist/core/agent/task.js +83 -0
- package/dist/core/agent/task.js.map +1 -0
- package/dist/core/agent.d.ts +2 -45
- package/dist/core/agent.d.ts.map +1 -1
- package/dist/core/agent.js +61 -145
- package/dist/core/agent.js.map +1 -1
- package/dist/core/agent_helpers.d.ts +10 -0
- package/dist/core/agent_helpers.d.ts.map +1 -1
- package/dist/core/agent_helpers.js +39 -0
- package/dist/core/agent_helpers.js.map +1 -1
- package/dist/core/catalog.d.ts +71 -0
- package/dist/core/catalog.d.ts.map +1 -0
- package/dist/core/catalog.js +176 -0
- package/dist/core/catalog.js.map +1 -0
- package/dist/core/config.d.ts +8 -0
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +12 -4
- package/dist/core/config.js.map +1 -1
- package/dist/core/factory.js +16 -16
- package/dist/core/llm.d.ts +7 -0
- package/dist/core/llm.d.ts.map +1 -1
- package/dist/core/llm.js +139 -7
- package/dist/core/llm.js.map +1 -1
- package/dist/core/longdoc.js +5 -5
- package/dist/core/memory.d.ts.map +1 -1
- package/dist/core/memory.js +69 -62
- package/dist/core/memory.js.map +1 -1
- package/dist/core/theme.d.ts +46 -0
- package/dist/core/theme.d.ts.map +1 -0
- package/dist/core/theme.js +42 -0
- package/dist/core/theme.js.map +1 -0
- package/dist/web/server.js +542 -519
- package/dist/web/server.js.map +1 -1
- package/docs/AESTHETIC_DESIGN.md +144 -0
- package/docs/OPTIMIZATION_PLAN.md +178 -0
- package/package.json +60 -60
- package/scripts/install.js +48 -48
- package/scripts/link.js +10 -10
- package/setup.bat +79 -79
- package/skill-test-ty2fOA/test.md +10 -10
- package/src/agents/dew.ts +70 -70
- package/src/agents/fair.ts +102 -102
- package/src/agents/fog.ts +48 -48
- package/src/agents/frost.ts +50 -50
- package/src/agents/rain.ts +50 -50
- package/src/agents/snow.ts +239 -239
- package/src/cli/main.ts +425 -316
- package/src/cli/mode.ts +58 -58
- package/src/cli/tui.ts +272 -268
- package/src/core/agent/task.ts +100 -0
- package/src/core/agent.ts +1446 -1549
- package/src/core/agent_helpers.ts +496 -461
- package/src/core/arbitrate.ts +162 -162
- package/src/core/catalog.ts +178 -0
- package/src/core/checkpoint.ts +94 -94
- package/src/core/config.ts +20 -4
- package/src/core/estimate.ts +104 -104
- package/src/core/evolve.ts +191 -191
- package/src/core/factory.ts +627 -627
- package/src/core/filter.ts +103 -103
- package/src/core/graph.ts +156 -156
- package/src/core/icons.ts +53 -53
- package/src/core/index.ts +37 -37
- package/src/core/learn.ts +146 -146
- package/src/core/llm.ts +108 -5
- package/src/core/longdoc.ts +155 -155
- package/src/core/mcp_server.ts +176 -176
- package/src/core/memory.ts +1178 -1171
- package/src/core/profile.ts +255 -255
- package/src/core/router.ts +124 -124
- package/src/core/sandbox.ts +142 -142
- package/src/core/security.ts +243 -243
- package/src/core/skill.ts +342 -342
- package/src/core/theme.ts +65 -0
- package/src/core/tool_router.ts +193 -193
- package/src/core/vector.ts +152 -152
- package/src/core/workspace.ts +150 -150
- package/src/plugins/loader.ts +66 -66
- package/src/skills/loader.ts +46 -46
- package/src/sql.js.d.ts +29 -29
- package/src/tools/builtin.ts +380 -380
- package/src/tools/computer.ts +269 -269
- package/src/tools/delegate.ts +49 -49
- package/src/web/server.ts +660 -634
- package/src/web/tts.ts +93 -93
- package/tests/agent_helpers.test.ts +48 -0
- package/tests/bus.test.ts +121 -121
- package/tests/catalog.test.ts +86 -0
- package/tests/config.test.ts +41 -0
- package/tests/icons.test.ts +45 -45
- package/tests/memory.test.ts +147 -0
- package/tests/router.test.ts +86 -86
- package/tests/schemas.test.ts +51 -51
- package/tests/semantic.test.ts +83 -83
- package/tests/setup.ts +10 -10
- package/tests/skill.test.ts +172 -172
- package/tests/task.test.ts +60 -0
- package/tests/tool.test.ts +108 -108
- package/tests/tool_router.test.ts +71 -71
- package/vitest.config.ts +17 -17
package/.github/workflows/ci.yml
CHANGED
|
@@ -1,36 +1,36 @@
|
|
|
1
|
-
name: CI
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
push:
|
|
5
|
-
branches: [ main, master ]
|
|
6
|
-
pull_request:
|
|
7
|
-
branches: [ main, master ]
|
|
8
|
-
|
|
9
|
-
jobs:
|
|
10
|
-
build-and-test:
|
|
11
|
-
runs-on: ubuntu-latest
|
|
12
|
-
|
|
13
|
-
strategy:
|
|
14
|
-
matrix:
|
|
15
|
-
node-version: [18, 20, 22]
|
|
16
|
-
|
|
17
|
-
steps:
|
|
18
|
-
- uses: actions/checkout@v4
|
|
19
|
-
|
|
20
|
-
- name: Use Node.js ${{ matrix.node-version }}
|
|
21
|
-
uses: actions/setup-node@v4
|
|
22
|
-
with:
|
|
23
|
-
node-version: ${{ matrix.node-version }}
|
|
24
|
-
cache: 'npm'
|
|
25
|
-
|
|
26
|
-
- name: Install dependencies
|
|
27
|
-
run: npm ci
|
|
28
|
-
|
|
29
|
-
- name: TypeScript compile check
|
|
30
|
-
run: npx tsc --noEmit
|
|
31
|
-
|
|
32
|
-
- name: Run tests
|
|
33
|
-
run: npx vitest run
|
|
34
|
-
|
|
35
|
-
- name: Build
|
|
36
|
-
run: npm run build
|
|
1
|
+
name: CI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [ main, master ]
|
|
6
|
+
pull_request:
|
|
7
|
+
branches: [ main, master ]
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
build-and-test:
|
|
11
|
+
runs-on: ubuntu-latest
|
|
12
|
+
|
|
13
|
+
strategy:
|
|
14
|
+
matrix:
|
|
15
|
+
node-version: [18, 20, 22]
|
|
16
|
+
|
|
17
|
+
steps:
|
|
18
|
+
- uses: actions/checkout@v4
|
|
19
|
+
|
|
20
|
+
- name: Use Node.js ${{ matrix.node-version }}
|
|
21
|
+
uses: actions/setup-node@v4
|
|
22
|
+
with:
|
|
23
|
+
node-version: ${{ matrix.node-version }}
|
|
24
|
+
cache: 'npm'
|
|
25
|
+
|
|
26
|
+
- name: Install dependencies
|
|
27
|
+
run: npm ci
|
|
28
|
+
|
|
29
|
+
- name: TypeScript compile check
|
|
30
|
+
run: npx tsc --noEmit
|
|
31
|
+
|
|
32
|
+
- name: Run tests
|
|
33
|
+
run: npx vitest run
|
|
34
|
+
|
|
35
|
+
- name: Build
|
|
36
|
+
run: npm run build
|
package/README.md
CHANGED
|
@@ -1,67 +1,163 @@
|
|
|
1
1
|
# 天空织机 · Skyloom
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
<div align="center">
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
**≋ 雾 · ⸽ 雨 · ✱ 霜 · ❉ 雪 · ∘ 露 · ☼ 晴**
|
|
6
|
+
|
|
7
|
+
*六位 Agent,一支团队 —— 一座水墨气象台。*
|
|
8
|
+
|
|
9
|
+
[](https://github.com/susurrune/skyloom-ts/actions)
|
|
10
|
+
[](https://www.npmjs.com/package/skyloom)
|
|
11
|
+
[](LICENSE)
|
|
12
|
+
|
|
13
|
+
</div>
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
**Skyloom** 是一个本地优先的多智能体终端框架。六个 Agent 各司其职,通过事件总线、三层记忆、DAG 编排引擎协作完成完整工作流。不是又一个 LLM 聊天客户端,而是一个**分工明确的 AI 团队**——而且,它好看。
|
|
18
|
+
|
|
19
|
+
每个 Agent 是一种天气、一味矿物颜料、一句古诗。这套贯穿 CLI、TUI 与 Web 的「水墨气象台」意象,是 Skyloom 的辨识度所在。设计理念见 **[美学设计系统](docs/AESTHETIC_DESIGN.md)**。
|
|
20
|
+
|
|
21
|
+
## 安装
|
|
6
22
|
|
|
7
23
|
```bash
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
cd skyloom-ts
|
|
11
|
-
npm run setup # ← 一条命令:安装 → 编译 → 注册全局 sky 命令
|
|
12
|
-
|
|
13
|
-
# 方式二:全局安装(像 Claude Code 一样)
|
|
14
|
-
npm install -g skyloom # 发布后
|
|
15
|
-
# 或本地:
|
|
16
|
-
npm install -g ./ # 装完后终端输入 sky 即可使用
|
|
17
|
-
|
|
18
|
-
# 方式三:直接运行(免安装)
|
|
19
|
-
npx skyloom
|
|
24
|
+
npm install -g skyloom
|
|
25
|
+
sky
|
|
20
26
|
```
|
|
21
27
|
|
|
22
|
-
|
|
28
|
+
首次启动自动进入设置向导 — 选 provider → 输 API Key → 选模型,全部交互式完成。Key 保存在 `~/.skyloom/config.yaml`,更新不丢。随时 `/setup` 切换。
|
|
29
|
+
|
|
30
|
+
### 支持的 Provider(9 家)
|
|
31
|
+
|
|
32
|
+
| Provider | 可调模型 |
|
|
33
|
+
|----------|------|
|
|
34
|
+
| **DeepSeek** | deepseek-chat, deepseek-reasoner, deepseek-v4-flash, deepseek-v4-pro |
|
|
35
|
+
| **OpenAI** | gpt-4.1, gpt-4.1-mini, gpt-4o, gpt-4o-mini, o4-mini |
|
|
36
|
+
| **Anthropic** | claude-sonnet-4-6, claude-opus-4-7, claude-haiku-4-5 |
|
|
37
|
+
| **Google** | gemini-2.5-pro, gemini-2.5-flash |
|
|
38
|
+
| **Groq** | llama-4-scout, llama-3.3-70b, mixtral-8x7b |
|
|
39
|
+
| **OpenRouter** | gpt-4.1, claude-sonnet-4-6, gemini-2.5-flash, llama-4-maverick |
|
|
40
|
+
| **Mistral** | mistral-large, mistral-small |
|
|
41
|
+
| **xAI** | grok-4 |
|
|
42
|
+
| **Ollama** | llama3, qwen2.5, deepseek-r1(本地) |
|
|
43
|
+
|
|
44
|
+
> 模型目录是单一事实源,含上下文窗口与成本数据,参见 [`config/models.yaml`](config/models.yaml)。
|
|
23
45
|
|
|
24
46
|
## 命令
|
|
25
47
|
|
|
26
|
-
|
|
48
|
+
```bash
|
|
49
|
+
sky # 全屏 TUI 交互对话
|
|
50
|
+
sky fog # 直接和雾对话
|
|
51
|
+
sky task "写一个CLI" # 多 Agent 编排
|
|
52
|
+
sky web # Web UI → http://localhost:3000
|
|
53
|
+
sky apikey set <p> # 保存 API Key
|
|
54
|
+
sky config # 查看配置
|
|
55
|
+
sky mcp # MCP Server
|
|
56
|
+
sky init # 初始化
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## TUI
|
|
60
|
+
|
|
61
|
+
输入 `/` 弹出命令面板,↑↓ 选择,字母过滤,Enter 确认:
|
|
62
|
+
|
|
63
|
+
```
|
|
64
|
+
┌── 天空织机 v1.13 ──────────────────┐
|
|
65
|
+
├──────────┬─────────────────────────┤
|
|
66
|
+
│ ≋ 雾 Fog│ │
|
|
67
|
+
│ ⸽ 雨 ▸ │ 用户消息 │
|
|
68
|
+
│ ✱ 霜 │ │
|
|
69
|
+
│ ❉ 雪 │ 助手回复 │
|
|
70
|
+
│ ∘ 露 │ │
|
|
71
|
+
│ ☼ 晴 │ │
|
|
72
|
+
├──────────┴─────────────────────────┤
|
|
73
|
+
│ ┌── commands ────────────────────┐ │
|
|
74
|
+
│ ▶ ≋ /fog 雾 Fog · 松烟墨 │ │
|
|
75
|
+
│ /setup 配置向导 │ │
|
|
76
|
+
│ /cost 费用统计 │ │
|
|
77
|
+
│ └────────────────────────────────┘ │
|
|
78
|
+
│ > / │
|
|
79
|
+
└─────────────────────────────────────┘
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## Slash 命令
|
|
83
|
+
|
|
84
|
+
| 类别 | 命令 |
|
|
27
85
|
|------|------|
|
|
28
|
-
|
|
|
29
|
-
|
|
|
30
|
-
|
|
|
31
|
-
|
|
|
32
|
-
|
|
|
33
|
-
| `sky mcp` | MCP Server(Claude Desktop 可连接) |
|
|
34
|
-
| `sky init` | 初始化配置 |
|
|
35
|
-
|
|
36
|
-
## 六灵 · Agents
|
|
37
|
-
|
|
38
|
-
| | 名称 | 矿物色 | 职责 |
|
|
39
|
-
|--|------|--------|------|
|
|
40
|
-
| ≋ | **雾** Fog | 松烟墨 | 探索洞察 · 研究 |
|
|
41
|
-
| ⸽ | **雨** Rain | 石青 | 创造产出 · 代码 |
|
|
42
|
-
| ✱ | **霜** Frost | 石绿 | 精炼品质 · 审查 |
|
|
43
|
-
| ❉ | **雪** Snow | 铅白 | 架构规划 · 编排 |
|
|
44
|
-
| ∘ | **露** Dew | 赭石 | 可靠守护 · 运维 |
|
|
45
|
-
| ☼ | **晴** Fair | 朱砂 | 情感陪伴 · 温暖 |
|
|
86
|
+
| **Agent** | `/fog /rain /frost /snow /dew /fair` — 切换 |
|
|
87
|
+
| **配置** | `/setup /apikey /model` — 安装向导、设置 Key、模型 |
|
|
88
|
+
| **信息** | `/status /cost /memory /sessions /workspace /version` |
|
|
89
|
+
| **操作** | `/compact /retry /clear /task <goal>` |
|
|
90
|
+
| **退出** | `/quit /exit` |
|
|
46
91
|
|
|
47
|
-
##
|
|
92
|
+
## 六灵
|
|
93
|
+
|
|
94
|
+
| Agent | 矿物色 | 职责 | 技能 |
|
|
95
|
+
|-------|--------|------|------|
|
|
96
|
+
| ≋ **雾** Fog | 松烟墨 `#4a4a44` | 探索洞察 | web_research, code_analysis |
|
|
97
|
+
| ⸽ **雨** Rain | 石青 `#2a5c8a` | 创造产出 | code_generator, content_writer |
|
|
98
|
+
| ✱ **霜** Frost | 石绿 `#3a7a6e` | 精炼品质 | code_reviewer, security_auditor |
|
|
99
|
+
| ❉ **雪** Snow | 铅白 `#8a8a82` | 架构规划 | task_planner, arch_designer |
|
|
100
|
+
| ∘ **露** Dew | 赭石 `#8b6914` | 可靠守护 | sys_operator, ci_cd_manager |
|
|
101
|
+
| ☼ **晴** Fair | 朱砂 `#b3342d` | 情感陪伴 | emotional_companion, self_evolve |
|
|
102
|
+
|
|
103
|
+
## 核心能力
|
|
104
|
+
|
|
105
|
+
| 模块 | 说明 |
|
|
106
|
+
|------|------|
|
|
107
|
+
| **真流式** | CLI 逐字渲染、Web SSE 推流;推理/正文/工具调用分层呈现 |
|
|
108
|
+
| **智能路由** | 输入自动分 direct/single/orchestrate 三级,< 1ms |
|
|
109
|
+
| **Pipeline 模板** | 9 种预定义工作流,命中后跳过 LLM 拆解 |
|
|
110
|
+
| **三层记忆** | Short-term(SQLite) + Working(内存) + Long-term(持久化) |
|
|
111
|
+
| **技能系统** | 17 个内置 SKILL.md,运行时动态激活 |
|
|
112
|
+
| **安全体系** | 5 级危险等级、红线拦截、沙箱隔离、审计日志 |
|
|
113
|
+
| **自进化** | 失败模式分析、Prompt 自动优化、经验库去重 |
|
|
114
|
+
| **向量搜索** | TF-IDF + Cosine,零依赖语义检索 |
|
|
115
|
+
| **知识图谱** | 实体-关系三重存储,自动从对话提取 |
|
|
116
|
+
| **输出过滤** | API Key/密码/私钥/邮箱/内网IP 自动脱敏 |
|
|
117
|
+
| **电脑操作** | 10 个跨平台工具(应用/诊断/进程/软件/服务) |
|
|
118
|
+
| **MCP** | 双向桥:Client 连接外部 + Server 暴露给 Claude Desktop |
|
|
119
|
+
|
|
120
|
+
## Web UI · 水墨气象台
|
|
48
121
|
|
|
49
122
|
```bash
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
npm run dev # watch 模式
|
|
53
|
-
npm install -g ./ # 本地全局安装
|
|
123
|
+
sky web
|
|
124
|
+
# 打开 http://localhost:3000
|
|
54
125
|
```
|
|
55
126
|
|
|
127
|
+
宣纸质感、六矿物颜料、按 Agent 切换的气象粒子(雾飘/雨落/霜结/雪降/露凝/晴升)与印章汉字。`⌘1-6` 唤灵切换。回复经 SSE **真流式**推送,工具调用呈现为"气象事件"。
|
|
128
|
+
|
|
56
129
|
## 架构
|
|
57
130
|
|
|
58
131
|
```
|
|
59
132
|
src/
|
|
60
|
-
├──
|
|
61
|
-
├──
|
|
62
|
-
|
|
63
|
-
├──
|
|
64
|
-
├──
|
|
65
|
-
├──
|
|
66
|
-
|
|
133
|
+
├── cli/ main.ts (命令注册+TUI循环), tui.ts (全屏渲染+弹窗), mode.ts
|
|
134
|
+
├── core/ agent, factory, llm, memory, tool, bus, security, learn,
|
|
135
|
+
│ evolve, sandbox, vector, graph, filter, estimate, arbitrate, ...
|
|
136
|
+
├── agents/ 6 Agent (fog/rain/frost/snow/dew/fair)
|
|
137
|
+
├── tools/ builtin, computer, delegate
|
|
138
|
+
├── web/ server (水墨气象台 HTTP+UI), tts
|
|
139
|
+
├── skills/ 技能加载器
|
|
140
|
+
├── plugins/ 插件加载器
|
|
141
|
+
config/
|
|
142
|
+
├── skills/ 17 个内置 SKILL.md
|
|
143
|
+
├── default.yaml providers.yaml models.yaml
|
|
144
|
+
tests/ 13 套件 · 129 Vitest 用例
|
|
145
|
+
docs/ OPTIMIZATION_PLAN.md AESTHETIC_DESIGN.md
|
|
67
146
|
```
|
|
147
|
+
|
|
148
|
+
## 开发
|
|
149
|
+
|
|
150
|
+
```bash
|
|
151
|
+
npm test # vitest
|
|
152
|
+
npm run build # tsc
|
|
153
|
+
npm run dev # watch
|
|
154
|
+
npm run type-check
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
## 路线图
|
|
158
|
+
|
|
159
|
+
Skyloom 正朝「顶级开源 Agent 框架」演进,对标 [opencode](https://github.com/sst/opencode) 的架构与 Claude Code 的交互范式。完整规划见 **[优化计划](docs/OPTIMIZATION_PLAN.md)**:统一模型目录 → 真流式 → `agent.ts` 分层 → Session 与自动上下文压缩 → 工具/插件健壮性 → 测试门禁 → 美学工程化。
|
|
160
|
+
|
|
161
|
+
---
|
|
162
|
+
|
|
163
|
+
**[MIT License](LICENSE)** · **v1.13.0** · 全功能迁移自 [Python 原版](https://github.com/susurrune/skyloom)
|
package/config/default.yaml
CHANGED
|
@@ -1,47 +1,43 @@
|
|
|
1
|
-
# Skyloom default configuration
|
|
2
|
-
llm:
|
|
3
|
-
default_model: gpt-4o
|
|
4
|
-
language: zh
|
|
5
|
-
max_retries: 2
|
|
6
|
-
temperature: 0.7
|
|
7
|
-
max_tokens: 4096
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
temperature: 0.7
|
|
16
|
-
frost:
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
temperature: 0.
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
- ~/.skyloom/plugins
|
|
45
|
-
|
|
46
|
-
mcp:
|
|
47
|
-
servers: []
|
|
1
|
+
# Skyloom default configuration
|
|
2
|
+
llm:
|
|
3
|
+
default_model: gpt-4o
|
|
4
|
+
language: zh
|
|
5
|
+
max_retries: 2
|
|
6
|
+
temperature: 0.7
|
|
7
|
+
max_tokens: 4096
|
|
8
|
+
|
|
9
|
+
# Per-agent models inherit `llm.default_model` (or the user's wizard-chosen
|
|
10
|
+
# top-level default_model) unless an agent sets its own `model:` here.
|
|
11
|
+
agents:
|
|
12
|
+
fog:
|
|
13
|
+
temperature: 0.7
|
|
14
|
+
rain:
|
|
15
|
+
temperature: 0.7
|
|
16
|
+
frost:
|
|
17
|
+
temperature: 0.3
|
|
18
|
+
snow:
|
|
19
|
+
temperature: 0.5
|
|
20
|
+
dew:
|
|
21
|
+
temperature: 0.3
|
|
22
|
+
fair:
|
|
23
|
+
temperature: 0.9
|
|
24
|
+
|
|
25
|
+
memory:
|
|
26
|
+
db_path: ~/.skyloom/memory.db
|
|
27
|
+
short_term_limit: 100
|
|
28
|
+
max_persisted_messages: 2000
|
|
29
|
+
|
|
30
|
+
workspace:
|
|
31
|
+
path: auto
|
|
32
|
+
|
|
33
|
+
cli:
|
|
34
|
+
default_agent: fog
|
|
35
|
+
approval_mode: interactive
|
|
36
|
+
|
|
37
|
+
plugins:
|
|
38
|
+
enabled: true
|
|
39
|
+
directories:
|
|
40
|
+
- ~/.skyloom/plugins
|
|
41
|
+
|
|
42
|
+
mcp:
|
|
43
|
+
servers: []
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
# Model Catalog — latest models per provider
|
|
2
|
+
# Every model listed here is directly callable via the LLM client.
|
|
3
|
+
|
|
4
|
+
openai:
|
|
5
|
+
- name: gpt-4.1
|
|
6
|
+
context: 1048576
|
|
7
|
+
cost_in: 2.00
|
|
8
|
+
cost_out: 8.00
|
|
9
|
+
desc: "旗舰,百万token上下文"
|
|
10
|
+
- name: gpt-4.1-mini
|
|
11
|
+
context: 1048576
|
|
12
|
+
cost_in: 0.40
|
|
13
|
+
cost_out: 1.60
|
|
14
|
+
desc: "轻量,同款长上下文"
|
|
15
|
+
- name: gpt-4o
|
|
16
|
+
context: 131072
|
|
17
|
+
cost_in: 2.50
|
|
18
|
+
cost_out: 10.00
|
|
19
|
+
desc: "多模态全能"
|
|
20
|
+
- name: gpt-4o-mini
|
|
21
|
+
context: 131072
|
|
22
|
+
cost_in: 0.15
|
|
23
|
+
cost_out: 0.60
|
|
24
|
+
desc: "小模型高性价比"
|
|
25
|
+
- name: o4-mini
|
|
26
|
+
context: 204800
|
|
27
|
+
cost_in: 1.10
|
|
28
|
+
cost_out: 4.40
|
|
29
|
+
desc: "推理模型轻量版"
|
|
30
|
+
|
|
31
|
+
anthropic:
|
|
32
|
+
- name: claude-sonnet-4-6
|
|
33
|
+
context: 204800
|
|
34
|
+
cost_in: 3.00
|
|
35
|
+
cost_out: 15.00
|
|
36
|
+
desc: "编程+推理首选"
|
|
37
|
+
- name: claude-opus-4-7
|
|
38
|
+
context: 204800
|
|
39
|
+
cost_in: 5.00
|
|
40
|
+
cost_out: 25.00
|
|
41
|
+
desc: "最强旗舰"
|
|
42
|
+
- name: claude-haiku-4-5
|
|
43
|
+
context: 204800
|
|
44
|
+
cost_in: 0.80
|
|
45
|
+
cost_out: 4.00
|
|
46
|
+
desc: "速度最快"
|
|
47
|
+
|
|
48
|
+
deepseek:
|
|
49
|
+
- name: deepseek-chat
|
|
50
|
+
context: 131072
|
|
51
|
+
cost_in: 0.27
|
|
52
|
+
cost_out: 1.10
|
|
53
|
+
desc: "通用对话"
|
|
54
|
+
- name: deepseek-reasoner
|
|
55
|
+
context: 65536
|
|
56
|
+
cost_in: 0.55
|
|
57
|
+
cost_out: 2.19
|
|
58
|
+
desc: "深度推理 (alias → v4-flash)"
|
|
59
|
+
- name: deepseek-v4-flash
|
|
60
|
+
context: 131072
|
|
61
|
+
cost_in: 0.14
|
|
62
|
+
cost_out: 0.28
|
|
63
|
+
desc: "极速低成本 (deepseek-chat 实际后端)"
|
|
64
|
+
- name: deepseek-v4-pro
|
|
65
|
+
context: 131072
|
|
66
|
+
cost_in: 1.74
|
|
67
|
+
cost_out: 3.48
|
|
68
|
+
desc: "旗舰版"
|
|
69
|
+
|
|
70
|
+
google:
|
|
71
|
+
- name: gemini-2.5-pro
|
|
72
|
+
context: 1048576
|
|
73
|
+
cost_in: 1.25
|
|
74
|
+
cost_out: 10.00
|
|
75
|
+
desc: "旗舰推理"
|
|
76
|
+
- name: gemini-2.5-flash
|
|
77
|
+
context: 1048576
|
|
78
|
+
cost_in: 0.30
|
|
79
|
+
cost_out: 2.50
|
|
80
|
+
desc: "快速长上下文"
|
|
81
|
+
|
|
82
|
+
groq:
|
|
83
|
+
- name: llama-4-scout
|
|
84
|
+
context: 131072
|
|
85
|
+
cost_in: 0
|
|
86
|
+
cost_out: 0
|
|
87
|
+
desc: "Meta最新,免费额度"
|
|
88
|
+
- name: llama-3.3-70b
|
|
89
|
+
context: 131072
|
|
90
|
+
cost_in: 0
|
|
91
|
+
cost_out: 0
|
|
92
|
+
desc: "Llama旗舰"
|
|
93
|
+
- name: mixtral-8x7b
|
|
94
|
+
context: 32768
|
|
95
|
+
cost_in: 0
|
|
96
|
+
cost_out: 0
|
|
97
|
+
desc: "MoE混合专家"
|
|
98
|
+
|
|
99
|
+
mistral:
|
|
100
|
+
- name: mistral-large
|
|
101
|
+
context: 131072
|
|
102
|
+
cost_in: 2.00
|
|
103
|
+
cost_out: 6.00
|
|
104
|
+
desc: "旗舰通用"
|
|
105
|
+
- name: mistral-small
|
|
106
|
+
context: 32768
|
|
107
|
+
cost_in: 0.20
|
|
108
|
+
cost_out: 0.60
|
|
109
|
+
desc: "轻量高效"
|
|
110
|
+
|
|
111
|
+
openrouter:
|
|
112
|
+
- name: openai/gpt-4.1
|
|
113
|
+
context: 1048576
|
|
114
|
+
cost_in: 2.00
|
|
115
|
+
cost_out: 8.00
|
|
116
|
+
desc: "通过OpenRouter"
|
|
117
|
+
- name: anthropic/claude-sonnet-4-6
|
|
118
|
+
context: 204800
|
|
119
|
+
cost_in: 3.00
|
|
120
|
+
cost_out: 15.00
|
|
121
|
+
desc: "通过OpenRouter"
|
|
122
|
+
- name: google/gemini-2.5-flash
|
|
123
|
+
context: 1048576
|
|
124
|
+
cost_in: 0.30
|
|
125
|
+
cost_out: 2.50
|
|
126
|
+
desc: "通过OpenRouter"
|
|
127
|
+
- name: meta-llama/llama-4-maverick
|
|
128
|
+
context: 131072
|
|
129
|
+
cost_in: 0.20
|
|
130
|
+
cost_out: 0.60
|
|
131
|
+
desc: "Meta旗舰"
|
|
132
|
+
|
|
133
|
+
xai:
|
|
134
|
+
- name: grok-4
|
|
135
|
+
context: 131072
|
|
136
|
+
cost_in: 3.00
|
|
137
|
+
cost_out: 15.00
|
|
138
|
+
desc: "Grok最新"
|
|
139
|
+
|
|
140
|
+
ollama:
|
|
141
|
+
- name: llama3
|
|
142
|
+
context: 8192
|
|
143
|
+
cost_in: 0
|
|
144
|
+
cost_out: 0
|
|
145
|
+
desc: "本地部署"
|
|
146
|
+
- name: qwen2.5
|
|
147
|
+
context: 32768
|
|
148
|
+
cost_in: 0
|
|
149
|
+
cost_out: 0
|
|
150
|
+
desc: "通义千问"
|
|
151
|
+
- name: deepseek-r1
|
|
152
|
+
context: 32768
|
|
153
|
+
cost_in: 0
|
|
154
|
+
cost_out: 0
|
|
155
|
+
desc: "本地推理"
|
package/config/providers.yaml
CHANGED
|
@@ -1,39 +1,39 @@
|
|
|
1
|
-
# Provider catalog — API key env vars, base URLs, docs
|
|
2
|
-
openai:
|
|
3
|
-
env_var: OPENAI_API_KEY
|
|
4
|
-
base_url: https://api.openai.com/v1
|
|
5
|
-
docs_url: https://platform.openai.com/api-keys
|
|
6
|
-
|
|
7
|
-
anthropic:
|
|
8
|
-
env_var: ANTHROPIC_API_KEY
|
|
9
|
-
base_url: https://api.anthropic.com/v1
|
|
10
|
-
docs_url: https://console.anthropic.com/settings/keys
|
|
11
|
-
|
|
12
|
-
deepseek:
|
|
13
|
-
env_var: DEEPSEEK_API_KEY
|
|
14
|
-
base_url: https://api.deepseek.com/v1
|
|
15
|
-
docs_url: https://platform.deepseek.com/api_keys
|
|
16
|
-
|
|
17
|
-
groq:
|
|
18
|
-
env_var: GROQ_API_KEY
|
|
19
|
-
base_url: https://api.groq.com/openai/v1
|
|
20
|
-
|
|
21
|
-
mistral:
|
|
22
|
-
env_var: MISTRAL_API_KEY
|
|
23
|
-
base_url: https://api.mistral.ai/v1
|
|
24
|
-
|
|
25
|
-
cohere:
|
|
26
|
-
env_var: COHERE_API_KEY
|
|
27
|
-
base_url: https://api.cohere.ai/v1
|
|
28
|
-
|
|
29
|
-
openrouter:
|
|
30
|
-
env_var: OPENROUTER_API_KEY
|
|
31
|
-
base_url: https://openrouter.ai/api/v1
|
|
32
|
-
|
|
33
|
-
gemini:
|
|
34
|
-
env_var: GEMINI_API_KEY
|
|
35
|
-
base_url: https://generativelanguage.googleapis.com/v1beta
|
|
36
|
-
|
|
37
|
-
ollama:
|
|
38
|
-
base_url: http://localhost:11434/v1
|
|
39
|
-
env_var: OLLAMA_HOST
|
|
1
|
+
# Provider catalog — API key env vars, base URLs, docs
|
|
2
|
+
openai:
|
|
3
|
+
env_var: OPENAI_API_KEY
|
|
4
|
+
base_url: https://api.openai.com/v1
|
|
5
|
+
docs_url: https://platform.openai.com/api-keys
|
|
6
|
+
|
|
7
|
+
anthropic:
|
|
8
|
+
env_var: ANTHROPIC_API_KEY
|
|
9
|
+
base_url: https://api.anthropic.com/v1
|
|
10
|
+
docs_url: https://console.anthropic.com/settings/keys
|
|
11
|
+
|
|
12
|
+
deepseek:
|
|
13
|
+
env_var: DEEPSEEK_API_KEY
|
|
14
|
+
base_url: https://api.deepseek.com/v1
|
|
15
|
+
docs_url: https://platform.deepseek.com/api_keys
|
|
16
|
+
|
|
17
|
+
groq:
|
|
18
|
+
env_var: GROQ_API_KEY
|
|
19
|
+
base_url: https://api.groq.com/openai/v1
|
|
20
|
+
|
|
21
|
+
mistral:
|
|
22
|
+
env_var: MISTRAL_API_KEY
|
|
23
|
+
base_url: https://api.mistral.ai/v1
|
|
24
|
+
|
|
25
|
+
cohere:
|
|
26
|
+
env_var: COHERE_API_KEY
|
|
27
|
+
base_url: https://api.cohere.ai/v1
|
|
28
|
+
|
|
29
|
+
openrouter:
|
|
30
|
+
env_var: OPENROUTER_API_KEY
|
|
31
|
+
base_url: https://openrouter.ai/api/v1
|
|
32
|
+
|
|
33
|
+
gemini:
|
|
34
|
+
env_var: GEMINI_API_KEY
|
|
35
|
+
base_url: https://generativelanguage.googleapis.com/v1beta
|
|
36
|
+
|
|
37
|
+
ollama:
|
|
38
|
+
base_url: http://localhost:11434/v1
|
|
39
|
+
env_var: OLLAMA_HOST
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: api_integrator
|
|
3
|
-
description: "API integration specialist — REST, GraphQL, OAuth, webhooks"
|
|
4
|
-
triggers:
|
|
5
|
-
- "api"
|
|
6
|
-
- "integration"
|
|
7
|
-
- "rest"
|
|
8
|
-
- "graphql"
|
|
9
|
-
- "oauth"
|
|
10
|
-
- "webhook"
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
## API integration specialist
|
|
14
|
-
|
|
15
|
-
Integrate external REST/GraphQL APIs. Use http_get and http_post to explore endpoints. Verify responses before writing integration code. Always handle errors and rate limits.
|
|
1
|
+
---
|
|
2
|
+
name: api_integrator
|
|
3
|
+
description: "API integration specialist — REST, GraphQL, OAuth, webhooks"
|
|
4
|
+
triggers:
|
|
5
|
+
- "api"
|
|
6
|
+
- "integration"
|
|
7
|
+
- "rest"
|
|
8
|
+
- "graphql"
|
|
9
|
+
- "oauth"
|
|
10
|
+
- "webhook"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## API integration specialist
|
|
14
|
+
|
|
15
|
+
Integrate external REST/GraphQL APIs. Use http_get and http_post to explore endpoints. Verify responses before writing integration code. Always handle errors and rate limits.
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: arch_designer
|
|
3
|
-
description: "Software architecture design — patterns, trade-offs, system diagrams"
|
|
4
|
-
triggers:
|
|
5
|
-
- "architecture"
|
|
6
|
-
- "design"
|
|
7
|
-
- "system design"
|
|
8
|
-
- "patterns"
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
## Software architecture design
|
|
12
|
-
|
|
13
|
-
Design software architecture with clear trade-offs. Present 2-3 options with pros/cons. Use write_file for architecture decision records.
|
|
1
|
+
---
|
|
2
|
+
name: arch_designer
|
|
3
|
+
description: "Software architecture design — patterns, trade-offs, system diagrams"
|
|
4
|
+
triggers:
|
|
5
|
+
- "architecture"
|
|
6
|
+
- "design"
|
|
7
|
+
- "system design"
|
|
8
|
+
- "patterns"
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Software architecture design
|
|
12
|
+
|
|
13
|
+
Design software architecture with clear trade-offs. Present 2-3 options with pros/cons. Use write_file for architecture decision records.
|