ideaco 1.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.dockerignore +33 -0
- package/.nvmrc +1 -0
- package/ARCHITECTURE.md +394 -0
- package/Dockerfile +50 -0
- package/LICENSE +29 -0
- package/README.md +206 -0
- package/bin/i18n.js +46 -0
- package/bin/ideaco.js +494 -0
- package/deploy.sh +15 -0
- package/docker-compose.yml +30 -0
- package/electron/main.cjs +986 -0
- package/electron/preload.cjs +14 -0
- package/electron/web-backends.cjs +854 -0
- package/jsconfig.json +8 -0
- package/next.config.mjs +34 -0
- package/package.json +134 -0
- package/postcss.config.mjs +6 -0
- package/public/demo/dashboard.png +0 -0
- package/public/demo/employee.png +0 -0
- package/public/demo/messages.png +0 -0
- package/public/demo/office.png +0 -0
- package/public/demo/requirement.png +0 -0
- package/public/logo.jpeg +0 -0
- package/public/logo.png +0 -0
- package/scripts/prepare-electron.js +67 -0
- package/scripts/release.js +76 -0
- package/src/app/api/agents/[agentId]/chat/route.js +70 -0
- package/src/app/api/agents/[agentId]/conversations/route.js +35 -0
- package/src/app/api/agents/[agentId]/route.js +106 -0
- package/src/app/api/avatar/route.js +104 -0
- package/src/app/api/browse-dir/route.js +44 -0
- package/src/app/api/chat/route.js +265 -0
- package/src/app/api/company/factory-reset/route.js +43 -0
- package/src/app/api/company/route.js +82 -0
- package/src/app/api/departments/[deptId]/agents/[agentId]/dismiss/route.js +19 -0
- package/src/app/api/departments/route.js +92 -0
- package/src/app/api/group-chat-loop/events/route.js +70 -0
- package/src/app/api/group-chat-loop/route.js +94 -0
- package/src/app/api/mailbox/route.js +100 -0
- package/src/app/api/messages/route.js +14 -0
- package/src/app/api/providers/[id]/configure/route.js +21 -0
- package/src/app/api/providers/[id]/refresh-cookie/route.js +38 -0
- package/src/app/api/providers/[id]/test-cookie/route.js +28 -0
- package/src/app/api/providers/route.js +11 -0
- package/src/app/api/requirements/route.js +242 -0
- package/src/app/api/secretary/route.js +65 -0
- package/src/app/api/system/cli-backends/route.js +91 -0
- package/src/app/api/system/cron/route.js +110 -0
- package/src/app/api/system/knowledge/route.js +104 -0
- package/src/app/api/system/plugins/route.js +40 -0
- package/src/app/api/system/skills/route.js +46 -0
- package/src/app/api/system/status/route.js +46 -0
- package/src/app/api/talent-market/[profileId]/recall/route.js +22 -0
- package/src/app/api/talent-market/[profileId]/route.js +17 -0
- package/src/app/api/talent-market/route.js +26 -0
- package/src/app/api/teams/route.js +773 -0
- package/src/app/api/ws-files/[departmentId]/file/route.js +27 -0
- package/src/app/api/ws-files/[departmentId]/files/route.js +22 -0
- package/src/app/globals.css +130 -0
- package/src/app/layout.jsx +40 -0
- package/src/app/page.jsx +97 -0
- package/src/components/AgentChatModal.jsx +164 -0
- package/src/components/AgentDetailModal.jsx +425 -0
- package/src/components/AgentSpyModal.jsx +481 -0
- package/src/components/AvatarGrid.jsx +29 -0
- package/src/components/BossProfileModal.jsx +162 -0
- package/src/components/CachedAvatar.jsx +77 -0
- package/src/components/ChatPanel.jsx +219 -0
- package/src/components/ChatShared.jsx +255 -0
- package/src/components/DepartmentDetail.jsx +842 -0
- package/src/components/DepartmentView.jsx +367 -0
- package/src/components/FileReference.jsx +260 -0
- package/src/components/FilesView.jsx +465 -0
- package/src/components/GroupChatView.jsx +799 -0
- package/src/components/Mailbox.jsx +926 -0
- package/src/components/MessagesView.jsx +112 -0
- package/src/components/OnboardingGuide.jsx +209 -0
- package/src/components/OrgTree.jsx +151 -0
- package/src/components/Overview.jsx +391 -0
- package/src/components/PixelOffice.jsx +2281 -0
- package/src/components/ProviderGrid.jsx +551 -0
- package/src/components/ProvidersBoard.jsx +16 -0
- package/src/components/RequirementDetail.jsx +1279 -0
- package/src/components/RequirementsBoard.jsx +187 -0
- package/src/components/SecretarySettings.jsx +295 -0
- package/src/components/SetupWizard.jsx +388 -0
- package/src/components/Sidebar.jsx +169 -0
- package/src/components/SystemMonitor.jsx +808 -0
- package/src/components/TalentMarket.jsx +183 -0
- package/src/components/TeamDetail.jsx +697 -0
- package/src/core/agent/base-agent.js +104 -0
- package/src/core/agent/chat-store.js +602 -0
- package/src/core/agent/cli-agent/backends/claude-code/README.md +52 -0
- package/src/core/agent/cli-agent/backends/claude-code/config.js +27 -0
- package/src/core/agent/cli-agent/backends/codebuddy/README.md +236 -0
- package/src/core/agent/cli-agent/backends/codebuddy/config.js +27 -0
- package/src/core/agent/cli-agent/backends/codex/README.md +51 -0
- package/src/core/agent/cli-agent/backends/codex/config.js +27 -0
- package/src/core/agent/cli-agent/backends/index.js +27 -0
- package/src/core/agent/cli-agent/backends/registry.js +580 -0
- package/src/core/agent/cli-agent/index.js +154 -0
- package/src/core/agent/index.js +60 -0
- package/src/core/agent/llm-agent/client.js +320 -0
- package/src/core/agent/llm-agent/index.js +97 -0
- package/src/core/agent/message-bus.js +211 -0
- package/src/core/agent/session.js +608 -0
- package/src/core/agent/tools.js +596 -0
- package/src/core/agent/web-agent/backends/base-backend.js +180 -0
- package/src/core/agent/web-agent/backends/chatgpt/client.js +146 -0
- package/src/core/agent/web-agent/backends/chatgpt/config.js +148 -0
- package/src/core/agent/web-agent/backends/chatgpt/dom-scripts.js +303 -0
- package/src/core/agent/web-agent/backends/index.js +91 -0
- package/src/core/agent/web-agent/index.js +278 -0
- package/src/core/agent/web-agent/web-client.js +407 -0
- package/src/core/employee/base-employee.js +1088 -0
- package/src/core/employee/index.js +35 -0
- package/src/core/employee/knowledge.js +327 -0
- package/src/core/employee/lifecycle.js +990 -0
- package/src/core/employee/memory/index.js +642 -0
- package/src/core/employee/memory/store.js +143 -0
- package/src/core/employee/performance.js +224 -0
- package/src/core/employee/secretary.js +625 -0
- package/src/core/employee/skills.js +398 -0
- package/src/core/index.js +38 -0
- package/src/core/organization/company.js +2600 -0
- package/src/core/organization/department.js +737 -0
- package/src/core/organization/group-chat-loop.js +264 -0
- package/src/core/organization/index.js +8 -0
- package/src/core/organization/persistence.js +111 -0
- package/src/core/organization/team.js +267 -0
- package/src/core/organization/workforce/hr.js +377 -0
- package/src/core/organization/workforce/providers.js +468 -0
- package/src/core/organization/workforce/role-archetypes.js +805 -0
- package/src/core/organization/workforce/talent-market.js +205 -0
- package/src/core/prompts.js +532 -0
- package/src/core/requirement.js +1789 -0
- package/src/core/system/audit.js +483 -0
- package/src/core/system/cron.js +449 -0
- package/src/core/system/index.js +7 -0
- package/src/core/system/plugin.js +2183 -0
- package/src/core/utils/json-parse.js +188 -0
- package/src/core/workspace.js +239 -0
- package/src/lib/api-i18n.js +211 -0
- package/src/lib/avatar.js +268 -0
- package/src/lib/client-store.js +1025 -0
- package/src/lib/config-validator.js +483 -0
- package/src/lib/format-time.js +22 -0
- package/src/lib/hooks.js +414 -0
- package/src/lib/i18n.js +134 -0
- package/src/lib/paths.js +23 -0
- package/src/lib/store.js +72 -0
- package/src/locales/de.js +393 -0
- package/src/locales/en.js +1054 -0
- package/src/locales/es.js +393 -0
- package/src/locales/fr.js +393 -0
- package/src/locales/ja.js +501 -0
- package/src/locales/ko.js +513 -0
- package/src/locales/zh.js +828 -0
- package/tailwind.config.mjs +11 -0
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# Claude Code CLI 使用文档
|
|
2
|
+
|
|
3
|
+
> Anthropic Claude Code - AI coding assistant CLI
|
|
4
|
+
|
|
5
|
+
## 概述
|
|
6
|
+
|
|
7
|
+
Claude Code 是 Anthropic 出品的 AI 编码助手 CLI 工具,基于 Claude 模型。
|
|
8
|
+
|
|
9
|
+
## 安装
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
npm install -g @anthropic-ai/claude-code
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
安装后可通过 `claude --version` 验证。
|
|
16
|
+
|
|
17
|
+
## 基本用法
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
# 交互式模式
|
|
21
|
+
claude
|
|
22
|
+
|
|
23
|
+
# 非交互模式(带提示词)
|
|
24
|
+
claude -p "解释这个项目"
|
|
25
|
+
|
|
26
|
+
# 跳过权限提示
|
|
27
|
+
claude -p "修改代码" --dangerously-skip-permissions
|
|
28
|
+
|
|
29
|
+
# 处理管道内容
|
|
30
|
+
cat logs.txt | claude -p "分析日志"
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## 常用参数
|
|
34
|
+
|
|
35
|
+
| 参数 | 说明 |
|
|
36
|
+
|------|------|
|
|
37
|
+
| `-p "查询"` | 非交互模式 |
|
|
38
|
+
| `--dangerously-skip-permissions` | 跳过权限提示 |
|
|
39
|
+
| `--output-format json` | JSON 输出 |
|
|
40
|
+
| `--resume <session-id>` | 恢复会话 |
|
|
41
|
+
| `--continue` | 继续最近对话 |
|
|
42
|
+
| `--verbose` | 详细日志 |
|
|
43
|
+
| `--max-turns N` | 限制轮次 |
|
|
44
|
+
| `--model <model>` | 指定模型 |
|
|
45
|
+
| `--allowedTools "tool1,tool2"` | 允许的工具 |
|
|
46
|
+
|
|
47
|
+
## 在 AI Enterprise 中的配置
|
|
48
|
+
|
|
49
|
+
- **ID**: `claude-code`
|
|
50
|
+
- **执行命令**: `claude -p {prompt} --dangerously-skip-permissions`
|
|
51
|
+
- **Memory 目录**: `.claude/CLAUDE.md`
|
|
52
|
+
- **评分**: 95 🤖
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Claude Code CLI backend configuration
|
|
3
|
+
* Anthropic Claude Code - AI coding assistant CLI
|
|
4
|
+
*
|
|
5
|
+
* @see ./README.md for full documentation
|
|
6
|
+
*/
|
|
7
|
+
export const claudeCodeConfig = {
|
|
8
|
+
id: 'claude-code',
|
|
9
|
+
name: 'Claude Code',
|
|
10
|
+
description: 'Anthropic Claude Code - AI coding assistant CLI',
|
|
11
|
+
icon: '🤖',
|
|
12
|
+
rating: 95,
|
|
13
|
+
detectCommand: 'claude --version',
|
|
14
|
+
execCommand: 'claude',
|
|
15
|
+
execArgs: ['-p', '{prompt}', '--dangerously-skip-permissions'],
|
|
16
|
+
interactiveArgs: [],
|
|
17
|
+
memoryDir: '.claude',
|
|
18
|
+
memoryFile: 'CLAUDE.md',
|
|
19
|
+
memoryFormat: 'markdown',
|
|
20
|
+
workingDirSupport: true,
|
|
21
|
+
pipeMode: 'args',
|
|
22
|
+
outputMode: 'stdout',
|
|
23
|
+
initCommand: null,
|
|
24
|
+
customEnv: {},
|
|
25
|
+
nvmNode: null,
|
|
26
|
+
builtin: true,
|
|
27
|
+
};
|
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
# CodeBuddy Code CLI 使用文档
|
|
2
|
+
|
|
3
|
+
> Tencent CodeBuddy Code - AI coding assistant CLI
|
|
4
|
+
|
|
5
|
+
## 概述
|
|
6
|
+
|
|
7
|
+
CodeBuddy Code 是腾讯出品的 AI 编码助手 CLI 工具,支持无头模式(Headless Mode)以编程方式运行,无需交互式 UI。
|
|
8
|
+
|
|
9
|
+
## 安装
|
|
10
|
+
|
|
11
|
+
请参考 CodeBuddy 官方文档安装 CLI 工具。安装后可通过 `codebuddy --version` 验证。
|
|
12
|
+
|
|
13
|
+
> ⚠️ CodeBuddy 需要 Node.js 20+,系统会自动通过 nvm 切换到 node 20 来执行。
|
|
14
|
+
|
|
15
|
+
## CLI 命令
|
|
16
|
+
|
|
17
|
+
| 命令 | 说明 | 示例 |
|
|
18
|
+
|------|------|------|
|
|
19
|
+
| `codebuddy` | 启动交互式 REPL | `codebuddy` |
|
|
20
|
+
| `codebuddy "查询"` | 带初始提示词启动 REPL | `codebuddy "解释这个项目"` |
|
|
21
|
+
| `codebuddy -p "查询"` | 通过 SDK 查询后退出 | `codebuddy -p "解释这个函数"` |
|
|
22
|
+
| `cat 文件 \| codebuddy -p "查询"` | 处理管道内容 | `cat logs.txt \| codebuddy -p "分析日志"` |
|
|
23
|
+
| `codebuddy -c` | 继续最近的对话 | `codebuddy -c` |
|
|
24
|
+
| `codebuddy -r "<session-id>" "查询"` | 通过 ID 恢复会话 | `codebuddy -r "abc123" "完成这个 MR"` |
|
|
25
|
+
| `codebuddy update` | 更新到最新版本 | `codebuddy update` |
|
|
26
|
+
| `codebuddy mcp` | 配置 MCP 服务器 | 参见 MCP 文档 |
|
|
27
|
+
|
|
28
|
+
## CLI 参数
|
|
29
|
+
|
|
30
|
+
| 参数 | 说明 | 示例 |
|
|
31
|
+
|------|------|------|
|
|
32
|
+
| `--print, -p` | 打印响应后退出,不进入交互模式 | `codebuddy -p "查询"` |
|
|
33
|
+
| `-y / --dangerously-skip-permissions` | 跳过权限提示(非交互模式必需) | `codebuddy -p -y "查询"` |
|
|
34
|
+
| `--output-format` | 指定输出格式 (text, json, stream-json) | `codebuddy -p --output-format json` |
|
|
35
|
+
| `--input-format` | 指定输入格式 (text, stream-json) | `codebuddy -p --input-format stream-json` |
|
|
36
|
+
| `--resume, -r` | 通过会话 ID 恢复对话 | `codebuddy --resume abc123` |
|
|
37
|
+
| `--continue, -c` | 继续最近的对话 | `codebuddy --continue` |
|
|
38
|
+
| `--verbose` | 启用详细日志 | `codebuddy --verbose` |
|
|
39
|
+
| `--model` | 设置模型 | `codebuddy --model gpt-5` |
|
|
40
|
+
| `--max-turns` | 限制代理轮次数 | `codebuddy -p --max-turns 3` |
|
|
41
|
+
| `--system-prompt` | 替换整个系统提示词 | `codebuddy --system-prompt "你是专家"` |
|
|
42
|
+
| `--append-system-prompt` | 追加到系统提示词 | `codebuddy --append-system-prompt "自定义指令"` |
|
|
43
|
+
| `--allowedTools` | 允许的工具列表 | `codebuddy --allowedTools "Bash,Read"` |
|
|
44
|
+
| `--disallowedTools` | 拒绝的工具列表 | `codebuddy --disallowedTools "Bash(git commit)"` |
|
|
45
|
+
| `--tools` | 限制可用的内置工具集 | `codebuddy --tools "Bash,Read,Edit"` |
|
|
46
|
+
| `--agents` | 通过 JSON 定义自定义子代理 | 见下方示例 |
|
|
47
|
+
| `--settings` | 从 JSON 加载额外设置 | `codebuddy --settings '{"model":"gpt-5"}'` |
|
|
48
|
+
| `--setting-sources` | 指定设置源 (user, project, local) | `codebuddy --setting-sources project,local` |
|
|
49
|
+
| `--mcp-config` | 从 JSON 文件加载 MCP 服务器 | `codebuddy --mcp-config servers.json` |
|
|
50
|
+
| `--add-dir` | 添加额外工作目录 | `codebuddy --add-dir ../apps ../lib` |
|
|
51
|
+
| `--json-schema` | JSON Schema 验证结构化输出 | 见下方示例 |
|
|
52
|
+
| `--sandbox` | 沙箱模式 (Beta) | `codebuddy --sandbox "分析项目"` |
|
|
53
|
+
| `--permission-mode` | 指定权限模式 | `codebuddy --permission-mode plan` |
|
|
54
|
+
|
|
55
|
+
## 无头模式 (Headless Mode)
|
|
56
|
+
|
|
57
|
+
以编程方式运行 CodeBuddy Code,无需交互式 UI。
|
|
58
|
+
|
|
59
|
+
### 基本用法
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
codebuddy -p "暂存我的更改并为它们编写一组提交" \
|
|
63
|
+
--allowedTools "Bash,Read" \
|
|
64
|
+
--permission-mode acceptEdits
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### ⚠️ 重要提示
|
|
68
|
+
|
|
69
|
+
`-y`(或 `--dangerously-skip-permissions`)是非交互模式的必需参数。在使用 `-p/--print` 参数进行非交互式执行时,必须添加此参数才能执行需要授权的操作(文件读写、命令执行、网络请求等),否则这些操作会被阻止。
|
|
70
|
+
|
|
71
|
+
## 输出格式
|
|
72
|
+
|
|
73
|
+
### 文本输出(默认)
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
codebuddy -p "解释文件 src/components/Header.tsx"
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### JSON 输出
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
codebuddy -p "数据层是如何工作的?" --output-format json
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### 流式 JSON 输出
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
codebuddy -p "构建一个应用程序" --output-format stream-json
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### 结构化 JSON 输出
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
codebuddy -p "提取 auth.py 中的主要函数名称" \
|
|
95
|
+
--output-format json \
|
|
96
|
+
--json-schema '{"type":"object","properties":{"functions":{"type":"array","items":{"type":"string"}}},"required":["functions"]}'
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
## 输入格式
|
|
100
|
+
|
|
101
|
+
### 文本输入(默认)
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
# 直接参数
|
|
105
|
+
codebuddy -p "解释这段代码"
|
|
106
|
+
|
|
107
|
+
# 从 stdin
|
|
108
|
+
echo "解释这段代码" | codebuddy -p
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### 流式 JSON 输入
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
echo '{"type":"user","message":{"role":"user","content":[{"type":"text","text":"解释这段代码"}]}}' | \
|
|
115
|
+
codebuddy -p --output-format=stream-json --input-format=stream-json --verbose
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
## 多轮对话
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
# 继续最近的对话
|
|
122
|
+
codebuddy --continue "现在重构以提高性能"
|
|
123
|
+
|
|
124
|
+
# 通过会话 ID 恢复特定对话
|
|
125
|
+
codebuddy --resume 550e8400-e29b-41d4-a716-446655440000 "更新测试"
|
|
126
|
+
|
|
127
|
+
# 在非交互模式下恢复
|
|
128
|
+
codebuddy --resume 550e8400-e29b-41d4-a716-446655440000 "修复所有 linting 问题" -p
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
## Agents 参数格式
|
|
132
|
+
|
|
133
|
+
`--agents` 参数接受 JSON 对象定义自定义子代理:
|
|
134
|
+
|
|
135
|
+
| 字段 | 必需 | 说明 |
|
|
136
|
+
|------|------|------|
|
|
137
|
+
| `description` | 是 | 何时应调用子代理的描述 |
|
|
138
|
+
| `prompt` | 是 | 指导子代理行为的系统提示词 |
|
|
139
|
+
| `tools` | 否 | 子代理可用的工具数组 |
|
|
140
|
+
| `model` | 否 | 模型别名 |
|
|
141
|
+
|
|
142
|
+
```bash
|
|
143
|
+
codebuddy --agents '{
|
|
144
|
+
"code-reviewer": {
|
|
145
|
+
"description": "专业代码审查员。代码更改后主动使用。",
|
|
146
|
+
"prompt": "你是高级代码审查员。专注于代码质量、安全性和最佳实践。",
|
|
147
|
+
"tools": ["Read", "Grep", "Glob", "Bash"],
|
|
148
|
+
"model": "sonnet"
|
|
149
|
+
}
|
|
150
|
+
}'
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
## 系统提示词参数
|
|
154
|
+
|
|
155
|
+
| 参数 | 行为 | 模式 | 使用场景 |
|
|
156
|
+
|------|------|------|----------|
|
|
157
|
+
| `--system-prompt` | 替换整个默认提示词 | 交互 + 打印 | 完全控制行为 |
|
|
158
|
+
| `--system-prompt-file` | 用文件内容替换 | 仅打印 | 版本控制 |
|
|
159
|
+
| `--append-system-prompt` | 追加到默认提示词 | 交互 + 打印 | 添加指令 |
|
|
160
|
+
|
|
161
|
+
> `--system-prompt` 和 `--system-prompt-file` 互斥,不能同时使用。
|
|
162
|
+
|
|
163
|
+
## 沙箱模式 (Beta)
|
|
164
|
+
|
|
165
|
+
```bash
|
|
166
|
+
# 容器沙箱(Docker/Podman)
|
|
167
|
+
codebuddy --sandbox "分析这个项目"
|
|
168
|
+
|
|
169
|
+
# E2B 云端沙箱
|
|
170
|
+
codebuddy --sandbox https://api.e2b.dev "创建 Python web 应用"
|
|
171
|
+
|
|
172
|
+
# 强制创建新沙箱
|
|
173
|
+
codebuddy --sandbox --sandbox-new "从头开始"
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
### 沙箱环境变量
|
|
177
|
+
|
|
178
|
+
| 变量 | 说明 |
|
|
179
|
+
|------|------|
|
|
180
|
+
| `E2B_API_KEY` | E2B API 密钥 |
|
|
181
|
+
| `E2B_TEMPLATE` | E2B 模板 ID(默认: base) |
|
|
182
|
+
| `CODEBUDDY_SANDBOX_IMAGE` | 自定义 Docker 镜像 |
|
|
183
|
+
|
|
184
|
+
## Agent 集成示例
|
|
185
|
+
|
|
186
|
+
### SRE 事件响应机器人
|
|
187
|
+
|
|
188
|
+
```bash
|
|
189
|
+
#!/bin/bash
|
|
190
|
+
investigate_incident() {
|
|
191
|
+
local incident_description="$1"
|
|
192
|
+
local severity="${2:-medium}"
|
|
193
|
+
|
|
194
|
+
codebuddy -p "事件: $incident_description (严重性: $severity)" \
|
|
195
|
+
--append-system-prompt "你是一名 SRE 专家。诊断问题,评估影响,并提供即时行动项。" \
|
|
196
|
+
--output-format json \
|
|
197
|
+
--allowedTools "Bash,Read,WebSearch,mcp__datadog" \
|
|
198
|
+
--mcp-config monitoring-tools.json
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
investigate_incident "支付 API 返回 500 错误" "high"
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
### 自动化安全审查
|
|
205
|
+
|
|
206
|
+
```bash
|
|
207
|
+
audit_pr() {
|
|
208
|
+
local pr_number="$1"
|
|
209
|
+
|
|
210
|
+
gh pr diff "$pr_number" | codebuddy -p \
|
|
211
|
+
--append-system-prompt "你是一名安全工程师。审查此 PR 的漏洞和合规问题。" \
|
|
212
|
+
--output-format json \
|
|
213
|
+
--allowedTools "Read,Grep,WebSearch"
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
audit_pr 123 > security-report.json
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
## 最佳实践
|
|
220
|
+
|
|
221
|
+
1. **使用 JSON 输出格式** 进行程序化解析响应
|
|
222
|
+
2. **优雅地处理错误** — 检查退出代码和 stderr
|
|
223
|
+
3. **使用会话管理** 在多轮对话中维护上下文
|
|
224
|
+
4. **考虑超时** 对于长时间运行的操作:`timeout 300 codebuddy -p ...`
|
|
225
|
+
5. **遵守速率限制** 在多个请求间添加延迟
|
|
226
|
+
6. **使用 `-y`** 在非交互模式下执行需要授权的操作
|
|
227
|
+
|
|
228
|
+
## 在 AI Enterprise 中的配置
|
|
229
|
+
|
|
230
|
+
本后端在 AI Enterprise 系统中的配置:
|
|
231
|
+
|
|
232
|
+
- **ID**: `codebuddy`
|
|
233
|
+
- **执行命令**: `codebuddy -p {prompt} -y`
|
|
234
|
+
- **Memory 目录**: `.codebuddy/MEMORY.md`
|
|
235
|
+
- **需要 Node 版本**: 20(通过 nvm 自动切换)
|
|
236
|
+
- **评分**: 100 🐧
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CodeBuddy Code CLI backend configuration
|
|
3
|
+
* Tencent CodeBuddy Code - AI coding assistant CLI
|
|
4
|
+
*
|
|
5
|
+
* @see ./README.md for full documentation
|
|
6
|
+
*/
|
|
7
|
+
export const codebuddyConfig = {
|
|
8
|
+
id: 'codebuddy',
|
|
9
|
+
name: 'CodeBuddy Code',
|
|
10
|
+
description: 'Tencent CodeBuddy Code - AI coding assistant CLI',
|
|
11
|
+
icon: '🐧',
|
|
12
|
+
rating: 100, // Full score! 🐧
|
|
13
|
+
detectCommand: 'codebuddy --version',
|
|
14
|
+
execCommand: 'codebuddy',
|
|
15
|
+
execArgs: ['-p', '{prompt}', '-y'],
|
|
16
|
+
interactiveArgs: [],
|
|
17
|
+
memoryDir: '.codebuddy',
|
|
18
|
+
memoryFile: 'MEMORY.md',
|
|
19
|
+
memoryFormat: 'markdown',
|
|
20
|
+
workingDirSupport: true,
|
|
21
|
+
pipeMode: 'args',
|
|
22
|
+
outputMode: 'stdout',
|
|
23
|
+
initCommand: '/init',
|
|
24
|
+
customEnv: {},
|
|
25
|
+
nvmNode: '20', // CodeBuddy is installed on node 20
|
|
26
|
+
builtin: true,
|
|
27
|
+
};
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# Codex CLI 使用文档
|
|
2
|
+
|
|
3
|
+
> OpenAI Codex CLI - AI coding assistant
|
|
4
|
+
|
|
5
|
+
## 概述
|
|
6
|
+
|
|
7
|
+
Codex 是 OpenAI 出品的 AI 编码助手 CLI 工具。
|
|
8
|
+
|
|
9
|
+
## 安装
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
npm install -g @openai/codex
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
安装后可通过 `codex --version` 验证。
|
|
16
|
+
|
|
17
|
+
## 基本用法
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
# 交互式模式
|
|
21
|
+
codex
|
|
22
|
+
|
|
23
|
+
# 非交互模式(带提示词)
|
|
24
|
+
codex -p "解释这个项目"
|
|
25
|
+
|
|
26
|
+
# 跳过权限提示
|
|
27
|
+
codex -p "修改代码" --dangerously-skip-permissions
|
|
28
|
+
|
|
29
|
+
# 处理管道内容
|
|
30
|
+
cat logs.txt | codex -p "分析日志"
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## 常用参数
|
|
34
|
+
|
|
35
|
+
| 参数 | 说明 |
|
|
36
|
+
|------|------|
|
|
37
|
+
| `-p "查询"` | 非交互模式 |
|
|
38
|
+
| `--dangerously-skip-permissions` | 跳过权限提示 |
|
|
39
|
+
| `--output-format json` | JSON 输出 |
|
|
40
|
+
| `--resume <session-id>` | 恢复会话 |
|
|
41
|
+
| `--continue` | 继续最近对话 |
|
|
42
|
+
| `--verbose` | 详细日志 |
|
|
43
|
+
| `--max-turns N` | 限制轮次 |
|
|
44
|
+
| `--model <model>` | 指定模型 |
|
|
45
|
+
|
|
46
|
+
## 在 AI Enterprise 中的配置
|
|
47
|
+
|
|
48
|
+
- **ID**: `codex`
|
|
49
|
+
- **执行命令**: `codex -p {prompt} --dangerously-skip-permissions`
|
|
50
|
+
- **Memory 目录**: `.codex/AGENTS.md`
|
|
51
|
+
- **评分**: 90 🧠
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Codex (OpenAI) CLI backend configuration
|
|
3
|
+
* OpenAI Codex CLI - AI coding assistant
|
|
4
|
+
*
|
|
5
|
+
* @see ./README.md for full documentation
|
|
6
|
+
*/
|
|
7
|
+
export const codexConfig = {
|
|
8
|
+
id: 'codex',
|
|
9
|
+
name: 'Codex (OpenAI)',
|
|
10
|
+
description: 'OpenAI Codex CLI - AI coding assistant',
|
|
11
|
+
icon: '🧠',
|
|
12
|
+
rating: 90,
|
|
13
|
+
detectCommand: 'codex --version',
|
|
14
|
+
execCommand: 'codex',
|
|
15
|
+
execArgs: ['-p', '{prompt}', '--dangerously-skip-permissions'],
|
|
16
|
+
interactiveArgs: [],
|
|
17
|
+
memoryDir: '.codex',
|
|
18
|
+
memoryFile: 'AGENTS.md',
|
|
19
|
+
memoryFormat: 'markdown',
|
|
20
|
+
workingDirSupport: true,
|
|
21
|
+
pipeMode: 'args',
|
|
22
|
+
outputMode: 'stdout',
|
|
23
|
+
initCommand: null,
|
|
24
|
+
customEnv: {},
|
|
25
|
+
nvmNode: null,
|
|
26
|
+
builtin: true,
|
|
27
|
+
};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI Backends module entry point
|
|
3
|
+
*
|
|
4
|
+
* Each CLI backend has its own folder containing configuration (config.js) and documentation (README.md).
|
|
5
|
+
*
|
|
6
|
+
* Directory structure:
|
|
7
|
+
* backends/
|
|
8
|
+
* ├── index.js - This file, module entry point
|
|
9
|
+
* ├── registry.js - CLIBackendRegistry core class + utility functions
|
|
10
|
+
* ├── codebuddy/
|
|
11
|
+
* │ ├── config.js - CodeBuddy Code configuration
|
|
12
|
+
* │ └── README.md - CodeBuddy Code documentation
|
|
13
|
+
* ├── claude-code/
|
|
14
|
+
* │ ├── config.js - Claude Code configuration
|
|
15
|
+
* │ └── README.md - Claude Code documentation
|
|
16
|
+
* └── codex/
|
|
17
|
+
* ├── config.js - Codex (OpenAI) configuration
|
|
18
|
+
* └── README.md - Codex documentation
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
// Core exports: Registry class, global singleton, state enums
|
|
22
|
+
export { CLIBackendRegistry, cliBackendRegistry, CLIBackendState, buildAgentMemoryContent } from './registry.js';
|
|
23
|
+
|
|
24
|
+
// Individual CLI config exports (for direct external access to specific configs)
|
|
25
|
+
export { codebuddyConfig } from './codebuddy/config.js';
|
|
26
|
+
export { claudeCodeConfig } from './claude-code/config.js';
|
|
27
|
+
export { codexConfig } from './codex/config.js';
|