Skip to content

Commit f9ebacc

Browse files
docs: add zh/ja translations, expand examples
1 parent 0f09a11 commit f9ebacc

25 files changed

Lines changed: 3245 additions & 41 deletions

‎README.md‎

Lines changed: 463 additions & 16 deletions
Large diffs are not rendered by default.

‎README_ja.md‎

Lines changed: 673 additions & 0 deletions
Large diffs are not rendered by default.

‎README_zh.md‎

Lines changed: 453 additions & 15 deletions
Large diffs are not rendered by default.

‎dashscope/acli/examples/basic-chat/README.md‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# Basic Chat — Minimal Working acli Example
22

3+
> **English** | [中文](README_zh.md) | [日本語](README_ja.md)
4+
35
Shows how to start a general-purpose chat agent with web search capability using minimal configuration. **All the intelligence lives in the `.acli/` configuration — there is no Python startup code** — download and run `acli` directly.
46

57
## Directory Structure
Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
# Basic Chat — 最小構成で動く acli の例
2+
3+
> [English](README.md) | [中文](README_zh.md) | **日本語**
4+
5+
最小限の設定で、Web 検索機能を備えた汎用チャットエージェントを起動する方法を示します。**すべての知能は `.acli/` の設定に存在しており、Python の起動コードは一切ありません**——`acli` をダウンロードしてそのまま実行するだけです。
6+
7+
## ディレクトリ構成
8+
9+
```
10+
basic-chat/
11+
└── .acli/
12+
├── config.toml # デフォルトの provider/model/user_name
13+
├── custom-extensions.toml # tongyi provider の宣言 + capability/skill/shell_tool のコメントテンプレート
14+
├── hooks.toml # イベントフック(before/after_tool_call、on_error など)のコメントテンプレート
15+
├── system-prompt.md # エージェントのペルソナと行動ルール
16+
└── skills/
17+
├── research-topic.md # トピックを Web 検索してブリーフィングを作成(web_search を呼び出す)
18+
├── explain-code.md # コードのロジックを説明
19+
├── translate.md # 中国語⇔英語の翻訳
20+
└── write-poem.md # 七言絶句を作る(純粋な prompt テンプレートのデモ)
21+
```
22+
23+
## クイックスタート
24+
25+
```bash
26+
pip install acli
27+
export DASHSCOPE_API_KEY="sk-xxx"
28+
29+
# サンプルを ./.acli/ にマージする(同名ファイルは自動的に .acli/backup/ にバックアップされ、example restore で元に戻せます)
30+
acli example download basic-chat
31+
32+
# 必要な provider を .acli/custom-extensions.toml に追加する
33+
# .acli/system-prompt.md を編集してエージェントのペルソナを定義する
34+
# .acli/skills/ に独自の skill テンプレートを追加する
35+
36+
# 起動(cd は不要、設定はすでにカレントディレクトリにあります)
37+
acli
38+
acli --tui
39+
acli -c "hello"
40+
```
41+
42+
> 新しいディレクトリで使いたい場合は? `mkdir my-agent && cd my-agent && acli example download basic-chat` を実行するか、
43+
> `acli example download basic-chat --target my-agent` を使ってください。
44+
45+
## プログラムとしての設定
46+
47+
### custom-extensions.toml —— Provider の宣言
48+
49+
acli が利用できる LLM provider を宣言します。最小構成では `[[providers]]` ブロックが1つあれば十分です:
50+
51+
```toml
52+
[[providers]]
53+
name = "tongyi"
54+
base_url = "https://dashscope.aliyuncs.com/compatible-mode/v1"
55+
api_key_env = "DASHSCOPE_API_KEY" # ← 環境変数名のみを保存し、sk-xxx はシェルから提供されます
56+
default_model = "qwen3.8-max"
57+
models = ["qwen3.8-max", "qwen3.7-max", "qwen3.7-plus", "qwen-turbo", "qwen-vl-max"]
58+
vision_models = ["qwen-vl-max"] # ← これらのモデルが画像入力を受け付けることを acli に伝えます
59+
protocol = "openai" # ← openai / anthropic / dashscope
60+
```
61+
62+
Claude / GPT / ローカルの Ollama を使いたい場合は、toml 内の対応する `[[providers]]` ブロックのコメントを外すだけです。
63+
64+
**API Key を指定する3つの方法**(推奨度が高い順):
65+
66+
1. `api_key_env = "FOO_API_KEY"` —— シェルで `export FOO_API_KEY=sk-xxx` を実行する方法。toml を git にコミットしても安全です
67+
2. `/provider` ウィザードによる対話的な入力 —— `api_key = "ENC:..."`(端末に紐づく暗号化)が書き込まれます
68+
3. 平文の `api_key = "sk-xxx"` —— ローダーによって拒否されます。あくまでプレースホルダーの例示です
69+
70+
### system-prompt.md —— エージェントのペルソナ
71+
72+
エージェントが「何者であるか」を定義します。acli は起動時に `.acli/system-prompt.md` を自動的に読み込みます(ワークスペース側の設定が `~/.acli/system-prompt.md` より優先されます)。
73+
74+
### skills/*.md —— Prompt テンプレート
75+
76+
各 `.md` ファイルは、YAML フロントマターを持つ再利用可能な prompt です:
77+
78+
```yaml
79+
---
80+
name: research-topic
81+
description: Web-search a topic and produce a briefing with source URLs
82+
arguments: [topic]
83+
---
84+
85+
Use the web_search tool to research "{topic}":
86+
...
87+
```
88+
89+
呼び出し方法:
90+
- `/skill research-topic quantum computing` —— 明示的な呼び出し
91+
- 自然言語:"help me research the latest progress in quantum computing" —— LLM が使用するかどうかを判断します
92+
93+
`research-topic` は、prompt を使って LLM に組み込みの `web_search` ツールを呼び出させ、オンラインで情報収集を行わせる方法を示しています。
94+
95+
### config.toml —— デフォルト設定
96+
97+
```toml
98+
user_name = "dashscope"
99+
provider = "tongyi"
100+
model = "qwen3.8-max"
101+
memory_user_id = "acli-basic"
102+
```
103+
104+
## 次のステップ
105+
106+
- **provider を追加する**:`custom-extensions.toml` に `[[providers]]` ブロックを追加します
107+
- **HTTP ツールを追加する**:`[[capabilities]]` + `[[capabilities.tools]]` ブロックを追加します(画像生成やリモートのワークフローエンジン呼び出しなど)
108+
- **ビジョン機能を追加する**:`type = "vision"` の capability ツールを追加し、テキストエージェントが必要に応じてビジョン LLM を呼び出せるようにします
109+
- **shell ツールを追加する**:`[[shell_tools]]` ブロックを追加して、よく使うローカルコマンドをラップします
110+
- **フックを追加する**:`.acli/hooks.toml` でツール呼び出し前後のフックを設定します(例:`.py` ファイル書き込み後に自動で `py_compile` を実行する、`pip install` の前に確認を求める、ファイル削除をブロックするなど)。`.acli/hooks.toml` のテンプレートを参照してください。5つのイベント(`before_tool_call` / `after_tool_call` / `on_error` / `on_message` / `on_response`)× 6つのアクション(run/block/confirm/warn/alert/log)をすべてカバーしています。
111+
- **永続的な知識を追加する**:system prompt に**常に**表示させたいドキュメント(API インデックスなど)を `.acli/references/*.md` に配置します
112+
- **ペルソナを変更する**:`system-prompt.md` を編集します——例えば「コードレビュアー」「データアナリスト」「カスタマーサポート担当」に作り変えることができます
113+
114+
完全な機能ドキュメントについては、プロジェクトルートの `README.md` を参照してください。
Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
# Basic Chat — 最小可用的 acli 示例
2+
3+
> [English](README.md) | **中文** | [日本語](README_ja.md)
4+
5+
演示如何用最少的配置启动一个具备联网搜索能力的通用聊天 Agent。**所有的智能都体现在 `.acli/` 配置中——没有任何 Python 启动代码**——直接下载并运行 `acli` 即可。
6+
7+
## 目录结构
8+
9+
```
10+
basic-chat/
11+
└── .acli/
12+
├── config.toml # 默认的 provider/model/user_name
13+
├── custom-extensions.toml # tongyi provider 声明 + capability/skill/shell_tool 注释模板
14+
├── hooks.toml # 事件钩子(before/after_tool_call、on_error 等)注释模板
15+
├── system-prompt.md # Agent 人设与行为规则
16+
└── skills/
17+
├── research-topic.md # 对某个主题进行联网搜索并生成简报(调用 web_search)
18+
├── explain-code.md # 解释代码逻辑
19+
├── translate.md # 中英文互译
20+
└── write-poem.md # 写一首七言绝句(演示纯 prompt 模板的用法)
21+
```
22+
23+
## 快速开始
24+
25+
```bash
26+
pip install acli
27+
export DASHSCOPE_API_KEY="sk-xxx"
28+
29+
# 将示例合并到 ./.acli/(同名文件会自动备份到 .acli/backup/;可用 example restore 撤销)
30+
acli example download basic-chat
31+
32+
# 编辑 .acli/custom-extensions.toml 添加你需要的 provider
33+
# 编辑 .acli/system-prompt.md 定义 Agent 人设
34+
# 在 .acli/skills/ 下添加你自己的 skill 模板
35+
36+
# 启动(无需 cd,配置已在当前目录下)
37+
acli
38+
acli --tui
39+
acli -c "hello"
40+
```
41+
42+
> 想在全新目录中使用?执行 `mkdir my-agent && cd my-agent && acli example download basic-chat`,
43+
> 或者使用 `acli example download basic-chat --target my-agent`。
44+
45+
## 配置即程序
46+
47+
### custom-extensions.toml —— Provider 声明
48+
49+
声明 acli 可以使用哪些 LLM provider。最简配置只需要一个 `[[providers]]` 块:
50+
51+
```toml
52+
[[providers]]
53+
name = "tongyi"
54+
base_url = "https://dashscope.aliyuncs.com/compatible-mode/v1"
55+
api_key_env = "DASHSCOPE_API_KEY" # ← 只存储环境变量名;sk-xxx 由 shell 提供
56+
default_model = "qwen3.8-max"
57+
models = ["qwen3.8-max", "qwen3.7-max", "qwen3.7-plus", "qwen-turbo", "qwen-vl-max"]
58+
vision_models = ["qwen-vl-max"] # ← 告诉 acli 这些模型支持图片输入
59+
protocol = "openai" # ← openai / anthropic / dashscope
60+
```
61+
62+
想用 Claude / GPT / 本地 Ollama?只需取消 toml 中对应 `[[providers]]` 块的注释即可。
63+
64+
**提供 API Key 的三种方式**(按推荐程度递减排序):
65+
66+
1. `api_key_env = "FOO_API_KEY"` —— 在 shell 中 `export FOO_API_KEY=sk-xxx`;toml 可以安全地提交到 git
67+
2. `/provider` 交互式向导 —— 写入 `api_key = "ENC:..."`(与本机绑定的加密存储)
68+
3. 明文 `api_key = "sk-xxx"` —— 会被加载器拒绝;仅作占位示例
69+
70+
### system-prompt.md —— Agent 人设
71+
72+
定义 Agent「是谁」。acli 启动时会自动加载 `.acli/system-prompt.md`(工作目录下的配置优先于 `~/.acli/system-prompt.md`)。
73+
74+
### skills/*.md —— Prompt 模板
75+
76+
每个 `.md` 文件都是一个带 YAML frontmatter 的可复用 prompt:
77+
78+
```yaml
79+
---
80+
name: research-topic
81+
description: Web-search a topic and produce a briefing with source URLs
82+
arguments: [topic]
83+
---
84+
85+
Use the web_search tool to research "{topic}":
86+
...
87+
```
88+
89+
调用方式:
90+
- `/skill research-topic quantum computing` —— 显式调用
91+
- 自然语言:"help me research the latest progress in quantum computing" —— 由 LLM 自行判断是否使用该 skill
92+
93+
`research-topic` 演示了如何用 prompt 引导 LLM 调用内置的 `web_search` 工具来进行联网信息收集。
94+
95+
### config.toml —— 默认配置
96+
97+
```toml
98+
user_name = "dashscope"
99+
provider = "tongyi"
100+
model = "qwen3.8-max"
101+
memory_user_id = "acli-basic"
102+
```
103+
104+
## 下一步
105+
106+
- **添加更多 provider**:在 `custom-extensions.toml` 中添加 `[[providers]]` 块
107+
- **添加 HTTP 工具**:添加 `[[capabilities]]` + `[[capabilities.tools]]` 块(例如图像生成、调用远程工作流引擎)
108+
- **添加视觉能力**:添加一个 `type = "vision"` 的 capability 工具,让文本 Agent 可以按需调用视觉 LLM
109+
- **添加 shell 工具**:添加 `[[shell_tools]]` 块来封装常用的本地命令
110+
- **添加钩子**:在 `.acli/hooks.toml` 中配置工具调用前/后的钩子(例如写入 `.py` 文件后自动 `py_compile`、`pip install` 前需要确认、阻止文件删除)。参见 `.acli/hooks.toml` 中的模板,覆盖全部 5 种事件(`before_tool_call` / `after_tool_call` / `on_error` / `on_message` / `on_response`)× 6 种动作(run/block/confirm/warn/alert/log)。
111+
- **添加持久化知识**:把必须**始终**出现在 system prompt 中的文档(例如某个 API 索引)放到 `.acli/references/*.md`
112+
- **更换人设**:编辑 `system-prompt.md`——例如把它改造成「代码审查员」「数据分析师」或「客服坐席」
113+
114+
完整功能文档请参见项目根目录的 `README.md`。

