提示词优化引擎

AI驱动的提示词优化工具,通过三阶段分析-优化-评分流程自动改进LLM提示词,并具备自组织知识图谱学习能力

  • by project-synthesis
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Zenetusken/PromptForge

使用说明

项目综合

人工智能驱动的快速优化,具有自组织知识引擎。粘贴一个提示,得到一个更好的版本——系统会随着时间的推移学习什么是有效的。

它的作用

Project Synthesis接受任何提示,并通过三相优化管道运行它:

  1. 分析 --对提示类型进行分类,识别弱点,选择最佳优化策略
  2. 优化 --使用所选策略重写提示,同时保留意图
  3. 得分 --通过混合评分和随机A/B呈现,在5个维度(清晰度、特异性、结构、忠实性、简洁性)上独立评估原始和优化,以防止偏见

结果:一个优化的提示,每个维度的分数增量准确地显示了改进的地方。

优化后,您可以 迭代优化 --单击建议或键入自定义请求,每一轮都会运行一个新的管道传递,包括版本跟踪、分支和回滚。

如何学习

真正的价值不是任何单一的优化,而是随着时间的推移而发生的事情。您优化的每个提示都会提供一个自组织分类引擎,该引擎:

  • 集群 您的提示是基于语义相似性,而不是基于硬编码的类别,而是基于它们实际要求的内容。系统从您的使用模式中有机地发现您的域名
  • 提取图案 --使提示更好的可重用技术。当“始终指定目标受众”或“包含具体示例”与高分一致时,它们就会成为元模式
  • 注入经过验证的技术 --当你优化一个新的提示时,系统会从你的历史记录中搜索相关的模式,并自动注入它们。你会得到更好的结果,因为系统会记住以前有效的方法
  • 分享跨项目知识 --在2个以上不同项目的5个以上集群中经过验证的技术被推广为持久的全球模式,并在任何地方得到应用,相关性提高了1.3倍。单个项目模式在推广之前一直保持项目范围

分类法是自调整的。集群在变得不连贯时分裂,在冗余时合并,在过时时退役。当积累了足够多的相关提示时,域节点就会出现。当专业化集中在一个领域内时,子域就会有机地形成——当证据足够强时(自适应阈值,最小2簇宽度),系统会检测到限定符信号并创建子域层次结构。暖路径只处理自上一个周期以来发生变化的星团。该系统无需配置即可从100到50000+个提示进行扩展。

方向

项目综合是作为一个 通用快速优化引擎核心流程——分析、优化、评分、学习——适用于任何提示类型:编码任务、营销文案、法律简报、商业分析、创意写作、教育内容,或你为法学硕士写的任何其他内容。

开发者是第一批观众,因为他们已经大量使用人工智能,并拥有使集成变得自然的工具(IDE、MCP、repos)。当前的框架反映了这一点:GitHub集成用于代码库上下文,MCP服务器用于IDE工作流,以及以开发人员为中心的种子域。但下面的引擎与领域无关。

添加新的垂直线不需要更改代码。 扩展点都是内容:

  • 种子制剂 --下降 .md 文件在 prompts/seed-agents/ (热重新加载)
  • 域名关键字 --通过迁移引导新主题领域的分类(或让A3自动从分类发现中提取)
  • 弱信号 --特定领域的质量检测规则
  • 上下文提供程序 --GitHub之外的可插拔集成(Google Drive、Notion、本地文件)

有机域名发现处理其余的问题。营销团队的提示将发现“文案”、“品牌声音”、“活动”域名,就像开发人员提示发现“后端”、“前端”、“devops”一样。跨领域的全球模式实现了垂直行业之间的知识转移——在营销中学习的一种技术可以改善开发人员面向用户的文档。

看 ADR-006 了解完整的架构决策和垂直部署策略。

快速开始

先决条件:

  • Python 3.12+
  • Node.js 22+
  • 克劳德CLI(claude 在PATH上-包含在Claude Code订阅中)或Anthropic API密钥
# Set up backend
cd backend && python3 -m venv .venv && source .venv/bin/activate && pip install -r requirements.txt && deactivate

# Set up frontend
cd ../frontend && npm install

# Start everything (auto-detects provider + VS Code bridge)
cd .. && ./init.sh start

# Open the app
open http://localhost:5199/app

后端自动检测您的提供商(首先是Claude CLI,然后是API密钥)。如果安装了Claude CLI,则不需要配置。

使用API密钥

通过UI(设置面板)或环境设置:

echo "ANTHROPIC_API_KEY=sk-..." > .env
./init.sh restart

建筑

