jarvis-ai-assistant 0.4.1__py3-none-any.whl → 0.5.0__py3-none-any.whl
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.
- jarvis/__init__.py +1 -1
- jarvis/jarvis_agent/__init__.py +79 -73
- jarvis/jarvis_agent/run_loop.py +18 -0
- jarvis/jarvis_agent/share_manager.py +8 -1
- jarvis/jarvis_code_agent/code_agent.py +91 -2
- jarvis/jarvis_code_analysis/code_review.py +483 -568
- jarvis/jarvis_data/config_schema.json +7 -2
- jarvis/jarvis_multi_agent/__init__.py +24 -11
- jarvis/jarvis_tools/registry.py +26 -14
- jarvis/jarvis_tools/sub_agent.py +9 -0
- jarvis/jarvis_utils/config.py +16 -11
- jarvis/jarvis_utils/input.py +77 -6
- jarvis/jarvis_utils/methodology.py +25 -19
- jarvis/jarvis_utils/utils.py +58 -2
- {jarvis_ai_assistant-0.4.1.dist-info → jarvis_ai_assistant-0.5.0.dist-info}/METADATA +1 -1
- {jarvis_ai_assistant-0.4.1.dist-info → jarvis_ai_assistant-0.5.0.dist-info}/RECORD +20 -21
- jarvis/jarvis_agent/config.py +0 -100
- {jarvis_ai_assistant-0.4.1.dist-info → jarvis_ai_assistant-0.5.0.dist-info}/WHEEL +0 -0
- {jarvis_ai_assistant-0.4.1.dist-info → jarvis_ai_assistant-0.5.0.dist-info}/entry_points.txt +0 -0
- {jarvis_ai_assistant-0.4.1.dist-info → jarvis_ai_assistant-0.5.0.dist-info}/licenses/LICENSE +0 -0
- {jarvis_ai_assistant-0.4.1.dist-info → jarvis_ai_assistant-0.5.0.dist-info}/top_level.txt +0 -0
jarvis/jarvis_agent/config.py
DELETED
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
|
-
"""
|
|
3
|
-
AgentConfig: 聚合 Agent 的初始化配置并提供默认值解析。
|
|
4
|
-
|
|
5
|
-
目标(阶段一,最小变更):
|
|
6
|
-
- 提供独立的配置承载类,封装 __init__ 中的配置项
|
|
7
|
-
- 支持从全局配置与上下文推导默认值
|
|
8
|
-
- 暂不强制替换 Agent 的现有参数与流程,后续逐步接入
|
|
9
|
-
"""
|
|
10
|
-
from dataclasses import dataclass, field
|
|
11
|
-
from typing import List, Optional
|
|
12
|
-
|
|
13
|
-
from jarvis.jarvis_agent.prompts import DEFAULT_SUMMARY_PROMPT
|
|
14
|
-
from jarvis.jarvis_utils.config import (
|
|
15
|
-
get_max_token_count,
|
|
16
|
-
is_execute_tool_confirm,
|
|
17
|
-
is_force_save_memory,
|
|
18
|
-
is_use_analysis,
|
|
19
|
-
is_use_methodology,
|
|
20
|
-
is_non_interactive,
|
|
21
|
-
)
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
@dataclass
|
|
25
|
-
class AgentConfig:
|
|
26
|
-
# 核心身份与系统参数
|
|
27
|
-
system_prompt: str
|
|
28
|
-
name: str = "Jarvis"
|
|
29
|
-
description: str = ""
|
|
30
|
-
model_group: Optional[str] = None
|
|
31
|
-
|
|
32
|
-
# 运行行为
|
|
33
|
-
auto_complete: bool = False
|
|
34
|
-
non_interactive: bool = False
|
|
35
|
-
need_summary: bool = True
|
|
36
|
-
|
|
37
|
-
# 可选配置(None 表示使用默认策略解析)
|
|
38
|
-
summary_prompt: Optional[str] = None
|
|
39
|
-
execute_tool_confirm: Optional[bool] = None
|
|
40
|
-
use_methodology: Optional[bool] = None
|
|
41
|
-
use_analysis: Optional[bool] = None
|
|
42
|
-
force_save_memory: Optional[bool] = None
|
|
43
|
-
files: Optional[List[str]] = field(default_factory=list)
|
|
44
|
-
max_token_count: Optional[int] = None
|
|
45
|
-
|
|
46
|
-
def resolve_defaults(self) -> "AgentConfig":
|
|
47
|
-
"""
|
|
48
|
-
解析并填充默认值,返回新的 AgentConfig 实例,不修改原对象。
|
|
49
|
-
策略与 Agent._init_config 中的逻辑保持一致,确保兼容。
|
|
50
|
-
"""
|
|
51
|
-
# 复制当前实例的浅拷贝数据
|
|
52
|
-
cfg = AgentConfig(
|
|
53
|
-
system_prompt=self.system_prompt,
|
|
54
|
-
name=self.name,
|
|
55
|
-
description=self.description,
|
|
56
|
-
model_group=self.model_group,
|
|
57
|
-
auto_complete=self.auto_complete,
|
|
58
|
-
non_interactive=self.non_interactive,
|
|
59
|
-
need_summary=self.need_summary,
|
|
60
|
-
summary_prompt=self.summary_prompt,
|
|
61
|
-
execute_tool_confirm=self.execute_tool_confirm,
|
|
62
|
-
use_methodology=self.use_methodology,
|
|
63
|
-
use_analysis=self.use_analysis,
|
|
64
|
-
force_save_memory=self.force_save_memory,
|
|
65
|
-
files=list(self.files or []),
|
|
66
|
-
max_token_count=self.max_token_count,
|
|
67
|
-
)
|
|
68
|
-
|
|
69
|
-
# use_methodology: 若存在上传文件则禁用;否则按照外部传入或全局默认
|
|
70
|
-
if cfg.files:
|
|
71
|
-
cfg.use_methodology = False
|
|
72
|
-
elif cfg.use_methodology is None:
|
|
73
|
-
cfg.use_methodology = is_use_methodology()
|
|
74
|
-
|
|
75
|
-
# use_analysis
|
|
76
|
-
if cfg.use_analysis is None:
|
|
77
|
-
cfg.use_analysis = is_use_analysis()
|
|
78
|
-
|
|
79
|
-
# execute_tool_confirm
|
|
80
|
-
if cfg.execute_tool_confirm is None:
|
|
81
|
-
cfg.execute_tool_confirm = is_execute_tool_confirm()
|
|
82
|
-
|
|
83
|
-
# summary_prompt
|
|
84
|
-
# Treat None or whitespace-only string as unset, fallback to default
|
|
85
|
-
if cfg.summary_prompt is None or (isinstance(cfg.summary_prompt, str) and cfg.summary_prompt.strip() == ""):
|
|
86
|
-
cfg.summary_prompt = DEFAULT_SUMMARY_PROMPT
|
|
87
|
-
|
|
88
|
-
# max_token_count
|
|
89
|
-
if cfg.max_token_count is None:
|
|
90
|
-
cfg.max_token_count = get_max_token_count(cfg.model_group)
|
|
91
|
-
|
|
92
|
-
# force_save_memory
|
|
93
|
-
if cfg.force_save_memory is None:
|
|
94
|
-
cfg.force_save_memory = is_force_save_memory()
|
|
95
|
-
|
|
96
|
-
# 非交互模式下默认开启自动完成
|
|
97
|
-
if is_non_interactive():
|
|
98
|
-
cfg.auto_complete = True
|
|
99
|
-
|
|
100
|
-
return cfg
|
|
File without changes
|
{jarvis_ai_assistant-0.4.1.dist-info → jarvis_ai_assistant-0.5.0.dist-info}/entry_points.txt
RENAMED
|
File without changes
|
{jarvis_ai_assistant-0.4.1.dist-info → jarvis_ai_assistant-0.5.0.dist-info}/licenses/LICENSE
RENAMED
|
File without changes
|
|
File without changes
|