‎dashscope/acli/examples/dashscope-sdk-expert/README.md‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# DashScope SDK Expert — acli Configuration-Driven Example
22

3+
> **English** | [中文](README_zh.md) | [日本語](README_ja.md)
4+
35
**Online guide**: https://help.aliyun.com/en/model-studio/dashscope-sdk-expert
46

57
This example shows how to build a scenario-specific AI expert agent using **AgenticCLI (acli)**'s native configuration mechanisms.
Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
# DashScope SDK Expert —— 設定駆動型の acli の例
2+
3+
> [English](README.md) | [中文](README_zh.md) | **日本語**
4+
5+
**オンラインガイド**:https://help.aliyun.com/en/model-studio/dashscope-sdk-expert
6+
7+
この例は、**AgenticCLI(acli)** のネイティブな設定機構を使って、特定のシナリオに特化した AI エキスパートエージェントを構築する方法を示しています。
8+
9+
**基本コンセプト:設定駆動、Python によるグルーコードは不要。** エージェントのアイデンティティ、能力、スキル、ナレッジインデックスはすべて `.acli/` 配下のファイルで定義されます。サンプルをダウンロードして `acli` を実行するだけで起動できます。
10+
11+
## ディレクトリ構成
12+
13+
```
14+
dashscope-sdk-expert/
15+
└── .acli/ # エージェント設定ディレクトリ
16+
├── config.toml # モデルとユーザーの設定
17+
├── custom-extensions.toml # Provider の宣言(tongyi)
18+
├── hooks.toml # イベントフック
19+
├── system-prompt.md # System prompt(エージェントのペルソナと行動ルール)
20+
└── skills/ # スキルテンプレート(use_skill によりモデルが必要に応じて読み込む)
21+
├── text-generation.md # テキスト生成(Generation / OpenAI 互換、Python+Java)
22+
├── multimodal.md # マルチモーダル(MultiModalConversation/ImageSynthesis/VideoSynthesis)
23+
├── speech.md # 音声(SpeechSynthesizer/Transcription)
24+
├── retrieval.md # 検索(Embedding/TextReRank/RAG)
25+
├── fine-tuning.md # ファインチューニングとデプロイ(SFT/CPT/DPO/Deployments)
26+
├── agent.md # エージェント(Application/Assistants/プラグインと MCP)
27+
├── cli.md # dashscope CLI コマンドリファレンス
28+
├── sdk-example.md # SDK コード例を生成
29+
├── api-doc.md # API パラメータのドキュメントを参照
30+
├── diagnose.md # SDK 呼び出しエラーを診断
31+
├── error-code.md # エラーコードの説明
32+
├── explain-code.md # コードのロジックを説明
33+
└── translate.md # 中国語⇔英語の翻訳
34+
```
35+
36+
## クイックスタート
37+
38+
```bash
39+
pip install acli
40+
export DASHSCOPE_API_KEY="sk-xxx"
41+
42+
# サンプルを ./.acli/ にマージする(同名ファイルは自動的に .acli/backup/ にバックアップされ、example restore で元に戻せます)
43+
acli example download dashscope-sdk-expert
44+
45+
# 起動 —— cd も Python の起動スクリプトも不要です
46+
acli
47+
acli --tui
48+
acli -c "How do I use Generation.call?"
49+
```
50+
51+
## 設定駆動アプローチの仕組み
52+
53+
### 1. system-prompt.md —— エージェントのペルソナ
54+
55+
エージェントのアイデンティティ、知識範囲、行動ルールを定義します。これはエージェントが「何者であるか」の核心部分です:
56+
57+
```markdown
58+
You are DashScope SDK Expert, an intelligent assistant for the DashScope Python SDK...
59+
60+
## Grounded Knowledge First
61+
Before answering, ALWAYS verify against the actual installed SDK...
62+
```
63+
64+
### 2. skills/ —— 必要に応じて読み込まれるドメイン知識ベース
65+
66+
SDK/CLI の公開インターフェースに関する知識は、ドメインごとの skill に直接格納されています:ドメインごとに1ファイルで、モデル一覧、Python と Java の SDK シグネチャ、入出力構造、エラーコードが含まれます。API に関する質問に答える際、モデルは `use_skill` によって該当する skill を必要に応じて読み込みます——**system prompt に常駐する内容は一切ありません**——これにより最初のターンの入力トークンが約16,000文字削減されます。skill でカバーされていない詳細は、インストール済みパッケージに対する `inspect.signature` / `help()` にフォールバックします。
67+
68+
### 3. skills/ —— タスクテンプレート
69+
70+
各 `.md` ファイルは、フロントマターのメタデータを持つ再利用可能な prompt テンプレートです:
71+
72+
```yaml
73+
---
74+
name: sdk-example
75+
description: Generate runnable DashScope SDK code examples
76+
arguments: [api_name]
77+
---
78+
79+
Before generating code, first verify the user's installed SDK version and API signature:
80+
1. `run_command("python -c 'import dashscope; ...'")`
81+
...
82+
```
83+
84+
- **name**:skill の識別子。`/skill` コマンドで呼び出します
85+
- **description**:短い説明。エージェントはこれを見て、いつこの skill を適用するかを判断します
86+
- **arguments**:テンプレート変数。呼び出し時に実際の値に置き換えられます
87+
88+
### 4. config.toml —— 実行時設定
89+
90+
```toml
91+
user_name = "dashscope"
92+
provider = "tongyi"
93+
model = "qwen3.8-max"
94+
memory_user_id = "acli-dashscope"
95+
```
96+
97+
## このパターンを再利用する
98+
99+
自分のシナリオ向けに AI エキスパートを作成するには:
100+
101+
1. `acli example download dashscope-sdk-expert`(プロジェクトの `./.acli/` にマージされます)
102+
2. `.acli/system-prompt.md` を編集 —— 自分のエージェントのペルソナを定義します
103+
3. `.acli/skills/` を編集 —— 自分のドメイン知識とスキルテンプレートを追加します(モデルが必要に応じて読み込みます)
104+
4. `.acli/config.toml` を編集 —— 適切なモデルを選択します
105+
5. `acli` を実行します
106+
107+
## 設計上のポイント
108+
109+
| 従来のアプローチ | acli の設定駆動アプローチ |
110+
|---------|---------------|
111+
| コードにハードコードされた prompt | `system-prompt.md` ファイル |
112+
| シナリオごとの if-else 分岐 | `skills/*.md` テンプレートライブラリ |
113+
| 巨大なドキュメントをすべて prompt に詰め込む | `skills/` のドメイン知識を必要に応じて読み込み |
114+
| 動作を変えるにはコード修正が必要 | Markdown を編集するだけ |
115+
| 共有・再利用が困難 | `.acli/` ディレクトリ全体が可搬 |

0 commit comments

Comments
 (0)