小白龙 Bailongma - 初始提交
自主操作员与思考搭档系统。 包含 orchestrator-v2 多Agent编排层、后台意识引擎、记忆系统、ACUI 组件。
This commit is contained in:
255
orchestrator-v2/run-report.js
Normal file
255
orchestrator-v2/run-report.js
Normal file
@@ -0,0 +1,255 @@
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
|
||||
const API_KEY = process.env.LLM_API_KEY || 'sk-101284b1159f41f68bc1e565972d89e8';
|
||||
const BASE_URL = process.env.LLM_BASE_URL || 'https://api.deepseek.com/v1';
|
||||
const MODEL = process.env.LLM_MODEL || 'deepseek-chat';
|
||||
|
||||
// Product context given to every module
|
||||
const PRODUCT_CONTEXT = `
|
||||
产品名称:小白龙(BaiLongma)
|
||||
产品定位:本地私有化部署的AI Agent框架,面向开发者和技术团队
|
||||
核心能力:
|
||||
- 多Agent并行编排(236个角色模板,28个分类)
|
||||
- 5层持久化引擎(SQLite会话+Memory Provider+Background Review+Curator+Context Compressor)
|
||||
- 自进化闭环:从经验创建技能→使用中改进技能→主动持久化知识→跨会话构建深度理解
|
||||
- 48个内置工具+9个已安装工具,可扩展
|
||||
- ACUI可视化卡片推送(WeatherCard等Web Components)
|
||||
- 全平台消息接入(本地TUI/微信/Discord/飞书/企业微信)
|
||||
- 隐私优先:所有数据存储在本地,LLM调用可选(DeepSeek/其他)
|
||||
- 已解除安全沙箱限制
|
||||
|
||||
产品形态:
|
||||
- 底层:AI Agent框架(Node.js)
|
||||
- 编排层:orchestrator-v2 v3.0
|
||||
- 交互层:ACUI Web组件
|
||||
- 部署方式:本地安装(npm/手动)
|
||||
|
||||
目标用户:
|
||||
- 个人开发者(技术极客)
|
||||
- 中小企业技术团队
|
||||
- AI初创公司
|
||||
- 企业内部工具团队
|
||||
|
||||
差异化优势:
|
||||
- 真正本地私有部署(数据不出域)
|
||||
- 开箱即用的多Agent编排
|
||||
- 自进化能力(记忆→技能→提升)
|
||||
- 多平台消息统一接入
|
||||
`;
|
||||
|
||||
const modules = [
|
||||
{
|
||||
id: 'module_1_market',
|
||||
name: '市场调研与竞争格局分析师',
|
||||
prompt: `你是资深AI行业市场分析师。请基于以下产品信息,撰写一份完整的市场调研与竞争格局分析报告。
|
||||
|
||||
${PRODUCT_CONTEXT}
|
||||
|
||||
请覆盖以下内容:
|
||||
1. **AI Agent市场规模**:全球及中国AI Agent市场规模(当前估值+2026-2028年CAGR预测),细分赛道规模
|
||||
2. **竞争格局地图**:列出主要竞品(AutoGPT、Dify、Coze、LangChain、CrewAI等)并按以下维度对比:开源/闭源、本地部署能力、多Agent支持、易用性、生态成熟度、定价模式
|
||||
3. **SWOT分析**:小白龙的优势(Strengths)、劣势(Weaknesses)、机会(Opportunities)、威胁(Threats)
|
||||
4. **市场空白定位**:哪些细分市场目前无人占据,小白龙最有可能切入的蓝海位置
|
||||
5. **目标市场规模(TAM/SAM/SOM)**:估算可寻址市场总量
|
||||
|
||||
用数据说话,给出具体数字和来源引用格式(即使是大致估算也要有逻辑推导过程)。每个部分不少于300字。`
|
||||
},
|
||||
{
|
||||
id: 'module_2_customer',
|
||||
name: '目标客户与定价策略分析师',
|
||||
prompt: `你是资深SaaS商业化顾问。请基于以下产品信息,撰写一份完整的目标客户分析与定价策略报告。
|
||||
|
||||
${PRODUCT_CONTEXT}
|
||||
|
||||
请覆盖以下内容:
|
||||
1. **ICP(理想客户画像)**:定义3-5个细分客户群体的画像(包括公司规模、行业、技术成熟度、痛点、预算范围、决策链)
|
||||
2. **客户需求层次分析**:每个群体的核心需求→期望需求→兴奋需求
|
||||
3. **定价策略建议**:
|
||||
- 三层产品漏斗设计(引流层/付费层/企业层)
|
||||
- 每个层的功能边界和定价建议(具体数字)
|
||||
- 价值锚定策略(对比竞品定价逻辑)
|
||||
4. **客户生命周期价值估算**:CAC、LTV、LTV/CAC ratio,付费转化率假设
|
||||
5. **获客优先级**:按"市场吸引力×可进入性"矩阵排序各客户群
|
||||
|
||||
每个部分不少于300字。给出具体数字和逻辑推导。`
|
||||
},
|
||||
{
|
||||
id: 'module_3_marketing',
|
||||
name: '市场宣传与获客渠道分析师',
|
||||
prompt: `你是AI产品增长黑客。请基于以下产品信息,撰写一份完整的市场宣传与获客渠道策略报告。
|
||||
|
||||
${PRODUCT_CONTEXT}
|
||||
|
||||
请覆盖以下内容:
|
||||
1. **价值主张提炼**:一句话定位(Elevator Pitch)、3个核心卖点、品牌调性建议
|
||||
2. **内容营销策略**:
|
||||
- 博客/技术文章选题策略(SEO关键词规划)
|
||||
- 视频/Demo内容(B站/YouTube)
|
||||
- 开源社区运营(GitHub Star增长策略)
|
||||
- 技术大会/Meetup演讲策略
|
||||
3. **渠道策略**:
|
||||
- 国内渠道:知乎、掘金、B站、公众号、开源中国、CSDN
|
||||
- 海外渠道:Hacker News、Reddit、Dev.to、Twitter/X
|
||||
- 每个渠道的预期效果(曝光量/转化率)
|
||||
4. **冷启动计划**:前90天具体行动计划(每周关键动作)
|
||||
5. **预算分配**:假设月预算2万元,按渠道分配建议
|
||||
6. **关键指标(KPIs)**:定义北极星指标和过程指标
|
||||
|
||||
每个部分不少于250字。`
|
||||
},
|
||||
{
|
||||
id: 'module_4_financial',
|
||||
name: '财务模型分析师',
|
||||
prompt: `你是AI初创公司财务分析师。请基于以下产品信息,撰写一份完整的3年财务模型报告。
|
||||
|
||||
${PRODUCT_CONTEXT}
|
||||
|
||||
请覆盖以下内容:
|
||||
1. **收入模型**:
|
||||
- 三层产品线的收入假设(免费用户数→付费转化率→客单价)
|
||||
- 月/年收入预测(36个月)
|
||||
- 收入结构比例(免费引流占比/付费占比/企业占比)
|
||||
2. **成本结构**:
|
||||
- 开发成本(假设1人全栈开发)
|
||||
- 服务器/基础设施成本
|
||||
- 营销成本
|
||||
- API调用成本(LLM调用费用)
|
||||
- 其他运营成本
|
||||
3. **盈利预测**:
|
||||
- 月度损益表(前36个月)
|
||||
- 盈亏平衡点预测(第几个月)
|
||||
- 毛利率变化趋势
|
||||
4. **关键假设与敏感度分析**:
|
||||
- 最乐观/基准/最悲观三种场景
|
||||
- 哪个变量最敏感(付费转化率/客单价/流失率)
|
||||
5. **融资建议**:
|
||||
- 何时需要融资、融多少
|
||||
- 估值逻辑(对比可比公司)
|
||||
|
||||
所有数字基于合理假设,标注出假设依据。每个部分不少于300字。`
|
||||
},
|
||||
{
|
||||
id: 'module_5_risk',
|
||||
name: '风险分析与进入路径策略师',
|
||||
prompt: `你是AI领域风险顾问。请基于以下产品信息,撰写一份完整的风险分析与进入路径策略报告。
|
||||
|
||||
${PRODUCT_CONTEXT}
|
||||
|
||||
请覆盖以下内容:
|
||||
1. **市场风险**:大厂进入竞争(字节Coze/百度)、开源替代品威胁、市场教育成本
|
||||
2. **技术风险**:LLM依赖风险(API成本/模型更换/隐私)、技术债累积、架构扩展性瓶颈
|
||||
3. **商业风险**:付费意愿低、盈利模式不确定、差异化被抹平
|
||||
4. **运营风险**:个人/小团队瓶颈、支持成本、社区运营负担
|
||||
5. **风险矩阵**:按可能性×影响程度排序,标出每个风险的缓解策略
|
||||
6. **进入路径建议**:
|
||||
- 阶段一(0-3个月):MVP验证期,关键里程碑
|
||||
- 阶段二(3-6个月):早期用户期,关键里程碑
|
||||
- 阶段三(6-12个月):增长期,关键里程碑
|
||||
- 阶段四(12-24个月):规模化期,关键里程碑
|
||||
7. **退出策略**:如果失败,资产如何变现/转型方向
|
||||
|
||||
每个部分不少于250字。`
|
||||
}
|
||||
];
|
||||
|
||||
async function callLLM(messages, temperature = 0.7) {
|
||||
const url = `${BASE_URL}/chat/completions`;
|
||||
const resp = await fetch(url, {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
'Authorization': `Bearer ${API_KEY}`
|
||||
},
|
||||
body: JSON.stringify({
|
||||
model: MODEL,
|
||||
messages,
|
||||
temperature,
|
||||
max_tokens: 4096
|
||||
})
|
||||
});
|
||||
if (!resp.ok) {
|
||||
const err = await resp.text();
|
||||
throw new Error(`LLM API error ${resp.status}: ${err}`);
|
||||
}
|
||||
const data = await resp.json();
|
||||
return data.choices[0].message.content;
|
||||
}
|
||||
|
||||
async function runModule(mod) {
|
||||
console.log(`[${new Date().toLocaleTimeString()}] 开始执行: ${mod.name}`);
|
||||
const start = Date.now();
|
||||
try {
|
||||
const content = await callLLM([
|
||||
{ role: 'system', content: `你是${mod.name}。请输出结构化Markdown报告。` },
|
||||
{ role: 'user', content: mod.prompt }
|
||||
]);
|
||||
const elapsed = ((Date.now() - start) / 1000).toFixed(1);
|
||||
console.log(`[${new Date().toLocaleTimeString()}] ${mod.name} 完成 (${elapsed}s, ${content.length} chars)`);
|
||||
return { id: mod.id, name: mod.name, content, ok: true };
|
||||
} catch (err) {
|
||||
const elapsed = ((Date.now() - start) / 1000).toFixed(1);
|
||||
console.error(`[${new Date().toLocaleTimeString()}] ${mod.name} 失败 (${elapsed}s): ${err.message}`);
|
||||
return { id: mod.id, name: mod.name, error: err.message, ok: false };
|
||||
}
|
||||
}
|
||||
|
||||
async function main() {
|
||||
console.log('=== BaiLongma 商业化全维度分析报告 ===');
|
||||
console.log(`模型: ${MODEL}, 时间: ${new Date().toISOString()}`);
|
||||
console.log(`产品: 小白龙 (BaiLongma) orchestrator-v2 v3.0`);
|
||||
console.log(`模块数: ${modules.length}\n`);
|
||||
|
||||
// Run all 5 modules in parallel
|
||||
const results = await Promise.all(modules.map(m => runModule(m)));
|
||||
|
||||
// Check results
|
||||
const successes = results.filter(r => r.ok);
|
||||
const failures = results.filter(r => !r.ok);
|
||||
console.log(`\n完成: ${successes.length}/${modules.length}, 失败: ${failures.length}`);
|
||||
|
||||
if (failures.length > 0) {
|
||||
console.log('失败模块:', failures.map(f => `[${f.id}] ${f.name}: ${f.error}`).join('\\n'));
|
||||
}
|
||||
|
||||
// Build combined prompt for summarizer
|
||||
const combined = successes.map(r =>
|
||||
`===== ${r.name} =====\n${r.content}`
|
||||
).join('\n\n');
|
||||
|
||||
console.log('\n===== 汇总Agent开始整合报告 =====');
|
||||
const finalReport = await callLLM([
|
||||
{
|
||||
role: 'system',
|
||||
content: '你是顶级商业策略分析师。你要将5个专业领域分析报告整合成一份完整、连贯、可执行的商业化报告。'
|
||||
},
|
||||
{
|
||||
role: 'user',
|
||||
content: `以下是对"小白龙(BaiLongma)"AI Agent框架的5个维度分析结果。请将它们整合成一份完整商业化报告。
|
||||
|
||||
要求:
|
||||
1. **结构**:完整报告结构,加入执行摘要(Executive Summary)放在最前面
|
||||
2. **去重整合**:5份报告中重叠的内容合并,矛盾的观点做权衡判断
|
||||
3. **可执行性**:每部分结尾给出"核心建议"(Action Item)
|
||||
4. **格式**:Markdown格式,加目录,适合直接阅读
|
||||
5. **标题**:用中文,加英文副标题
|
||||
|
||||
以下是5个模块的原始输出:
|
||||
|
||||
${combined}`
|
||||
}
|
||||
], 0.5);
|
||||
|
||||
console.log(`\n汇总报告完成: ${finalReport.length} chars`);
|
||||
|
||||
// Write to file
|
||||
const outputPath = path.join(__dirname, 'report.md');
|
||||
fs.writeFileSync(outputPath, finalReport, 'utf8');
|
||||
console.log(`\n报告已写入: ${outputPath}`);
|
||||
console.log(`文件大小: ${fs.statSync(outputPath).size} bytes`);
|
||||
}
|
||||
|
||||
main().catch(err => {
|
||||
console.error('Fatal:', err);
|
||||
process.exit(1);
|
||||
});
|
||||
Reference in New Issue
Block a user