Skip to content

配置清单

配置管理 (ConfigStore)

所有配置文件读写现在通过 cococat/config_store.pyConfigStore 统一管理。 它缓存文件内容并提供类型化接口,避免代码中散落的 json.load/yaml.safe_load 调用。

  • get_auth(provider) / set_auth(provider, key) — auth.json
  • get_env(key) / set_env(key, value) — .env + os.environ
  • get_default(key) / save_defaults(data) — defaults.json
  • get_channel_configs() / save_channel_configs(data) — main.yaml
  • get_models() / save_models(data) — models.json
  • get_custom_providers() / save_custom_providers(data) — providers.json
  • get_coco_prompt() / save_coco_prompt(text) — prompts/coco.txt
  • get_resident_configs() / save_resident_config(id, cfg) — residents/*.yaml

路径可通过环境变量覆盖:

  • COCOCAT_AUTH_FILE → auth.json
  • COCOCAT_MODELS_FILE → models.json
  • COCOCAT_CUSTOM_PROVIDERS_FILE → providers.json
  • COCOCAT_ENV_FILE → .env

运行时环境 (.env)

变量说明默认值
OPENAI_API_KEYLLM API Key
OPENAI_BASE_URLLLM 接口地址https://api.deepseek.com
LLM_MODEL模型名称deepseek-v4-flash
WEB_PASSWORD面板登录密码
JWT_SECRETJWT 签名密钥
JWT_EXPIRE_MINUTESJWT 过期时间480
API_KEY外部访问 API Key
COCOCAT_WORKSPACE工作目录项目根目录
EXEC_COMMAND_ALLOWED_MODES允许的权限模式WORKSPACE_WRITE,FULL_ACCESS
LINUX_NAMESPACE_SANDBOXLinux 命名空间隔离false
LINUX_NETWORK_ISOLATION网络命名空间隔离false

Agent 定义 (config/residents/*.yaml)

yaml
id: "leader"
name: "组长"
enabled: true
scene: "development"
config:
  role: "组长"
  objective: "协调团队工作"

每个 agent 一个 YAML 文件。enabled: false 时 AgentPool 不会自动启动。

Agent 个性 (agents/{id}/profile.json)

json
{
  "role": "资深工程师",
  "objective": "负责代码审查和技术方案设计",
  "traits": ["细致", "严谨"],
  "background": "10年后端开发经验",
  "rules": ["Always write tests"],
  "gender": "male"
}

写入后不可变(首次 hire 时写入,skip if exists)。

UI 显示 (agents/{id}/display.json)

控制 Web 面板中 agent 的显示样式(头像、颜色等)。

Agent 技能 (agents/{id}/skills/manifest.json)

json
{
  "public": ["code_review"],
  "private": []
}
  • public: 其他 agent 可见的技能
  • private: 仅自己可见

频道入口 (agents/{id}/entries.json)

json
{
  "entries": [
    {"type": "channel", "channel_type": "webhook", "config": {}}
  ]
}

场景 (scenes/{id}/)

文件说明
CONTEXT.md场景上下文描述,注入到 system prompt
mounted_kbs.json挂载的知识库 ID 列表
roster.json场景中 agent 列表
skills/manifest.json场景级技能 (env_skills)
skills/{name}.md技能定义文件

mounted_kbs.json

json
{"mounted": ["team-wiki", "product-docs"]}

roster.json

json
{"agents": ["employee_a", "employee_b"]}

技能注册 (skills/registry.json)

所有可用技能的索引,用于 search_skillinstall_skill

知识库 (knowledge/{kb_id}/)

文件说明
purpose.md知识库用途描述
schema.mdWiki 页面 schema 约束
index.md自动生成的索引
log.md自动生成的摄取日志
wiki/Wiki 页面目录
wiki/entities/实体页面
wiki/concepts/概念页面
raw/sources/原始源文件(摄取输入)

基于 MIT 协议开源