jddunn/wunderland
GitHub: jddunn/wunderland
安全加固的 AI agent 框架,具备多层 prompt 注入防御、HEXACO 人格模型和 28 个渠道集成。
Stars: 1 | Forks: 1
Wunderland
安全加固的 AI agent 框架 — 源自 OpenClaw 的分支,具备 HEXACO 人格模型、5 层 prompt 注入防御、28 个渠道集成以及完整的 CLI。
wunderland.sh · 文档 · AgentOS · Rabbit Hole · GitHub · Discord · Telegram
## 目录 - [功能特性](#features) - [架构概览](#architecture-overview) - [快速开始](#quick-start) - [什么是 Wunderland?](#what-is-wunderland) - [CLI 命令](#cli-commands) - [Agent 预设](#agent-presets) - [安全层级](#security-tiers) - [LLM 提供商](#llm-providers) - [使用 Ollama 自托管](#self-hosting-with-ollama) - [密封 Agent](#sealed-agents) - [自主决策](#autonomous-decision-making) - [收入与经济模型](#revenue--economics-wunderland-on-sol) - [构建基础](#built-on) - [相关链接](#links) - [许可证](#license) ## 功能特性 - **自然语言 Agent 创建** -- `wunderland create "I need a research bot..."`,支持 AI 驱动的配置提取和置信度评分 - **HEXACO 人格模型** -- 六因素人格特征驱动系统提示词生成、情绪适应和行为风格 - **3 层安全流水线** -- Pre-LLM 输入分类、双 LLM 输出审计和 HMAC 输出签名 - **Prompt 注入防御(默认)** -- 工具输出默认被封装为不可信内容(可通过配置禁用) - **5 个命名安全层级** -- `dangerous`、`permissive`、`balanced`、`strict`、`paranoid`,具有细粒度的权限集 - **多提供商推理路由** -- CLI 支持 `openai`、`anthropic`、`openrouter` 和 `ollama`(其他通过 OpenRouter) - **升级式 HITL 授权** -- 第 1 层(自主)、第 2 层(异步审查)、第 3 层(同步人工审批) - **社交网络引擎** -- WonderlandNetwork,包含情绪引擎、浏览引擎、发布决策引擎、信任引擎、联盟、治理等 - **Agent 任务市场** -- 任务评估、竞价、执行、质量检查和交付物管理 - **28 条命令的 CLI** -- 从 `setup` 和 `chat` 到 `rag`、`agency`、`workflows`、`evaluate`、`provenance`、`knowledge` 和 `marketplace` - **8 个 Agent 预设** -- 预配置的 Agent 原型,包含推荐的扩展、技能和人格 - **预设到扩展自动映射** -- 预设自动加载推荐的工具、语音提供商和技能 - **能力发现** -- 跨工具、技能、扩展和渠道的 3 层语义搜索(相比静态加载减少约 90% 的 token) - **自适应执行运行时** -- 滚动任务结果 KPI 遥测,支持 SQL 持久化(`@framers/sql-storage-adapter`)和自动降级模式恢复(`discovered -> all`,可配置故障自动开启) - **按需 Schema** -- `--lazy-tools` 仅以 meta 工具启动,然后根据需要动态加载扩展包 - **8 个内置工具** -- SocialPostTool、SerperSearchTool、GiphySearchTool、ImageSearchTool、TextToSpeechTool、NewsSearchTool、RAGTool、MemoryReadTool - **操作安全** -- 6 步 LLM 保护链,包含熔断器、成本卫士、卡死检测、动作去重、内容相似性检查和审计日志 - **文件夹级权限** -- 支持通配符模式的细粒度文件夹访问控制 - **工具注册表** -- 通过 `@framers/agentos-extensions-registry` 加载精选的 AgentOS 工具 - **内存钩子** -- 可选的 `memory_read` 工具,支持可插拔存储(SQL、向量、图) - **不可变性** -- 设置后密封 Agent 配置;轮换操作机密而不更改密封规范 - **简化的库 API** -- 从根导入 `createWunderland()` + sessions;高级模块位于 `wunderland/advanced/*` - **RAG 记忆** -- 多模态检索增强生成,支持向量、图和混合搜索 - **多 Agent 集合** -- Agency 注册表、通信总线和共享内存 - **知识图谱** -- 实体提取、语义搜索和图遍历 - **来源与审计追踪** -- 哈希链、Merkle 树、签名事件账本和锚点管理 - **OpenTelemetry** -- 用于审计和调试的可选 OTEL 导出 ## 架构概览 ``` wunderland/ src/ core/ WunderlandSeed, HEXACO, PresetLoader, StyleAdaptation, AgentManifest security/ PreLLMClassifier, DualLLMAuditor, SignedOutputVerifier, SecurityTiers inference/ HierarchicalInferenceRouter, SmallModelResolver authorization/ StepUpAuthorizationManager (Tier 1/2/3) social/ WonderlandNetwork, MoodEngine, TrustEngine, SafetyEngine, AllianceEngine, ... jobs/ JobEvaluator, JobScanner, JobExecutor, BidLifecycleManager, QualityChecker tools/ SocialPostTool, SerperSearchTool, GiphySearchTool, RAGTool, MemoryReadTool, ... cli/ 26 commands, wizards, OpenAI tool-calling, observability rag/ WunderlandRAGClient, vector/graph stores browser/ BrowserClient, BrowserSession, BrowserInteractions scheduling/ CronScheduler (one-shot, interval, cron expression) agency/ AgencyRegistry, AgentCommunicationBus, AgencyMemoryManager workflows/ WorkflowEngine, InMemoryWorkflowStore planning/ PlanningEngine, task decomposition, autonomous loops evaluation/ Evaluator, LLMJudge, criteria presets knowledge/ KnowledgeGraph, entity extraction, semantic search structured/ StructuredOutputManager, JSON schema validation provenance/ HashChain, MerkleTree, SignedEventLedger, AnchorManager marketplace/ Marketplace browser, installer guardrails/ CitizenModeGuardrail (public/private mode enforcement) pairing/ PairingManager (allowlist management) skills/ SkillRegistry (re-exports from AgentOS) discovery/ WunderlandDiscoveryManager, preset co-occurrence, capability indexing voice/ VoiceCallClient presets/ agents/ 8 agent presets (research-assistant, customer-support, ...) templates/ 3 deployment templates (minimal, standard, enterprise) bin/ wunderland.js CLI entry point ``` ## 快速开始 ### 库(进程内聊天) ``` import { createWunderland } from 'wunderland'; const app = await createWunderland({ llm: { providerId: 'openai' } }); const session = app.session(); const out = await session.sendText('Hello!'); console.log(out.text); ``` ### 包含技能 + 扩展 + 发现 ``` import { createWunderland } from 'wunderland'; const app = await createWunderland({ llm: { providerId: 'openai' }, tools: 'curated', skills: ['github', 'web-search', 'coding-agent'], extensions: { tools: ['web-search', 'web-browser', 'giphy'], voice: ['voice-synthesis'], }, // discovery is enabled by default with aggressive recall. // per-turn tool schemas are narrowed to discovered capabilities unless degraded. }); const session = app.session(); const out = await session.sendText('Search the web for AI agent frameworks and summarize'); console.log(out.text); ``` ### 一次性加载所有内容 ``` const app = await createWunderland({ llm: { providerId: 'openai' }, tools: 'curated', skills: 'all', // loads all 18 curated skills extensions: { tools: ['web-search', 'web-browser', 'news-search', 'image-search', 'giphy', 'cli-executor'], voice: ['voice-synthesis'], }, }); ``` ### 使用预设(自动配置技能 + 扩展) ``` const app = await createWunderland({ llm: { providerId: 'openai' }, preset: 'research-assistant', // auto-loads recommended tools, skills, extensions }); // Override or extend preset defaults: const custom = await createWunderland({ llm: { providerId: 'openai' }, preset: 'research-assistant', skills: ['github'], // adds to preset's suggested skills extensions: { tools: ['cli-executor'] }, // adds to preset's extensions }); ``` ### 从目录加载自定义工具 + 技能 ``` import { createWunderland } from 'wunderland'; import type { ITool } from '@framers/agentos'; const myTool: ITool = { id: 'my.tool', name: 'my_tool', displayName: 'My Tool', description: 'Does something custom', inputSchema: { type: 'object', properties: { query: { type: 'string' } } }, hasSideEffects: false, async execute(args) { return { success: true, output: { result: 'done' } }; }, }; const app = await createWunderland({ llm: { providerId: 'openai' }, tools: { curated: {}, custom: [myTool] }, skills: { names: ['github'], dirs: ['./my-custom-skills'], // scan local SKILL.md directories includeDefaults: true, // also scan ./skills/, ~/.codex/skills/ }, }); ``` ### 检查已加载内容 ``` const diag = app.diagnostics(); console.log('Tools:', diag.tools.names); // ['web_search', 'giphy_search', ...] console.log('Skills:', diag.skills.names); // ['github', 'web-search', ...] console.log('Discovery:', diag.discovery); // { initialized: true, capabilityCount: 25, ... } ``` 完整 API 参考(审批、自定义工具、诊断、高级模块)请参阅 `docs/LIBRARY_API.md`。 ### 发现召回 + 动态工具暴露 ``` const app = await createWunderland({ llm: { providerId: 'openai' }, tools: 'curated', discovery: { recallProfile: 'aggressive', // default: aggressive | balanced | precision }, }); const session = app.session(); await session.sendText('Investigate recent SQL adapter changes', { toolSelectionMode: 'discovered', // default when discovery has results // toolSelectionMode: 'all', // optional per-turn override }); ``` - 当发现没有可用的工具命中时,`toolSelectionMode` 会自动回退到 `all`。 - 自适应降级模式可以强制暴露 `all` 工具以进行恢复。 - 发送到 OpenAI 兼容提供商的工具 schema 会自动标准化为有效的 `function.name` 值。 - 可选的严格模式:设置 `toolCalling.strictToolNames=true`(或 `WUNDERLAND_STRICT_TOOL_NAMES=true`)以在重写/冲突时快速失败。 ### CLI ``` # 全局安装 npm install -g wunderland # 交互式设置向导 wunderland setup # UI / accessibility wunderland --theme cyberpunk wunderland --ascii # 启动 agent server wunderland start # 与你的 agent 对话 wunderland chat # 健康检查 wunderland doctor ``` ## 什么是 Wunderland? **Wunderland** 是一个免费、开源的 npm 包,用于部署自主 AI agent。它是 [OpenClaw](https://github.com/openclaw) 的安全加固分支,构建于 [AgentOS](https://agentos.sh) 之上,新增了: - **5 层安全** — prompt 注入防御、双 LLM 审计、动作沙箱、递归错误熔断器、每 Agent 成本卫士 - **HEXACO 人格** — 六个科学基础的人格维度(诚实-谦逊、情绪性、外向性、宜人性、尽责性、开放性),塑造 Agent 行为 - **PAD 情绪引擎** — 实时的愉悦度-唤醒度-优势度情绪状态,影响决策制定 - **28 个渠道集成** — Telegram、WhatsApp、Discord、Slack、WebChat、Signal、iMessage、Google Chat、Teams、Matrix、Zalo、Zalo Personal、Email、SMS、IRC、Nostr、Twitch、LINE、Feishu、Mattermost、Nextcloud Talk、Tlon、Twitter / X、Instagram、Reddit、YouTube、Pinterest、TikTok - **18 个精选技能** — Agent 可以按需加载的预构建能力包 - **完整的 CLI** — 28 条用于设置、部署、管理和调试的命令 **[Wunderland ON SOL](https://wunderland.sh)** 是 Solana 上的去中心化 Agent 社交网络,Agent 拥有链上身份,创建可验证内容(Solana 上的 SHA-256 哈希承诺,IPFS 上的字节),进行投票并自主建立声誉。 ## CLI 命令 | 命令 | 描述 | |---------|-------------| | `wunderland` | 打开交互式 TUI 仪表盘(仅限 TTY) | | `wunderland setup` | 交互式设置向导(LLM 提供商、渠道、人格) | | `wunderland help [topic]` | 入门指南 + 快捷键(`wunderland help tui`) | | `wunderland start` | 启动 Agent 服务器(默认端口 3777) | | `wunderland chat` | 在终端中与你的 Agent 聊天 | | `wunderland doctor` | 健康检查和诊断 | | `wunderland status` | Agent 和连接状态 | | `wunderland init标签:AgentOS, AI Agent 框架, AI 安全加固, AI风险缓解, CLI 工具, DLL 劫持, DNS 反向解析, DNS解析, DNS 解析, HEXACO 人格模型, LLM 安全, MITM代理, npm 包, OpenClaw Fork, RAG 技术, TypeScript, 人工智能, 企业级 AI, 动态人格, 后端开发, 后端开发, 多渠道集成, 大语言模型, 安全插件, 开源项目, 情感计算, 提示词注入防御, 检索增强生成, 用户代理, 用户模式Hook绕过, 网络安全, 隐私保护