• commit b7b5096 给 agent-chat.js 挂 requireAuthOrInternal 后,只顾了「同进程内
    require 拿 INTERNAL_TOKEN」这一种自环调用(company.js/task-settle.js),漏了
    bin/lemon.js——它跑在 agent 的 claude CLI 子进程里,不共享内存,没法拿到这个
    token,导致所有 agent 的 task report/dispatch 全部 401,没法自行汇报完成状态。
    
    修法:jwt-auth.js 生成 INTERNAL_TOKEN 时顺带写进 process.env.LEMON_INTERNAL_TOKEN
    ——spawn 默认把 process.env 整份传给子进程,免费传给所有后代进程(claude CLI →
    Bash 子进程 → bin/lemon.js)。bin/lemon.js 读到就带上 x-internal-token header。
    顺带把硬编码的 API_BASE 端口改成可用 LEMON_API_BASE 覆盖,方便测试。
    
    Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
    yibo authored
     
    Browse File »

  • - Agent as Micro-Container: each agent lives in data/agents/{id}/ with full encapsulation
    - Persona vs Capability split: agent.md (identity) + .claude/skills/main_skill/SKILL.md (workflow)
    - Conversations co-located: data/agents/{id}/conversations/ replaces global dir
    - Meta Skills renamed: meta_hunt, meta_digest, meta_creator, meta_evolving, meta_benchmark, meta_research
    - Dynamic Hot-Reload: AgentManager.getAgentConfig() falls back to filesystem scan
    - Parallel Sub-Agent orchestration via Promise.all with multi-terminal UI
    - Removed SQLite dependency, global skills/ directory, and legacy conversations/
    - Full architecture docs: 18-local-filesystem-first-agent-encapsulation.md
    yibo authored
     
    Browse File »