0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

「OpenCode のデスクトップ版アプリ」+「Kimi K2.5」を少し試してみる(p5.js でのパーティクル描画のコード、シンプルな Agent Skills)

Posted at

はじめに

X などで情報を見かけて気になっていた「OpenCode」を、デスクトップ版アプリで少しだけ試してみたという話です。そのデスクトップ版アプリと「Kimi K2.5」を組み合わせて試してみました。

●anomalyco/opencode: The open source coding agent.
 https://github.com/anomalyco/opencode
 https://github.com/anomalyco/opencode/blob/dev/README.ja.md

●Intro | OpenCode
 https://opencode.ai/docs

2026-01-31_01-35-46.jpg

内容としては、簡単なコード生成と Agent Skills のお試しをやってみます。

OpenCode のデスクトップ版アプリ

現時点では OpenCode のデスクトップ版アプリはベータ版になるようです。以下にインストーラーのダウンロード用リンクや、パッケージマネージャーで導入する際のコマンドの記載がありました。

●OpenCode | Download
 https://opencode.ai/download

2026-01-31_01-10-26.jpg

導入方法

OpenCode のデスクトップ版アプリの導入方法について、Homebrew でインストールできるようだったので、今回は以下のコマンドで導入してみています。

brew install opencode-desktop

起動してみる

以下は、インストールした OpenCode のデスクトップ版アプリを起動した後の画面です(※ 起動時にアップデートを促されたので、アップデートを実行しました)。

2026-01-31_01-18-05.jpg

また、とりあえず今回のお試し用に適当のフォルダを作って、そこをプロジェクトのルートに指定しました。

モデル選択

そして、利用するモデルの設定を切り替えました。設定を見ると以下がありましたが、その中の「Kimi K2.5 Free」を選びます。

2026-01-31_01-24-19.jpg

期間限定での「Kimi K2.5」の無償提供

以下の公式のポストを見ると、「Kimi K2.5」を無償で利用できるのは期間限定の対応のようです。

 

軽いお試し1: コード生成

あとは軽く試してみます。以下のように Planモードもあるようでしたが、今回は Build のほうで直接コードの生成を試しました。

2026-01-31_01-45-57.jpg

Build のほうにして、「p5.jsのパーティクル描画のプログラムを作って」というシンプルなプロンプトを入力しました。そのプロンプトに基づいた処理が行われた後のアプリの表示は、以下のようになりました。

2026-01-31_01-33-33.jpg

生成されたコード

生成されたのは、HTMLファイルと JavaScript のファイルの 2つでした。それぞれの内容は以下のとおりです。

<!doctype html>
<html lang="ja">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>p5.js Particle System</title>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.9.0/p5.min.js"></script>
    <style>
      body {
        margin: 0;
        padding: 0;
        overflow: hidden;
        background: #000;
      }
    </style>
  </head>
  <body>
    <script src="sketch.js"></script>
  </body>
</html>
let particles = [];
const NUM_PARTICLES = 100;

function setup() {
  createCanvas(windowWidth, windowHeight);

  for (let i = 0; i < NUM_PARTICLES; i++) {
    particles.push(new Particle());
  }
}

function draw() {
  background(0, 50);

  for (let p of particles) {
    p.update();
    p.display();
  }
}

function windowResized() {
  resizeCanvas(windowWidth, windowHeight);
}

class Particle {
  constructor() {
    this.pos = createVector(random(width), random(height));
    this.vel = p5.Vector.random2D();
    this.vel.mult(random(1, 3));
    this.size = random(4, 12);
    this.color = color(
      random(100, 255),
      random(100, 200),
      random(200, 255),
      200,
    );
  }

  update() {
    this.pos.add(this.vel);

    if (this.pos.x < 0 || this.pos.x > width) {
      this.vel.x *= -1;
    }
    if (this.pos.y < 0 || this.pos.y > height) {
      this.vel.y *= -1;
    }

    let mouse = createVector(mouseX, mouseY);
    let dir = p5.Vector.sub(mouse, this.pos);
    let d = dir.mag();

    if (d < 150) {
      dir.setMag(0.5);
      this.vel.add(dir);
    }
  }

  display() {
    noStroke();
    fill(this.color);
    ellipse(this.pos.x, this.pos.y, this.size);
  }
}

実行結果

生成されたコードの実行結果は以下のとおりです。

軽いお試し2: Agent Skills

次に Agent Skills を試してみます。

OpenCode の公式ドキュメントをチェック

OpenCode公式の Agent Skills に関するドキュメントは、以下のページで、こちらを見てみます。

●Agent Skills | OpenCode
 https://opencode.ai/docs/skills/

OpenCode に関して、スキルに関するフォルダの置き場は以下に書かれています。