┌──────┬────────────┬──────────────────────┬─────────────┐
│ Act. │ Navigator  │   Editor Groups      │  Inspector  │
│ Bar  │            │                      │             │
│      │ Strategies │  Prompt Editor       │  Scores     │
│      │ History    │  Result (Markdown)   │  Deltas     │
│      │ Clusters   │  Diff View           │  Sparkline  │
│      │ GitHub     │  Refinement Timeline │  Cluster    │
│      │ Settings   │  3D Taxonomy         │  Detail     │
├──────┴────────────┴──────────────────────┴─────────────┤
│                      Status Bar                        │
└────────────────────────────────────────────────────────┘
层 技术
后端 Python 3.12、FastAPI、SQLAlchemy(异步)、aiosqlite
前端 SvelteKit 2(Svelte 5符文),顺风CSS 4
数据库 SQLite(WAL模式)
可视化 Three.js(具有LOD、光线投射、力布局的3D分类拓扑)
分类 光谱聚类+HDBSCAN+自适应余弦阈值+UMAP 3D+OKLab着色。多项目层次结构(项目→ 领域→ 子域名→ 集群)。信号驱动的子域发现,使用有机Haiku生成的限定词词汇表+动态TF-IDF(完全有机——没有静态字典)。不可变的 PromptTemplate 实体从成熟集群中分叉出来;源集群停留在 state='mature'
嵌入 句子转换器(全MiniLM-L6-v2,384 dim,CPU)。双后端索引:numpy(默认)+hnswlib HNSW(≥1000集群时自动)
LLM 可按阶段配置——Opus、Sonnet、Haiku(通过设置)
评分 混合:LLM+每维度启发式混合,z-score归一化(≥30个样本),发散检测
MCP 端口8001上的流式HTTP——具有双断开检测的进程级单例路由
版本控制 version.json → scripts/sync-version.sh 传播到后端+前端

服务

服务 端口 用途
后端 8000 FastAPI API+管道编排
前端 5199 SvelteKit开发服务器
MCP服务器 8001 15工具用于IDE集成的MCP服务器
./init.sh start        # start all (provider detection + bridge install + health probes)
./init.sh stop         # graceful stop (process group kill, no orphans)
./init.sh restart      # stop + start
./init.sh reload-mcp   # restart MCP server only (faster, requires /mcp reconnect)
./init.sh status       # service health + VS Code + provider + active tier
./init.sh logs         # tail all logs
./init.sh setup-vscode # install/update VS Code bridge extension
./init.sh update [tag] # auto-update to latest release (or specific tag)

特性

