当用户首次使用本技能时,智能体必须按以下步骤逐项引导用户完成初始化。每完成一步,向用户确认后再进入下一步。
python scripts/db_init.py --setup --parent-dir "<用户指定的位置>"--parent-dir 参数(不是 --data-dir),脚本会自动在指定位置下创建名为"控制台"的文件夹,文件夹名称由代码强制为"控制台",智能体不可自行改名或使用其他路径控制台/aicwos.db)、全部表结构、控制台基础目录结构(回收站、讲师列表、知识库集/公共/公共行为、知识库集/私有)和默认文件(workspace.json、允许行为.json、禁止行为.json)console_dir 字段,即控制台完整路径,后续步骤需使用此路径作为 --data-dir 的值,数据库位于:/aicwos.db "knowledge_sync.base_url,若为空则向用户询问:base_url 字段python scripts/knowledge_sync.py --data-dir "<控制台目录>" 完成首次同步python scripts/db_init.py --download-model --data-dir "<控制台目录>"python scripts/db_sync.py --direction to-db --data-dir "<控制台目录>",将控制台下的默认行为规则、云端同步的知识文件等全部写入数据库,建立检索索引。完成后告知用户:"初始化全部完成,可以开始使用了。"全部完成后,向用户总结当前状态:数据库、模型、云端同步、本地数据各是否就绪。
| 维度 | 常规方案 | 本方案 | 改进 |
|---|---|---|---|
| ------ | --------- | -------- | ------ |
| 画像加载 | 全量profile.json(~2500t) | 轻量lite(~400t) | -84% |
| 知识检索 | 读整个文件(~1500t) | 精准段落(~400t) | -73% |
| 系列连续性 | 读前集全文(~320t/集) | 只读摘要(~60t/集) | -81% |
| 知识搜索 | 无(只能按目录浏览) | FTS5+向量混合检索 | 新增 |
| 语义匹配 | 无 | text2vec ONNX INT8 768维 | 新增(~98MB) |
控制台/
├── workspace.json # 工作区配置(含知识库同步地址)
├── 讲师列表/{讲师}/
│ ├── profile.json # 讲师画像
│ ├── 样本/ # 讲师样本文案
│ │ └── 样本_*.txt
│ └── 系列文案/ # 系列文案(纯正文,用户直接查看/编辑)
│ └── {系列名}/
│ ├── E01_春季养肝.txt
│ ├── E02_春季养脾.txt
│ └── ...
├── 知识库集/
│ ├── 公共/ ← 云端同步,只读(产品知识、认证、行为规则等)
│ │ ├── 产品目录/ ← 按产品名聚合,产品属性和背书放一起
│ │ │ └── {产品名}/
│ │ │ ├── 产品属性.txt
│ │ │ └── 产品背书.txt
│ │ ├── 企业文化/
│ │ └── 公共行为/
│ │ ├── 允许行为.json
│ │ └── 禁止行为.json
│ ├── 私有/ ← 本地管理,用户自由编辑(竞品分析、话术模板等)
│ │ └── {自定义分类}/
│ └── manifest.json ← 本地版本记录
└── 回收站/ # 已删除数据
文案.txt文件为纯正文,不带任何元数据头。摘要、hook_next等AI内部元数据仅存数据库。
知识库优先级:私有层 > 公共层。同名文件以私有层为准,云端同步不碰私有层。
行为规则保存:用户修改行为规则时自动写入私有层,云端更新公共层不会覆盖用户定制。
核心原则:
用户不会输入CLI命令,智能体需将自然语言翻译为对应操作:
| 用户说 | 智能体执行 |
|---|---|
| -------- | ----------- |
| 讲师管理 | |
| 学一下这个讲师的风格 / 帮我学习XX | lecturer_analyzer.py --lecturer <名称> --text "<文案>" → 构建画像 → db_sync.py 同步 |
| 我有哪些讲师 / 讲师列表 | db_query.py --type lecturer --action list |
| XX老师什么风格 / 看看XX老师的画像 | db_query.py --type lecturer --action lite --id <名称> |
| 把XX的口头禅改成YY / 修改XX的画像 | 编辑 profile.json → db_sync.py --direction to-db 同步 |
| 给XX加几篇新文案 / 增量学习 | lecturer_analyzer.py --lecturer <名称> --merge --text "<文案>" |
| XX的画像不要了 / 删除XX讲师 | 移入回收站 + .meta.json(见 workflow-lecturer.md) |
| 把XX恢复回来 / 恢复讲师 | 从回收站恢复(见 workflow-lecturer.md) |
| XX和YY有什么区别 / 对比讲师 | db_query.py --type lecturer --action compare --id XX --id2 YY |
| 把XX的数据发给我 / 导出讲师 | lecturer_transfer.py --action export --lecturer XX --data-dir <目录> --output <输出目录> |
| 导入讲师 / 把XX的数据加进来 | lecturer_transfer.py --action import --source <讲师目录> --data-dir <目录> --sync |
| 文案生成 | |
| 帮我写个口播 / 写篇文案 | db_query.py --type context 获取上下文 → 生成 → db_sync.py 同步 |
| 写个N集系列口播 / 写系列 | 见 workflow-copywriting.md |
| 继续写XX系列 | db_query.py --type series --action summaries --id <系列名> → 生成下一集 |
| XX系列写到哪了 / 系列进度 | db_query.py --type series --action progress --id <系列名> |
| 换个风格重写 | 见 workflow-copywriting.md |
| 知识库管理 | |
| 知识库里有什么 / 看看知识库 | db_query.py --type fs --action knowledge --data-dir <目录> |
| 看看有哪些讲师 / 讲师列表 | db_query.py --type fs --action lecturers --data-dir <目录> |
| 看看完整目录 / 所有文件 | db_query.py --type fs --action tree --data-dir <目录> |
| 把XX加到知识库 / 添加知识 | 创建文件到知识库集/私有/ → db_sync.py --direction to-db 同步 |
| 旧版资料不要了 / 删除知识 | 移入回收站 + .meta.json(见 workflow-knowledge.md) |
| 行为规则 | |
| 看看行为规则 / 禁止哪些词 | db_query.py --type behavior --action list --data-dir <目录> |
| 禁止用XX / 不允许出现XX | 读禁止行为.json → 不存在则add,已存在则告知 |
| 必须用XX / 一定要说XX | 读允许行为.json → 不存在则add,已存在则告知 |
| 云端同步 | |
| 同步知识库 / 更新知识库 | 检查 base_url 是否已配置 → knowledge_sync.py --data-dir <目录> |
| 配置知识库地址 / 同步地址改一下 | 编辑 workspace.json 的 knowledge_sync.base_url |
| 查看当前同步地址 | 读取 workspace.json 的 knowledge_sync.base_url |
| 系统操作 | |
| 初始化 / 刚开始用 / 第一次用 | 执行"首次使用引导"4个步骤 |
| 回收站清空吧 / 清理回收站 | 删除回收站内容(永久删除,不可恢复) |
| 数据存在哪里 / 查看数据目录 | 读取 workspace.json 的 data_dir 字段 |
知识库云端同步地址配置在 控制台/workspace.json 中:
{
"data_dir": "./控制台",
"trash_dir": "./控制台/回收站",
"version": "2.0",
"knowledge_sync": {
"base_url": "",
"auto_sync": true
}
}
base_url:知识库云端根地址,初始为空。首次使用时智能体引导用户配置(见"首次使用引导"第2步)。manifest.json 自动拼接为 base_url/manifest.json,文件名不可改auto_sync:预留字段,控制是否在技能启动时自动同步python scripts/lecturer_analyzer.py --input <文件> --lecturer <名称>--mergepython scripts/db_query.py --type lecturer --action lite --id <名称>python scripts/db_query.py --type knowledge --action search --query "关键词"python scripts/db_query.py --type knowledge --action context --query "主题" --max-tokens 1000python scripts/db_sync.py --direction to-db --data-dir <目录>workspace.json 的 knowledge_sync 字段中python scripts/knowledge_sync.py --data-dir <目录>python scripts/knowledge_sync.py --data-dir <目录> --dry-runpython scripts/knowledge_sync.py --data-dir <目录> --forcepython scripts/knowledge_sync.py --data-dir <目录> --generate --version 1.0.0(云端维护者用)python scripts/db_query.py --type context --action context --lecturer <名称> --query <主题> --data-dir <目录>python scripts/db_query.py --type series --action summaries --id <系列名>python scripts/db_query.py --type fs --action tree --data-dir <目录>python scripts/db_query.py --type fs --action knowledge --data-dir <目录>python scripts/db_query.py --type fs --action lecturers --data-dir <目录>exists: false,不报错python scripts/db_query.py --type behavior --action list --data-dir <目录>python scripts/db_query.py --type behavior --action add --id R006 --query '{"id":"R006","category":"产品表述","pattern":"官方正品","usage":"强调正品保障","priority":2}' --data-dir <目录>python scripts/db_query.py --type behavior --action add --id B010 --query '{"id":"B010","category":"虚假承诺","pattern":"永不复发","reason":"不可承诺不复发","replacement":"持续调理巩固","severity":"critical"}' --data-dir <目录>python scripts/db_query.py --type behavior --action update --id B010 --query '<新规则JSON>' --data-dir <目录>python scripts/db_query.py --type behavior --action remove --id R006 --data-dir <目录>overridden字段列出被覆盖的规则及原因python scripts/db_sync.py --direction to-db --data-dir <目录>python scripts/db_sync.py --direction to-files --data-dir <目录>lecturer_analyzer.py --lecturer 讲师B --text "<文案>"db_query.py --type knowledge --action context --query "产品A 产品背书"db_query.py --type series --action summaries --id AI系列--setup --parent-dir <存放位置>,脚本强制创建"控制台"文件夹;下载模型用 --download-model --data-dir <控制台目录>)db_init.py --setup --parent-dir <存放位置> 初始化,脚本会在指定位置下强制创建"控制台"文件夹,不可用 --data-dir 替代db_sync.py --direction to-db 同步--action lite 加载轻量画像,管理时使用 --action get 加载完整画像--action context 获取token预算内的精准内容--action summaries 获取摘要,不读全文共 1 个版本