2026-02-01_19-28-42.jpg

例えばプロジェクト用のスキルの場合は、OpenCode用のものと Claude互換のもので以下となるようです。

▼ プロジェクト用のもの:
.opencode/skills/<name>/SKILL.md
▼ Claude互換のプロジェクト用のもの
.claude/skills/<name>/SKILL.md

Agent Skills を試す手順

Agent Skills を試す手順について、既存のものを探して用いることにします。今回は、Google Developers Codelab の中の「Google Antigravity を使ってみる」に出てきている事例(一連の手順の中の「10. スキル」の「コードレビュー スキル」)を用います。

●Google Antigravity を使ってみる
 https://codelabs.developers.google.com/getting-started-google-antigravity?hl=ja#9

2026-02-01_21-47-03.jpg

その内容は、以下のとおりです。

  • 「code-review」スキルを準備
    • スキルは SKILL.md のみの構成
  • わざと修正が必要な Python のコード(demo_bad_code.py)を準備
  • 「review the @demo_bad_code.py file」というプロンプトの内容を依頼

ここで出てくる「SKILL.md」「demo_bad_code.py」は、それぞれ以下のとおりです。

SKILL.md
---
name: code-review
description: Reviews code changes for bugs, style issues, and best practices. Use when reviewing PRs or checking code quality.
---

# Code Review Skill

When reviewing code, follow these steps:

## Review checklist

1. **Correctness**: Does the code do what it's supposed to?
2. **Edge cases**: Are error conditions handled?
3. **Style**: Does it follow project conventions?
4. **Performance**: Are there obvious inefficiencies?

## How to provide feedback

- Be specific about what needs to change
- Explain why, not just what
- Suggest alternatives when possible
demo_bad_code.py
import time

def get_user_data(users, id):
   # Find user by ID
   for u in users:
       if u['id'] == id:
            return u
   return None

def process_payments(items):
   total = 0
   for i in items:
       # Calculate tax
       tax = i['price'] * 0.1
       total = total + i['price'] + tax
       time.sleep(0.1) # Simulate slow network call
  
   return total

def run_batch():
   users = [{'id': 1, 'name': 'Alice'}, {'id': 2, 'name': 'Bob'}]
   items = [{'price': 10}, {'price': 20}, {'price': 100}]
  
   u = get_user_data(users, 3)
   print("User found: " + u['name']) # Will crash if None
  
   print("Total: " + str(process_payments(items)))

if __name__ == "__main__":
   run_batch()

Agent Skills を実際に試す

それでは実際に試していきます。

まずは、作業対象のフォルダ(プロジェクトフォルダ)の直下に .opencode/skills/code-review/SKILL.mddemo_bad_code.py を準備します。

コマンド mkdir -p .opencode/skills/code-review/ でスキル用フォルダを準備して、その後、作成したフォルダ直下には SKILL.md を準備し、プロジェクト直下には demo_bad_code.py を準備しました。

ここでスキルの確認をしてみます。現状で確認用のコマンドはなさそうなので、以下のように何のスキルが利用可能であるかを聞いてみました。

2026-02-01_22-42-49.jpg

そして、その中に以下の内容が含まれていることが確認できました。

code-review: コード変更のバグ、スタイル問題、ベストプラクティスをレビューするスキル(PRレビューやコード品質チェック時に使用)

上記の確認ができたところで「@demo_bad_code.py をレビューして」という内容を依頼してみます。

2026-02-01_22-46-32.jpg

その後、返答を得られたのですが、全ての内容が英語で出てきました。

2026-02-01_22-47-28.jpg

日本語での出力を指定した内容(プロンプト「@demo_bad_code.py をレビューして、結果を日本語で出して」)で、再度試してみます。

2026-02-01_22-50-05.jpg

2026-02-01_22-50-27.jpg

2026-02-01_22-50-39.jpg

レビューした観点について、SKILL.md の内容を見て行っているかを軽く確認してみます。SKILL.md に記載されたチェック内容は以下でしたが、1 や 2 に関する内容については「重大なバグ(クラッシュします)」や「欠落しているエラー処理」が関連しそうな感じがします。3 と 4 については「スタイルの問題」「パフォーマンスの問題」という、指定した項目と同じ項目で出てきています。

1. **Correctness**: Does the code do what it's supposed to?
2. **Edge cases**: Are error conditions handled?
3. **Style**: Does it follow project conventions?
4. **Performance**: Are there obvious inefficiencies?

それと、フィードバックの文章については、以下が指定されていました。これも、「何を変更すべきで、それがなぜ必要で、できれば代替案を出す」という感じになっていたかと思われました。

- Be specific about what needs to change
- Explain why, not just what
- Suggest alternatives when possible
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?