核心管道

  • 一次性优化 采用5维混合评分(清晰度、特异性、结构、忠实性、简洁性)
  • 会话精炼 --通过版本历史、分支和回滚进行迭代改进
  • 每回合3条建议 --分数驱动、分析驱动和战略驱动
  • 适应性策略 --文件驱动自 prompts/strategies/*.md 使用YAML frontmatter。添加/删除/编辑 .md 文件,它们会自动出现在UI中。 auto 策略在运行时解析为任务类型适当的策略
  • 混合评分 --LLM分数与启发式分析+针对历史分布的z分数归一化相结合。 每任务类型维度权重v4(v0.4.9):分析类提示使用有利于清晰度/特异性/结构(0.25/0.25/0.20)和不强调忠实性/简洁性(0.20/0.10)的校准,认识到审计类提示在框架和引用中具有实质内容,而不是断言真理。默认架构未更改。 回拨特异性信用(F1,v0.4.9) 引用真实代码标识符的奖励提示(engine.py, _reevaluate_sub_domains). Z范数阈值提高0.3→ 0.5 (F2,v0.4.9) 绕过了审计等狭义分布任务类型的规范化,在审计中,它以前会合理地限制适当的原始分数。 策略保真度(F4,v0.4.9):优化器LLM不再声明策略——持久化 strategy_used 总是解决了 effective_strategy 从分析阶段开始。 possible_false_premise 发散标志(F5,v0.4.9) 当分析类提示在技术密集提示上的LLM忠诚度得分<5.0时,就会触发,出现表面符号密度可能掩盖错误前提的审计。当LLM和启发式不一致超过2.5分时,标准分歧标志仍然会亮起

主题探究(第1层,v0.4.12)

  • 机构定向勘探 --指定一个 topic (例如,“在EmbeddedIndex中嵌入缓存失效”);该系统读取链接的GitHub代码库,生成5-25个引用真实标识符的基于代码的提示,通过完整的优化流程运行它们,观察分类法如何有机地出现新的域/子域,并提供一份结构化的5节降价最终报告(前3分/分数分布/分类增量/推荐跟进/运行元数据),其中包含4条确定性推荐规则。表面: POST /api/probes 上海证券交易所 GET /api/probes, GET /api/probes/{id}, synthesis_probe MCP工具(第15个工具), scripts/probe.py CLI垫片。五阶段编排器: grounding → generating → running → observability → reporting.7新 probe_* 分类事件+ current_probe_id 用于跨事件关联的ContextVar。 所有4个Topic Probe级别都包含在0.4.x系列中: T1=v0.4.12(已发货-此),T2=v0.4.21(已计划-另存为套件+回放+UI导航器+回归报警;按键直接关闭 RunRow.id),T3=v0.4.22(计划--跨层组成:探头→ 种子剂推广作为 RunRow.mode 翻转+钻入集群+release.sh CI挂钩),T4=v0.4.23(计划中——最终UI整合)。 基板统一最初在v0.4.18早期为T4 SHIPPED确定范围(基础P3) 因此,T2/T3/T4功能现在原生构建在统一的 RunRow 基底。Tier 2在公开版本(v0.4.13)中多次被碰撞→ v0.4.14→ v0.4.15→ v0.4.20→ v0.4.21)作为架构修复(SQLite争用、写队列终结、HistoryPanel分页、基础阶段、v0.4.19稳定性插槽)率先发布
  • 探针持久弹性(v0.4.12) --在持久门之后进行验证(没有无声的成功:在报告之前探测数据库中的规范真实性;三种结果——全部/部分/灾难性),每个提示流持久性(较小的事务+实时UI更新,因为每个提示通过 optimization_created 事件)、灾难性早期中止(在第一条持久跳闸线后约75秒内取消飞行中的LLM呼叫——每次失败运行可节省12-20分钟的Opus 4.7审计类呼叫)。 v0.4.13中提供了架构修复:SQLite写入器插槽争用通过单个写入器队列工作器在结构上消除(backend/app/services/write_queue.py);循环10回归条(探针+30个种子+100个并发反馈)从122开始 database is locked 线条→ 0. 在v0.4.14中最终确定:100%短暂的热+热作家路线通过 WriteQueue.submit(); WriteQueue.submit_batch() 用于原子多写组的土地(OAuth回调+令牌撤销对令牌写入,在一个事务中使用审计日志)。看 docs/SHIPPED.md v0.4.13/v0.4.14条目的完整体系结构

基础P3——运行基板统一(v0.4.18)

  • 统一 RunRow 模型 仅替换旧探测器 ProbeRun 并首次将行状态持久性引入种子表面。18列,4值状态(running / completed / failed / partial)原子Alembic迁移 58510d3f6b81 带幂等性保护+插入-选择回填 probe_run +删除遗留表;可逆降级
  • RunOrchestrator 服务 是唯一合法的作家 RunRow rows--拥有行创建、状态转换 WriteQueue.submit(),取消处理 asyncio.shield(),使用2000个字符截断进行异常捕获, current_run_id ContextVar生命周期
  • 两台符合标准的可插拔发电机 RunGenerator 协议: TopicProbeGenerator (从传统探测服务重构,逐字节保留所有5个阶段+8个SSE事件类型)以及 SeedAgentGenerator (从遗留种子处理程序重构,保留早期失败的HTTP 200+ partial 分类)
  • 新的统一端点 GET /api/runs + GET /api/runs/{run_id} (分页、模式/状态/项目id过滤器)+ GET /api/seed + GET /api/seed/{run_id} (添加剂)。 event_bus.subscribe_for_run(run_id) 带有500ms环形缓冲区回放的过滤异步迭代器在上回放无竞争的SSE POST /api/probes (出发前订阅)+巴士→ctx进度桥 synthesis_probe
  • 基质统一最初适用于Topic Probe T4 --早在v0.4.18发布,因此所有后续的Topic Probe层(T2=v0.4.21,T3=v0.4.22,T4=v0.4.23)都是在统一的基础上本地构建的,没有追溯迁移

可靠性基础设施(v0.4.16)

  • 累积Q-gates的冷路径提交分块(P1a) --将整个改装原子性替换为4阶段SAVEPOLT有界执行(cp_pre_reembed 每相外部+4个内部嵌套SAVEPINT)。Q-在第一阶段(重新嵌入)+第二阶段(重新分配)后检查火灾;Q回归回到 cp_pre_reembed,保持“Q永不下降”不变。模块级 _COLD_PATH_LOCK (asyncio.Lock)序列化并发调用
  • 同行作家意识停顿 — cluster_metadata["refit_in_progress_until"] 标志(时间戳过期是权威的恢复原语)允许对等编写器(热/热/种子/反馈)在重新安装过程中协同SKIP集群。4条与防御相结合的对等路径 _parse_quiesce_flag() 4条腐败路径
  • 8个冷路径决策事件 — lock_acquired, cold_path_started/phase_started/phase_committed/q_check/phase_rolled_back/completed, silhouette_restored_from_snapshot.健康终点 cold_path 块暴露 last_run_*, peer_skip_count_24h, rejection_count_24h,每个阶段 p95_phase_duration_ms
  • 后台索引分块+写入队列迁移(P1b) — _bg_index + RepoIndexService.build_index() + incremental_update() + invalidate_index() 从旧会话迁移到 WriteQueue.submit().每批碎料 REPO_INDEX_PERSIST_BATCH_SIZE=50.Per-(回购、分支) asyncio.Lock 注册表对并发调用进行序列化。寿命启动扫描 _gc_orphan_repo_index_runs() 恢复受阻 status='indexing' 超过30分钟的行。 8个回购指数决策事件 +健康终点 repo_index 块(10个字段)

基础P2——探头内部构件拼合(v0.4.17)

  • probe_service.py 缩水约12% --提取 probe_common.py (典型的家 current_probe_id ContextVar+实用助手), probe_phases.py (第1阶段接地助手), probe_phase_5.py (第5阶段报告助手)。保留公共API(from app.services.probe_service import ProbeService + current_probe_id 继续工作)。行为保持不变(78次探针测试+1次反向兼容性测试通过)。v0.4.18基板统一基础

知识引擎

  • 进化分类学 --具有多项目隔离的自组织分层聚类。项目→ 领域→ 子域名→ 簇→ 优化。通过丰富的Haiku生成的限定词词汇表(集群质心相似性矩阵+意图标签+前馈限定词分布,跟踪生成后的质量指标)从用户行为中完全有机地发现域和子域。统一的生命周期:使用参数化的保护措施(一致性、年龄、成员计数、子域锚定)在每个热循环中重新评估域和子域。 **子域溶解硬化(v0.4.8--审计 docs/audits/sub-domain-regression-2026-04-27.md)**一致性上的贝叶斯贝塔二项式收缩防止单提示小N噪声溶解健康子域(R1);格雷斯门延长6小时→ 24h(R2);空快照保护在缺少vocab时跳过重新评估(R3);提取到共享纯原语的per-opt匹配器 match_opt_to_sub_domain_vocab (R4);法医溶解遥测(matching_members + sample_match_failuresR5);操作员恢复端点 POST /api/domains/{id}/rebuild-sub-domains (R6);语音再生重叠遥测(R7);模块导入阈值冲突不变性(R8)。优雅的分解会修复和合并元模式——提示永远不会丢失。限定符增强嵌入(第四个信号)实现了跨项目专业化感知集群。没有硬编码的域假设——种子域在未使用时会有机地溶解(ADR-006)
  • 域就绪遥测 --现场直播 /api/domains/readiness 端点公开了三个源限定符级联(domainlaw>intent_label>tf_idf)、自适应提升阈值和溶解5-guard评估。 TF-IDF源-3(v0.4.7) 聚合体 raw_prompt 子代活动/成熟集群和最小最大值之间的文本将分数归一化,因此级联的准入门变得有意义——关闭了每个域报告的先前结构沉默 tf_idf: 0Vocab再生接收孤儿TF-IDF术语+现有组名,因此级联仅通过源3记录的潜在主题被下一个Haiku再生有机地吸收。拓扑检查器中的准备面板+稳定性仪表+应急列表+火花线渲染;每个域环覆盖在3D拓扑上,以便操作员看到哪些域正在向新的子域升温,哪些域正在接近解体。JSONL快照写入器(30天保留期,每小时分段)提要 /api/domains/{id}/readiness/history.层交叉检测器(2周期滞后+每个域冷却)发布 domain_readiness_changed SSE事件;偏好门控吐司调度器在UI中显示它们。30s TTL缓存键控 (domain_id, member_count) 因此,新的优化自然会使过时的条目无效
  • 模式提取 --从成功的优化中提取的可重用技术,存储为每个集群的元模式
  • 跨簇注射 --跨主题边界注入的通用技术,按复合相关性排名
  • 全球模式层 --从跨两个门的元模式兄弟姐妹中推广的持久模式:5+不同的源集群和2+不同的源项目。单个项目模式保持项目范围,直到其他地方出现兄弟模式。注入1.3倍的相关性提升。经降级/再晋升滞后验证,保留上限为500。在健康终点跟踪注射有效性
  • 经过验证的模板 --交叉使用+分数阈值的成熟集群分叉不可变 PromptTemplate 行;源集群停留在 state='mature'模板在专用的PROVEN Templates导航器部分中显示,并在3D拓扑上渲染光环环。暖路径阶段0自动退役源代码降级(avg_score<6.0)或已存档的模板。CRUD+分叉+退役+通过使用 /api/templates
  • 自适应调度 --所有脏预算与每个项目预算模式的线性回归边界。比例配额(最低限额=3),每个项目的饥饿保护,可通过以下方式观察 snapshot()。仅在拆分/合并阶段处理更改的集群
  • 孤儿康复 --使用指数回退和健康指标自动检测和恢复热路径提取失败的优化
  • 三维分类可视化 --Three.js交互式拓扑,具有LOD层、diegetic UI、状态过滤器选项卡、点击聚焦导航、强制定向布局。项目节点为十二面体,具有丰富的悬停工具提示和专用检查器模式

上下文智能

  • 富集概况 --根据请求自动选择: code_aware (所有层,编码+仓库), knowledge_work (跳过代码库,不编码), cold_start (跳过策略+模式,<10个优化)。上下文层激活的轮廓门
  • 战略情报 --统一的咨询合并了基于分数的策略排名、反模式、领域关键字和用户反馈亲和力。当精确匹配为空时,跨所有域的域放宽回退查询
  • 提示上下文差异检测 --两层系统标记提示和代码库之间的技术栈冲突(例如PostgreSQL提示与SQLite代码库)。优化器将意图分为OVERSIGHT、DELIBERATE CHANGE、UPGRADE或STANDALONE
  • 启发式精度流水线 --复合关键字、技术动词+名词消歧、从分类发现中自动丰富TF-IDF域信号,以及用于模糊分类的置信度门控Haiku LLM回退。 B5+任务型锁 (v0.4.7):LLM后检查,更喜欢写作主导动词(Write/Draft/Compose/...)超过LLM coding 翻转时启发式也说写作——防止 Write a CHANGELOG section 从获取编码准则开始。 B5+代码库修剪:编写代码提示将代码库上下文限制在15K个字符而不是80K个字符,这样优化器就不会对相关但错误的代码产生幻觉(实时回归:没有代码库上下文,cycle-10 CHANGELOG的得分为6.61比6.96——在适当的基础上,修复将其提高到7.39)
  • 分类协议跟踪 --在每个分析阶段后,在健康终点进行启发式与LLM比较

开发人员集成(第一个垂直方向)

  • GitHub集成 --零配置设备流OAuth(无秘密,无回调URL)。链接仓库、浏览文件并获得代码库感知优化。增量刷新的背景索引构建语义文件嵌入+Haiku架构综合。每个阶段的实时进度(fetching_tree → embedding → synthesizing → ready)流通过 index_phase_changed SSE在Navigator和StatusBar中显示专用错误
  • 三层代码库上下文 --通过Sonnet缓存探索合成(架构概述,每个仓库一次)+按提示精选检索(完整源代码交付,80K字符上限,导入图+文档引用扩展,源类型平衡,非编码跳过任务门控)+性能信号。 回购相关性门(B0) 通过一个余弦底限(0.15)来防止同一堆栈不同的项目污染,以防止项目锚定合成——锚嵌入在前面 Project: {repo_full_name} 并将多达500个索引文件路径附加为 Components: 因此,专注的子系统提示会锁定组件名称,而不仅仅是高级摘要。四层索引缓存(精心策划的检索无效、GitHub树ETag、内容-SHA嵌入重复数据消除、文件内容TTL)最大限度地减少了分支和重新索引周期中的GitHub API压力和嵌入器成本。零请求时间LLM调用
  • MCP服务器 --从任何兼容MCP的IDE(VS代码、Claude代码等)使用
  • VS代码桥扩展 --MCP Copilot Bridge通过IDE自己的LLM进行基于采样的优化
  • 直通模式 --IDE自己的LLM进行优化;服务器提供上下文+启发式分析+混合评分
  • 工作区扫描 --发现CLAUDE.md、AGENTS.md、.cursorules和其他用于上下文注入的指导文件
  • 批量分类种子 --从项目描述中生成各种提示,并行优化,让分类法发现模式。5个默认种子代理,用户可通过拖放进行扩展 .md 文件

应用

  • 持久设置 --每个阶段的模型选择、管道切换、默认策略。生存重启
  • 会话持续 --页面刷新可恢复您上次的优化
  • Markdown渲染 --使用符合品牌要求的降价提供优化的提示
  • 生产差异查看器 --具有单词级突出显示的统一和拆分模式
  • 实时事件 --基于SSE的事件总线,带有吐司通知(添加/成功/信息/警告/错误)、连接健康监控(延迟百分位数、降级检测、指数回退重新连接)
  • 准备就绪通知 — domain_readiness_changed SSE事件作为严重程度图发送;每行静音切换+全局 domain_readiness_notifications 偏好
  • 分类活动面板 --所有分类决策事件的实时馈送,带有过滤器和可扩展上下文
  • 实时模式检测-- ContextPanel 侧边栏(ADR-007第1层) --双路径检测(键入:800ms去抖动+粘贴:300ms)余弦搜索活动簇,并在由安装的持久侧边栏中呈现匹配 EditorGroups 在提示编辑器旁边。带复选框的多模式选择;APPLY承诺 forgeStore.appliedPatternIds集群标识行+元模式+霓虹紫色边框的GLOBAL部分,用于跨集群模式。安装到提示选项卡上,在合成过程中隐藏,全方位+ prefers-reduced-motion。折叠/展开V形图案持续存在 localStorage['synthesis:context_panel_open']在<1400 px时,视口默认为28 px轨道(用户可以展开——选择仍然存在)
  • 分类学观测站——固定三面板可观测性选项卡 --工作台标签安装 TaxonomyObservatory.svelte,一个柔性网格外壳组成 域生命周期时间表 (通过反向计时活动流+JSONL回填 /api/clusters/activity/history?since=...&until=... 使用路径/族/错误过滤器芯片并点击以扩展上下文有效载荷), 域就绪聚合 (auto-fill, minmax(280px, 1fr) 现有卡片网格组成 DomainStabilityMeter + SubDomainEmergenceList 按域排序,关键→ 谨慎的→ 健康的彩色6px域点, domain:select 单击时发生CustomEvent),以及 图案密度热图 (由支持的只读数据网格 /api/taxonomy/pattern-density,行背景着色 taxonomyColor(domain) 不透明度缩放到元图案计数,悬停表面1像素插入青色轮廓+带有绝对计数的工具提示)。本地存储已保留 period (24h | 7d | 30d,默认值 7d)通过驱动Timeline+热图 observatoryStore
  • 层感知UI -重音颜色适用于活动路由层(CLI/API、采样、传递)
  • 反馈循环 --竖起大拇指/竖起大拇指推动策略亲和度自适应+阶段权重自适应
  • 自动更新 -在启动时检测新版本(三层:git标签、原始获取、GitHub发布API)。持久状态栏徽章,带有更改日志的一键更新对话框,分离的HEAD警告,更新后验证。CLI: ./init.sh update [tag]
  • API密钥管理 --通过UI设置/更新/删除静态Fernet加密
  • 破坏性行为UX -行级删除的5秒预提交宽限期窗口(API调用延迟到取消窗口关闭-单击“撤消”取消而不进行服务器往返)+类型-确认批量删除模式(区分大小写 DELETE 文字门)+ UndoToast RAF驱动的进度条、悬停暂停和在线/离线暂停/恢复。可重用图元(toastsStore, UndoToast.svelte, DestructiveConfirmModal.svelte)因此,未来的曲面(取消链接仓库、退役模板、归档集群)可以插入零定制样式
  • 历史键盘快捷键 --文件管理器样式选择语法: Ctrl/Cmd+Click 将行切换到选择状态(第一次单击修改器时自动为当前活动行添加种子), Shift+Click 扩展范围, Ctrl+A 选择全部, Esc 退出选择模式, Delete/Backspace 打开批量确认,箭头键用换行键导航
  • 跟踪日志记录 --每阶段JSONL跟踪,每天轮换
  • 速率限制优雅降级(v0.4.12) --提供者层类型 ProviderRateLimitError 随着 reset_at: datetime + provider_name +统一的 estimated_wait_seconds与计划无关的CLI消息解析(适用于Pro/Eteam/Enterprise/MAX/Bedrock/Vertex)。当提示点击429时,仅返回启发式 passthrough_fallback 行而不是失败——用户会得到一个可用的降级结果。前端表面: rate_limit_active/rate_limit_cleared SSE活动+ rateLimitStore (每秒刻度,多提供商)+ RateLimitBanner.svelte 带有实时倒计时的全球横幅+设置面板“速率限制”手风琴(点击后自动打开)+每个提供商首次点击时的一次性信息吐司
  • 弹性SSE基础设施(v0.4.12) --周期性 event: sync keepalive每30秒一次(真正的JS可见事件,而不是不可见的TCP注释)可以无限期地保持连接“健康”,而不管写端流量如何。在指数级回退耗尽后,SSE存储进入慢速轮询节奏(30秒),而不是永久性的“重试耗尽”状态。当用户返回选项卡并且SSE断开连接时,可见性更改处理程序会立即重试
  • CORS安全错误处理程序(v0.4.12) — @app.exception_handler(Exception) 响应请求 Origin 在满盘+组时返回 access-control-allow-credentials: true,因此500个响应在浏览器中显示了真正的异常,而不是误导性的“ERR_FAILED”CORS错误。身体增益 error_type (异常类名)用于类别感知UI处理

MCP集成

MCP服务器提供15个工具 synthesis_ 端口8001上的前缀。所有工具使用 structured_output=True (返回Pydantic模型,暴露 outputSchema MCP客户端)。

核心管道工具

工具 目的
synthesis_optimize 完整管道——发送提示,返回带有分数的优化版本
synthesis_analyze 只读分析诊断——任务类型、弱点、策略建议。不坚持 Optimization 行或分配集群
synthesis_prepare_optimization 为IDE的LLM组装提示+上下文以进行处理(通过步骤1)
synthesis_save_result 使用混合评分来保持IDE LLM的结果(通过步骤3)
synthesis_delete 按id删除单个优化,并在依赖项上使用DB级联(Feedback, OptimizationPattern, RefinementBranch, RefinementTurn) + optimization_deleted SSE排放+ taxonomy_changed 和解触发器。未知id返回 ValueError 而不是沉默的拒绝

工作流工具

工具 目的
synthesis_health 系统功能检查——提供商、层级、策略、统计数据
synthesis_strategies 使用元数据列出可用的优化策略
synthesis_history 带排序/过滤的分页优化历史
synthesis_get_optimization 按ID或trace_ID列出完整的优化细节
synthesis_match 相似集群和可重用模式的知识图搜索
synthesis_feedback 提交质量反馈以推动战略调整
synthesis_refine 使用特定指令迭代改进优化的提示
synthesis_seed 批量播种分类——生成+优化+持久化+集群
synthesis_probe 主题探测层1(v0.4.12) --针对链接的GitHub代码库,对用户指定的主题进行代理定向探索。五阶段编排器(grounding → generating → running → observability → reporting);生成5-25个基于代码的提示,引用真实的标识符,通过优化管道运行它们,观察分类法中出现的新域/子域,返回一个结构化的5节markdown最终报告。与种子代理相同的执行原语(batch_pipeline);需要关联回购(回报 link_repo_first 否则)
synthesis_explain 用简明的英语解释优化的变化及其原因

通过连接 .mcp.json (由Claude Code自动加载)或手动加载 http://127.0.0.1:8001/mcp.

码头工人

docker compose up --build -d
# Backend + Frontend + MCP + nginx on port 80

发展

# Backend tests (3664 tests)
cd backend && source .venv/bin/activate && pytest --cov=app -v

# Frontend type check (1067 files / 0 errors)
cd frontend && npx svelte-check

# Frontend tests (1753 tests, 80% line coverage baseline)
cd frontend && npm test

# Frontend build
cd frontend && npm run build

API终点

端点 方法 目的
/api/optimize POST(SSE) 运行优化管道
/api/optimize/{trace_id} GET 获取结果(SSE重新连接)
/api/refine POST(SSE) 运行优化回合
/api/refine/{id}/versions GET 列出细化版本
/api/refine/{id}/rollback POST 从版本分叉
/api/history GET 列出过去的优化。每件物品都携带一个紧凑型 enrichment 摘要(profile, codebase_context, strategy_intelligence, applied_patterns, patterns_injected, curated_files, repo_relevance_score)从持续的 context_sources blob——不需要第二次获取来查看每行激活了哪些服务(v0.4.5+,旧行为空)
/api/optimizations/{id} DELETE 删除依赖数据库级联的单个优化;回报 {deleted, requested, affected_cluster_ids, affected_project_ids} (v0.4.2+,始终可用)
/api/optimizations/delete POST 在一次调用中批量删除多达100个优化(body {ids: list[str], reason?: str},1≤ids≤100,速率限制为10/min)。发射一个 optimization_deleted 每行SSE事件+一个聚合事件 taxonomy_changed 每次通话。退货 {deleted, requested, affected_cluster_ids, affected_project_ids} --比较 requested - deleted 部分匹配用户体验(v0.4.3+)
/api/feedback POST/GET 提交/列出反馈
/api/providers GET 活动提供商信息
/api/provider/api-key 获取/修补/删除 API密钥管理
/api/preferences GET/PATCH 持久用户偏好
/api/strategies GET 列出策略
/api/strategies/{name} GET/PUT 读取/更新策略模板
/api/health GET 健康+管道指标+项目/全局模式统计
/api/events GET(SSE) 实时事件流
/api/domains GET 列出域节点
/api/domains/{id}/promote POST 将集群升级到域
/api/domains/readiness GET 跨所有域的批处理就绪报告(稳定性+出现)
/api/domains/{id}/readiness GET 单域就绪(三源级联+解散保护, ?fresh=true 旁路)
/api/domains/{id}/readiness/history GET 每小时的准备时间序列(?window=24h|7d|30d,保留30天)
/api/domains/{id}/rebuild-sub-domains POST 操作员恢复--强制重建一个域下的子域,可选 min_consistency 覆盖(Pydantic ge=0.25)以及 dry_run 切换(10/min,v0.4.8+,审核R6)
/api/domains/{id}/dissolve-empty POST 操作员恢复--强制解除重影域(member_count == 0,年龄>=30分钟),无需等待48小时 _reevaluate_domains 大门。有效期(200+ dissolved=False, reason="already_dissolved"); 409 + reason="not_empty" 如果域有成员; 409 + reason="too_young" 如果太近了。发射 domain_ghost_dissolved 事件+ taxonomy_changed SSE成功(10/min,v0.4.11+,P1)
/api/probes 职位(SSE) 主题探测层1(v0.4.12) --代理定向勘探。主体: {topic, scope?, intent_hint?, n_prompts?, repo_full_name}.5阶段编排器流7 probe_* SSE+决赛 ProbeRunResultIP键控速率受限(5/min)。退货400+ link_repo_first 如果不 repo_full_name
/api/probes GET 分页 ProbeListResponse.排序方式 started_at desc,过滤器: status?, project_id? (v0.4.12+)
/api/probes/{id} 获取 已满 ProbeRunResult (404与 probe_not_found 错过的原因)。v0.4.12+
/api/clusters GET 列出集群(分页,状态/域过滤器)
/api/clusters/{id} GET 集群详细信息(子节点、面包屑、优化、项目分解)
/api/clusters/{id} PATCH 重命名/状态覆盖
/api/clusters/match POST 将提示与集群匹配
/api/clusters/tree GET 三维可视化平面节点列表(?project_id= 项目子树)
/api/clusters/stats GET Q指标+火花线
/api/clusters/recluster POST 冷路径改装
/api/clusters/activity GET 分类决策事件馈送(环形缓冲区,实时)
/api/clusters/activity/history GET JSONL支持的活动历史记录。单日通过 ?date=YYYY-MM-DD OR范围通过 ?since=YYYY-MM-DD&until=YYYY-MM-DD (相互排斥,30天上限; since-仅默认值 until=today).按时间倒序排列每个级别(跨天和每天内)
/api/taxonomy/pattern-density GET 每域模式密度汇总(?period=24h|7d|30d,默认值 7d).每个活动域节点一行 cluster_count, meta_pattern_count, meta_pattern_avg_score, global_pattern_count (Python端 source_cluster_ids 密封), cross_cluster_injection_rate支持天文台的模式密度热图
/api/taxonomy/reset POST 管理员恢复扫描——强制修剪存档的零成员集群+孤立项目节点+过时的信号缓存,然后同步运行热路径协调(绕过30秒的去抖动)。同上
/api/projects GET 列出项目节点(混合分类法,ADR-005)
/api/projects/migrate POST 项目间批量移动优化(速率受限)
/api/templates GET 列出经过验证的模板(分页,按项目筛选)
/api/templates/{id} GET 单模板详细信息
/api/clusters/{id}/fork-template POST 从成熟集群中分叉一个不可变模板
/api/templates/{id}/retire POST 重设模板(设置状态,递减源集群计数器)
/api/templates/{id}/use POST 记录模板使用情况(速率限制:30/min)
/api/seed POST 批处理种子分类。 SeedOutput 增益添加剂 run_id (v0.4.18+)
/api/seed GET 分页 SeedListResponse 过滤到 mode='seed_agent' 行在统一 RunRow 基板(v0.4.18+)
/api/seed/{run_id} 获取 已满 RunRow 一批种子运行(v0.4.18+)
/api/seed/agents GET 列出可用的种子代理
/api/runs GET Unified Foundation P3基板视图--分页 RunRow 列表与 mode?/status?/project_id? 过滤器,已订购 started_at desc (v0.4.18+)
/api/runs/{run_id} 获取 已满 RunRow (如果缺失,则为404)。服务于探针+种子试剂行的单一端点(v0.4.18+)
/api/update/status GET 自动更新检查结果(版本、标签、更改日志)
/api/update/apply POST(202) 触发器更新+重启(两阶段)
/api/github/auth/device POST 请求设备代码(零配置OAuth)
/api/github/auth/device/poll POST 轮询设备授权
/api/github/auth/login GET 回调OAuth登录(回退)
/api/github/auth/callback GET 回调OAuth重定向
/api/github/auth/me GET 当前GitHub用户信息
/api/github/repos GET 列出用户的GitHub仓库
/api/github/repos/link POST 将仓库链接到会话(触发后台索引)
/api/github/repos/linked GET 获取会话的链接仓库
/api/github/repos/unlink DELETE 删除链接仓库
/api/github/repos/{owner}/{repo}/tree GET 递归文件树
/api/github/repos/{owner}/{repo}/files/{path} GET 读取单个文件
/api/github/repos/{owner}/{repo}/branches GET 列出分支
/api/github/repos/index-status GET 链接仓库的索引状态
/api/github/repos/reindex POST 触发器重新索引

路线图

看 docs/ROADMAP.md 计划中的改进和 docs/adr/ 用于架构决策。

许可证

Apache 2.0