-
…en costs across agents
-
- Updated `GET /api/agent/:agentId/info` to include heartbeat and cron configurations. - Added `PUT /api/agent/:agentId/heartbeat` to update config.json and toggle service heartbeat on the fly. - Added `PUT /api/agent/:agentId/cron` to update cron.json list. - Updated AgentChat.vue detail panel UI to include interactive heartbeat toggles and a cron job management list.
-
- Updated `POST /api/company/create` to create an empty shell without bootstrapping CXO/HR automatically. - Updated `master/agent.md` instructions so Master Agent handles all Template library hirings. - Renamed 'MasterBot' navigation link to 'System Agents'. - Updated AgentChat sidebar to only show System Agents when accessed via the System Agents link.
-
- GET /api/company/templates/:id/logs scans system agent conversations - Logs stored in system agents (agent-creator/innovator), NOT in template dir - Template directories stay clean for copying - Collapsible log cards with status, time, message count, and output summary - Auto-poll during generate/train actions (10s/15s intervals)
-
- POST /api/company/templates: scaffold new template via AgentScaffold - POST /api/company/templates/:id/generate: trigger agent-creator to write definitions - POST /api/company/templates/:id/train: trigger innovator FDE training pipeline - PUT /api/company/templates/:id/files/content: save template file content - TemplateAgents.vue: create form, action buttons, editable preview, status banner
-
- Chat list: added 🗑 delete button per conversation (hover to reveal) - Calls DELETE /api/agent/:agentId/conversations/:convId - Backend also cleans up associated log files - Detail file tree: added 🗑 delete button per file/folder (hover to reveal) - Backend: DELETE /api/agent/:agentId/file/* with path traversal protection - Detail preview: upgraded from readonly <pre> to editable <textarea> - Backend: PUT /api/agent/:agentId/file/* for saving - Shows 'unsaved' badge + save/reset buttons when dirty - Tab key support, monospace font, auto-fill height
-
- 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)