-
- CompanyDashboard Goals Tab: upgraded from flat list to full OKR tree view with progress bars, node hierarchy, status animations, owner/priority badges - ClaudeCliProtocol: added --effort flag support (low=disable thinking) - agent-chat.js: per-agent effort config from config.json cli.effort - .gitignore: exclude data/companies/, apiconversation/, agent memory/tasks - New views: TemplateAgents, JobsPanel, PipelineEditor, SkillsMarket - docs/architecture-v5.md: added decision #13 (thinking control)
-
1. 根治所有模板 Agent残留的过往公司(LemonV)私人记忆,使其诞生即为全新白纸状态。 2. 提取出统一的 `methodology.md` 基类 Prompt,通过 `agent-chat.js` 强力注入。 3. 从 Master 到各路 Agent 都将强制遵循【从大脑到小脑】的不硬编码理念。 4. 全面引入统一的基础方法论(Harness):学习(Research) -> 规划(Planning) -> 执行(Execute) -> 验证(Verify)
-
修复 Claude CLI 遇到严重 API 错误 (如 Http 429) 时,输出的不是合法 JSON,而是像 'MiniMax 检查失败: HTTP 429: {...}' 这样的纯文本行。 旧版本在 JSON.parse 失败后直接忽略。 新版本增加 fallback,匹配非 JSON 行中的错误关键字并强制中断死等和前端展示。 -
- 当底层模型 (MiniMax等) 抛出 API 错误时,Claude CLI 不会崩溃也不会输出 stderr,而是通过 stdout 输出 event.type='error' 的 JSON 块。 - 未处理该事件导致协议层无法等到 result 事件,引发 Promise 永久挂起。 - 修复:在_handleStreamEvent 拦截 error 块,主动抛出错误打断等待链,前端即可正常展示 ❌ API 请求失败。
-
- ClaudeCliProtocol: stderr 检测 rate_limit/429/401 等致命错误时自动 reject sendPrompt Promise - agent-chat.js: 监听 stderr/disconnected 事件并通过 SSE 推送到前端 - AgentChat.vue: error 事件停止 thinking 状态 + ACP 日志面板显示错误
-
- System agents: 只保留 master (data/system/agents/master) - Templates: 所有可复用 agent 模板 (data/system/templates/) - Companies: 公司创建时自动部署 5 个元 Agent (innovator/hunter/digester/evolver/agent-creator) 路径修复: - agent-chat.js: /list 扫描路径修正 (system/agents + companies/*/agents) - agent-manager.js: 动态 agent 查找路径修正 - skill-config-loader.js: 修正 agents root - pipeline-service.js: pipelines 输出到 companies/{id}/pipelines/ - billing.log: 移至 companies/{id}/logs/ 下 Skills 标准化: - 所有 template agent 建立 .claude/skills/main_skill/SKILL.md - company-service._copyTemplate() 新增 .claude/ 目录复制 - innovator SKILL.md v3.0: 移除旧 l3-hunt/l2-digest 命名 - 清理重复 agent_creator, 统一为 agent-creator 清理: - 移除 data/agents, data/workspace, data/logs, data/goals 旧目录 - 清除所有未使用的 DATA_DIR 声明 - 清除 template 中的 conversations/logs/memory 运行态数据 -
The plugin bootstrap was calling resolveOpenclawDist() synchronously at module load time, which crashed the entire server if the optional @mas/openclaw-dist package wasn't installed. Now all three call sites defer resolution to runtime with try/catch graceful fallback.
-
- Add task transition CLI and API for Context Flush & Hot Swap - Enforce strict bash-only tool policy for Base Agents - Inject into system prompt for self-retrying loop - Implement Goal node updates on transitions - Add P0 Execute pre-approval block (Human-in-the-loop) - Track token metrics to billing.log
-
文档更新: - 重写 11-directory-structure.md (data/system/ + data/{companyId}/) - 重写 13-api-design.md (100+ 实际 API 端点) - 更新 24-company-layer-architecture.md (规划中→已实现, Todo 全标完成) - 更新 23-agent-active-heartbeat.md (规划中→已完成) - 更新 architecture-v5.md (v5.3, Phase 4-6 新增) - 更新 21-fde-pipeline-architecture.md (阈值 90→95, 路径修正) - 更新 LEMONBOSS-SYSTEM-DESIGN.md (v2.0, 章节 15-26 索引) - 新增 25-bootstrap-mechanism.md (公司自举机制) - 新增 26-automated-hiring-orchestration.md (全自动招聘编排) Bug 修复: - fix(server): 修复 body sanitizer 空 body 时未设置 _bodyParsed 导致 express.json() 重复读取已消费流的 stream-not-readable 错误 -
核心改动: 1. agent-chat.js buildSystemPrompt 新增 Layer 0: 为公司Agent自动注入 公司环境上下文(companyId、roleName、公司共享工作区路径) 明确禁止写入全局 workspace/ 或 data/workspace/ 2. CEO 模板更新: workspace/ 引用改为"公司共享工作区" 3. 清理旧的 workspace/ 和 data/workspace/ 下的废弃公司目录
-
Phase A - Company Bootstrap 自举: - 新增 _company_bootstrap/manifest.json 模板 - company create 时自动部署 CEO/CTO/COO/HR 四名核心骨干 - 自动启动公司 + 2s后向CEO dispatch战略启动令 - 支持 skipBootstrap 参数跳过自举 Phase B - HR 大一统 (招留管退): - 新增 hr 模板(agent_creator 的进化体) - HR 具备完整生命周期管理:招聘/技能装配/监控/辞退 - HR 具备模板发现能力(lemon company templates 查看可用模板如 scrapling_crawler) - CTO 模板重写:不再亲自 hire,全部通过 task dispatch 向 HR 下发招聘需求单 - CEO 模板更新:确认 Bootstrap 已部署骨干,委派时强调 CTO→HR 招聘链 - 新增 POST /company/:id/fire API(停心跳→归档→更新名单) - 新增 CLI: lemon company fire / lemon company templates
-
- Added async orchestration in `/company/:id/hire` when no template is found. - Triggers Agent-Creator to write definition files based on scaffold. - Searches Arena (skillDb) for 3 basic skills matching the role and injects them. - Dispatches Innovator to run FDE pipeline and evaluate initial capabilities.
-
- Agent names are clickable links to chatbot page - Action button group per agent: heartbeat ▶/⏹, 💬 Chat, 📋 Skills, 🎓 Train - Expandable skills panel shows agent's loaded skills - Train button sends instruction to CEO to arrange Innovator training - Backend: GET /api/company/:id/agents/:agentId/skills API
-
Phase 4 人机流转机制打通: 1. 新增 API 与 CLI: - POST /api/agent/human-request 支持 Agent 求助 - `node bin/lemon.js human request` CLI 暴露给 Agent 使用 - 请求将自动追加至根目录 .env 文件并带有时间戳注释 - 同时将记录追加至 Master 的 workspace/human_todo.md 待办清单 - 触发实时通知事件给 Master Agent 2. `agent_creator` 人事专员模板创建: - 专门负责使用 `skill_search` (或自述构建) 并在新员工的 .claude/skills/ 下写武器代码 - 强制为技能预留 .env 读取代码,并当 key 不存在时使用 human request - 强制在装配初版后将该技能推入 innovator-001 队列进行强化学习训练 3. 架构优化: - 修改 CTO Agent 模板指令:在 hire 底层员工的同时,强制 hire 一名 agent_creator - CTO 不再亲自绑定技能,全部通过 `task dispatch` 给 agent_creator 完成装配
-
- Add Company Overview tab as default landing page - Show company info: status, uptime, agent count, heartbeat status - Start/Stop company buttons (activate/deactivate all agent heartbeats) - Per-agent heartbeat controls: interval dropdown, start/stop buttons - Backend APIs: GET status, POST start/shutdown, PUT/POST agent heartbeat - Track startedAt timestamp for uptime calculation - Update CEO agent.md with mandatory 5-step startup workflow - Fix company nav to default to overview tab
-
Phase 3 反馈进化闭环: 1. DataSourceService (运营数据接入): - 新增 datasource-service.js: 抽象适配器模式 - MockAdapter: 模拟运营数据 (开发调试) - FileAdapter: 从本地 JSON 文件读取数据 - 可扩展: 预留 WechatAdapter/DouyinAdapter 接口 - API: GET /data/metrics, /data/trending, /data/attribution 2. 归因分析引擎: - analyzeAttribution(): 自动对比两个时间段指标 - 计算变化百分比和趋势方向 - 自动提取显著变化维度并生成洞察文本 - API: GET /api/company/:id/data/attribution 3. Know-how 自动更新 (memory-service.js): - 新增 updateAgentKnowhow() 函数 - autoReflect 产出的 patterns/lessons 自动写回 SKILL.md - 在 SKILL.md 末尾维护'经验教训(自动沉淀)'段落 - 保留最近 20 条记录,自动清理过旧条目 - 闭环: Agent执行 → 反思 → 经验写入SKILL → 下次读取改进行为
-
Phase 2 改进: 1. 工作日历系统 (ScheduleService): - 新增 schedule-service.js: 公司级日程管理 - 支持按小时调度、按周几过滤、时区感知 - 心跳触发时自动检查到期 slots 并触发 Agent - 执行去重(同日同 slot 不重复触发) - CRUD API: GET/POST/PUT/DELETE /api/company/:id/schedule/slots - CLI: schedule add / schedule list 2. 告警通道 (Alert Channel): - Pipeline 步骤超时自动告警 Master Agent - 心跳异常自动告警 Master Agent - _sendAlertToMaster() 统一告警接口 3. CEO → Pipeline 自动生成: - CEO 模板从 3 步升级为 5 步工作流 - 新增 Step 2: Pipeline JSON 设计(含 loop/cron/steps 结构) - 新增 Step 4: OKR 创建 - Pipeline 设计输出为 CTO 搭建流水线的蓝图 4. Master 晨会日报: - 每天 08:00 自动生成全公司运营日报 - 包含公司状态、Pipeline 运行、OKR 进度、Agent 活跃度 - 自动推送给 Master Agent - 防重复机制(每天只生成一次) 5. Pipeline 驳回信息注入: - 驳回步骤被心跳重新触发时,__rejection 信息注入 prompt - 让 Agent 知道被驳回的原因和重做次数 - 替换原有 curl 汇报指令为 task report CLI
-
Phase 1 核心改进: 1. Pipeline↔Task 系统打通: - task/report 回调自动推进 Pipeline 步骤 - findActiveRunStep() 按 agentId 定位活跃步骤 - 扫描所有公司的 Pipeline Runs 实现跨公司桥接 2. Pipeline 循环执行: - 新增 pipeline.loop 配置项 - Run 完成后自动启动下一轮 (最大 maxLoops=365) - loopCount 计数器追踪循环轮次 3. COO 质量门控: - 新增 rejectStep() 驳回方法,含驳回历史记录 - POST /api/agent/task/reject API 端点 - POST /api/company/:id/pipelines/runs/:runId/reject 路由 - node bin/lemon.js task reject CLI 命令 - 驳回后自动唤醒 Agent 重做,注入改进意见 4. COO 模板全面强化: - agent.md: 4维度评分体系、质量审核流程图 - soul.md: 性格、价值观、决策原则 - tools.md: 新增 task reject 核心工具 - heartbeat.md: 结构化巡检清单 + 升级规则
-
1. Rewrote master/agent.md: strict anti-overreach rules, cleaned git merge conflicts 2. Enhanced agent-creator/agent.md: force Write tool for new files, mandatory task report 3. Implemented task/report callback: auto-wakes sender agent to continue next steps - Added .tasks/ metadata persistence for dispatch→report traceability - task/report sends [TASK_CALLBACK] to dispatching agent on done/failed
-
- company.js: call heartbeatService._setupAgentHeartbeat after hire - CEO agent.md: enforce 3-step continuous execution in same turn - All CXO heartbeat intervals: 5 minutes - task dispatch message: self-drive directive, use lemon CLI - bin/lemon.js: add 'task report' command
-
…ter Agent cognitive auto-recovery loop - Refactored CompanyDashboard into read-only Observer UI - Enforced strict companyId:roleId namespacing across Node APIs and AgentManager - Added dynamic <env_status> injection to PromptBuilder for robust context - Introduced bin/lemon.js CLI for structured LLM tool execution - Implemented in-stream error interceptors for implicit silent retry loop
-
…nti-confirmation prompts, cron dedup fix
-
- CompanyHeartbeatService: company-level heartbeat with timer registration - Auto-trigger: cron-based pipeline scheduling (intervalHours) - Active run driving: dispatch tasks to agents, timeout detection - CEO heartbeat: periodic company status check - Pipeline cron field support in definitions - Registered in server startup alongside agent heartbeat - E2E test: 113/113 passed (all phases + autonomous loop)
-
- PipelineService: define pipelines with ordered agent-assigned steps - Run lifecycle: start → markStepStarted → advanceStep → complete - Step output automatically flows as next step input - Pipeline CRUD + Run management REST API routes - E2E test: 106/106 passed (Phase 1 + 2 + 3 + 4)
-
- GoalsService refactored: constructor accepts optional companyId - With companyId: goals stored in data/{companyId}/goals/ - Without: backward-compatible data/goals/ (global) - Company Goals REST API: full OKR CRUD under /api/company/:id/goals - OKR isolation verified: different companies have independent goal spaces - E2E test: 81/81 passed (Phase 1 + 2 + 3) -
- scaffoldNewAgent: create agent skeleton via AgentScaffold directly - depositTemplate: benchmark gating (≥95) + auto-deposit to templates/ - hireWithTraining: full flow (template lookup → scaffold fallback) - Company route: /hire uses hireWithTraining, new /deposit-template endpoint - E2E test: 69/69 passed (Phase 1 + Phase 2)
-
- CompanyService: CRUD (create/get/list/update/shutdown) - Agent Hiring Pipeline: template lookup → copy → context injection - Template registry (_registry.json) with CEO and qa-judge initial templates - resolveAgentDir(companyId, agentId) unified agent directory resolution - Company REST API routes (/api/company/*) - E2E test: 46/46 passed
-
- Extracted HeartbeatService to periodically wake up agents flagged with 'heartbeat.enabled' - Sends a silent [SYSTEM HEARTBEAT] message to trigger self-checks (e.g. OKR state validation) - Automatically integrated service dispatch hook in server startup sequence - Configured qa-judge to run autonomous heartbeat every 10 min
-
…ze Chinese keyword extraction - Fix: The long trailing history in todo.md drowned out the actual current task keywords because English tokens (e.g. TASK, P2, from) padded the 30-keyword limit beforehand. - Updated extractKeywords: Process Chinese characters first as they carry more weight for NLP context intent. - Added userMessage prefix to searchText in buildSystemPrompt so newly dispatched tasks dominate keyword extraction. - End-to-end e2e test created and passed (27/27 asserts passed)
-
Phase 3 features: - autoReflect: auto-trigger on complex conversations (toolCount>=3 or duration>=60s) - Extracts patterns from successful conversations - Extracts lessons from failed conversations - Auto-solidifies cerebellum plans from 5+ tool-call successes - Writes reflection logs to memory/reflections/ - Updates memory.md 'verified patterns' and 'lessons learned' sections - consolidateMemory: merge short-term sessions older than 7 days into long-term/ - Extracts frequent keywords across merged sessions - Writes consolidated summary to long-term/consolidate-{date}.md - Updates long-term/patterns.md with high-frequency patterns - generateDailyReport: aggregate today's sessions and reflections into daily/{date}.md - API endpoints: POST /:agentId/memory/consolidate, POST /:agentId/memory/daily-report Test results: 16/16 passed (Phase 3 test suite) -
- Hippocampus keyword matching engine (extractKeywords + score) - Cerebellum plan storage (saveCerebellumPlan) - Auto-sync hippocampus-index.json + hippocampus.md - POST /:agentId/memory/cerebellum API endpoint - buildSystemPrompt injects matched plans from hippocampus - Use count & lastUsed tracking on plan access - Chinese n-gram + English word tokenizer with stop words - Fix: score formula uses entry keyword count as denominator - Fix: useCount updates original index entry not spread copy - Verified: OKR plan matched + injected into CEO prompt