-
1. Workspace page: left file tree + right detail/editor panel - File info: name, path, size, created/modified timestamps - Three view modes: Code / Preview / Edit with save - HTML files auto-open in Preview tab (sandboxed iframe) 2. Backend APIs: - GET/PUT /:companyId/workspace/files (list + content + save) - PUT /:companyId/files/content (company file save) 3. Navbar: removed Skills/Jobs/Pipeline, added Workspace 4. All nav links open in new tabs (target=_blank)
-
- Added inline editing for template description and type fields - Implemented Delete Template functionality (removes both file system and registry entry) - Added confirmation safeguards for the destructive delete action
-
Architecture fix for long-running tool execution: 1. ClaudeCliProtocol: Two-tier idle timeout - Chat mode: 45s (detect API hang/silent rate limit) - Tool execution mode: 5min (Bash long tasks like pip install) - Automatically switches on tool_use_start / content_block_stop events 2. Provision API: POST /templates/:templateId/provision - Runs shell commands directly via child_process.exec - Bypasses Claude ACP entirely (no idle timeout issue) - 10min per-command timeout, security blocklist - Frontend button with prompt for custom commands 3. Template UI: Added 🔧 安装依赖 button (teal)
-
- Moved data/system/ → system/ (agents, templates, skills, data, workspace) - Updated all server route/service path references - Updated all script path references - Updated all documentation references - Restructured .gitignore for cleaner system/ vs data/ boundary system/ = platform-shared assets (system agents, template library) data/ = tenant-specific company instance data
-
…aruncreate skill paths - Upload skill files to .claude/skills/ (Claude Code ACP reads from here) - Add conversation type filter (user/callback/task/train) to AgentChat - Parse messages.log for richer conversation history display - Fix idearuncreate template & company agent skill directory structure - Add adm-zip dependency for ZIP extraction - Add fs/path top-level requires in company.js
-
- Add TaskTimeline.vue: two-pane dashboard with task list + message timeline - Add task-service.js: aggregate cross-agent conversations into task tree - 4-strategy parent-child inference (explicit meta, time-overlap, conv→tpl, master→T) - Read messages.log for full tool call details (not just history.json) - Add tasks.js API routes: GET /api/tasks, GET /api/tasks/:taskId/timeline - Mount /api/tasks in agent-server.js - Add 'Task Logs' nav entry in AppNav.vue after Templates - Support taskId in URL (/tasks/:taskId?) for sharing/bookmarking - Add --parent flag to CLI task dispatch for explicit parentTaskId - Auto-detect parentTaskId in task/dispatch from sender's active task - Add --instructions flag to template train CLI command - Update master tools.md with new parameters
-
- 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
-
- 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)
-
- 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 运行态数据
-
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
-
- 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: 结构化巡检清单 + 升级规则
-
- 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
-
- 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