Daem0nMCP
, ,
/( )\
| \ / | "I am Daem0n, keeper of memories,
\ \ / / guardian of decisions past..."
\ Y /
\ | /
\|/
*人工智能记忆与决策系统 -为AI代理提供持久的记忆和一致的决策 *实际的* 语义理解。
v6.6.6的新增功能
ModernBERT深度视野(突破性)
守护进程的视野已经从根本上变得清晰。旧的 all-MiniLM-L6-v2 嵌入模型被替换为 现代BERT 具有非对称查询/文档编码和可选的ONNX加速功能。
| 特性 | 旧版本(v5.x) | 新版本(v6.6.6) |
|---|---|---|
| 模型 | all-MiniLM-L6-v2 | nomic-ai/modernbert-embed-base |
| 维度 | 384 | 256(套色截断) |
| 编码 | 单身 encode() | 双重: encode_query() / encode_document() |
| 后端 | 仅PyTorch | ONNX量化(带火炬回退) |
| 前缀 | 没有 | search_query: / search_document: |
这是一个突破性的变化 --必须对现有嵌入进行重新编码:
python -m daem0nmcp.migrations.migrate_embedding_model --project-path /path/to/.daem0nmcp背景梦境
当用户空闲时,守护进程会使用当前证据自动重新评估过去失败的决策:
IdleDreamScheduler监控工具调用活动- 在可配置的空闲超时(默认60秒)之后,
FailedDecisionReview战略运行 - 将决策分类为 修订, 确认失败,或 需求_更多_数据
- 见解持续存在
learning回忆与dream标签和完整来源 - 用户返回时立即产生收益(合作调度)
认知工具(3个新的独立MCP工具)
用于守护进程自检的元推理工具:
| 工具 | 目的 |
|---|---|
simulate_decision | 时间尖叫 --用当前的知识重播过去的决定,揭示发生了什么变化 |
evolve_rule | 规则熵分析 --检查陈旧性、代码漂移和结果相关性的规则 |
debate_internal | 对抗委员会 --基于结构化证据的辩论与收敛检测 |
自动缩放检索路径
查询感知搜索调度,路由到最佳检索策略:
- 简单 查询→ 仅矢量搜索(快速路径)
- 中等 查询→ 具有RRF融合的混合BM25+矢量
- 复杂 查询→ GraphRAG多跳遍历+社区总结
- 影子模式(默认)记录分类而不更改行为
- 所有策略在失败时都会退回到混合动力
Claude代码原生钩子
新 daem0nmcp/claude_hooks/ 具有5个生命周期挂钩和自动安装的模块:
python -m daem0nmcp.cli install-claude-hooks # Install to ~/.claude/settings.json
python -m daem0nmcp.cli uninstall-claude-hooks # Remove| 挂钩 | 用途 |
|---|---|
session_start | 会议黎明自动简报 |
pre_edit | 飞行前强制执行+编辑前文件内存调用 |
pre_bash | bash命令的规则执行 |
post_edit | 建议记住重大变化 |
stop | 从对话中自动捕捉决策 |
统计
- 8个工作流工具 + 3认知工具 (总共11个MCP工具,加上遗留工具)
- 59个工作流操作 跨越8个工作流程
- 500+次测试 经过
______________________________________________________________________
v5.1.0的新增功能
工作流整合
v5.1整合 将67个单独的MCP工具转换为8个面向工作流的工具,大大降低了AI代理的上下文开销,同时保留了所有功能。
8工作流工具
| 工作流程 | 目的 | 行动 |
|---|---|---|
commune | 会话开始和状态 | briefing, active_context, triggers, health, covenant, updates |
consult | 行动前情报 | preflight, recall, recall_file, recall_entity, recall_hierarchical, search, check_rules, compress |
inscribe | 内存写入和链接 | remember, remember_batch, link, unlink, pin, activate, deactivate, clear_active, ingest |
reflect | 结果与验证 | outcome, verify, execute |
understand | 代码理解 | index, find, impact, todos, refactor |
govern | 规则和触发器 | add_rule, update_rule, list_rules, add_trigger, list_triggers, remove_trigger |
explore | 图形与发现 | related, chain, graph, stats, communities, community_detail, rebuild_communities, entities, backfill_entities, evolution, versions, at_time |
maintain | 客房部和联合会 | prune, archive, cleanup, compact, rebuild_index, export, import_data, link_project, unlink_project, list_projects, consolidate |
运作原理
每个工作流工具都接受一个 action 选择操作的参数:
# Old way (67 separate tools)
mcp__daem0nmcp__get_briefing(project_path="...")
mcp__daem0nmcp__recall(topic="auth", project_path="...")
mcp__daem0nmcp__remember(category="decision", content="...", project_path="...")
mcp__daem0nmcp__record_outcome(memory_id=42, outcome="...", worked=True, project_path="...")
# New way (8 workflow tools)
mcp__daem0nmcp__commune(action="briefing", project_path="...")
mcp__daem0nmcp__consult(action="recall", topic="auth", project_path="...")
mcp__daem0nmcp__inscribe(action="remember", category="decision", content="...", project_path="...")
mcp__daem0nmcp__reflect(action="outcome", memory_id=42, outcome_text="...", worked=True, project_path="...")为什么要巩固?
- 工具定义减少88% 上下文(8 vs 67)
- 降低代币开销 --AI代理加载的工具模式更少
- 逻辑分组 --相关操作集中在一个工具中
- 向后兼容 --遗留的单个工具仍与工作流一起注册
______________________________________________________________________
v5.0.0的新增功能
虚空的愿景(MCP应用程序)
通过MCP应用程序实现交互式HTML界面(SEP-1865)。现在可以通过以下方式访问视觉模式 visual=true 工作流工具上的参数:
commune(action="briefing", visual=true, project_path="...") # Briefing Dashboard
consult(action="recall", topic="auth", visual=true, project_path="...") # Search Results UI
commune(action="covenant", visual=true, project_path="...") # Covenant Status
explore(action="communities", visual=true, project_path="...") # Community Map
explore(action="graph", topic="auth", visual=true, project_path="...") # Memory Graph Viewer功能:捆绑D3.js v7(105KB,无CDN),限制性CSP,基于画布的图形(60fps下10000多个节点),非视觉主机的优雅文本回退。
______________________________________________________________________
v4.0.0的新增功能
认知架构
五大能力:
- GraphRAG和莱顿社区:具有分层社区检测、多跳查询、通过社区摘要进行全局搜索的知识图构建
- 双时态知识:双时间戳(
valid_timevstransaction_time),happened_at回填,as_of_time时间点查询、矛盾检测 - 元认知反射:演员评估器反射器循环,
verify该操作验证对存储知识的声明,反射持久性 - 语境工程:LLMLingua-2用于3x-6x压缩、代码实体保存、自适应速率,
compress按需优化行动 - 动态代理:
execute通过E2B Firecracker microVM执行沙盒Python的操作
______________________________________________________________________
v3.1.0的新增功能
2026年人工智能内存研究增强
- BM25+RRF混合检索Okapi BM25取代了TF-IDF,往复式排名融合结合了关键字和向量搜索
- TiMem风格回忆计划:适应查询难度的复杂性感知检索(简单/中等/复杂)
- 泰坦灵感惊喜得分:新颖性检测
surprise_score(0.0-1.0) - 重要性加权学习:以EWC为灵感,通过
importance_score - 事实模型:验证的事实在阈值成功结果后促进不可变的O(1)查找
______________________________________________________________________
v3.0.0中的新增功能
FastMCP 3.0升级
- 契约中间件:通过FastMCP 3.0中间件模式执行圣约
- 组件版本控制:所有工具都包含版本元数据
- OpenTetry跟踪 (可选):
pip install daem0nmcp[tracing]
______________________________________________________________________
先前版本
v2.16.0 — Sacred Covenant Enforcement
- 工具块
COMMUNION_REQUIRED/COUNSEL_REQUIRED直到遵守了适当的仪式 - 5分钟有效期的飞行前代币
- 用于动态上下文注入的MCP资源(
daem0n://warnings/,daem0n://failed/等等)
v2.14.0–v2.15.0 — Active Context, Temporal Versioning, Entities
- 主动工作环境(MemGPT风格的总是热记忆,最多10个)
- 时态版本控制
versions和at_time查询 - 通过莱顿社区进行分层总结
- 从内存内容中自动提取实体
- 上下文回忆触发器(对文件/标签/实体模式的自动回忆)
- 可配置的混合搜索权重、结果多样性、标签推断
- 合格实体名称(
module.Class.method),增量索引
v2.11.0–v2.13.0 — Passive Capture, Linked Projects
- 被动捕捉挂钩(自动记住对话中的决定)
- 无尽模式(压缩召回,减少50-75%的令牌)
- 跨仓库内存感知的链接项目
v2.7.0–v2.10.0 — Code Understanding, Enforcement, File Watcher
- 通过树形图进行多语言AST解析(Python、TypeScript、JavaScript、Go、Rust、Java、C、C++、C#、Ruby、PHP)
- Qdrant矢量后端用于持久矢量存储
- 具有桌面/日志/编辑器轮询通知的主动文件监视器
- 预提交执行钩子阻止了具有过时决策的提交
- 用于状态、记录结果、安装挂钩的CLI工具
Core Features (v2.1+)
- 基于真实相似性匹配的TF-IDF语义搜索
- 记忆衰退(决策/学习、永恒模式/警告的半衰期为30天)
- 冲突检测和失败决策增强(1.5倍相关性)
- 文件级内存关联
- 用于增强语义匹配的向量嵌入
为什么选择Daem0nMCP?
AI代理以全新的方式开始每个会话。他们不记得了:
- 做出了哪些决定,为什么
- 应遵循的模式
- 过去错误的警告
Markdown文件不能解决这个问题 -人工智能必须知道如何阅读它们,并可能忽略它们。
Daem0nMCP提供活动内存 -当人工智能询问一个话题时,它会显示相关的上下文,在行动之前执行规则,并从结果中学习。
是什么让这与众不同
- 语义匹配:“创建REST端点”与有关“添加API路由”的规则匹配
- 时间衰减昨天的决定比6个月前的决定更重要
- 冲突警告:“你以前尝试过这种方法,但失败了”
- 学习循环:创纪录的结果,失败在未来的召回中得到加强
- 惊喜得分:超越常规知识的新颖信息
- 图形推理:跨链接记忆和社区的多跳遍历
- 背景梦境:空闲时间重新评估过去失败的决策
快速开始
克劳德代码(简易方法)
- 复制
Summon_Daem0n.md到你的项目 - 在该项目中启动Claude Code会话
- 克劳德会阅读文件并自动执行召唤仪式
开源代码
- 安装Daem0n MCP:
pip install -e ~/Daem0nMCP - 运行安装程序:
python -m daem0nmcp.cli install-opencode - 在项目目录中启动OpenCode
- 跑
/commune开始
有关完整的仪式演练,请参见 Summon_Daem0n_OpenCode.md.
手动安装
# Clone the repository
git clone https://github.com/DasBluEyedDevil/Daem0n-MCP.git ~/Daem0nMCP
# Install
pip install -e ~/Daem0nMCP
# Run the MCP server (Linux/macOS — stdio transport)
python -m daem0nmcp.server
# Run the MCP server (Windows — HTTP transport required)
python ~/Daem0nMCP/start_server.py --port 9876按平台安装
Linux/macOS(标准IO传输)
# Find your Python path
python3 -c "import sys; print(sys.executable)"
# Register with Claude Code (replace
)
claude mcp add daem0nmcp --scope user --
-m daem0nmcp.server
# Restart Claude CodeWindows(需要HTTP传输)
Windows有一个已知的错误,即使用stdio传输的Python MCP服务器无限期挂起。请改用HTTP传输:
- 启动服务器 (保持此终端打开):
python ~/Daem0nMCP/start_server.py --port 9876或使用 start_daem0nmcp_server.bat
- 增添
~/.claude.json:
{
"mcpServers": {
"daem0nmcp": {
"type": "http",
"url": "http://localhost:9876/mcp"
}
}
}- 启动克劳德代码 (服务器运行后)
运输方式
| 方法 | 传输 | 默认端口 | 用例 |
|---|---|---|---|
python -m daem0nmcp.server | stdio (默认)或 sse | 8765(sse) | Unix/macOS直接通道 |
python start_server.py | streamable-http | 9876 | Windows HTTP,远程访问 |
有关OpenCode设置,请参阅 OpenCode集成 下面的部分,或运行 python -m daem0nmcp.cli install-opencode 用于自动设置。
工作流工具(8个工具,59个操作)
所有功能都可以通过8个工作流工具访问。每个工具都接受一个 action 参数来选择操作。遗留的单个工具仍然注册为向后兼容。
commune --会话开始和状态
| 行动 | 目的 |
|---|---|
briefing | 智能会话从git感知开始 |
active_context | 获取当前焦点的所有热门回忆 |
triggers | 检查自动召回记忆的上下文触发器 |
health | 服务器运行状况、版本和统计信息 |
covenant | 神圣盟约的地位和阶段 |
updates | 知识变更轮询(实时通知) |
consult --行动前情报
| 行动 | 目的 |
|---|---|
preflight | 联合召回+变更前规则检查 |
recall | 按主题检索语义记忆(支持 condensed, visual) |
recall_file | 获取链接到特定文件的记忆 |
recall_entity | 获取提及代码实体的记忆 |
recall_hierarchical | GraphRAG风格的分层检索与社区摘要 |
search | 在所有记忆中进行全文搜索(支持 highlight, visual) |
check_rules | 根据决策规则验证操作 |
compress | LLMLingua-2上下文压缩 |
inscribe --记忆写入和链接
| 行动 | 目的 |
|---|---|
remember | 存储具有冲突检测功能的内存 |
remember_batch | 在一个事务中存储多个内存 |
link | 在记忆之间建立因果关系 |
unlink | 删除记忆之间的关系 |
pin | 固定/取消固定记忆以防止修剪 |
activate | 为始终处于热状态的工作环境添加内存 |
deactivate | 从活动上下文中删除内存 |
clear_active | 清除所有活动上下文 |
ingest | 从URL导入外部文档 |
reflect --结果与验证
| 行动 | 目的 |
|---|---|
outcome | 记录决策是成功还是失败 |
verify | 根据存储的知识验证事实主张 |
execute | 沙盒Python执行(E2B) |
understand --代码理解
| 行动 | 目的 |
|---|---|
index | 通过树状图索引代码实体 |
find | 跨代码实体的语义搜索 |
impact | 分析代码更改的爆炸半径 |
todos | 扫描TODO/FIXME/HAK/XXX/BUG评论 |
refactor | 使用因果历史生成重构建议 |
govern --规则和触发器
| 行动 | 目的 |
|---|---|
add_rule | 创建决策树规则 |
update_rule | 修改现有规则 |
list_rules | 显示所有配置的规则 |
add_trigger | 创建自动召回上下文触发器 |
list_triggers | 列出所有上下文触发器 |
remove_trigger | 删除上下文触发器 |
explore --图表与发现
| 行动 | 目的 |
|---|---|
related | 通过图遍历查找相关记忆 |
chain | 找出记忆之间的因果关系 |
graph | 可视化内存关系(JSON/Mearmaid,支持 visual) |
stats | 知识图度量 |
communities | 列出莱顿社区集群(支持 visual) |
community_detail | 深入社区 |
rebuild_communities | 通过Leiden算法检测社区 |
entities | 列出最常被提及的实体 |
backfill_entities | 从现有内存中提取实体 |
evolution | 追踪知识随时间的演变 |
versions | 获取内存的版本历史记录 |
at_time | 查询某一时间点的内存状态 |
maintain --家政与联邦
| 行动 | 目的 |
|---|---|
prune | 删除旧的低价值存储器(带保护) |
archive | 存档/恢复记忆 |
cleanup | 查找并合并重复的记忆 |
compact | 将情景记忆整合为摘要 |
rebuild_index | 强制重建TF-IDF和向量索引 |
export | 将所有内存和规则导出为JSON |
import_data | 从JSON导入内存和规则 |
link_project | 链接到另一个项目以提高交叉回购意识 |
unlink_project | 删除项目链接 |
list_projects | 列出所有链接的项目 |
consolidate | 合并链接项目中的记忆 |
认知工具(独立)
| 工具 | 目的 |
|---|---|
simulate_decision | 时间搜索——用当前知识回放过去的决定 |
evolve_rule | 规则熵——检验规则的陈旧性和漂移性 |
debate_internal | 对抗性理事会----基于证据的辩论与趋同检测 |
按客户端列出的工具名称
不同的MCP客户端对工具使用不同的命名约定。这两种格式都解析为相同的服务器端操作。
工作流工具:
| MCP工具 | 克劳德代码 | OpenCode |
|---|---|---|
| 公社 | mcp__daem0nmcp__commune | daem0nmcp_commune |
| 咨询 | mcp__daem0nmcp__consult | daem0nmcp_consult |
| 题写 | mcp__daem0nmcp__inscribe | daem0nmcp_inscribe |
| 反映 | mcp__daem0nmcp__reflect | daem0nmcp_reflect |
| 理解 | mcp__daem0nmcp__understand | daem0nmcp_understand |
| 治理 | mcp__daem0nmcp__govern | daem0nmcp_govern |
| 探索 | mcp__daem0nmcp__explore | daem0nmcp_explore |
| 维护 | mcp__daem0nmcp__maintain | daem0nmcp_maintain |
认知工具:
| MCP工具 | 克劳德代码 | OpenCode |
|---|---|---|
| 模拟决策 | mcp__daem0nmcp__simulate_decision | daem0nmcp_simulate_decision |
| 进化规则 | mcp__daem0nmcp__evolve_rule | daem0nmcp_evolve_rule |
| 辩论_内部 | mcp__daem0nmcp__debate_internal | daem0nmcp_debate_internal |
格式模式:
| 客户端 | 格式 | 分隔符 |
|---|---|---|
| 克劳德代码 | mcp__servername__toolname | 双下划线(__) |
| OpenCode | servername_toolname | 单下划线(_) |
使用示例
存储记忆
inscribe(
action="remember",
category="decision", # decision, pattern, warning, or learning
content="Use JWT tokens instead of sessions",
rationale="Need stateless auth for horizontal scaling",
tags=["auth", "architecture"],
file_path="src/auth/jwt.py" # optional file association
)找回记忆
consult(action="recall", topic="authentication")
# Returns: decisions, patterns, warnings, learnings about auth
# Sorted by: semantic relevance x recency x importance
consult(action="recall_file", file_path="src/auth/jwt.py")
# Returns: all memories linked to this file
consult(action="recall_entity", entity_name="UserService")
# Returns: all memories mentioning the entity
consult(action="recall", topic="auth", condensed=True)
# Condensed: 50-75% fewer tokens, content truncated to 150 chars创建规则
govern(
action="add_rule",
trigger="adding new API endpoint",
must_do=["Add rate limiting", "Write integration test"],
must_not=["Use synchronous database calls"],
ask_first=["Is this a breaking change?"]
)跟踪结果
reflect(action="outcome", memory_id=42, outcome_text="JWT auth works great", worked=True)
reflect(action="outcome", memory_id=43, outcome_text="Caching caused stale data", worked=False)
# Failed decisions get 1.5x boost in future recalls会话开始
commune(action="briefing", focus_areas=["authentication", "API"])
# Returns: stats, recent decisions, warnings, failed approaches,
# git changes, plus pre-fetched context for focus areas主动语境(工作记忆)
inscribe(action="activate", memory_id=42, reason="Working on auth refactor",
priority=10, expires_in_hours=8)
# Memory stays in always-hot context, auto-injected into briefings
# Max 10 items, auto-expires, duplicate prevention
commune(action="active_context") # View all hot memories
inscribe(action="deactivate", memory_id=42) # Remove
inscribe(action="clear_active") # Clear all认知工具
# Temporal Scrying: What would I decide differently today?
simulate_decision(decision_id=42)
# Rule Entropy: Which rules have grown stale?
evolve_rule(rule_id=5) # Single rule
evolve_rule() # Batch: all enabled rules
# Adversarial Council: Evidence-grounded debate
debate_internal(
topic="Database choice for sessions",
advocate_position="Use Redis",
challenger_position="Use PostgreSQL"
)导入外部文档
inscribe(action="ingest", url="https://stripe.com/docs/api/charges", topic="stripe")
# Later: consult(action="recall", topic="stripe") to retrieveAI代理协议
AI代理的推荐工作流程:
SESSION START
+-> commune(action="briefing")
BEFORE CHANGES
+-> consult(action="preflight", description="what you're doing")
+-> consult(action="recall_file", file_path="path/to/file.py")
AFTER DECISIONS
+-> inscribe(action="remember", category=..., content=..., rationale=..., file_path=...)
AFTER IMPLEMENTATION
+-> reflect(action="outcome", memory_id=..., outcome_text=..., worked=...)看 Summon_Daem0n.md 完整的协议(以仪式为主题)。
Claude代码集成
自动吊钩安装(推荐)
python -m daem0nmcp.cli install-claude-hooks这将在中注册5个挂钩模块 ~/.claude/settings.json:
| 事件 | 钩子 | 目的 |
|---|---|---|
SessionStart | session_start | 自动简报摘要 |
PreToolUse (编辑/书写/笔记本编辑) | pre_edit | 飞行前执行+文件内存调用 |
PreToolUse (Bash) | pre_bash | 命令的规则执行 |
PostToolUse (编辑/写入) | post_edit | 建议记住重大变化 |
Stop/SubagentStop | stop | 从对话中自动捕捉决策 |
要删除: python -m daem0nmcp.cli uninstall-claude-hooks
手动挂钩(传统)
增添 .claude/settings.json:
{
"hooks": {
"PreToolUse": [{
"matcher": "Edit|Write|NotebookEdit",
"hooks": [{
"type": "command",
"command": "python3 \"$HOME/Daem0nMCP/hooks/daem0n_pre_edit_hook.py\""
}]
}],
"PostToolUse": [{
"matcher": "Edit|Write",
"hooks": [{
"type": "command",
"command": "python3 \"$HOME/Daem0nMCP/hooks/daem0n_post_edit_hook.py\""
}]
}],
"Stop": [{
"matcher": "",
"hooks": [{
"type": "command",
"command": "python3 \"$HOME/Daem0nMCP/hooks/daem0n_stop_hook.py\""
}]
}]
}
}协议技能
Claude Code技能包含在 .claude/skills/daem0nmcp-protocol/SKILL.md 它自动执行内存协议。
OpenCode集成
OpenCode通过同一MCP服务器连接到Daem0n MCP。无需更改服务器——守护进程为所有客户端提供同等服务。
配置
创建 opencode.json 在您的项目根目录中:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"daem0nmcp": {
"type": "local",
"command": ["python", "-m", "daem0nmcp"],
"enabled": true,
"environment": {
"PYTHONUNBUFFERED": "1"
}
}
}
}对于Windows(需要HTTP传输),请使用:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"daem0nmcp": {
"type": "remote",
"url": "http://localhost:9876/mcp",
"enabled": true
}
}
}系统指令
OpenCode读取 AGENTS.md 从项目根进行系统快速注入。《神圣盟约议定书》已纳入 AGENTS.md 与OpenCode兼容的工具名称。
如果两者都有 AGENTS.md 和 CLAUDE.md 存在于项目中,OpenCode仅使用 AGENTS.md.
工具名称
OpenCode使用与Claude Code不同的工具名称格式:
| 客户端 | 格式 | 示例 |
|---|---|---|
| 克劳德代码 | mcp__servername__toolname | mcp__daem0nmcp__commune |
| OpenCode | servername_toolname | daem0nmcp_commune |
这两种格式都解析为相同的MCP服务器工具。使用与您的客户匹配的格式。看 按客户端列出的工具名称 在“工作流工具”部分的表中查看完整的映射。
运作原理
混合搜索(BM25+矢量+RRF)
- BM25 用于关键字匹配与术语饱和度和长度归一化
- 现代BERT 用于深度语义理解的向量嵌入(256dim,非对称编码)
- 互惠排名融合 将两者与可配置的权重相结合
- “阻止数据库调用”与“同步查询”的内存相匹配
自动缩放检索路径
查询感知调度对复杂性进行分类,并选择最优策略:
- 简单查询→ 仅矢量(快速路径)
- 中等查询→ 混合BM25+矢量
- 复杂查询→ GraphRAG多跳社区摘要
记忆衰退
weight = e^(-lambda*t) where lambda = ln(2)/half_life_days默认半衰期为30天。模式和警告是永久性的(没有衰减)。
冲突检测
存储新内存时,会将其与最近的内存进行比较:
- 如果之前类似的内容失败了→ 故障警告
- 如果它与现有警告匹配→ 警告浮出水面
- 如果存在高度相似的内容→ 潜在重复标记
失败的决策促进
回忆与 worked=False 在召回中获得1.5倍的相关性提升。 警告增加了1.2倍。过去的错误显而易见。
背景梦境
在空闲期间,守护进程会根据当前证据重新评估失败的决策。 FailedDecisionReview 战略发现 worked=False 决策,回顾当前证据,并坚持可操作的见解 learning 回忆。当用户返回时,协同收益。
数据存储
每个项目都在以下位置进行隔离存储:
/.daem0nmcp/storage/daem0nmcp.db配置
所有设置都可以通过环境变量进行配置 DAEM0NMCP_ 前缀。
核心设置
| 变量 | 默认值 | 描述 |
|---|---|---|
DAEM0NMCP_PROJECT_ROOT | . | 项目根路径 |
DAEM0NMCP_STORAGE_PATH | auto | 覆盖存储位置 |
DAEM0NMCP_LOG_LEVEL | INFO | 日志记录级别 |
DAEM0NMCP_QDRANT_URL | None | 远程Qdrant URL(覆盖本地) |
嵌入模型(v6.6.6+)
| 变量 | 默认值 | 描述 |
|---|---|---|
DAEM0NMCP_EMBEDDING_MODEL | nomic-ai/modernbert-embed-base | 型号名称 |
DAEM0NMCP_EMBEDDING_DIMENSION | 256 | Matryoshka截断尺寸 |
DAEM0NMCP_EMBEDDING_BACKEND | 自动检测 | onnx 或 torch |
DAEM0NMCP_EMBEDDING_QUERY_PREFIX | search_query: | 查询编码前缀 |
DAEM0NMCP_EMBEDDING_DOCUMENT_PREFIX | search_document: | 文档编码前缀 |
搜索调谐
| 变量 | 默认值 | 描述 |
|---|---|---|
DAEM0NMCP_HYBRID_VECTOR_WEIGHT | 0.3 | 混合搜索中的向量权重(0.0-1.0) |
DAEM0NMCP_BM25_K1 | 1.5 | BM25项频率饱和 |
DAEM0NMCP_BM25_B | 0.75 | BM25文档长度规范化 |
DAEM0NMCP_RRF_K | 60 | RRF融合阻尼常数 |
DAEM0NMCP_SEARCH_DIVERSITY_MAX_PER_FILE | 3 | 同一文件的最大结果 |
自动缩放路由
| 变量 | 默认值 | 描述 |
|---|---|---|
DAEM0NMCP_AUTO_ZOOM_ENABLED | false | 用于查询感知路由的主交换机 |
DAEM0NMCP_AUTO_ZOOM_SHADOW | true | 无路由的日志分类 |
DAEM0NMCP_AUTO_ZOOM_CONFIDENCE_THRESHOLD | 0.25 | 下面这个→ 混合回退 |
DAEM0NMCP_AUTO_ZOOM_GRAPH_EXPANSION_DEPTH | 2 | 复杂查询的多跳深度 |
背景梦境
| 变量 | 默认值 | 描述 |
|---|---|---|
DAEM0NMCP_DREAM_ENABLED | true | 做梦总开关 |
DAEM0NMCP_DREAM_IDLE_TIMEOUT | 60.0 | 做梦前的几秒钟无所事事 |
DAEM0NMCP_DREAM_MAX_DECISIONS_PER_SESSION | 5 | Max重新评估失败的决定 |
DAEM0NMCP_DREAM_MIN_DECISION_AGE_HOURS | 1 | 重新评估合格前的最低年龄 |
认知工具
| 变量 | 默认值 | 描述 |
|---|---|---|
DAEM0NMCP_COGNITIVE_DEBATE_MAX_ROUNDS | 5 | 对抗性委员会的最大轮次 |
DAEM0NMCP_COGNITIVE_EVOLVE_MAX_RULES | 10 | 用于分析陈旧性的最大规则 |
DAEM0NMCP_COGNITIVE_STALENESS_AGE_WEIGHT | 0.3 | 基于时间的衰减权重 |
召回计划
| 变量 | 默认值 | 描述 |
|---|---|---|
DAEM0NMCP_SURPRISE_K_NEAREST | 5 | 邻居的惊喜计算 |
DAEM0NMCP_SURPRISE_BOOST_THRESHOLD | 0.7 | 增强阈值(0.0-1.0) |
DAEM0NMCP_RECALL_SIMPLE_MAX_MEMORIES | 5 | 简单查询的最大内存 |
DAEM0NMCP_RECALL_MEDIUM_MAX_MEMORIES | 10 | 中等查询的最大内存 |
DAEM0NMCP_RECALL_COMPLEX_MAX_MEMORIES | 20 | 复杂查询的最大内存 |
DAEM0NMCP_FACT_PROMOTION_THRESHOLD | 3 | 将成果转化为事实 |
看 Summon_Daem0n.md 完整的配置参考(~50个设置)。
建筑
daem0nmcp/
├── server.py # MCP server with 8 workflow + 3 cognitive tools (FastMCP)
├── mcp_instance.py # FastMCP instance creation
├── config.py # Pydantic settings (~50 configurable options)
├── memory.py # Memory storage & semantic retrieval
├── rules.py # Rule engine with BM25 matching
├── similarity.py # TF-IDF index, decay, conflict detection
├── vectors.py # ModernBERT embeddings (ONNX/torch, asymmetric encoding)
├── bm25_index.py # BM25 Okapi keyword retrieval
├── fusion.py # Reciprocal Rank Fusion for hybrid search
├── surprise.py # Titans-inspired novelty detection
├── recall_planner.py # TiMem-style complexity classification
├── retrieval_router.py # Auto-Zoom query-aware search dispatch
├── query_classifier.py # Exemplar-based query complexity classification
├── qdrant_store.py # Qdrant vector database backend
├── active_context.py # MemGPT-style always-hot working memory
├── entity_extractor.py # Entity extraction from memory content
├── entity_manager.py # Entity lifecycle management
├── communities.py # Leiden community detection & summaries
├── context_triggers.py # Auto-recall trigger system
├── context_manager.py # Multi-project context management
├── covenant.py # Sacred Covenant enforcement & preflight tokens
├── database.py # SQLite async database
├── models.py # 10+ tables: memories, rules, relationships, etc.
├── enforcement.py # Pre-commit enforcement & session tracking
├── hooks.py # Git hook templates & installation
├── cli.py # Command-line interface
├── workflows/ # 8 consolidated workflow tools
│ ├── commune.py # Session start & status
│ ├── consult.py # Pre-action intelligence
│ ├── inscribe.py # Memory writing & linking
│ ├── reflect.py # Outcomes & verification
│ ├── understand.py # Code comprehension
│ ├── govern.py # Rules & triggers
│ ├── explore.py # Graph & discovery
│ └── maintain.py # Housekeeping & federation
├── tools/ # MCP tool registrations
│ ├── workflows.py # 8 workflow tool definitions
│ ├── cognitive_tools.py # simulate_decision, evolve_rule, debate_internal
│ ├── memory.py # Legacy memory tools (deprecated)
│ ├── briefing.py # Legacy briefing tools (deprecated)
│ ├── code_tools.py # Legacy code tools (deprecated)
│ ├── context_tools.py # Legacy context tools (deprecated)
│ ├── entity_tools.py # Legacy entity tools (deprecated)
│ ├── graph_tools.py # Legacy graph tools (deprecated)
│ ├── rules.py # Legacy rule tools (deprecated)
│ ├── temporal.py # Legacy temporal tools (deprecated)
│ ├── verification.py # Legacy verification tools (deprecated)
│ ├── federation.py # Legacy federation tools (deprecated)
│ ├── maintenance.py # Legacy maintenance tools (deprecated)
│ └── agency_tools.py # Legacy agency tools (deprecated)
├── cognitive/ # Cognitive tool implementations
│ ├── simulate.py # Temporal scrying (decision replay)
│ ├── evolve.py # Rule entropy analysis
│ └── debate.py # Adversarial council
├── dreaming/ # Background dreaming system
│ ├── scheduler.py # IdleDreamScheduler (idle detection + dispatch)
│ ├── strategies.py # FailedDecisionReview strategy
│ └── persistence.py # Dream session/result models & persistence
├── claude_hooks/ # Claude Code native hooks
│ ├── install.py # install/uninstall-claude-hooks CLI
│ ├── session_start.py # Auto-briefing at session dawn
│ ├── pre_edit.py # Preflight enforcement + file recall
│ ├── pre_bash.py # Rule enforcement on commands
│ ├── post_edit.py # Significance detection
│ ├── stop.py # Auto-capture decisions
│ └── _client.py # Hook helper utilities
├── compression/ # LLMLingua-2 context compression
├── graph/ # Knowledge graph (NetworkX + Leiden)
├── reflexion/ # Metacognitive architecture (LangGraph)
├── agency/ # Dynamic agency (E2B sandboxing)
├── transforms/ # FastMCP 3.0 middleware
│ └── covenant.py # CovenantMiddleware & CovenantTransform
├── ui/ # MCP Apps visual interfaces (D3.js)
├── channels/ # Notification channels (desktop, log, editor-poll)
├── migrations/ # Database schema & embedding migrations
├── code_indexer.py # Code understanding via tree-sitter
├── watcher.py # Proactive file watcher daemon
├── tracing.py # OpenTelemetry integration (optional)
├── prompt_templates.py # AutoPDL-inspired modular prompts
└── tool_search.py # Dynamic tool discovery index
.claude/
└── skills/
└── daem0nmcp-protocol/
└── SKILL.md # Protocol enforcement skill
.opencode/
├── commands/
│ ├── commune.md # /commune slash command
│ ├── counsel.md # /counsel slash command
│ ├── inscribe.md # /inscribe slash command
│ └── recall.md # /recall slash command
└── plugins/
└── daem0n.ts # Covenant enforcement plugin
Summon_Daem0n.md # Claude Code installation grimoire
Summon_Daem0n_OpenCode.md # OpenCode installation grimoire
Banish_Daem0n.md # Uninstallation instructions (both clients)
start_server.py # HTTP server launcher (streamable-http transport)CLI命令
# Session briefing/statistics
python -m daem0nmcp.cli briefing
# Index code entities
python -m daem0nmcp.cli index [--path PATH] [--patterns **/*.py **/*.ts ...]
# Scan for TODO/FIXME/HACK comments
python -m daem0nmcp.cli scan-todos [--auto-remember] [--path PATH]
# Check a file against memories and rules
python -m daem0nmcp.cli check
# Run database migrations (usually automatic)
python -m daem0nmcp.cli migrate [--backfill-vectors]钩子和执行命令
# Install Claude Code hooks (user-level, all projects)
python -m daem0nmcp.cli install-claude-hooks [--dry-run]
# Remove Claude Code hooks
python -m daem0nmcp.cli uninstall-claude-hooks [--dry-run]
# Install OpenCode configuration (project-level)
python -m daem0nmcp.cli install-opencode [--dry-run] [--force]
# Creates: opencode.json, .opencode/ directories, .opencode/plugins/daem0n.ts
# AGENTS.md and command files are not auto-created
# Install git pre-commit hooks
python -m daem0nmcp.cli install-hooks [--force]
# Remove git pre-commit hooks
python -m daem0nmcp.cli uninstall-hooks
# Show pending decisions and blocking issues
python -m daem0nmcp.cli status
# Record outcome for a decision
python -m daem0nmcp.cli record-outcome "" --worked|--failed所有命令支持 --json 用于机器可读输出和 --project-path 指定项目根。
升级
1.更新代码
# If installed from source (recommended)
cd ~/Daem0nMCP && git pull && pip install -e .
2.重新编码嵌入(v6.6.6+——现有数据需要)
嵌入模型从 all-MiniLM-L6-v2 (384昏暗)至 nomic-ai/modernbert-embed-base (256暗)。必须对现有嵌入进行重新编码:
python -m daem0nmcp.migrations.migrate_embedding_model --project-path /path/to/.daem0nmcpQdrant集合在首次启动时会使用正确的维度自动重新创建。
3.安装克劳德代码挂钩
python -m daem0nmcp.cli install-claude-hooks4.重新启动克劳德代码
更新后,重新启动Claude Code以加载新的MCP工具。
4b。更新OpenCode配置(如果使用OpenCode)
python -m daem0nmcp.cli install-opencode --force这会再生 opencode.json 以及匹配最新版本的插件。
5.迁移自动运行
当任何MCP工具运行时,数据库模式迁移都会自动应用。无需手动迁移步骤。
6.索引您的代码库
python -m daem0nmcp.cli index通过树形图支持Python、TypeScript、JavaScript、Go、Rust、Java、C、C++、C#、Ruby、PHP。
故障排除
MCP工具在Claude会话中不可用
症状: claude mcp list 显示daem0nmcp已连接,但Claude无法使用 mcp__daem0nmcp__* 工具。
修复:
- 在Claude Code(Windows)之前启动服务器:
# Terminal 1: Start Daem0n server first
python ~/Daem0nMCP/start_server.py --port 9876
# Wait for "Uvicorn running on http://localhost:9876"
# Terminal 2: Then start Claude Code
claude- 重新注册服务器:
claude mcp remove daem0nmcp -s user
claude mcp add daem0nmcp http://localhost:9876/mcp -s user钩子不射击
- MCP服务器正在运行:
curl http://localhost:9876/mcp应该回应 - 挂钩配置:检查
~/.claude/settings.json或.claude/settings.json - 项目有
.daem0nmcp/目录
沟通/咨询错误
COMMUNION_REQUIRED→ Callcommune(action="briefing", project_path="...")第一COUNSEL_REQUIRED→ Callconsult(action="preflight", description="...", project_path="...")第一
OpenCode:找不到工具
症状: 使用时OpenCode报告“找不到工具” mcp__daem0nmcp__* 格式。
修复: OpenCode使用单下划线格式: daem0nmcp_commune (不是 mcp__daem0nmcp__commune).看 按客户端列出的工具名称 为了获得完整的映射。
OpenCode:MCP连接超时
症状: 第一次工具调用超时,但后续调用有效。
修复: 嵌入模型在第一次调用时加载(几秒钟)。添加 "timeout": 30000 转到您的opencode.json MCP配置。
OpenCode:契约未强制执行
症状: OpenCode中没有飞行前警告,也没有飞行后编辑建议。
修复:
- 验证插件是否存在:
ls .opencode/plugins/daem0n.ts - 验证AGENTS.md是否包含神圣盟约部分
- 检查OpenCode日志中的插件错误
发展
# Install in development mode
pip install -e .[dev]
# Run tests (500+ tests)
pytest tests/ -v --asyncio-mode=auto
# Run server directly (stdio)
python -m daem0nmcp.server
# Run HTTP server (Windows)
python start_server.py --port 9876支持
如果Daem0nMCP对您有用,请考虑支持其开发:

卸载
看 Banish_Daem0n.md 有关完整的删除说明(包括Claude Code和OpenCode),或快速版本:
克劳德代码
python -m daem0nmcp.cli uninstall-claude-hooks
claude mcp remove daem0nmcp --scope user
pip uninstall daem0nmcp
rm -rf ~/Daem0nMCP
rm -rf .daem0nmcp/开源代码
rm opencode.json
rm -rf .opencode/commands/ .opencode/plugins/daem0n.ts
pip uninstall daem0nmcp
rm -rf ~/Daem0nMCP
rm -rf .daem0nmcp/______________________________________________________________________
"The system learns from YOUR outcomes.
Record them faithfully..."
~ Daem0n*Daem0nMCP v6.6.6:现代BERT深视(256维Matryoshka,ONNX量化,非对称编码)。8个工作流工具,包含59个动作+3个认知工具(模拟决策、进化规则、辩论内部)。背景梦、自动缩放检索路由、活动上下文、视觉门户(MCP应用程序)、GraphRAG、双时态知识、LLMLingua-2压缩。Claude Code原生钩子+OpenCode集成(插件、命令、契约执行)。500+次测试。守护进程超越了面纱。*
