fluxlite 0.5.2__tar.gz
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.
- fluxlite-0.5.2/LICENSE +21 -0
- fluxlite-0.5.2/PKG-INFO +270 -0
- fluxlite-0.5.2/README.md +233 -0
- fluxlite-0.5.2/fluxlite/__init__.py +2 -0
- fluxlite-0.5.2/fluxlite/__main__.py +4 -0
- fluxlite-0.5.2/fluxlite/app.py +904 -0
- fluxlite-0.5.2/fluxlite/commands.py +877 -0
- fluxlite-0.5.2/fluxlite/config.py +149 -0
- fluxlite-0.5.2/fluxlite/console.py +259 -0
- fluxlite-0.5.2/fluxlite/context.py +259 -0
- fluxlite-0.5.2/fluxlite/i18n.py +154 -0
- fluxlite-0.5.2/fluxlite/main.py +110 -0
- fluxlite-0.5.2/fluxlite/mcp_client.py +196 -0
- fluxlite-0.5.2/fluxlite/memory.py +39 -0
- fluxlite-0.5.2/fluxlite/plugin_api.py +712 -0
- fluxlite-0.5.2/fluxlite/plugin_manager.py +304 -0
- fluxlite-0.5.2/fluxlite/profile.py +87 -0
- fluxlite-0.5.2/fluxlite/provider/__init__.py +41 -0
- fluxlite-0.5.2/fluxlite/provider/anthropic.py +185 -0
- fluxlite-0.5.2/fluxlite/provider/base.py +31 -0
- fluxlite-0.5.2/fluxlite/provider/openai_compat.py +290 -0
- fluxlite-0.5.2/fluxlite/startup.py +160 -0
- fluxlite-0.5.2/fluxlite/styles.py +53 -0
- fluxlite-0.5.2/fluxlite/tools/__init__.py +0 -0
- fluxlite-0.5.2/fluxlite/tools/browser.py +165 -0
- fluxlite-0.5.2/fluxlite/tools/code_exec.py +172 -0
- fluxlite-0.5.2/fluxlite/tools/code_search.py +85 -0
- fluxlite-0.5.2/fluxlite/tools/file_ops.py +126 -0
- fluxlite-0.5.2/fluxlite/tools/git_ops.py +67 -0
- fluxlite-0.5.2/fluxlite/tools/hooks.py +150 -0
- fluxlite-0.5.2/fluxlite/tools/network.py +237 -0
- fluxlite-0.5.2/fluxlite/tools/planner.py +112 -0
- fluxlite-0.5.2/fluxlite/tools/registry.py +471 -0
- fluxlite-0.5.2/fluxlite/tools/sandbox.py +118 -0
- fluxlite-0.5.2/fluxlite/tools/subagent.py +131 -0
- fluxlite-0.5.2/fluxlite/tools/terminal.py +149 -0
- fluxlite-0.5.2/fluxlite/tools/test_runner.py +82 -0
- fluxlite-0.5.2/fluxlite/tools/web_search.py +37 -0
- fluxlite-0.5.2/fluxlite/wizard.py +185 -0
- fluxlite-0.5.2/fluxlite.egg-info/PKG-INFO +270 -0
- fluxlite-0.5.2/fluxlite.egg-info/SOURCES.txt +51 -0
- fluxlite-0.5.2/fluxlite.egg-info/dependency_links.txt +1 -0
- fluxlite-0.5.2/fluxlite.egg-info/entry_points.txt +2 -0
- fluxlite-0.5.2/fluxlite.egg-info/requires.txt +16 -0
- fluxlite-0.5.2/fluxlite.egg-info/top_level.txt +1 -0
- fluxlite-0.5.2/pyproject.toml +52 -0
- fluxlite-0.5.2/setup.cfg +4 -0
- fluxlite-0.5.2/tests/test_config.py +55 -0
- fluxlite-0.5.2/tests/test_context.py +50 -0
- fluxlite-0.5.2/tests/test_file_ops.py +124 -0
- fluxlite-0.5.2/tests/test_memory.py +75 -0
- fluxlite-0.5.2/tests/test_provider.py +68 -0
- fluxlite-0.5.2/tests/test_registry.py +39 -0
fluxlite-0.5.2/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Volsa
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
fluxlite-0.5.2/PKG-INFO
ADDED
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: fluxlite
|
|
3
|
+
Version: 0.5.2
|
|
4
|
+
Summary: fluxlite - Lightweight AI agent running in your terminal
|
|
5
|
+
Author: Volsa
|
|
6
|
+
License: MIT
|
|
7
|
+
Project-URL: Homepage, https://github.com/SVolsa/fluxlite
|
|
8
|
+
Project-URL: Repository, https://github.com/SVolsa/fluxlite
|
|
9
|
+
Keywords: cli,ai,agent,llm,assistant,terminal
|
|
10
|
+
Classifier: Development Status :: 3 - Alpha
|
|
11
|
+
Classifier: Environment :: Console
|
|
12
|
+
Classifier: Intended Audience :: Developers
|
|
13
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
14
|
+
Classifier: Programming Language :: Python :: 3
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
18
|
+
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
19
|
+
Requires-Python: >=3.9
|
|
20
|
+
Description-Content-Type: text/markdown
|
|
21
|
+
License-File: LICENSE
|
|
22
|
+
Requires-Dist: openai>=1.0.0
|
|
23
|
+
Requires-Dist: anthropic>=0.30.0
|
|
24
|
+
Requires-Dist: rich>=13.0.0
|
|
25
|
+
Requires-Dist: prompt_toolkit>=3.0.0
|
|
26
|
+
Requires-Dist: pygments>=2.15.0
|
|
27
|
+
Requires-Dist: tavily-python>=0.3.0
|
|
28
|
+
Requires-Dist: tomli-w>=1.0.0
|
|
29
|
+
Requires-Dist: pyfiglet>=1.0.0
|
|
30
|
+
Requires-Dist: httpx>=0.25.0
|
|
31
|
+
Requires-Dist: cryptography>=42.0.0
|
|
32
|
+
Provides-Extra: tiktoken
|
|
33
|
+
Requires-Dist: tiktoken>=0.5.0; extra == "tiktoken"
|
|
34
|
+
Provides-Extra: playwright
|
|
35
|
+
Requires-Dist: playwright>=1.40.0; extra == "playwright"
|
|
36
|
+
Dynamic: license-file
|
|
37
|
+
|
|
38
|
+
# FluxLite
|
|
39
|
+
|
|
40
|
+
[github.com/SVolsa/fluxlite](https://github.com/SVolsa/fluxlite)
|
|
41
|
+
|
|
42
|
+
<details open>
|
|
43
|
+
<summary><b>中文</b> (点击切换到 English)</summary>
|
|
44
|
+
|
|
45
|
+
<br>
|
|
46
|
+
|
|
47
|
+
## 安装
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
pip install git+https://github.com/SVolsa/fluxlite.git
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
或本地安装:
|
|
54
|
+
|
|
55
|
+
```
|
|
56
|
+
git clone https://github.com/SVolsa/fluxlite.git
|
|
57
|
+
cd fluxlite
|
|
58
|
+
pip install -e .
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
要求:Python >= 3.9,OpenAI 兼容的 API Key。
|
|
62
|
+
|
|
63
|
+
## 快速上手
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
# 首次运行 — 设置向导
|
|
67
|
+
fluxlite --wizard
|
|
68
|
+
|
|
69
|
+
# 交互聊天
|
|
70
|
+
fluxlite
|
|
71
|
+
|
|
72
|
+
# 单次问答(不执行工具)
|
|
73
|
+
fluxlite "解释这段代码"
|
|
74
|
+
|
|
75
|
+
# 单次问答 + 自动执行工具
|
|
76
|
+
fluxlite --auto "跑测试并修复失败"
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## 功能
|
|
80
|
+
|
|
81
|
+
| 功能 | 说明 |
|
|
82
|
+
|------|------|
|
|
83
|
+
| 对话 | 流式输出 + Markdown 渲染 |
|
|
84
|
+
| 工具 | 34 个内置工具:文件、代码、Git、搜索、终端、浏览器、HTTP |
|
|
85
|
+
| 插件 | `~/.fluxlite/plugins/` 放 JSON + Python 即可扩展 |
|
|
86
|
+
| 沙箱 | 文件操作隔离到临时目录,审核后应用或丢弃 |
|
|
87
|
+
| 会话 | 自动保存/恢复,支持搜索和导出 |
|
|
88
|
+
| 子代理 | `spawn_agents` 并行派发子任务 |
|
|
89
|
+
| 规划 | `task_planner` + `self_review` 先规划再自查 |
|
|
90
|
+
| Hooks | 工具执行前后触发自定义脚本 |
|
|
91
|
+
| MCP | 连接外部 MCP 服务器 |
|
|
92
|
+
|
|
93
|
+
## 内置工具 (34)
|
|
94
|
+
|
|
95
|
+
**文件**: `file_read` `file_write` `file_edit` `file_append` `file_delete` `file_list`
|
|
96
|
+
**代码**: `code_executor` `run_tests`
|
|
97
|
+
**Git**: `git_status` `git_diff` `git_log` `git_add` `git_commit`
|
|
98
|
+
**搜索**: `web_search` `grep_search` `glob_files`
|
|
99
|
+
**网络**: `http_request` `file_download` `web_scrape` `browser`
|
|
100
|
+
**终端**: `terminal`(持久会话)
|
|
101
|
+
**协作**: `spawn_agents` `task_planner` `self_review`
|
|
102
|
+
**记忆**: `memory_read` `memory_write` `rule_add` `rule_remove` `rule_list`
|
|
103
|
+
**系统**: `config_set` `mcp_call` `mcp_list` `hook_run` `hook_list`
|
|
104
|
+
|
|
105
|
+
## 命令
|
|
106
|
+
|
|
107
|
+
```
|
|
108
|
+
/help /clear /model /memory /rules /rule /think /compact /toolresult
|
|
109
|
+
/export /token /truncate /rewind /context /tools /lang /git
|
|
110
|
+
/autocommit /new /search /sessions /last /plan /mcp /hooks
|
|
111
|
+
/plugin /sandbox /diff /review /fix /pin /init /exit
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
- `/` 触发命令补全并显示描述
|
|
115
|
+
- `Ctrl+R` 搜索历史
|
|
116
|
+
- 行末 `\` 续行
|
|
117
|
+
- `/s` → `/sessions`,`/q` → `/exit`(短别名)
|
|
118
|
+
|
|
119
|
+
## 配置
|
|
120
|
+
|
|
121
|
+
`~/.fluxlite/config.toml`:
|
|
122
|
+
|
|
123
|
+
```toml
|
|
124
|
+
[api]
|
|
125
|
+
key = "your-api-key"
|
|
126
|
+
base_url = "https://api.deepseek.com"
|
|
127
|
+
model = "deepseek-chat"
|
|
128
|
+
|
|
129
|
+
[app]
|
|
130
|
+
language = "zh"
|
|
131
|
+
timeout = 60
|
|
132
|
+
safe_mode = true
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
也支持环境变量:`OPENAI_API_KEY` / `ANTHROPIC_API_KEY` / `TAVILY_API_KEY`。
|
|
136
|
+
|
|
137
|
+
## 项目上下文
|
|
138
|
+
|
|
139
|
+
项目根目录放置 `FLUXLITE.md`,启动时自动注入。用 `/init` 自动生成。也可添加 `.fluxlite/project_memory.md` 和 `INSTRUCTIONS.md`。
|
|
140
|
+
|
|
141
|
+
## 插件
|
|
142
|
+
|
|
143
|
+
见 [API.md](API.md),中英双语文档 + 示例。
|
|
144
|
+
|
|
145
|
+
## 测试
|
|
146
|
+
|
|
147
|
+
```
|
|
148
|
+
pytest tests/ -v
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
## 许可
|
|
152
|
+
|
|
153
|
+
MIT
|
|
154
|
+
|
|
155
|
+
</details>
|
|
156
|
+
|
|
157
|
+
<details>
|
|
158
|
+
<summary><b>English</b> (click to switch to 中文)</summary>
|
|
159
|
+
|
|
160
|
+
<br>
|
|
161
|
+
|
|
162
|
+
## Install
|
|
163
|
+
|
|
164
|
+
```
|
|
165
|
+
pip install git+https://github.com/SVolsa/fluxlite.git
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
Or from local:
|
|
169
|
+
|
|
170
|
+
```
|
|
171
|
+
git clone https://github.com/SVolsa/fluxlite.git
|
|
172
|
+
cd fluxlite
|
|
173
|
+
pip install -e .
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
Requirements: Python >= 3.9, OpenAI-compatible API key.
|
|
177
|
+
|
|
178
|
+
## Quickstart
|
|
179
|
+
|
|
180
|
+
```bash
|
|
181
|
+
# First run — setup wizard
|
|
182
|
+
fluxlite --wizard
|
|
183
|
+
|
|
184
|
+
# Interactive chat
|
|
185
|
+
fluxlite
|
|
186
|
+
|
|
187
|
+
# One-shot (no tool execution)
|
|
188
|
+
fluxlite "explain this code"
|
|
189
|
+
|
|
190
|
+
# One-shot with auto tool execution
|
|
191
|
+
fluxlite --auto "run the tests and fix failures"
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
## Features
|
|
195
|
+
|
|
196
|
+
| Feature | Description |
|
|
197
|
+
| ------- | ----------- |
|
|
198
|
+
| Chat | Streaming output + Markdown rendering |
|
|
199
|
+
| Tools | 34 built-in: file ops, code exec, git, search, terminal, browser, HTTP |
|
|
200
|
+
| Plugins | Drop JSON + Python in `~/.fluxlite/plugins/` to extend |
|
|
201
|
+
| Sandbox | File ops isolated to temp dir; review then apply or discard |
|
|
202
|
+
| Sessions | Auto save/restore, search, and export |
|
|
203
|
+
| Sub-agents | `spawn_agents` for parallel subtask dispatch |
|
|
204
|
+
| Planner | `task_planner` + `self_review` toolchain |
|
|
205
|
+
| Hooks | Custom scripts triggered pre/post tool execution |
|
|
206
|
+
| MCP | Connect external MCP servers |
|
|
207
|
+
|
|
208
|
+
## Built-in Tools (34)
|
|
209
|
+
|
|
210
|
+
**Files**: `file_read` `file_write` `file_edit` `file_append` `file_delete` `file_list`
|
|
211
|
+
**Code**: `code_executor` `run_tests`
|
|
212
|
+
**Git**: `git_status` `git_diff` `git_log` `git_add` `git_commit`
|
|
213
|
+
**Search**: `web_search` `grep_search` `glob_files`
|
|
214
|
+
**Network**: `http_request` `file_download` `web_scrape` `browser`
|
|
215
|
+
**Terminal**: `terminal` (persistent session)
|
|
216
|
+
**Planning**: `spawn_agents` `task_planner` `self_review`
|
|
217
|
+
**Memory**: `memory_read` `memory_write` `rule_add` `rule_remove` `rule_list`
|
|
218
|
+
**System**: `config_set` `mcp_call` `mcp_list` `hook_run` `hook_list`
|
|
219
|
+
|
|
220
|
+
## Commands
|
|
221
|
+
|
|
222
|
+
```
|
|
223
|
+
/help /clear /model /memory /rules /rule /think /compact /toolresult
|
|
224
|
+
/export /token /truncate /rewind /context /tools /lang /git
|
|
225
|
+
/autocommit /new /search /sessions /last /plan /mcp /hooks
|
|
226
|
+
/plugin /sandbox /diff /review /fix /pin /init /exit
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
- `/` triggers command completion with descriptions
|
|
230
|
+
- `Ctrl+R` for history search
|
|
231
|
+
- End line with `\` to continue typing
|
|
232
|
+
- `/s` → `/sessions`, `/q` → `/exit` (short aliases)
|
|
233
|
+
|
|
234
|
+
## Config
|
|
235
|
+
|
|
236
|
+
`~/.fluxlite/config.toml`:
|
|
237
|
+
|
|
238
|
+
```toml
|
|
239
|
+
[api]
|
|
240
|
+
key = "your-api-key"
|
|
241
|
+
base_url = "https://api.deepseek.com"
|
|
242
|
+
model = "deepseek-chat"
|
|
243
|
+
|
|
244
|
+
[app]
|
|
245
|
+
language = "zh"
|
|
246
|
+
timeout = 60
|
|
247
|
+
safe_mode = true
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
Also reads environment variables: `OPENAI_API_KEY` / `ANTHROPIC_API_KEY` / `TAVILY_API_KEY`.
|
|
251
|
+
|
|
252
|
+
## Project Context
|
|
253
|
+
|
|
254
|
+
Place `FLUXLITE.md` in your project root to inject it into the system prompt on startup. Use `/init` to auto-generate. Also supports `.fluxlite/project_memory.md` and `INSTRUCTIONS.md`.
|
|
255
|
+
|
|
256
|
+
## Plugins
|
|
257
|
+
|
|
258
|
+
See [API.md](API.md) for bilingual API docs and examples.
|
|
259
|
+
|
|
260
|
+
## Tests
|
|
261
|
+
|
|
262
|
+
```
|
|
263
|
+
pytest tests/ -v
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
## License
|
|
267
|
+
|
|
268
|
+
MIT
|
|
269
|
+
|
|
270
|
+
</details>
|
fluxlite-0.5.2/README.md
ADDED
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
# FluxLite
|
|
2
|
+
|
|
3
|
+
[github.com/SVolsa/fluxlite](https://github.com/SVolsa/fluxlite)
|
|
4
|
+
|
|
5
|
+
<details open>
|
|
6
|
+
<summary><b>中文</b> (点击切换到 English)</summary>
|
|
7
|
+
|
|
8
|
+
<br>
|
|
9
|
+
|
|
10
|
+
## 安装
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
pip install git+https://github.com/SVolsa/fluxlite.git
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
或本地安装:
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
git clone https://github.com/SVolsa/fluxlite.git
|
|
20
|
+
cd fluxlite
|
|
21
|
+
pip install -e .
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
要求:Python >= 3.9,OpenAI 兼容的 API Key。
|
|
25
|
+
|
|
26
|
+
## 快速上手
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
# 首次运行 — 设置向导
|
|
30
|
+
fluxlite --wizard
|
|
31
|
+
|
|
32
|
+
# 交互聊天
|
|
33
|
+
fluxlite
|
|
34
|
+
|
|
35
|
+
# 单次问答(不执行工具)
|
|
36
|
+
fluxlite "解释这段代码"
|
|
37
|
+
|
|
38
|
+
# 单次问答 + 自动执行工具
|
|
39
|
+
fluxlite --auto "跑测试并修复失败"
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## 功能
|
|
43
|
+
|
|
44
|
+
| 功能 | 说明 |
|
|
45
|
+
|------|------|
|
|
46
|
+
| 对话 | 流式输出 + Markdown 渲染 |
|
|
47
|
+
| 工具 | 34 个内置工具:文件、代码、Git、搜索、终端、浏览器、HTTP |
|
|
48
|
+
| 插件 | `~/.fluxlite/plugins/` 放 JSON + Python 即可扩展 |
|
|
49
|
+
| 沙箱 | 文件操作隔离到临时目录,审核后应用或丢弃 |
|
|
50
|
+
| 会话 | 自动保存/恢复,支持搜索和导出 |
|
|
51
|
+
| 子代理 | `spawn_agents` 并行派发子任务 |
|
|
52
|
+
| 规划 | `task_planner` + `self_review` 先规划再自查 |
|
|
53
|
+
| Hooks | 工具执行前后触发自定义脚本 |
|
|
54
|
+
| MCP | 连接外部 MCP 服务器 |
|
|
55
|
+
|
|
56
|
+
## 内置工具 (34)
|
|
57
|
+
|
|
58
|
+
**文件**: `file_read` `file_write` `file_edit` `file_append` `file_delete` `file_list`
|
|
59
|
+
**代码**: `code_executor` `run_tests`
|
|
60
|
+
**Git**: `git_status` `git_diff` `git_log` `git_add` `git_commit`
|
|
61
|
+
**搜索**: `web_search` `grep_search` `glob_files`
|
|
62
|
+
**网络**: `http_request` `file_download` `web_scrape` `browser`
|
|
63
|
+
**终端**: `terminal`(持久会话)
|
|
64
|
+
**协作**: `spawn_agents` `task_planner` `self_review`
|
|
65
|
+
**记忆**: `memory_read` `memory_write` `rule_add` `rule_remove` `rule_list`
|
|
66
|
+
**系统**: `config_set` `mcp_call` `mcp_list` `hook_run` `hook_list`
|
|
67
|
+
|
|
68
|
+
## 命令
|
|
69
|
+
|
|
70
|
+
```
|
|
71
|
+
/help /clear /model /memory /rules /rule /think /compact /toolresult
|
|
72
|
+
/export /token /truncate /rewind /context /tools /lang /git
|
|
73
|
+
/autocommit /new /search /sessions /last /plan /mcp /hooks
|
|
74
|
+
/plugin /sandbox /diff /review /fix /pin /init /exit
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
- `/` 触发命令补全并显示描述
|
|
78
|
+
- `Ctrl+R` 搜索历史
|
|
79
|
+
- 行末 `\` 续行
|
|
80
|
+
- `/s` → `/sessions`,`/q` → `/exit`(短别名)
|
|
81
|
+
|
|
82
|
+
## 配置
|
|
83
|
+
|
|
84
|
+
`~/.fluxlite/config.toml`:
|
|
85
|
+
|
|
86
|
+
```toml
|
|
87
|
+
[api]
|
|
88
|
+
key = "your-api-key"
|
|
89
|
+
base_url = "https://api.deepseek.com"
|
|
90
|
+
model = "deepseek-chat"
|
|
91
|
+
|
|
92
|
+
[app]
|
|
93
|
+
language = "zh"
|
|
94
|
+
timeout = 60
|
|
95
|
+
safe_mode = true
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
也支持环境变量:`OPENAI_API_KEY` / `ANTHROPIC_API_KEY` / `TAVILY_API_KEY`。
|
|
99
|
+
|
|
100
|
+
## 项目上下文
|
|
101
|
+
|
|
102
|
+
项目根目录放置 `FLUXLITE.md`,启动时自动注入。用 `/init` 自动生成。也可添加 `.fluxlite/project_memory.md` 和 `INSTRUCTIONS.md`。
|
|
103
|
+
|
|
104
|
+
## 插件
|
|
105
|
+
|
|
106
|
+
见 [API.md](API.md),中英双语文档 + 示例。
|
|
107
|
+
|
|
108
|
+
## 测试
|
|
109
|
+
|
|
110
|
+
```
|
|
111
|
+
pytest tests/ -v
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
## 许可
|
|
115
|
+
|
|
116
|
+
MIT
|
|
117
|
+
|
|
118
|
+
</details>
|
|
119
|
+
|
|
120
|
+
<details>
|
|
121
|
+
<summary><b>English</b> (click to switch to 中文)</summary>
|
|
122
|
+
|
|
123
|
+
<br>
|
|
124
|
+
|
|
125
|
+
## Install
|
|
126
|
+
|
|
127
|
+
```
|
|
128
|
+
pip install git+https://github.com/SVolsa/fluxlite.git
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
Or from local:
|
|
132
|
+
|
|
133
|
+
```
|
|
134
|
+
git clone https://github.com/SVolsa/fluxlite.git
|
|
135
|
+
cd fluxlite
|
|
136
|
+
pip install -e .
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
Requirements: Python >= 3.9, OpenAI-compatible API key.
|
|
140
|
+
|
|
141
|
+
## Quickstart
|
|
142
|
+
|
|
143
|
+
```bash
|
|
144
|
+
# First run — setup wizard
|
|
145
|
+
fluxlite --wizard
|
|
146
|
+
|
|
147
|
+
# Interactive chat
|
|
148
|
+
fluxlite
|
|
149
|
+
|
|
150
|
+
# One-shot (no tool execution)
|
|
151
|
+
fluxlite "explain this code"
|
|
152
|
+
|
|
153
|
+
# One-shot with auto tool execution
|
|
154
|
+
fluxlite --auto "run the tests and fix failures"
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
## Features
|
|
158
|
+
|
|
159
|
+
| Feature | Description |
|
|
160
|
+
| ------- | ----------- |
|
|
161
|
+
| Chat | Streaming output + Markdown rendering |
|
|
162
|
+
| Tools | 34 built-in: file ops, code exec, git, search, terminal, browser, HTTP |
|
|
163
|
+
| Plugins | Drop JSON + Python in `~/.fluxlite/plugins/` to extend |
|
|
164
|
+
| Sandbox | File ops isolated to temp dir; review then apply or discard |
|
|
165
|
+
| Sessions | Auto save/restore, search, and export |
|
|
166
|
+
| Sub-agents | `spawn_agents` for parallel subtask dispatch |
|
|
167
|
+
| Planner | `task_planner` + `self_review` toolchain |
|
|
168
|
+
| Hooks | Custom scripts triggered pre/post tool execution |
|
|
169
|
+
| MCP | Connect external MCP servers |
|
|
170
|
+
|
|
171
|
+
## Built-in Tools (34)
|
|
172
|
+
|
|
173
|
+
**Files**: `file_read` `file_write` `file_edit` `file_append` `file_delete` `file_list`
|
|
174
|
+
**Code**: `code_executor` `run_tests`
|
|
175
|
+
**Git**: `git_status` `git_diff` `git_log` `git_add` `git_commit`
|
|
176
|
+
**Search**: `web_search` `grep_search` `glob_files`
|
|
177
|
+
**Network**: `http_request` `file_download` `web_scrape` `browser`
|
|
178
|
+
**Terminal**: `terminal` (persistent session)
|
|
179
|
+
**Planning**: `spawn_agents` `task_planner` `self_review`
|
|
180
|
+
**Memory**: `memory_read` `memory_write` `rule_add` `rule_remove` `rule_list`
|
|
181
|
+
**System**: `config_set` `mcp_call` `mcp_list` `hook_run` `hook_list`
|
|
182
|
+
|
|
183
|
+
## Commands
|
|
184
|
+
|
|
185
|
+
```
|
|
186
|
+
/help /clear /model /memory /rules /rule /think /compact /toolresult
|
|
187
|
+
/export /token /truncate /rewind /context /tools /lang /git
|
|
188
|
+
/autocommit /new /search /sessions /last /plan /mcp /hooks
|
|
189
|
+
/plugin /sandbox /diff /review /fix /pin /init /exit
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
- `/` triggers command completion with descriptions
|
|
193
|
+
- `Ctrl+R` for history search
|
|
194
|
+
- End line with `\` to continue typing
|
|
195
|
+
- `/s` → `/sessions`, `/q` → `/exit` (short aliases)
|
|
196
|
+
|
|
197
|
+
## Config
|
|
198
|
+
|
|
199
|
+
`~/.fluxlite/config.toml`:
|
|
200
|
+
|
|
201
|
+
```toml
|
|
202
|
+
[api]
|
|
203
|
+
key = "your-api-key"
|
|
204
|
+
base_url = "https://api.deepseek.com"
|
|
205
|
+
model = "deepseek-chat"
|
|
206
|
+
|
|
207
|
+
[app]
|
|
208
|
+
language = "zh"
|
|
209
|
+
timeout = 60
|
|
210
|
+
safe_mode = true
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
Also reads environment variables: `OPENAI_API_KEY` / `ANTHROPIC_API_KEY` / `TAVILY_API_KEY`.
|
|
214
|
+
|
|
215
|
+
## Project Context
|
|
216
|
+
|
|
217
|
+
Place `FLUXLITE.md` in your project root to inject it into the system prompt on startup. Use `/init` to auto-generate. Also supports `.fluxlite/project_memory.md` and `INSTRUCTIONS.md`.
|
|
218
|
+
|
|
219
|
+
## Plugins
|
|
220
|
+
|
|
221
|
+
See [API.md](API.md) for bilingual API docs and examples.
|
|
222
|
+
|
|
223
|
+
## Tests
|
|
224
|
+
|
|
225
|
+
```
|
|
226
|
+
pytest tests/ -v
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
## License
|
|
230
|
+
|
|
231
|
+
MIT
|
|
232
|
+
|
|
233
|
+
</details>
|