fr-cli 2.3.0__tar.gz → 2.3.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.
- {fr_cli-2.3.0/fr_cli.egg-info → fr_cli-2.3.2}/PKG-INFO +1 -1
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/agent/master.py +16 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/weapon/mcp.py +3 -1
- {fr_cli-2.3.0 → fr_cli-2.3.2/fr_cli.egg-info}/PKG-INFO +1 -1
- {fr_cli-2.3.0 → fr_cli-2.3.2}/pyproject.toml +1 -1
- {fr_cli-2.3.0 → fr_cli-2.3.2}/LICENSE +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/MANIFEST.in +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/README.md +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/README.md +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/WEAPON.MD +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/__init__.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/addon/plugin.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/agent/__init__.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/agent/a2a.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/agent/acp.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/agent/builtins/__init__.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/agent/builtins/_utils.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/agent/builtins/db.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/agent/builtins/local.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/agent/builtins/powerful_agent_template.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/agent/builtins/rag.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/agent/builtins/rag_watcher_daemon.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/agent/builtins/remote.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/agent/builtins/spider.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/agent/client.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/agent/coding_helper.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/agent/context_files.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/agent/executor.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/agent/gateway.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/agent/generator.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/agent/hermes.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/agent/image_and_parallel.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/agent/manager.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/agent/master_prompt.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/agent/personality.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/agent/plugin_system.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/agent/remote.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/agent/server.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/agent/shell_mode.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/agent/skills.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/agent/workflow.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/agent/workflow_system.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/breakthrough/update.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/command/__init__.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/command/executor.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/command/registry.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/command/security.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/conf/config.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/conf/wizard.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/core/chat.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/core/core.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/core/intent.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/core/llm.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/core/model_factory.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/core/recommender.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/core/stream.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/core/sysmon.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/core/thinking.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/gatekeeper/__init__.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/gatekeeper/daemon.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/gatekeeper/manager.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/lang/i18n.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/main.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/memory/context.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/memory/history.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/memory/session.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/repl/__init__.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/repl/commands.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/security/security.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/ui/ui.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/weapon/cron.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/weapon/dataframe.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/weapon/disk.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/weapon/fs.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/weapon/launcher.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/weapon/loader.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/weapon/mail.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/weapon/vision.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli/weapon/web.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli.egg-info/SOURCES.txt +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli.egg-info/dependency_links.txt +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli.egg-info/entry_points.txt +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli.egg-info/requires.txt +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/fr_cli.egg-info/top_level.txt +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/setup.cfg +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/tests/test_a2a_and_providers.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/tests/test_integration_real.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/tests/test_master_prompt_fix.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/tests/test_model_config.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/tests/test_new_features.py +0 -0
- {fr_cli-2.3.0 → fr_cli-2.3.2}/tests/test_new_providers.py +0 -0
|
@@ -378,9 +378,25 @@ class MasterAgent:
|
|
|
378
378
|
# 4. Hermes 自动学习更新
|
|
379
379
|
try:
|
|
380
380
|
from fr_cli.agent.hermes import get_analytics, get_task_manager
|
|
381
|
+
from fr_cli.agent.skills import get_skill_manager
|
|
382
|
+
from fr_cli.agent.personality import get_personality_manager
|
|
383
|
+
|
|
381
384
|
analytics = get_analytics()
|
|
382
385
|
task_mgr = get_task_manager()
|
|
386
|
+
skill_mgr = get_skill_manager()
|
|
387
|
+
personality_mgr = get_personality_manager()
|
|
388
|
+
|
|
383
389
|
analytics.record_request(self.state.model_name, 100, 0.001)
|
|
390
|
+
|
|
391
|
+
if any(kw in user_input for kw in ["学习", "记住", "技能", "skill"]):
|
|
392
|
+
skill_mgr.learn_from_task(user_input, final_answer)
|
|
393
|
+
|
|
394
|
+
if any(kw in user_input for kw in ["切换", "模式", "角色", "个性"]):
|
|
395
|
+
for p in ["coder", "teacher", "creative", "expert"]:
|
|
396
|
+
if p in user_input.lower():
|
|
397
|
+
personality_mgr.set_personality(p)
|
|
398
|
+
break
|
|
399
|
+
|
|
384
400
|
except Exception:
|
|
385
401
|
pass
|
|
386
402
|
|
|
@@ -183,4 +183,6 @@ def get_mcp_manager() -> MCPServerManager:
|
|
|
183
183
|
|
|
184
184
|
def load_from_config_file(config_file: str) -> MCPServerManager:
|
|
185
185
|
"""从配置文件加载 MCP 服务器"""
|
|
186
|
-
return MCPServerManager.from_config_file(config_file)
|
|
186
|
+
return MCPServerManager.from_config_file(config_file)
|
|
187
|
+
|
|
188
|
+
MCPManager = MCPServerManager
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|