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.
Files changed (53) hide show
  1. fluxlite-0.5.2/LICENSE +21 -0
  2. fluxlite-0.5.2/PKG-INFO +270 -0
  3. fluxlite-0.5.2/README.md +233 -0
  4. fluxlite-0.5.2/fluxlite/__init__.py +2 -0
  5. fluxlite-0.5.2/fluxlite/__main__.py +4 -0
  6. fluxlite-0.5.2/fluxlite/app.py +904 -0
  7. fluxlite-0.5.2/fluxlite/commands.py +877 -0
  8. fluxlite-0.5.2/fluxlite/config.py +149 -0
  9. fluxlite-0.5.2/fluxlite/console.py +259 -0
  10. fluxlite-0.5.2/fluxlite/context.py +259 -0
  11. fluxlite-0.5.2/fluxlite/i18n.py +154 -0
  12. fluxlite-0.5.2/fluxlite/main.py +110 -0
  13. fluxlite-0.5.2/fluxlite/mcp_client.py +196 -0
  14. fluxlite-0.5.2/fluxlite/memory.py +39 -0
  15. fluxlite-0.5.2/fluxlite/plugin_api.py +712 -0
  16. fluxlite-0.5.2/fluxlite/plugin_manager.py +304 -0
  17. fluxlite-0.5.2/fluxlite/profile.py +87 -0
  18. fluxlite-0.5.2/fluxlite/provider/__init__.py +41 -0
  19. fluxlite-0.5.2/fluxlite/provider/anthropic.py +185 -0
  20. fluxlite-0.5.2/fluxlite/provider/base.py +31 -0
  21. fluxlite-0.5.2/fluxlite/provider/openai_compat.py +290 -0
  22. fluxlite-0.5.2/fluxlite/startup.py +160 -0
  23. fluxlite-0.5.2/fluxlite/styles.py +53 -0
  24. fluxlite-0.5.2/fluxlite/tools/__init__.py +0 -0
  25. fluxlite-0.5.2/fluxlite/tools/browser.py +165 -0
  26. fluxlite-0.5.2/fluxlite/tools/code_exec.py +172 -0
  27. fluxlite-0.5.2/fluxlite/tools/code_search.py +85 -0
  28. fluxlite-0.5.2/fluxlite/tools/file_ops.py +126 -0
  29. fluxlite-0.5.2/fluxlite/tools/git_ops.py +67 -0
  30. fluxlite-0.5.2/fluxlite/tools/hooks.py +150 -0
  31. fluxlite-0.5.2/fluxlite/tools/network.py +237 -0
  32. fluxlite-0.5.2/fluxlite/tools/planner.py +112 -0
  33. fluxlite-0.5.2/fluxlite/tools/registry.py +471 -0
  34. fluxlite-0.5.2/fluxlite/tools/sandbox.py +118 -0
  35. fluxlite-0.5.2/fluxlite/tools/subagent.py +131 -0
  36. fluxlite-0.5.2/fluxlite/tools/terminal.py +149 -0
  37. fluxlite-0.5.2/fluxlite/tools/test_runner.py +82 -0
  38. fluxlite-0.5.2/fluxlite/tools/web_search.py +37 -0
  39. fluxlite-0.5.2/fluxlite/wizard.py +185 -0
  40. fluxlite-0.5.2/fluxlite.egg-info/PKG-INFO +270 -0
  41. fluxlite-0.5.2/fluxlite.egg-info/SOURCES.txt +51 -0
  42. fluxlite-0.5.2/fluxlite.egg-info/dependency_links.txt +1 -0
  43. fluxlite-0.5.2/fluxlite.egg-info/entry_points.txt +2 -0
  44. fluxlite-0.5.2/fluxlite.egg-info/requires.txt +16 -0
  45. fluxlite-0.5.2/fluxlite.egg-info/top_level.txt +1 -0
  46. fluxlite-0.5.2/pyproject.toml +52 -0
  47. fluxlite-0.5.2/setup.cfg +4 -0
  48. fluxlite-0.5.2/tests/test_config.py +55 -0
  49. fluxlite-0.5.2/tests/test_context.py +50 -0
  50. fluxlite-0.5.2/tests/test_file_ops.py +124 -0
  51. fluxlite-0.5.2/tests/test_memory.py +75 -0
  52. fluxlite-0.5.2/tests/test_provider.py +68 -0
  53. 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.
@@ -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> &nbsp;(点击切换到 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> &nbsp;(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>
@@ -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> &nbsp;(点击切换到 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> &nbsp;(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>
@@ -0,0 +1,2 @@
1
+ """FluxLite - Lightweight AI agent running in the terminal"""
2
+ __version__ = "v0.5.2"
@@ -0,0 +1,4 @@
1
+ import sys, os
2
+ sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
3
+ from fluxlite.main import main
4
+ main()