腓尼基星座
✦ 代理时代的建筑师工作台
腓尼基星座 将人工智能的“手动布线”转化为天体编排。通过在统一的框架中定义代理、MCP工具和RAG管道,开发人员可以在几分钟内从原始代码转移到可交付的Python捆绑包,而不是几天。
______________________________________________________________________
视觉
腓尼基星座是为原子时代建造的。开发人员成为架构师——在统一的JSON配置中定义代理、MCP工具、RAG管道、路由、内存和护栏。没有图表接线,没有样板。只是编排。
______________________________________________________________________
运作原理
┌─────────────────────────────────────────┐
English text │ Phoenice Agentic Workbench (UI) │
or JSON ──────▶│ Templates · Builder · Monitor · Export │
└────────────────┬────────────────────────┘
│ REST API
┌────────────────▼────────────────────────┐
│ FastAPI Backend │
│ ├─ LLM Translation (LM Studio / OAI) │
│ ├─ Orchestrator (LangGraph runner) │
│ ├─ Graph Factory (dynamic StateGraph) │
│ ├─ Memory Manager (STM / LTM) │
│ ├─ Guardrail Engine (input + output) │
│ └─ Code Generator ──▶ agent.py 🍎 │
└─────────────────────────────────────────┘这 生成的捆绑包 (“苹果”)是一个独立的 agent.py +开发人员可以在任何地方部署的支持文件——不需要工作台依赖。
______________________________________________________________________
特性
| 类别 | 包括什么 | |
|---|---|---|
| 配置驱动工作流 | 完全基于JSON构建代理图、路由和工具——无需代码连接 | |
| 可视化工作流生成器 | 带有实时图形预览和完整细节展开视图的拖放节点编辑器 | |
| 法学硕士翻译 | 转换英文指令→ 通过LM Studio、OpenAI或Gemini实现JSON工作流 | |
| 模板自定义流程 | 在“翻译”视图中打开任何模板;用LLM提炼;应用回Builder | |
| MCP工具绑定 | 通过配置自动发现MCP工具(stdio/SSE/REST)并将其绑定到代理 | |
| 真正的并行执行 | 使用LangGraph并行扇出多个代理 Send() API通过配置 parallel_execution 配置中的组 | |
| 本地检查点 | LangGraph SqliteSaver 崩溃恢复和时间旅行调试的检查点;启用via "checkpointing": {"enabled": true} 在配置中 | |
| LLM前管道 | RAG(LTM/Chroma/Milvus/本地文件)+每次LLM调用前的工具调用 | |
| LLM后检查 | 输出验证(必填字段、规则)、输出模式执行、输出护栏 | |
| 输入和输出护栏 | PII编辑、及时注入阻止、秘密检测、有害内容/仇恨言论过滤 | |
| 存储器--STM | LRU驱逐的进程中会话状态(max_entries) | |
| 内存--LTM | 带TTL修剪的持久SQLite历史记录(ttl_days),可通过RAG查询 | |
| 可观察性挂钩 | 跟踪节点、记录状态转换、捕获代理输出——所有这些都是配置驱动的 | |
| 重试策略 | 固定或指数回退,可配置 retry_on 事件 | |
| 循环中的人类 | 检查点节点暂停审批;可通过API恢复 | |
| 可运行代理包 | 生成 agent.py 是一个完全可运行的CLI脚本(--input, --session-id, `--output-format json\ | pretty, --resume`) |
| 工件导出(ZIP) | 下载ZIP agent.py, requirements.txt, Dockerfile, docker-compose.yml, .github/workflows/ci.yml, .env.template、运行日志、STM/LTM快照 | |
| 版本化模板 | 具有全内存/重试/可观察性配置的企业级模板 |
______________________________________________________________________
建筑
api_backend.py FastAPI — all REST endpoints
├─ config_manager.py Load & validate config.json
├─ template_manager.py Load, version, and save prompt templates
├─ llm_translator.py English → JSON via LLM
├─ orchestrator.py End-to-end workflow runner
│ ├─ graph_factory.py Build LangGraph StateGraph dynamically
│ ├─ mcp_autobinder.py Auto-discover & bind MCP tools
│ ├─ memory_manager.py STM (in-memory) + LTM (SQLite)
│ └─ observability_manager.py Logging, tracing, metrics
└─ code_generator.py Generate deployable agent.py bundle______________________________________________________________________
目录结构
backend/
api_backend.py FastAPI app + all REST endpoints
orchestrator.py Workflow runner
graph_factory.py Dynamic LangGraph StateGraph builder
graph_factory_supervisor.py Supervisor-style graph builder
code_generator.py Deployable agent.py bundle generator
memory_manager.py STM / LTM state management
mcp_autobinder.py MCP tool auto-discovery & binding
tool_registry.py Tool registry (metadata, health, versioning)
observability_manager.py Logging, tracing, metrics, event hooks
config_manager.py Config loader / validator (Pydantic)
template_manager.py Prompt template management
template_selector.py Template search / filter
llm_translator.py LLM-powered config translation
english_to_json.py CLI: English → JSON (OpenAI / Gemini)
config.json Central backend config
artifacts/ Per-run artifacts (auto-generated)
prompt_templates/ Versioned enterprise prompt templates
frontend/ React + Vite + TypeScript UI
src/views/ Builder, Monitor, Export, Templates, Docs, Settings
src/components/ Shared UI components
tests/ Pytest test suite
COMMANDS.md Developer command cheatsheet
ToDo.md Roadmap and task tracker______________________________________________________________________
先决条件
| 要求 | 版本 | 注释 |
|---|---|---|
| Python | ≥3.11 | 3.11/3.12测试 |
| Node.js | ≥18 | 用于前端Vite开发服务器 |
| LM Studio | 最新版本 | 加载模型,在端口1234上启用服务器 |
______________________________________________________________________
快速入门
1·后端
# Create and activate virtual environment
python -m venv .venv
.\.venv\Scripts\Activate.ps1
# Install dependencies
pip install -r requirements.txt
# Start the backend
python -m uvicorn backend.api_backend:app --reload
# API available at http://localhost:80002·前端
cd frontend
npm install
npm run dev
# UI available at http://localhost:30003·LM工作室
- 下载并打开 LM 工作室.
- 加载模型(例如。
llama-3.2-3b-instruct). - 启动本地服务器(默认端口 1234).
- 在菲尼斯→ 设置,单击 测试连接 以验证。
4·构建并导出您的第一个工作流程
- 首选 模板,选择模板,单击 使用模板.
- 调整中的节点 建造者 然后单击 跑.
- 运行完成后,打开 出口 下载可部署的ZIP包。
______________________________________________________________________
工作流配置——快速参考
{
"graph_name": "MyWorkflow",
"version": "1.0",
"state_schema": {
"task": { "type": "string" },
"result": { "type": "string" }
},
"nodes": [
{
"id": "Planner",
"type": "agent",
"system_prompt": "Break the task into steps.",
"next": "Executor"
},
{
"id": "Executor",
"type": "agent",
"system_prompt": "Execute the plan.",
"guardrails": { "pii": { "action": "redact" }, "harmful_content": { "action": "block" } },
"output_schema": { "format": "json", "state_key": "result" },
"next": "END"
}
],
"edges": [{ "from": "Planner", "to": "Executor" }],
"memory": {
"short_term": { "type": "graph_state", "max_entries": 100 },
"long_term": { "type": "sqlite", "ttl_days": 30 }
},
"retry_policy": { "max_retries": 3, "backoff_strategy": "exponential" },
"observability_hooks": { "trace_nodes": true, "capture_agent_outputs": true }
}看 COMMANDS.md 用于所有CLI命令和API烟雾测试。\ 查看应用内 帮助和文档 选项卡以获取完整的JSON模式参考。
______________________________________________________________________
并行执行
启用真正的并行扇出(使用LangGraph Send())通过添加a parallel_execution 阻止您的配置:
{
"nodes": [
{ "id": "dispatcher", "type": "agent", "next": "collector" },
{ "id": "research_A", "type": "agent", "next": "collector" },
{ "id": "research_B", "type": "agent", "next": "collector" },
{ "id": "collector", "type": "agent", "next": "END" }
],
"parallel_execution": [
{
"group": "research_fanout",
"nodes": ["research_A", "research_B"],
"fan_in": "collector"
}
]
}会自动创建一个调度程序节点,以同时向所有组节点扇出。如果提供的有效节点少于2个,则优雅地回退到顺序执行。
______________________________________________________________________
本地检查点(崩溃恢复+时间旅行)
启用LangGraph的 SqliteSaver 检查点用于在每一步后保持图形状态:
{
"checkpointing": {
"enabled": true,
"db_path": "artifacts/my_checkpoints.sqlite"
}
}每个工作流运行都会存储以下键控的状态快照 session_id.通过相同的方式恢复任何中断的跑步 session_id --该图将从中断的地方继续。对长时间运行的管道和调试很有用。
______________________________________________________________________
运行生成的捆绑包
每个出口 agent.py 是一个完全可运行的CLI脚本:
# Basic run with JSON input
python agent.py --input '{"document_text": "Analyze this document."}'
# Load input from file, output as machine-readable JSON
python agent.py --input-file data.json --output-format json
# Resume a previous session
python agent.py --session-id abc123 --resume
# Help
python agent.py --help导出ZIP还包括 Dockerfile, docker-compose.yml,以及 .github/workflows/ci.yml 用于立即进行集装箱化部署和CI/CD。
______________________________________________________________________
生成的工件包
每次成功运行都会生成一个自包含的可部署包:
agent.py Complete runnable agent (LangGraph + STM/LTM + guardrails)
requirements.txt Pinned Python dependencies
docker-compose.yml Ready-to-run Docker Compose config
.env.template Environment variable template
run_config.json Exact workflow config used for this run
run_status.json Final run status and metadata
validation_report.json Code generation trust score and checks使用以下方式部署:
pip install -r requirements.txt
python agent.py______________________________________________________________________
测试
pytest tests/______________________________________________________________________
许可证
MIT许可证——见 许可证.
______________________________________________________________________
有关开发人员命令备忘单,请参阅 COMMANDS.md.\ 有关路线图和未完成的任务,请参阅 ToDo.md.
