- rtp/net/kernel researcher: system prompt 新增 [后续] 续链输出指令 每轮调研完成后自动生成下一轮聚焦方向并入队同角色任务 - algo_researcher: 新增 run() 覆盖,解析 [记忆] 写入 ProjectMemory + 解析 [后续] 自动入队下轮算法迭代任务 - market_pm: 修复 _extract_market_intelligence 从未被调用的 bug 新增 run() 覆盖确保情报写入 ProjectMemory,并加入 [后续] 续链指令 - scheduler: 已注册 research_cycle(8h)/algo_cycle(8h)/market_intel(24h) 周期 job - 测试更新: test_market_pm_system_prompt_has_doc_types 对齐新的系统提示内容 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
42 lines
1.7 KiB
Python
42 lines
1.7 KiB
Python
from __future__ import annotations
|
|
import pytest
|
|
from unittest.mock import MagicMock
|
|
from nmfs_agents.config import AgentsConfig, ClaudeConfig
|
|
from nmfs_agents.core.queue import Task
|
|
from nmfs_agents.tools.project_memory import ProjectMemory
|
|
|
|
|
|
def _make_config():
|
|
cfg = MagicMock(spec=AgentsConfig)
|
|
cfg.projects = {}
|
|
cfg.claude = ClaudeConfig(model="claude-sonnet-4-6", api_key=None)
|
|
return cfg
|
|
|
|
|
|
def test_market_pm_system_prompt_has_doc_types(tmp_path):
|
|
from nmfs_agents.agents.market_pm import MarketPmAgent, MARKET_PM_SYSTEM
|
|
assert "竞品" in MARKET_PM_SYSTEM or "市场情报" in MARKET_PM_SYSTEM
|
|
mem = ProjectMemory(db_path=tmp_path / "m.db")
|
|
agent = MarketPmAgent(_make_config(), memory=mem)
|
|
task = Task(project="research", type="market_intel", title="市场调研",
|
|
context="", priority=3, mode="auto", agent_role="market-pm")
|
|
ctx = agent._build_context(task)
|
|
assert len(ctx) > 10
|
|
|
|
|
|
def test_media_producer_system_prompt_has_tools(tmp_path):
|
|
from nmfs_agents.agents.media_producer import MediaProducerAgent, MEDIA_PRODUCER_SYSTEM
|
|
assert "OpenCV" in MEDIA_PRODUCER_SYSTEM or "ffmpeg" in MEDIA_PRODUCER_SYSTEM
|
|
mem = ProjectMemory(db_path=tmp_path / "m.db")
|
|
agent = MediaProducerAgent(_make_config(), memory=mem)
|
|
task = Task(project="yolo", type="media", title="演示图",
|
|
context="", priority=3, mode="auto", agent_role="media-producer")
|
|
ctx = agent._build_context(task)
|
|
assert len(ctx) > 10
|
|
|
|
|
|
def test_media_producer_context_mentions_market_and_tech(tmp_path):
|
|
from nmfs_agents.agents.media_producer import MEDIA_PRODUCER_SYSTEM
|
|
assert "技术" in MEDIA_PRODUCER_SYSTEM
|
|
assert "市场" in MEDIA_PRODUCER_SYSTEM
|