fr-cli 2.3.3__tar.gz → 2.4.1__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.
- fr_cli-2.4.1/MANIFEST.in +5 -0
- {fr_cli-2.3.3/fr_cli.egg-info → fr_cli-2.4.1}/PKG-INFO +138 -49
- {fr_cli-2.3.3 → fr_cli-2.4.1}/README.md +134 -47
- {fr_cli-2.3.3 → fr_cli-2.4.1}/fr_cli/WEAPON.MD +1 -1
- {fr_cli-2.3.3 → fr_cli-2.4.1}/fr_cli/__init__.py +1 -1
- {fr_cli-2.3.3 → fr_cli-2.4.1}/fr_cli/addon/plugin.py +2 -1
- {fr_cli-2.3.3 → fr_cli-2.4.1}/fr_cli/agent/__init__.py +1 -3
- {fr_cli-2.3.3 → fr_cli-2.4.1}/fr_cli/agent/a2a.py +2 -1
- {fr_cli-2.3.3 → fr_cli-2.4.1}/fr_cli/agent/acp.py +19 -15
- fr_cli-2.4.1/fr_cli/agent/artifact_detector.py +106 -0
- {fr_cli-2.3.3 → fr_cli-2.4.1}/fr_cli/agent/builtins/__init__.py +1 -1
- {fr_cli-2.3.3 → fr_cli-2.4.1}/fr_cli/agent/builtins/db.py +49 -6
- {fr_cli-2.3.3 → fr_cli-2.4.1}/fr_cli/agent/builtins/local.py +18 -3
- {fr_cli-2.3.3 → fr_cli-2.4.1}/fr_cli/agent/builtins/powerful_agent_template.py +3 -3
- {fr_cli-2.3.3 → fr_cli-2.4.1}/fr_cli/agent/builtins/rag.py +9 -8
- {fr_cli-2.3.3 → fr_cli-2.4.1}/fr_cli/agent/builtins/rag_watcher_daemon.py +7 -6
- {fr_cli-2.3.3 → fr_cli-2.4.1}/fr_cli/agent/builtins/remote.py +3 -2
- fr_cli-2.4.1/fr_cli/agent/builtins/spider.py +951 -0
- {fr_cli-2.3.3 → fr_cli-2.4.1}/fr_cli/agent/coding_helper.py +1 -1
- {fr_cli-2.3.3 → fr_cli-2.4.1}/fr_cli/agent/context_files.py +2 -1
- {fr_cli-2.3.3 → fr_cli-2.4.1}/fr_cli/agent/gateway.py +2 -1
- {fr_cli-2.3.3 → fr_cli-2.4.1}/fr_cli/agent/generator.py +4 -4
- {fr_cli-2.3.3 → fr_cli-2.4.1}/fr_cli/agent/hermes.py +4 -3
- {fr_cli-2.3.3 → fr_cli-2.4.1}/fr_cli/agent/hermes_daemon.py +70 -3
- {fr_cli-2.3.3 → fr_cli-2.4.1}/fr_cli/agent/manager.py +16 -5
- {fr_cli-2.3.3 → fr_cli-2.4.1}/fr_cli/agent/master.py +43 -66
- {fr_cli-2.3.3 → fr_cli-2.4.1}/fr_cli/agent/personality.py +2 -1
- {fr_cli-2.3.3 → fr_cli-2.4.1}/fr_cli/agent/plugin_system.py +1 -1
- {fr_cli-2.3.3 → fr_cli-2.4.1}/fr_cli/agent/remote.py +3 -2
- {fr_cli-2.3.3 → fr_cli-2.4.1}/fr_cli/agent/skills.py +2 -1
- {fr_cli-2.3.3 → fr_cli-2.4.1}/fr_cli/agent/workflow.py +1 -1
- fr_cli-2.4.1/fr_cli/agent/workflow_system/__init__.py +14 -0
- fr_cli-2.4.1/fr_cli/agent/workflow_system/engine.py +414 -0
- fr_cli-2.4.1/fr_cli/agent/workflow_system/executor.py +217 -0
- fr_cli-2.4.1/fr_cli/agent/workflow_system/manager.py +84 -0
- fr_cli-2.4.1/fr_cli/agent/workflow_system/models.py +195 -0
- fr_cli-2.4.1/fr_cli/agent/workflow_system/monitor.py +68 -0
- fr_cli-2.4.1/fr_cli/agent/workflow_system/tools.py +224 -0
- fr_cli-2.4.1/fr_cli/agent/workflow_system.py +23 -0
- fr_cli-2.4.1/fr_cli/assets/splash.jpeg +0 -0
- {fr_cli-2.3.3 → fr_cli-2.4.1}/fr_cli/command/executor.py +82 -11
- fr_cli-2.4.1/fr_cli/command/handlers/__init__.py +15 -0
- fr_cli-2.4.1/fr_cli/command/handlers/agent.py +73 -0
- fr_cli-2.4.1/fr_cli/command/handlers/app.py +31 -0
- fr_cli-2.4.1/fr_cli/command/handlers/config.py +167 -0
- fr_cli-2.4.1/fr_cli/command/handlers/cron.py +56 -0
- fr_cli-2.4.1/fr_cli/command/handlers/dataframe.py +34 -0
- fr_cli-2.4.1/fr_cli/command/handlers/disk.py +84 -0
- fr_cli-2.4.1/fr_cli/command/handlers/fs.py +95 -0
- fr_cli-2.4.1/fr_cli/command/handlers/mail.py +81 -0
- fr_cli-2.4.1/fr_cli/command/handlers/mcp.py +46 -0
- fr_cli-2.4.1/fr_cli/command/handlers/other.py +34 -0
- fr_cli-2.4.1/fr_cli/command/handlers/session.py +79 -0
- fr_cli-2.4.1/fr_cli/command/handlers/system.py +189 -0
- fr_cli-2.4.1/fr_cli/command/handlers/vision.py +38 -0
- fr_cli-2.4.1/fr_cli/command/handlers/web.py +34 -0
- fr_cli-2.4.1/fr_cli/command/registered/agent_data_mcp.py +287 -0
- fr_cli-2.4.1/fr_cli/command/registered/fs.py +84 -0
- fr_cli-2.4.1/fr_cli/command/registered/image.py +37 -0
- fr_cli-2.4.1/fr_cli/command/registered/main_routes.py +47 -0
- fr_cli-2.4.1/fr_cli/command/registered/services.py +236 -0
- fr_cli-2.4.1/fr_cli/command/registered/session_config.py +309 -0
- fr_cli-2.4.1/fr_cli/command/registered/web.py +33 -0
- fr_cli-2.4.1/fr_cli/command/registry.py +280 -0
- fr_cli-2.4.1/fr_cli/conf/__init__.py +34 -0
- fr_cli-2.4.1/fr_cli/conf/config.py +229 -0
- fr_cli-2.4.1/fr_cli/conf/paths.py +185 -0
- fr_cli-2.4.1/fr_cli/core/cache.py +107 -0
- {fr_cli-2.3.3 → fr_cli-2.4.1}/fr_cli/core/chat.py +96 -88
- {fr_cli-2.3.3 → fr_cli-2.4.1}/fr_cli/core/core.py +117 -19
- fr_cli-2.4.1/fr_cli/core/errors.py +202 -0
- {fr_cli-2.3.3 → fr_cli-2.4.1}/fr_cli/core/intent.py +4 -4
- {fr_cli-2.3.3 → fr_cli-2.4.1}/fr_cli/core/llm.py +160 -29
- fr_cli-2.4.1/fr_cli/core/model_factory.py +326 -0
- fr_cli-2.4.1/fr_cli/core/optimizations.py +195 -0
- fr_cli-2.4.1/fr_cli/core/preferences.py +103 -0
- fr_cli-2.4.1/fr_cli/core/project.py +177 -0
- {fr_cli-2.3.3 → fr_cli-2.4.1}/fr_cli/core/recommender.py +38 -2
- fr_cli-2.4.1/fr_cli/core/stream.py +268 -0
- {fr_cli-2.3.3 → fr_cli-2.4.1}/fr_cli/core/thinking.py +12 -6
- {fr_cli-2.3.3 → fr_cli-2.4.1}/fr_cli/gatekeeper/__init__.py +1 -1
- {fr_cli-2.3.3 → fr_cli-2.4.1}/fr_cli/gatekeeper/daemon.py +6 -5
- {fr_cli-2.3.3 → fr_cli-2.4.1}/fr_cli/gatekeeper/manager.py +5 -4
- fr_cli-2.4.1/fr_cli/lang/i18n.py +8 -0
- fr_cli-2.4.1/fr_cli/lang/translations/__init__.py +9 -0
- fr_cli-2.4.1/fr_cli/lang/translations/en.py +164 -0
- fr_cli-2.4.1/fr_cli/lang/translations/zh.py +167 -0
- fr_cli-2.4.1/fr_cli/main.py +122 -0
- {fr_cli-2.3.3 → fr_cli-2.4.1}/fr_cli/memory/context.py +2 -1
- {fr_cli-2.3.3 → fr_cli-2.4.1}/fr_cli/memory/history.py +6 -5
- {fr_cli-2.3.3 → fr_cli-2.4.1}/fr_cli/memory/session.py +12 -5
- fr_cli-2.4.1/fr_cli/repl/actions.py +103 -0
- fr_cli-2.4.1/fr_cli/repl/bootstrap.py +205 -0
- fr_cli-2.4.1/fr_cli/repl/commands/__init__.py +44 -0
- fr_cli-2.4.1/fr_cli/repl/commands/_common.py +260 -0
- fr_cli-2.4.1/fr_cli/repl/commands/agent.py +305 -0
- fr_cli-2.4.1/fr_cli/repl/commands/base.py +304 -0
- fr_cli-2.4.1/fr_cli/repl/commands/config.py +507 -0
- fr_cli-2.4.1/fr_cli/repl/commands/cron.py +114 -0
- fr_cli-2.4.1/fr_cli/repl/commands/dataframe.py +60 -0
- fr_cli-2.4.1/fr_cli/repl/commands/dev.py +82 -0
- fr_cli-2.4.1/fr_cli/repl/commands/fs.py +66 -0
- fr_cli-2.4.1/fr_cli/repl/commands/mcp.py +142 -0
- fr_cli-2.4.1/fr_cli/repl/commands/rag.py +141 -0
- fr_cli-2.4.1/fr_cli/repl/commands/remote_agent.py +174 -0
- fr_cli-2.4.1/fr_cli/repl/commands/session.py +148 -0
- fr_cli-2.4.1/fr_cli/repl/commands/system.py +175 -0
- fr_cli-2.4.1/fr_cli/repl/commands.py +43 -0
- fr_cli-2.4.1/fr_cli/repl/queue.py +128 -0
- fr_cli-2.4.1/fr_cli/repl/quick_actions.py +227 -0
- fr_cli-2.4.1/fr_cli/repl/router.py +363 -0
- fr_cli-2.4.1/fr_cli/repl/scenarios.py +347 -0
- {fr_cli-2.3.3 → fr_cli-2.4.1}/fr_cli/security/security.py +6 -2
- fr_cli-2.4.1/fr_cli/ui/banner.py +136 -0
- fr_cli-2.4.1/fr_cli/ui/buddha.py +166 -0
- fr_cli-2.4.1/fr_cli/ui/markdown.py +114 -0
- fr_cli-2.4.1/fr_cli/ui/prompt.py +840 -0
- fr_cli-2.4.1/fr_cli/ui/splash.py +340 -0
- fr_cli-2.4.1/fr_cli/ui/ui.py +64 -0
- fr_cli-2.4.1/fr_cli/ui/web_config.py +238 -0
- {fr_cli-2.3.3 → fr_cli-2.4.1}/fr_cli/weapon/cron.py +43 -13
- {fr_cli-2.3.3 → fr_cli-2.4.1}/fr_cli/weapon/dataframe.py +2 -2
- {fr_cli-2.3.3 → fr_cli-2.4.1}/fr_cli/weapon/disk.py +2 -2
- {fr_cli-2.3.3 → fr_cli-2.4.1}/fr_cli/weapon/fs.py +1 -1
- {fr_cli-2.3.3 → fr_cli-2.4.1}/fr_cli/weapon/launcher.py +1 -1
- {fr_cli-2.3.3 → fr_cli-2.4.1}/fr_cli/weapon/loader.py +5 -5
- {fr_cli-2.3.3 → fr_cli-2.4.1}/fr_cli/weapon/mail.py +1 -1
- fr_cli-2.4.1/fr_cli/weapon/mcp.py +383 -0
- {fr_cli-2.3.3 → fr_cli-2.4.1}/fr_cli/weapon/vision.py +1 -1
- {fr_cli-2.3.3 → fr_cli-2.4.1}/fr_cli/weapon/web.py +1 -1
- {fr_cli-2.3.3 → fr_cli-2.4.1/fr_cli.egg-info}/PKG-INFO +138 -49
- {fr_cli-2.3.3 → fr_cli-2.4.1}/fr_cli.egg-info/SOURCES.txt +67 -0
- {fr_cli-2.3.3 → fr_cli-2.4.1}/fr_cli.egg-info/requires.txt +2 -0
- {fr_cli-2.3.3 → fr_cli-2.4.1}/pyproject.toml +5 -3
- {fr_cli-2.3.3 → fr_cli-2.4.1}/tests/test_a2a_and_providers.py +26 -0
- {fr_cli-2.3.3 → fr_cli-2.4.1}/tests/test_integration_real.py +2 -2
- fr_cli-2.4.1/tests/test_model_config.py +1209 -0
- {fr_cli-2.3.3 → fr_cli-2.4.1}/tests/test_new_providers.py +113 -9
- fr_cli-2.3.3/MANIFEST.in +0 -2
- fr_cli-2.3.3/fr_cli/agent/builtins/spider.py +0 -247
- fr_cli-2.3.3/fr_cli/agent/workflow_system.py +0 -1058
- fr_cli-2.3.3/fr_cli/command/registry.py +0 -1034
- fr_cli-2.3.3/fr_cli/conf/config.py +0 -149
- fr_cli-2.3.3/fr_cli/core/model_factory.py +0 -173
- fr_cli-2.3.3/fr_cli/core/stream.py +0 -83
- fr_cli-2.3.3/fr_cli/lang/i18n.py +0 -843
- fr_cli-2.3.3/fr_cli/main.py +0 -336
- fr_cli-2.3.3/fr_cli/repl/commands.py +0 -1488
- fr_cli-2.3.3/fr_cli/ui/ui.py +0 -117
- fr_cli-2.3.3/fr_cli/weapon/mcp.py +0 -188
- fr_cli-2.3.3/tests/test_model_config.py +0 -391
- {fr_cli-2.3.3 → fr_cli-2.4.1}/LICENSE +0 -0
- {fr_cli-2.3.3 → fr_cli-2.4.1}/fr_cli/README.md +0 -0
- {fr_cli-2.3.3 → fr_cli-2.4.1}/fr_cli/agent/builtins/_utils.py +0 -0
- {fr_cli-2.3.3 → fr_cli-2.4.1}/fr_cli/agent/client.py +0 -0
- {fr_cli-2.3.3 → fr_cli-2.4.1}/fr_cli/agent/executor.py +0 -0
- {fr_cli-2.3.3 → fr_cli-2.4.1}/fr_cli/agent/image_and_parallel.py +0 -0
- {fr_cli-2.3.3 → fr_cli-2.4.1}/fr_cli/agent/master_prompt.py +0 -0
- {fr_cli-2.3.3 → fr_cli-2.4.1}/fr_cli/agent/server.py +0 -0
- {fr_cli-2.3.3 → fr_cli-2.4.1}/fr_cli/agent/shell_mode.py +0 -0
- {fr_cli-2.3.3 → fr_cli-2.4.1}/fr_cli/breakthrough/update.py +0 -0
- {fr_cli-2.3.3 → fr_cli-2.4.1}/fr_cli/command/__init__.py +0 -0
- {fr_cli-2.3.3 → fr_cli-2.4.1}/fr_cli/command/security.py +0 -0
- {fr_cli-2.3.3 → fr_cli-2.4.1}/fr_cli/conf/wizard.py +0 -0
- {fr_cli-2.3.3 → fr_cli-2.4.1}/fr_cli/core/sysmon.py +0 -0
- {fr_cli-2.3.3 → fr_cli-2.4.1}/fr_cli/repl/__init__.py +0 -0
- {fr_cli-2.3.3 → fr_cli-2.4.1}/fr_cli.egg-info/dependency_links.txt +0 -0
- {fr_cli-2.3.3 → fr_cli-2.4.1}/fr_cli.egg-info/entry_points.txt +0 -0
- {fr_cli-2.3.3 → fr_cli-2.4.1}/fr_cli.egg-info/top_level.txt +0 -0
- {fr_cli-2.3.3 → fr_cli-2.4.1}/setup.cfg +0 -0
- {fr_cli-2.3.3 → fr_cli-2.4.1}/tests/test_master_prompt_fix.py +0 -0
- {fr_cli-2.3.3 → fr_cli-2.4.1}/tests/test_new_features.py +0 -0
fr_cli-2.4.1/MANIFEST.in
ADDED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: fr-cli
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.4.1
|
|
4
4
|
Summary: 凡人打字机 - 支持多模型(Zhipu/DeepSeek/Kimi/Qwen/StepFun/MiniMax/Spark/Doubao/MiMo)的终极全能终端工具
|
|
5
5
|
Author: FANREN CLI Author
|
|
6
6
|
License-Expression: MIT
|
|
7
|
-
Project-URL: Homepage, https://github.com/
|
|
8
|
-
Project-URL: Issues, https://github.com/
|
|
7
|
+
Project-URL: Homepage, https://github.com/leungyukit/fr-cli
|
|
8
|
+
Project-URL: Issues, https://github.com/leungyukit/fr-cli/issues
|
|
9
9
|
Keywords: zhipuai,deepseek,kimi,qwen,cli,ai,terminal,chatbot
|
|
10
10
|
Classifier: Development Status :: 4 - Beta
|
|
11
11
|
Classifier: Environment :: Console
|
|
@@ -28,6 +28,8 @@ Requires-Dist: openai>=1.0.0
|
|
|
28
28
|
Requires-Dist: requests>=2.28.0
|
|
29
29
|
Requires-Dist: mcp>=1.6.0
|
|
30
30
|
Requires-Dist: pyyaml>=6.0.0
|
|
31
|
+
Requires-Dist: prompt_toolkit>=3.0.0
|
|
32
|
+
Requires-Dist: Pillow>=10.0.0
|
|
31
33
|
Provides-Extra: data
|
|
32
34
|
Requires-Dist: pandas>=1.5.0; extra == "data"
|
|
33
35
|
Requires-Dist: openpyxl>=3.0.0; extra == "data"
|
|
@@ -82,10 +84,11 @@ Dynamic: license-file
|
|
|
82
84
|
支持以下 AI 模型提供商:
|
|
83
85
|
- **智谱 AI**: GLM-4-Flash 等
|
|
84
86
|
- **智谱 Coding Plan**: GLM-4.7 等 (https://docs.bigmodel.cn/cn/coding-plan/quick-start)
|
|
87
|
+
- **OpenAI**: GPT-4o / GPT-4o-mini / o1-mini / o3-mini 等(标准 OpenAI 接口)
|
|
85
88
|
- **DeepSeek**: DeepSeek-Chat 等
|
|
86
89
|
- **Kimi (Moonshot)**: moonshot-v1-8k 等
|
|
87
90
|
- **Kimi K2**: 代码优化版 kimi-k2-0905-preview
|
|
88
|
-
- **Kimi Code**: 代码平台 kimi-
|
|
91
|
+
- **Kimi Code**: 代码平台 kimi-for-coding (Kimi 会员)
|
|
89
92
|
- **通义千问 (Qwen)**: qwen-turbo 等
|
|
90
93
|
- **阶跃星辰 (StepFun)**: step-1-8k, step-2-16k, step-3-auto 等
|
|
91
94
|
- **Step-Audio**: 实时语音交互
|
|
@@ -120,6 +123,7 @@ Dynamic: license-file
|
|
|
120
123
|
- **MCP 外部神通**:支持 Model Context Protocol
|
|
121
124
|
- **多源信息融合**:大模型 + 工具结果统一汇总
|
|
122
125
|
- **中英文切换**:完整国际化支持
|
|
126
|
+
- **NO_COLOR 支持**:`NO_COLOR=1` 禁用所有 ANSI 颜色,适合 CI/管道环境
|
|
123
127
|
|
|
124
128
|
## 🚀 快速开始
|
|
125
129
|
|
|
@@ -133,10 +137,10 @@ fr-cli
|
|
|
133
137
|
# 或从源码运行
|
|
134
138
|
cd fr-cli
|
|
135
139
|
pip install -e .
|
|
136
|
-
|
|
140
|
+
fr-cli
|
|
137
141
|
```
|
|
138
142
|
|
|
139
|
-
首次运行会引导输入当前道统的 API Key
|
|
143
|
+
首次运行会引导输入当前道统的 API Key。直接回车可进入 Mock 模式试用。
|
|
140
144
|
|
|
141
145
|
## 📝 使用方法
|
|
142
146
|
|
|
@@ -153,11 +157,16 @@ python3 main.py
|
|
|
153
157
|
/load 加载历史会话
|
|
154
158
|
/export 导出会话为 Markdown
|
|
155
159
|
|
|
156
|
-
/model <模型名> 切换AI
|
|
160
|
+
/model <模型名> 切换AI模型(仅当前会话生效)
|
|
157
161
|
/model <道统>:<模型名> 同时切换道统和模型
|
|
162
|
+
/model config 🆕 交互式模型配置向导
|
|
163
|
+
/model list 列出所有可用模型
|
|
164
|
+
/model current 显示当前模型
|
|
165
|
+
/model default 恢复 factory 默认模型
|
|
158
166
|
/key <key> 修改当前道统 API Key
|
|
159
167
|
/key <道统> <key> 为指定道统设置 Key
|
|
160
168
|
/providers 查看所有道统配置
|
|
169
|
+
/providers setup 交互式配置向导
|
|
161
170
|
/providers add <p> <k> [m] 添加/更新道统配置
|
|
162
171
|
/providers use <p> 切换到指定道统
|
|
163
172
|
|
|
@@ -171,23 +180,24 @@ python3 main.py
|
|
|
171
180
|
/exit 退出
|
|
172
181
|
```
|
|
173
182
|
|
|
174
|
-
### 🤖 AI
|
|
183
|
+
### 🤖 AI 模型配置
|
|
175
184
|
|
|
176
|
-
```
|
|
177
|
-
#
|
|
178
|
-
/model
|
|
185
|
+
```bash
|
|
186
|
+
# 交互式配置向导(推荐)
|
|
187
|
+
>>> /model config
|
|
179
188
|
|
|
180
|
-
#
|
|
181
|
-
/model
|
|
189
|
+
# 直接切换(仅当前会话生效,重启后恢复 factory 默认)
|
|
190
|
+
>>> /model deepseek-chat
|
|
191
|
+
>>> /model deepseek:deepseek-reasoner
|
|
182
192
|
|
|
183
|
-
#
|
|
184
|
-
/model
|
|
193
|
+
# 查看当前模型
|
|
194
|
+
>>> /model current
|
|
185
195
|
|
|
186
|
-
#
|
|
187
|
-
/model
|
|
196
|
+
# 恢复 factory 默认模型
|
|
197
|
+
>>> /model default
|
|
188
198
|
|
|
189
199
|
# 配置新的 API Key
|
|
190
|
-
/providers add step-3 <your-api-key>
|
|
200
|
+
>>> /providers add step-3 <your-api-key>
|
|
191
201
|
```
|
|
192
202
|
|
|
193
203
|
### 🔧 Agent 管理
|
|
@@ -237,7 +247,7 @@ python3 main.py
|
|
|
237
247
|
/security 查看安全设置
|
|
238
248
|
```
|
|
239
249
|
|
|
240
|
-
##
|
|
250
|
+
## 🧠 Hermes 核心功能
|
|
241
251
|
|
|
242
252
|
### 📋 任务管理
|
|
243
253
|
```
|
|
@@ -302,32 +312,35 @@ fr acp
|
|
|
302
312
|
}
|
|
303
313
|
```
|
|
304
314
|
|
|
305
|
-
##
|
|
306
|
-
|
|
307
|
-
| 道统 | 默认模型 | API 地址 |
|
|
308
|
-
|
|
309
|
-
| zhipu | glm-4-flash | - |
|
|
310
|
-
| zhipu-coding | GLM-4.7 | open.bigmodel.cn/api/coding/paas/v4 |
|
|
311
|
-
| zhipu-anthropic | glm-4.6 | open.bigmodel.cn/api/anthropic |
|
|
312
|
-
|
|
|
313
|
-
|
|
|
314
|
-
| kimi
|
|
315
|
-
| kimi-
|
|
316
|
-
|
|
|
317
|
-
|
|
|
318
|
-
|
|
|
319
|
-
| step-
|
|
320
|
-
| step-
|
|
321
|
-
| step-
|
|
322
|
-
|
|
|
323
|
-
|
|
|
324
|
-
| minimax
|
|
325
|
-
| minimax-
|
|
326
|
-
|
|
|
327
|
-
|
|
|
328
|
-
|
|
|
329
|
-
|
|
|
330
|
-
|
|
|
315
|
+
## 🤖 支持的模型提供商(25+)
|
|
316
|
+
|
|
317
|
+
| 道统 | 默认模型 | API 地址 | 常用模型 |
|
|
318
|
+
|------|---------|----------|---------|
|
|
319
|
+
| zhipu | glm-4-flash | open.bigmodel.cn/api/paas/v4 | glm-4-flash, glm-4-plus, glm-4, glm-4v-plus, glm-4-air, glm-4-long |
|
|
320
|
+
| zhipu-coding | GLM-4.7 | open.bigmodel.cn/api/coding/paas/v4 (Coding Plan) | GLM-4.7, GLM-5.1, GLM-4.5-air |
|
|
321
|
+
| zhipu-anthropic | glm-4.6 | open.bigmodel.cn/api/anthropic | glm-4.6 |
|
|
322
|
+
| openai | gpt-4o-mini | api.openai.com/v1 | gpt-4o, gpt-4o-mini, gpt-4-turbo, gpt-3.5-turbo, o1-mini, o3-mini |
|
|
323
|
+
| deepseek | deepseek-chat | api.deepseek.com | deepseek-chat, deepseek-reasoner, deepseek-coder |
|
|
324
|
+
| kimi | moonshot-v1-8k | api.moonshot.cn | moonshot-v1-8k, moonshot-v1-32k, moonshot-v1-128k |
|
|
325
|
+
| kimi-k2 | kimi-k2-0905-preview | api.moonshot.cn | kimi-k2-0905-preview |
|
|
326
|
+
| kimi-code | kimi-for-coding | api.kimi.com/coding/v1 | kimi-for-coding |
|
|
327
|
+
| qwen | qwen-turbo | dashscope.aliyuncs.com | qwen-turbo, qwen-plus, qwen-max, qwen-coder-plus |
|
|
328
|
+
| stepfun | step-1-8k | api.stepfun.com (api.stepfun.com/step_plan/v1 for Step Plan) | step-1-8k, step-1-32k, step-2-16k, step-3-auto |
|
|
329
|
+
| step-1 | step-1-8k | api.stepfun.com | step-1-8k |
|
|
330
|
+
| step-2 | step-2-16k | api.stepfun.com | step-2-16k |
|
|
331
|
+
| step-3 | step-3-auto | api.stepfun.com | step-3-auto |
|
|
332
|
+
| step-audio | step-audio-2 | api.stepfun.com | step-audio-2 |
|
|
333
|
+
| stepfun-step-plan | step-3-auto | api.stepfun.com/step_plan/v1 (Step Plan) | step-3-auto, step-2-16k, step-1-8k |
|
|
334
|
+
| minimax | MiniMax-Text-01 | api.minimax.io (api.minimax.chat for Token Plan) | MiniMax-Text-01, MiniMax-M2.1, abab6.5s-chat, abab6.5t-chat |
|
|
335
|
+
| minimax-m27 | MiniMax-M2.7 | api.minimax.chat (Token Plan) | MiniMax-M2.7 |
|
|
336
|
+
| minimax-m27-fast | MiniMax-M2.7-HighSpeed | api.minimax.chat (Token Plan) | MiniMax-M2.7-HighSpeed |
|
|
337
|
+
| minimax-token-plan | MiniMax-M2.7 | api.minimax.chat (Token Plan) | MiniMax-M2.7 |
|
|
338
|
+
| spark | generalv3.5 | spark-api-open.xf-yun.com | generalv3.5 |
|
|
339
|
+
| doubao | doubao-1-5-pro-32k-250115 | ark.cn-beijing.volces.com | doubao-1-5-pro-32k, doubao-1-5-lite-32k |
|
|
340
|
+
| mimo | mimo-v2-flash | api.xiaomimimo.com | mimo-v2-flash, mimo-v2-pro |
|
|
341
|
+
| mimo-token-plan | mimo-v2-flash | token-plan-sgp.xiaomimimo.com (Token Plan) | mimo-v2-flash, mimo-v2-pro |
|
|
342
|
+
| longcat | LongCat-Flash-Chat | api.longcat.chat/openai | LongCat-Flash-Chat |
|
|
343
|
+
| longcat-anthropic | LongCat | api.longcat.chat/anthropic | LongCat |
|
|
331
344
|
|
|
332
345
|
## 🔧 开发
|
|
333
346
|
|
|
@@ -343,9 +356,17 @@ pip install -e ".[all]"
|
|
|
343
356
|
python3 -m pytest tests/ -v
|
|
344
357
|
|
|
345
358
|
# 运行程序
|
|
346
|
-
|
|
359
|
+
fr-cli
|
|
347
360
|
```
|
|
348
361
|
|
|
362
|
+
### 环境变量
|
|
363
|
+
|
|
364
|
+
| 变量 | 说明 |
|
|
365
|
+
|------|------|
|
|
366
|
+
| `NO_COLOR=1` | 禁用所有 ANSI 颜色输出,适合 CI/管道/日志重定向 |
|
|
367
|
+
| `FR_CLI_DEBUG=1` | 开启调试模式,显示详细 traceback |
|
|
368
|
+
| `FR_CLI_NON_INTERACTIVE=1` | 非交互模式,安全确认默认拒绝 |
|
|
369
|
+
|
|
349
370
|
## 📂 项目结构
|
|
350
371
|
|
|
351
372
|
```
|
|
@@ -356,7 +377,8 @@ fr_cli/
|
|
|
356
377
|
│ ├── master.py # MasterAgent 主控
|
|
357
378
|
│ └── ...
|
|
358
379
|
├── core/ # 核心模块
|
|
359
|
-
│
|
|
380
|
+
│ ├── llm.py # LLM 客户端(20+ 提供商)
|
|
381
|
+
│ └── model_factory.py # 模型工厂配置
|
|
360
382
|
├── weapon/ # 武器库
|
|
361
383
|
├── memory/ # 记忆系统
|
|
362
384
|
└── lang/ # 国际化
|
|
@@ -364,8 +386,75 @@ fr_cli/
|
|
|
364
386
|
|
|
365
387
|
## 📚 文档
|
|
366
388
|
|
|
367
|
-
- [
|
|
368
|
-
|
|
389
|
+
- [AGENTS.md](AGENTS.md) - 面向 AI 编码助手的项目架构与开发指南
|
|
390
|
+
|
|
391
|
+
## 📂 配置目录
|
|
392
|
+
|
|
393
|
+
> 配置统一在 `~/.fr_cli/` 目录下,旧路径 `~/.zhipu_cli_config.json` 等会在首次启动时自动迁移。
|
|
394
|
+
|
|
395
|
+
| 路径 | 说明 |
|
|
396
|
+
|------|------|
|
|
397
|
+
| `~/.fr_cli/config.json` | 主配置文件(统一配置目录) |
|
|
398
|
+
| `~/.fr_cli/config.json.bak` | 配置自动备份 |
|
|
399
|
+
| `~/.fr_cli/history/` | 会话历史记录 |
|
|
400
|
+
| `~/.fr_cli/context.json` | 上下文记忆 |
|
|
401
|
+
| `~/.fr_cli/sessions/` | 按日期自动存档的会话 |
|
|
402
|
+
| `~/.fr_cli/plugins/` | 用户插件目录 |
|
|
403
|
+
| `~/.fr_cli/agents/` | Agent 分身目录 |
|
|
404
|
+
| `~/.fr_cli/master/` | MasterAgent 记忆与进化记录 |
|
|
405
|
+
| `~/.fr_cli/remotes.json` | 远程主机配置 |
|
|
406
|
+
| `~/.fr_cli/databases.json` | 数据库连接配置 |
|
|
407
|
+
| `~/.fr_cli/rag_db/` | RAG 向量库(ChromaDB)|
|
|
408
|
+
|
|
409
|
+
## ❓ 常见问题
|
|
410
|
+
|
|
411
|
+
**Q: 如何切换思维模式?**
|
|
412
|
+
```bash
|
|
413
|
+
/mode direct # 直接回复
|
|
414
|
+
/mode cot # 思维链
|
|
415
|
+
/mode tot # 思维树
|
|
416
|
+
/mode react # ReAct
|
|
417
|
+
```
|
|
418
|
+
|
|
419
|
+
**Q: 模型切换后重启又变回去了?**
|
|
420
|
+
这是预期行为。fr-cli 每次启动从 `model_factory.py` 的工厂配置读取默认模型,`/model` 切换仅当前会话生效。如需持久化切换默认模型,可修改 `fr_cli/core/model_factory.py` 中的默认模型,或使用 `/providers setup` 交互式配置向导。
|
|
421
|
+
|
|
422
|
+
**Q: 如何配置模型?**
|
|
423
|
+
```bash
|
|
424
|
+
# 推荐:交互式向导
|
|
425
|
+
/model config
|
|
426
|
+
|
|
427
|
+
# 或
|
|
428
|
+
/providers setup
|
|
429
|
+
```
|
|
430
|
+
|
|
431
|
+
**Q: 如何保存会话?**
|
|
432
|
+
```bash
|
|
433
|
+
/save my-session
|
|
434
|
+
/load
|
|
435
|
+
/export
|
|
436
|
+
```
|
|
437
|
+
|
|
438
|
+
**Q: 如何查看历史记录?**
|
|
439
|
+
```bash
|
|
440
|
+
/history
|
|
441
|
+
/session_list
|
|
442
|
+
```
|
|
443
|
+
|
|
444
|
+
**Q: 邮件发送失败?**
|
|
445
|
+
- QQ/163 邮箱需使用「授权码」而非登录密码
|
|
446
|
+
- 授权码在邮箱设置 → 账户 → 开启 IMAP/SMTP 服务后生成
|
|
447
|
+
|
|
448
|
+
**Q: 搜索功能无法使用?**
|
|
449
|
+
```bash
|
|
450
|
+
pip install requests
|
|
451
|
+
```
|
|
452
|
+
|
|
453
|
+
**Q: 云盘功能无法使用?**
|
|
454
|
+
```bash
|
|
455
|
+
pip install aligo # 阿里云盘
|
|
456
|
+
```
|
|
457
|
+
首次使用需运行 `/disk_setup` 完成扫码登录。
|
|
369
458
|
|
|
370
459
|
## 📄 License
|
|
371
460
|
|
|
@@ -10,10 +10,11 @@
|
|
|
10
10
|
支持以下 AI 模型提供商:
|
|
11
11
|
- **智谱 AI**: GLM-4-Flash 等
|
|
12
12
|
- **智谱 Coding Plan**: GLM-4.7 等 (https://docs.bigmodel.cn/cn/coding-plan/quick-start)
|
|
13
|
+
- **OpenAI**: GPT-4o / GPT-4o-mini / o1-mini / o3-mini 等(标准 OpenAI 接口)
|
|
13
14
|
- **DeepSeek**: DeepSeek-Chat 等
|
|
14
15
|
- **Kimi (Moonshot)**: moonshot-v1-8k 等
|
|
15
16
|
- **Kimi K2**: 代码优化版 kimi-k2-0905-preview
|
|
16
|
-
- **Kimi Code**: 代码平台 kimi-
|
|
17
|
+
- **Kimi Code**: 代码平台 kimi-for-coding (Kimi 会员)
|
|
17
18
|
- **通义千问 (Qwen)**: qwen-turbo 等
|
|
18
19
|
- **阶跃星辰 (StepFun)**: step-1-8k, step-2-16k, step-3-auto 等
|
|
19
20
|
- **Step-Audio**: 实时语音交互
|
|
@@ -48,6 +49,7 @@
|
|
|
48
49
|
- **MCP 外部神通**:支持 Model Context Protocol
|
|
49
50
|
- **多源信息融合**:大模型 + 工具结果统一汇总
|
|
50
51
|
- **中英文切换**:完整国际化支持
|
|
52
|
+
- **NO_COLOR 支持**:`NO_COLOR=1` 禁用所有 ANSI 颜色,适合 CI/管道环境
|
|
51
53
|
|
|
52
54
|
## 🚀 快速开始
|
|
53
55
|
|
|
@@ -61,10 +63,10 @@ fr-cli
|
|
|
61
63
|
# 或从源码运行
|
|
62
64
|
cd fr-cli
|
|
63
65
|
pip install -e .
|
|
64
|
-
|
|
66
|
+
fr-cli
|
|
65
67
|
```
|
|
66
68
|
|
|
67
|
-
首次运行会引导输入当前道统的 API Key
|
|
69
|
+
首次运行会引导输入当前道统的 API Key。直接回车可进入 Mock 模式试用。
|
|
68
70
|
|
|
69
71
|
## 📝 使用方法
|
|
70
72
|
|
|
@@ -81,11 +83,16 @@ python3 main.py
|
|
|
81
83
|
/load 加载历史会话
|
|
82
84
|
/export 导出会话为 Markdown
|
|
83
85
|
|
|
84
|
-
/model <模型名> 切换AI
|
|
86
|
+
/model <模型名> 切换AI模型(仅当前会话生效)
|
|
85
87
|
/model <道统>:<模型名> 同时切换道统和模型
|
|
88
|
+
/model config 🆕 交互式模型配置向导
|
|
89
|
+
/model list 列出所有可用模型
|
|
90
|
+
/model current 显示当前模型
|
|
91
|
+
/model default 恢复 factory 默认模型
|
|
86
92
|
/key <key> 修改当前道统 API Key
|
|
87
93
|
/key <道统> <key> 为指定道统设置 Key
|
|
88
94
|
/providers 查看所有道统配置
|
|
95
|
+
/providers setup 交互式配置向导
|
|
89
96
|
/providers add <p> <k> [m] 添加/更新道统配置
|
|
90
97
|
/providers use <p> 切换到指定道统
|
|
91
98
|
|
|
@@ -99,23 +106,24 @@ python3 main.py
|
|
|
99
106
|
/exit 退出
|
|
100
107
|
```
|
|
101
108
|
|
|
102
|
-
### 🤖 AI
|
|
109
|
+
### 🤖 AI 模型配置
|
|
103
110
|
|
|
104
|
-
```
|
|
105
|
-
#
|
|
106
|
-
/model
|
|
111
|
+
```bash
|
|
112
|
+
# 交互式配置向导(推荐)
|
|
113
|
+
>>> /model config
|
|
107
114
|
|
|
108
|
-
#
|
|
109
|
-
/model
|
|
115
|
+
# 直接切换(仅当前会话生效,重启后恢复 factory 默认)
|
|
116
|
+
>>> /model deepseek-chat
|
|
117
|
+
>>> /model deepseek:deepseek-reasoner
|
|
110
118
|
|
|
111
|
-
#
|
|
112
|
-
/model
|
|
119
|
+
# 查看当前模型
|
|
120
|
+
>>> /model current
|
|
113
121
|
|
|
114
|
-
#
|
|
115
|
-
/model
|
|
122
|
+
# 恢复 factory 默认模型
|
|
123
|
+
>>> /model default
|
|
116
124
|
|
|
117
125
|
# 配置新的 API Key
|
|
118
|
-
/providers add step-3 <your-api-key>
|
|
126
|
+
>>> /providers add step-3 <your-api-key>
|
|
119
127
|
```
|
|
120
128
|
|
|
121
129
|
### 🔧 Agent 管理
|
|
@@ -165,7 +173,7 @@ python3 main.py
|
|
|
165
173
|
/security 查看安全设置
|
|
166
174
|
```
|
|
167
175
|
|
|
168
|
-
##
|
|
176
|
+
## 🧠 Hermes 核心功能
|
|
169
177
|
|
|
170
178
|
### 📋 任务管理
|
|
171
179
|
```
|
|
@@ -230,32 +238,35 @@ fr acp
|
|
|
230
238
|
}
|
|
231
239
|
```
|
|
232
240
|
|
|
233
|
-
##
|
|
234
|
-
|
|
235
|
-
| 道统 | 默认模型 | API 地址 |
|
|
236
|
-
|
|
237
|
-
| zhipu | glm-4-flash | - |
|
|
238
|
-
| zhipu-coding | GLM-4.7 | open.bigmodel.cn/api/coding/paas/v4 |
|
|
239
|
-
| zhipu-anthropic | glm-4.6 | open.bigmodel.cn/api/anthropic |
|
|
240
|
-
|
|
|
241
|
-
|
|
|
242
|
-
| kimi
|
|
243
|
-
| kimi-
|
|
244
|
-
|
|
|
245
|
-
|
|
|
246
|
-
|
|
|
247
|
-
| step-
|
|
248
|
-
| step-
|
|
249
|
-
| step-
|
|
250
|
-
|
|
|
251
|
-
|
|
|
252
|
-
| minimax
|
|
253
|
-
| minimax-
|
|
254
|
-
|
|
|
255
|
-
|
|
|
256
|
-
|
|
|
257
|
-
|
|
|
258
|
-
|
|
|
241
|
+
## 🤖 支持的模型提供商(25+)
|
|
242
|
+
|
|
243
|
+
| 道统 | 默认模型 | API 地址 | 常用模型 |
|
|
244
|
+
|------|---------|----------|---------|
|
|
245
|
+
| zhipu | glm-4-flash | open.bigmodel.cn/api/paas/v4 | glm-4-flash, glm-4-plus, glm-4, glm-4v-plus, glm-4-air, glm-4-long |
|
|
246
|
+
| zhipu-coding | GLM-4.7 | open.bigmodel.cn/api/coding/paas/v4 (Coding Plan) | GLM-4.7, GLM-5.1, GLM-4.5-air |
|
|
247
|
+
| zhipu-anthropic | glm-4.6 | open.bigmodel.cn/api/anthropic | glm-4.6 |
|
|
248
|
+
| openai | gpt-4o-mini | api.openai.com/v1 | gpt-4o, gpt-4o-mini, gpt-4-turbo, gpt-3.5-turbo, o1-mini, o3-mini |
|
|
249
|
+
| deepseek | deepseek-chat | api.deepseek.com | deepseek-chat, deepseek-reasoner, deepseek-coder |
|
|
250
|
+
| kimi | moonshot-v1-8k | api.moonshot.cn | moonshot-v1-8k, moonshot-v1-32k, moonshot-v1-128k |
|
|
251
|
+
| kimi-k2 | kimi-k2-0905-preview | api.moonshot.cn | kimi-k2-0905-preview |
|
|
252
|
+
| kimi-code | kimi-for-coding | api.kimi.com/coding/v1 | kimi-for-coding |
|
|
253
|
+
| qwen | qwen-turbo | dashscope.aliyuncs.com | qwen-turbo, qwen-plus, qwen-max, qwen-coder-plus |
|
|
254
|
+
| stepfun | step-1-8k | api.stepfun.com (api.stepfun.com/step_plan/v1 for Step Plan) | step-1-8k, step-1-32k, step-2-16k, step-3-auto |
|
|
255
|
+
| step-1 | step-1-8k | api.stepfun.com | step-1-8k |
|
|
256
|
+
| step-2 | step-2-16k | api.stepfun.com | step-2-16k |
|
|
257
|
+
| step-3 | step-3-auto | api.stepfun.com | step-3-auto |
|
|
258
|
+
| step-audio | step-audio-2 | api.stepfun.com | step-audio-2 |
|
|
259
|
+
| stepfun-step-plan | step-3-auto | api.stepfun.com/step_plan/v1 (Step Plan) | step-3-auto, step-2-16k, step-1-8k |
|
|
260
|
+
| minimax | MiniMax-Text-01 | api.minimax.io (api.minimax.chat for Token Plan) | MiniMax-Text-01, MiniMax-M2.1, abab6.5s-chat, abab6.5t-chat |
|
|
261
|
+
| minimax-m27 | MiniMax-M2.7 | api.minimax.chat (Token Plan) | MiniMax-M2.7 |
|
|
262
|
+
| minimax-m27-fast | MiniMax-M2.7-HighSpeed | api.minimax.chat (Token Plan) | MiniMax-M2.7-HighSpeed |
|
|
263
|
+
| minimax-token-plan | MiniMax-M2.7 | api.minimax.chat (Token Plan) | MiniMax-M2.7 |
|
|
264
|
+
| spark | generalv3.5 | spark-api-open.xf-yun.com | generalv3.5 |
|
|
265
|
+
| doubao | doubao-1-5-pro-32k-250115 | ark.cn-beijing.volces.com | doubao-1-5-pro-32k, doubao-1-5-lite-32k |
|
|
266
|
+
| mimo | mimo-v2-flash | api.xiaomimimo.com | mimo-v2-flash, mimo-v2-pro |
|
|
267
|
+
| mimo-token-plan | mimo-v2-flash | token-plan-sgp.xiaomimimo.com (Token Plan) | mimo-v2-flash, mimo-v2-pro |
|
|
268
|
+
| longcat | LongCat-Flash-Chat | api.longcat.chat/openai | LongCat-Flash-Chat |
|
|
269
|
+
| longcat-anthropic | LongCat | api.longcat.chat/anthropic | LongCat |
|
|
259
270
|
|
|
260
271
|
## 🔧 开发
|
|
261
272
|
|
|
@@ -271,9 +282,17 @@ pip install -e ".[all]"
|
|
|
271
282
|
python3 -m pytest tests/ -v
|
|
272
283
|
|
|
273
284
|
# 运行程序
|
|
274
|
-
|
|
285
|
+
fr-cli
|
|
275
286
|
```
|
|
276
287
|
|
|
288
|
+
### 环境变量
|
|
289
|
+
|
|
290
|
+
| 变量 | 说明 |
|
|
291
|
+
|------|------|
|
|
292
|
+
| `NO_COLOR=1` | 禁用所有 ANSI 颜色输出,适合 CI/管道/日志重定向 |
|
|
293
|
+
| `FR_CLI_DEBUG=1` | 开启调试模式,显示详细 traceback |
|
|
294
|
+
| `FR_CLI_NON_INTERACTIVE=1` | 非交互模式,安全确认默认拒绝 |
|
|
295
|
+
|
|
277
296
|
## 📂 项目结构
|
|
278
297
|
|
|
279
298
|
```
|
|
@@ -284,7 +303,8 @@ fr_cli/
|
|
|
284
303
|
│ ├── master.py # MasterAgent 主控
|
|
285
304
|
│ └── ...
|
|
286
305
|
├── core/ # 核心模块
|
|
287
|
-
│
|
|
306
|
+
│ ├── llm.py # LLM 客户端(20+ 提供商)
|
|
307
|
+
│ └── model_factory.py # 模型工厂配置
|
|
288
308
|
├── weapon/ # 武器库
|
|
289
309
|
├── memory/ # 记忆系统
|
|
290
310
|
└── lang/ # 国际化
|
|
@@ -292,9 +312,76 @@ fr_cli/
|
|
|
292
312
|
|
|
293
313
|
## 📚 文档
|
|
294
314
|
|
|
295
|
-
- [
|
|
296
|
-
|
|
315
|
+
- [AGENTS.md](AGENTS.md) - 面向 AI 编码助手的项目架构与开发指南
|
|
316
|
+
|
|
317
|
+
## 📂 配置目录
|
|
318
|
+
|
|
319
|
+
> 配置统一在 `~/.fr_cli/` 目录下,旧路径 `~/.zhipu_cli_config.json` 等会在首次启动时自动迁移。
|
|
320
|
+
|
|
321
|
+
| 路径 | 说明 |
|
|
322
|
+
|------|------|
|
|
323
|
+
| `~/.fr_cli/config.json` | 主配置文件(统一配置目录) |
|
|
324
|
+
| `~/.fr_cli/config.json.bak` | 配置自动备份 |
|
|
325
|
+
| `~/.fr_cli/history/` | 会话历史记录 |
|
|
326
|
+
| `~/.fr_cli/context.json` | 上下文记忆 |
|
|
327
|
+
| `~/.fr_cli/sessions/` | 按日期自动存档的会话 |
|
|
328
|
+
| `~/.fr_cli/plugins/` | 用户插件目录 |
|
|
329
|
+
| `~/.fr_cli/agents/` | Agent 分身目录 |
|
|
330
|
+
| `~/.fr_cli/master/` | MasterAgent 记忆与进化记录 |
|
|
331
|
+
| `~/.fr_cli/remotes.json` | 远程主机配置 |
|
|
332
|
+
| `~/.fr_cli/databases.json` | 数据库连接配置 |
|
|
333
|
+
| `~/.fr_cli/rag_db/` | RAG 向量库(ChromaDB)|
|
|
334
|
+
|
|
335
|
+
## ❓ 常见问题
|
|
336
|
+
|
|
337
|
+
**Q: 如何切换思维模式?**
|
|
338
|
+
```bash
|
|
339
|
+
/mode direct # 直接回复
|
|
340
|
+
/mode cot # 思维链
|
|
341
|
+
/mode tot # 思维树
|
|
342
|
+
/mode react # ReAct
|
|
343
|
+
```
|
|
344
|
+
|
|
345
|
+
**Q: 模型切换后重启又变回去了?**
|
|
346
|
+
这是预期行为。fr-cli 每次启动从 `model_factory.py` 的工厂配置读取默认模型,`/model` 切换仅当前会话生效。如需持久化切换默认模型,可修改 `fr_cli/core/model_factory.py` 中的默认模型,或使用 `/providers setup` 交互式配置向导。
|
|
347
|
+
|
|
348
|
+
**Q: 如何配置模型?**
|
|
349
|
+
```bash
|
|
350
|
+
# 推荐:交互式向导
|
|
351
|
+
/model config
|
|
352
|
+
|
|
353
|
+
# 或
|
|
354
|
+
/providers setup
|
|
355
|
+
```
|
|
356
|
+
|
|
357
|
+
**Q: 如何保存会话?**
|
|
358
|
+
```bash
|
|
359
|
+
/save my-session
|
|
360
|
+
/load
|
|
361
|
+
/export
|
|
362
|
+
```
|
|
363
|
+
|
|
364
|
+
**Q: 如何查看历史记录?**
|
|
365
|
+
```bash
|
|
366
|
+
/history
|
|
367
|
+
/session_list
|
|
368
|
+
```
|
|
369
|
+
|
|
370
|
+
**Q: 邮件发送失败?**
|
|
371
|
+
- QQ/163 邮箱需使用「授权码」而非登录密码
|
|
372
|
+
- 授权码在邮箱设置 → 账户 → 开启 IMAP/SMTP 服务后生成
|
|
373
|
+
|
|
374
|
+
**Q: 搜索功能无法使用?**
|
|
375
|
+
```bash
|
|
376
|
+
pip install requests
|
|
377
|
+
```
|
|
378
|
+
|
|
379
|
+
**Q: 云盘功能无法使用?**
|
|
380
|
+
```bash
|
|
381
|
+
pip install aligo # 阿里云盘
|
|
382
|
+
```
|
|
383
|
+
首次使用需运行 `/disk_setup` 完成扫码登录。
|
|
297
384
|
|
|
298
385
|
## 📄 License
|
|
299
386
|
|
|
300
|
-
MIT
|
|
387
|
+
MIT
|
|
@@ -243,7 +243,7 @@ Agent 能力类型:
|
|
|
243
243
|
- DeepSeek: deepseek (deepseek-chat)
|
|
244
244
|
- Kimi: kimi (moonshot-v1-8k)
|
|
245
245
|
- Kimi K2: kimi-k2 (kimi-k2-0905-preview) - 代码优化版
|
|
246
|
-
- Kimi Code: kimi-code (kimi-
|
|
246
|
+
- Kimi Code: kimi-code (kimi-for-coding) - 代码平台
|
|
247
247
|
- 通义千问: qwen (qwen-turbo)
|
|
248
248
|
- 阶跃星辰: stepfun (step-1-8k), step-1, step-2, step-3, step-audio
|
|
249
249
|
- MiniMax: minimax (MiniMax-Text-01)
|
|
@@ -3,11 +3,12 @@
|
|
|
3
3
|
负责本地技能的扫描、动态落盘与沙盒执行
|
|
4
4
|
"""
|
|
5
5
|
import re, subprocess, sys
|
|
6
|
+
from fr_cli.conf.paths import PLUGIN_DIR
|
|
6
7
|
from pathlib import Path
|
|
7
8
|
from fr_cli.lang.i18n import T
|
|
8
9
|
from fr_cli.ui.ui import RED, DIM, RESET
|
|
9
10
|
|
|
10
|
-
PLUGIN_DIR =
|
|
11
|
+
PLUGIN_DIR = PLUGIN_DIR # from fr_cli.conf.paths
|
|
11
12
|
|
|
12
13
|
def init_plugins():
|
|
13
14
|
"""扫描并初始化本地插件字典 {名字: 绝对路径}"""
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
from fr_cli.conf.paths import REGISTRY_FILE
|
|
1
2
|
"""
|
|
2
3
|
Agent2Agent Protocol (A2A) - Agent 互操作协议
|
|
3
4
|
|
|
@@ -116,7 +117,7 @@ class AgentRegistry:
|
|
|
116
117
|
return
|
|
117
118
|
self._agents: Dict[str, AgentInfo] = {}
|
|
118
119
|
self._tasks: Dict[str, TaskResult] = {}
|
|
119
|
-
self._registry_file =
|
|
120
|
+
self._registry_file = REGISTRY_FILE
|
|
120
121
|
self._load_registry()
|
|
121
122
|
self._initialized = True
|
|
122
123
|
|