ToCode
Open in Telegram
××פ×× ×§×¦×Ø×× ×××Ŗ×× ×Ŗ×× ×××Ŗ ×× ×× ×¤×Ø×§
Show more1 419
Subscribers
No data24 hours
+17 days
-430 days
Posts Archive
1 419
š ××××××Ŗ ××××¢ ×× ×©××××× ×× ××ר ×××× ×קר××Ŗ
×ר×× ××תר ×§× ×ר×××Ŗ ×××ש××Ŗ ××§×× ××שר ××××× ××× ×× ×¦× ××Ŗ ×××Ŗ× ×××ש××Ŗ ××× ×עש××Ŗ × ××§, ××× ×ש×× ×× × ×ש××ר×× ×××ש××Ŗ ××§×× ×©×× × ×Ø×§ ×××× ×©×× ×× × ×× ×Ø×××× ×× ××ר ×× ××§ ש×× ××××××Ŗ ××ר×× ×× ×× × ××”× ××× × ××Ŗ× ×× ××תר ×××××צ×× ××× ×©×× ×©×××× ×× ×××.
××”×פ×ר ××× × ×× ×” ×צ×× ××××”×£ ××¢×××Ŗ ×××××Ŗ ××××¢ שקש×ר××Ŗ × AI ×××× ××××× ×××××§ ××Ŗ ×פער ××× ×××××©× ×× ×צ××. ×”××××× ×××××× ××Ŗ×Ŗ ××§××× ××××× ××Ŗ × Issues ש×שת×ש×× ×¤××Ŗ××× ××¢×רת ×§×× ×¤×××רצ×× ××××Ŗ:
allowed_non_write_users: "*"
claude_args: >-
--allowedTools "Bash,Read,Write,Edit,Glob,Grep,WebFetch,WebSearch"
prompt: |
**Issue:** #${{ github.event.issue.number }}
**Title:** ${{ github.event.issue.title }}
ר×××Ŗ× ××Ŗ ×××¢××? ×× × ×××× ×©××. ×××§××× ××Ŗ × title ×©× × Issue ×ש××××× ×××Ŗ× ××”××× ×©×××× ××ר×ׄ פק××××Ŗ Shell ×××שת ×××× ××Ø× ×.
×¢×ש×× ×××× ×Ŗ× ××”××× ×Ø×„ ×¢× ×××× × ×©× Github Actions ××× ×רש×××Ŗ ×עש××Ŗ ש×× ××ר. ××¤× ×× × ×©×××¢ ×ר×ש ××Ŗ ×ש××× ×©××× ×× ×× ×ש×× "×× ××ר ×××× ×××ש×ר?". × ×, ××”×Ŗ×ר ש×× ×××× ×Ŗ ×××××× ××§×©× ××× ×רש×××Ŗ ××××× ×עש××Ŗ × ××§ ×××Ŗ×צ×× ×××Ŗ× ×××Ø×”× ×××××××Ŗ ×©× cline שע××Ŗ× × npm.
××”×פ×ר ×××× × ×××× ×××Ŗ×¢× ××× ×× × ××¦× ×××× ×§ ×××:
https://neciudan.dev/cline-ci-got-compromised-here-is-how#what-is-openclaw-and-why-should-you-care
×××§× ××× ××©× ×××××× ×××Ŗ× × ×¢×× ×ר×× ××¤× × ××× × AI. ××××××Ŗ ××××¢ ×× ×©××××× "×× ××ר ×××× ×קר××Ŗ". ×”××ר×× ××Ŗ ××××ש××Ŗ ××¤× × ×©××ש×× ××ר ×××¦× ××Ŗ ×תש×××.1 419
×× ××ר×× ×Ŗ×××× ×× ××¢×Ŗ×× ×¢× ×§×× ×פ××××××§×? ××××Ŗ× ×שת×ש×× ×הפר×××Ŗ ×§×× ×¤×Ŗ×× ×¢× ××× ×Ø ×©× ×¤×Ø× ×¤××”×××? ×× ×××× ×”××× ××קר××× ×? ××××?
1 419
š ××¦×¤× × × Rails - ××××, ×רע ×××××ער
×ר××××” ×ש ×× ×× ×× ×××× × ××צפ×× ××××¢ ×©× ×©×ר ×××”××” ×× ×Ŗ×× ××. ××× ×× ×× ××××ר ×©× × ×פת×××Ŗ ××¦×¤× × ×××××× ×©× ××× ××× ××××× ××Ŗ ×××××, ××××ר ×× ×× × ××××ר×× ××§×× ×¤×××רצ××:
Add this entry to the credentials of the target environment:
active_record_encryption:
primary_key: YehXdfzxVKpoLvKseJMJIEGs2JxerkB8
deterministic_key: uhtk2DYS80OweAPnMLtrV2FhYIXaceAy
key_derivation_salt: g7Q66StqUQDQk9SJ81sWbYZXgiRogBwS
××× ×××§×× ×פשר ××שת×ש × ActiveRecord::Encryption ××× ××צפ×× ×× ××¤×¢× × ×¢× ××פת×××Ŗ ××××, ×× ×××××ר ש×××Ŗ ש××××××××Ŗ ×××¦×¤× × ×ש×××Ø× ×××”××” ×× ×Ŗ×× ×× ××פ××¢× ×× ×קר×××. ×××ר×× ×ש×××ש ×ש ××× ××× ×”××£ ××××¢ ×¢× ×××פת ×פת×××Ŗ, ××Ŗ× ××שת×ש ×××¦×¤× × ××ר×× ××”×××Ŗ ×××Ŗ× ×× ××ר×× ××”×××Ŗ ×ש×ר ×××××× ×©× ×××××Ŗ ××××¢. ×§×, ×××× ×××× ××× ×©×Ø××××” ××××¢.
×ש ×× ×§×××” ××©× ××××ער ××תר ×××¦×¤× × ××©× MessageEncryptor. ×××××Ŗ ×ש×××ש ×××Ŗ××¢×× × ×Ø×××Ŗ ××:
len = ActiveSupport::MessageEncryptor.key_len
salt = SecureRandom.random_bytes(len)
key = ActiveSupport::KeyGenerator.new('password').generate_key(salt, len) # => "\x89\xE0\x156\xAC..."
crypt = ActiveSupport::MessageEncryptor.new(key) # => #<ActiveSupport::MessageEncryptor ...>
encrypted_data = crypt.encrypt_and_sign('my secret data') # => "NlFBTTMwOUV5UlA1QlNEN2xkY2d6eThYWWh..."
crypt.decrypt_and_verify(encrypted_data)
×× ×§×× ×××ער ×× ××× ××ר×× ×××Ŗ× ×××××ר ××× ××Ŗ ×××× ×××××ר ×עצ×× ××Ŗ ××פת×××Ŗ ××¢×× ×צ×× ××Ŗ ×××”××” ××צ×רת ×××¤×Ŗ× ×צ××Ø× ×פ×רשת ××§××. ×× ×פשר ×××Ŗ×× ××¦×¤× × ×××××××Ŗ ×¢× MessageEncryptor ××× ×× ××ר×ש ×¢×××× ××××¢ ש×× ××פ××¢×× ××Ŗ××¢××.
××ש×× ×©×× ×× ×הפ××§ ×קצ××¢××× ×× ×”××× × ×§×××× × ×Ŗ×§××× ××××× ××¢×××Ŗ ×× × ×××× ××ר××§ ××Ŗ ××××§×× ×קש×× ×××פ×× ××Ŗ ××§×× ××××ער ××§×× ×Ø×¢, ×××××× ×§×× ×©×§××××Ŗ× × ChatGPT:
secret_key = Rails.application.key_generator.generate_key("my-secret", 32)
encryptor = ActiveSupport::MessageEncryptor.new(secret_key)
# Encrypt + sign
encrypted = encryptor.encrypt_and_sign("Hello world")
# Decrypt + verify
decrypted = encryptor.decrypt_and_verify(encrypted)
puts encrypted
puts decrypted
××× × ×¢××× ×××××× ××קר×××× ×©× ××××? צ'×× ×× ×Ø×× ×× ××©× ×©×× ×הפ××§ ×ש××. פר×××¤× × ××”×£ ××× ××××ר ×× ××Ŗ ××§×× ×××:
secret_key_base = Rails.application.secret_key_base
# Derive a key
key_len = ActiveSupport::MessageEncryptor.key_len
salt = "my-encryption-salt"
key = ActiveSupport::KeyGenerator.new(secret_key_base).generate_key(salt, key_len)
encryptor = ActiveSupport::MessageEncryptor.new(key)
××¤×¢× ×××”××” ×××¤×Ŗ× ××× secret_key_base ש××ר × ××¦× ×ש×××ש ××× ××צפ×× ××Ŗ ××§××§×× ××× ×§×××× × ×××××ר ×©× ××”××” ×××¤×Ŗ× ××¦×¤× × ×ש×××ש×× ×©×× ××. רק ×× ×× × ××קש ××פ×רש ××Ŗ ש×××Ŗ ×××¦×¤× × ××××©× ×¢× ActiveRecord::Encryption ×× × ××××Ŗ ××§×× ×××Ŗ×.
××§×××? ×××××. ×שק×× ×Ŗ×©×Ŗ××Ŗ ××רש ××××× ××Ŗ ××¢××× ××Ŗ ××× ××שת×ש ×× × ××× ×××× ×× × ××× ××”××× × ×§×××× ×©×ש××Ø× ×××Ŗ×.1 419
š ×× ×§×× × ××Ŗ× ××ער ×××£ ××× ×× ×שת×ש ××
×פר×××§× ××©× chatwoot (ר××××”) ×צ××Ŗ× ××Ŗ ××§×× ×××:
class Api::V1::Accounts::WorkingHoursController < Api::V1::Accounts::BaseController
before_action :check_authorization
before_action :fetch_webhook, only: [:update]
def update
@working_hour.update!(working_hour_params)
end
private
def working_hour_params
params.require(:working_hour).permit(:inbox_id, :open_hour, :open_minutes, :close_hour, :close_minutes, :closed_all_day)
end
def fetch_working_hour
@working_hour = Current.account.working_hours.find(params[:id])
end
end
××§×× ×× ×¢××× ×××× ×”××××Ŗ:
1. ×פ×× ×§×¦×× fetch_webhook ×× ×§××××Ŗ. ×× ×פשר ××פע×× ×××Ŗ× ××¤× × update.
2. ×פ×× ×§×¦×× check_authorization ××פשת ×§××ׄ ××©× working_hours_policy.rb ש×× ×× ×§×××.
××× ××£ ××××§× ×¢× ××§×× ××× ×פע×××× ×××Ŗ× ×ש×× ××§×× ××× ××× ×× ××××ר × API Endpoint ××× ××× (×× ×”××× ×§××××) ש××”×Ŗ×× ×Ø×§ ×¢××× ×¢××× ××§×× ××Ŗ ×ר××©× ×©×פ×× ×§×¦×× ×××§××ׄ ×§×××××. ××× ×××Ŗ× ××× (×× ××תר ×”××ר ×”××× ×§××××) ××××¢ ×××Ŗ×× ×¢×ש×× ×¤×צ'ר ××ש ××× ×¢××× ××שת×ש ××××Ŗ× ×Ø××××× ××××××× ××. ××× ×××Ŗ ××¢×× ×©× ×”××× × ×§×××× ×ר×× ××תר ××שר ×©× ×× × ×××, ××× ××פ××Ŗ ×××××Ŗ ××¢×× ×©× ×× × ××× ×ש×××Ŗ× ×× × ××× ×פע×××× ×”××× × ×§×××× ××× ××××ר ××Ŗ ××§×× ×××× ××¢××ר ×ר×ש ×¢× ×Ŗ××× ××Ŗ ××¢××××.
×¢×ש×× ×פשר ×××¢×× ×©×× × ××× ×× ×××¢×× ×©× ×”××× × ×§×××× ××× ×Ø×§ × ××Ŗ× ××”××× × ×§×××× ××¢××× ××©×§× ××¢××× ×××× ××§×× ××× ××תר. ×××Ø× ××ר ×××× ×¢× ×××× ×××Ŗ ××××× ×××××Ŗ ×××× ××§×Ø× ×× ×× ×××× ×קר××Ŗ ××× ××§×× ×××Ŗ× ×.
××תר ××× ×ש×× ×× ×©×××× ××§×× ××× ×פר××פ×. ×§×× ×××× ×××××Ŗ ש××ר ×× ×× ××£ ××× ×× ×פע×× ×××Ŗ× ××××× ××§×××Ŗ ××§××§× ××Ŗ ××Ŗ×צ×××Ŗ ×©× ×”××× ××§××××. ××¢××× ×©×× ××§×× ××× ×פר××פ×, ×§×× × ×§× ××× ××¢× ×ש×× ××Ŗ×××.1 419
š ××פ פ×××Ŗ××: ×× ×¦×Ø×× ×××Ŗ×× ××Ŗ ×× ××§×× × init
×ש×× ×× × ×××Ŗ××× ××××× ×פ×××Ŗ×× ×××× × ×× ×©×שת×ש×× ×××××× ××××× ××Ŗ ×××××× ×××פע×× ×¤×§××××Ŗ ×ש×ר××Ŗ ×¢× ×©× ××××××, ××××ר × × ×× ×©×ש ×× ××××× ××©× mymodule ×× ×שת×ש×× ×××× ×××××× ×××Ŗ××:
import mymodule
print(mymodule.add(10, 20))
××Ø× ×××Ŗ ×××Ŗ×× ××Ŗ mymodule ××× ×©×× ××¢××× ××× ×¤×©×× ×××Ŗ×× ×§××ׄ ××©× mymodule.py ×××Ŗ××× ×××××ר ××Ŗ ×פ×× ×§×¦×× add. ××× ×× ××Ŗ× ×Ø×צ×× ×××Ŗ×× ×¤×Ø×××§× ××שתף ×¢× ××ר×× ×”×××× ××× ×©×Ŗ×Ø×¦× ×ש×× ××Ŗ ×××××× ×©××× ××Ŗ×× ×Ŗ××§××× ××”××רת שש×× ×××× ××©× ×פר×××§×. ××¤× ××¢×”×§ ××Ŗ××× ×××”×Ŗ××, ×× ×× ×× × ××צר ×Ŗ××§××× ××©× mymodule ×××Ŗ××× ×§××ׄ ××©× utils.py ×¢× ×פ×× ×§×¦×× ×©×× ×× ×ש ×× ××× × ×Ŗ××§×××Ŗ:
mymodule/
__init__.py
utils.py
××¢×ש×× ×שת×ש×× ×©× ×××××× ×¦×Ø×××× ×××¢×× ××Ŗ ××§××ׄ ××¤× ××× ××Ŗ×× ×××××× ××××Ŗ××:
import mymodule.utils
print(mymodule.utils.add(10, 20))
×עצ×× ×× ××תר ×שת××©× × alias ××××Ŗ×× ×××××:
import mymodule.utils as mymodule
print(mymodule.add(10, 20))
××× ×× ×× × ×Ø×× × ××× ××¢×××× ×עצ×× ××Ŗ ××שת×ש××.
×××Ŗ××× ××××××× ×צ×רת××× ××××¢×× ×ש×× ××Ŗ ××§×× ××§××ׄ × __init__.py ×©× ××××××, ××× ×× ×¦×Ø×××× ×פ××× ×××צ×× ×©× ××§××ׄ ×××§×ר ×××××Ŗ× ×××× ××”×Ŗ×ר ×¢× ×××××, ××××ר ×××× ×× × ××¦× ×©× ××××××:
mymodule/
__init__.py
×××Ŗ×× ××§××ׄ __init__.py ×Ŗ×פ××¢ ×××רת ×פ×× ×§×¦×× add, ××× ×שת×ש×× ×©× ×××××× ××××× ×©×× ×××Ŗ××:
import mymodule
print(mymodule.add(10, 20))
××× ×××Ŗ××× ××××××Ŗ ××תר ×צ×רת××× ××××§× ××¢××פ×× ××שת×ש ××©× ×§××ׄ ××”××ר ×¢××ר ××§××× ×©×××. ×××¦× ××× × ××Ŗ×× ×§××ׄ utils.py ×¢× ×××רת ×פ×× ×§×¦×× add, ××§××ׄ __init__.py ש×××× ×Ø×§ ××Ŗ פק×××Ŗ ××××× ×××צ×× ×××ש:
from .utils import add
×ש×× ××× ×¢××× ××× ×¢×ש×× ×× ××”××ר - ×שת×ש×× ×××××× ××××× ××Ŗ ×××××× mymodule ××קר×× ×פ×× ×§×¦×× add ×ש×ר××Ŗ ××Ø× ×××××, ×פ××× ×©×פ×× ×§×¦×× ××××רת ××§××ׄ ×¤× ××× mymodule/utils.py ××Ŗ×× ××××××.1 419
š ×× ××§×× ×©××
×× ×Ŗ×× × ××× × ×× × ××Ŗ× ×¤××”× ×ר×× ××ש×× ×¢ × ×× ×©×××ש × AI ××§××××. ××××ׄ ×קר×× ×××Ŗ× ×××:
https://antman-does-software.com/i-will-never-use-ai-to-code-or-write
×× ×Ŗ×× × ×ש××× ××× ×§×××× ×××Ŗ×××Ŗ הפר. ××× ×©×× ××××Ŗ × ××Ŗ× × AI ×××Ŗ×× ××Ŗ ×ר××× ××× ×©×× ×××קש ××× × "רק שפר קצת ××Ŗ ×××××Ŗ ××××Ŗ", ×× ×××Ŗ××× ×× ×××× ×ש×××, ×× ×× ××§×××× ×× ×Ŗ×Ŗ× × AI ×××Ŗ×× ×ש×××× ××Ŗ ××§×× ×× ××ר ×× ×××× ××§×× ×©××. ×× ×××× ×ש×××.
×× ×××¢×× ××¢× ××× ××× ×××¢×Ŗ× ×©×××, ×× ×שקף ××Ŗ ××××× ×××××Ŗ××× ×©× ×פת××× ×× ××¤× × AI ××× ×¢××ר ×× × ×××Ŗ×× ×§×× ××× ××תר.
××××× ×××××Ŗ×××, ×× ××¤× × AI ר×× ××§×× ×©××Ŗ×× × ×× ××× 100% ×צ××Ø× ×©×× ×. ×¢×××× ×¢× ×ער×××Ŗ ×§×××××Ŗ, ×¢×××× ×צ×××Ŗ, ש×××ש ×הפר×××Ŗ ש×× ×Ŗ××× ×× ×× × ×××Ø× × ××××××¦× ××"× ××××× ××× ×©×ער×××Ŗ ×Ŗ××× × ×©× ××¢××× ×××××Ŗ× ×× ×× ×××××§ ×צ×ר××Ŗ ×××× ××Ŗ. ×ש ××× ×××¤× ×× × ×× ××××ש, ××× ×Ŗ××× ×ש ×× ×שפר. ×× ×§××Ø× ×©××¤×Ŗ× ××ש ××××¢ ×פר×××§× ××××ר "×××× ×××× ×§×× ××××× ×ש פ×". ×§×× ××× ×× ×צ×רת ××פת ×©× ××¤×Ŗ× ×××× ××× ×Ŗ×צ×× ×©× ××××צ××. ×פת××× ××××× ××××¢×× ××× ×××××£ ××Ŗ ×ער××Ŗ ×××××צ×× ××××Ŗ ×××××× ×§×¦×Ŗ ××תר ×ר×× ×××שפ××¢ ×¢× ××ער××Ŗ עצ×× ××× ×©××§×× ×××× ×צ××Ø× ×××¢××Ŗ ×צ××Ø× ×××× ××תר.
×ש×× ×× × ×××ש××× ××Ŗ ×××Ŗ× ×¢×§×Ø×× ××Ŗ ×¢× ×¤××Ŗ×× ×××צע××Ŗ AI ×× ×× × ××××× ×©×פת××× ××××× ×× ×××××× ×××××× ××× ×××פ×, ××צ××× ××תר ×ר××× ×××××¢ ××Ŗ עצ××:
1. ×פת××× ××××× ××××ר×× ×Ŗ×× ×××Ŗ ××§×× ×××Ŗ× × AI ×ש×פ×.
2. ×פת××× ××××× ××××ר×× ×©××××Ŗ ×¢×××× - ××× ×¢×ש×× Deployment, ×× ××××§××, ××× ××××§××. ×”××× × ×§×××× ×שת××©× ×ש××××Ŗ ×¢×××× ××× ×××צע××Ŗ MCP ××××”×× ×¢×××× ×©× ×× × ×××.
3. ×פת××× ××××× ××××ר×× ×××”×רקצ×××Ŗ ×ר×××× ×§×× ××”××”×××, ××× ×”××× × ××§×××× ×שת××©× ××× ××× ××Ŗ ××Ŗ ×××ר×× ×××××.
××¢×××× ×©×× × ×××× ××קש ××”××× ×§×××× ××× ××Ŗ ×× ×¤×צ'ר ××ש ××ער××Ŗ, ××× ×¤×Ø×××§× ×× ×ר×××××××, ××× ×× ×Ŗ×צ×× ×©× ×××××× ×©× ×”××× ××§×××× ××× ×©× ××× × ××× ×©× ××ער××Ŗ. ××ר××× ××ר×× ×¤×Ø×××§××× ×”××× × ××§×××× ×× ×צ××××× ×××צר ×Ŗ×צ×××Ŗ ×××××Ŗ ××פת××× ××××××× ×©×¢××Ŗ ×ר×××× ×¢× ××”××× ××.
×× ××§×× ×©××, ××ער××Ŗ ש××, ×××× × ×©××. ×× × ×××ר ×× ×©××Ø× ×× ××××Ŗ×× ××Ŗ ××××××, ×פ××× ×©××Ŗ ר××× ×× ××§×××Ŗ× ×עצ××.
1 419
š × .×. ×¢×××××Ŗ ×©× AI
××¤× × ××¢×Ø× ×©× × ×× ××Ŗ× ×¤×Ø×××§× ×©××צר תר××× ××צר ××××× ××©×¤× ×הר××× ×§×¦×Ø×× ×××××××. ××××Ø×Ŗ× ×××Ŗ× ××ש××× ×××× ×©×× ×× ×'××× × ×¤×Ø× ×©× ×××Ŗ× ××× ××× ×××ר ××××× ×©×צ××× ××Ŗ××× ×צ××Ø× ×××× ×”×Ø××× ××××××× ×××פר×× 2025 ×§××××Ŗ× ××××× ×ש××× ×©× 350 ש"× ×¢× ×©×××ש ××××Ŗ× ×'××× × ×¤×Ø× ×Ø×§ ×פר×××§× ×¤× ×× ××§×× ×××.
××××ש×× ×©×××Ø× ××ר × ×××Ø×Ŗ× ××תר ×ש×××ש ××'××× × ×¤×Ø× ××××× ×©××××Ŗ× ××× ×Ø×§ 3 ש"×, ××× × 25 ש"×, ×××× 76 ש"× ××××××”× 50. ×××§ ××× ×§×©×ר ×××פ×××××צ×× ××ער××Ŗ ש×××Ŗ× ×¦×Ø××× ×¤×××Ŗ AI ××× ××צ×ר ××Ŗ ×ש××¢×ר××, ×××§ קש×ר ××× ×©××¢××Ø×Ŗ× ×××§×× ×××§×× ××¢××× ×¢× ×××××× ××תר ××××× ××××§ ××× ×©×¤×©×× ××× ×× ×¤×××Ŗ ××× ××¢××× ×¢× ×פ××פ×ר××. ×”× ××× ××¤× × ××פ×××××צ×× ×©××××Ŗ× ××¢×Ø× 20 ש"× ××¢×××× ×¢× ××××× ××× ××××Ø× ××פ×××××צ×× ×× ××Ø× × 2-3 ש"× ××××××.
××× ×××× ×ש××§× ××Ŗ ×'××× × ×¤××ש ×××× 3.1 ×××××× ×ש××§× ××Ŗ ×Ŗ××× ××Ŗ Ollama Cloud. ש×××× ×©× × ××× ××ר×× ××Ŗ ××¢×××Ŗ ×©× ×צ×רת ××××× ×פ×××Ŗ ××××ר×, ××× ×©×× ×× ××§××.
×©× × ××Ŗ×××××× ××××××× ×©××ר ×××× ××××× ×××Ŗ× × ××©× ×× ×קר××××Ŗ ×× ×©×פ×ר ×צר×××Ŗ ××ש×××× ×©× ××××××× (×××××× ××תר ×§×× ×× ×¢× ×Ŗ×צ×××Ŗ ×××××Ŗ ××תר) ××Ŗ×ר××Ŗ ××× ××תר הפק×××Ŗ ××××××. ש×××× ×©× × ×××ר×× ×××ר שע×××Ŗ ××¢×××× ×¢× LLM ×ר×× ×¤×××× ××¢×× ×Ŗ×ש×× ×ר××Ŗ. ×”×¤×§× × AI ר×××× ××Ŗ ×× ××× ×”×× ×פצ××Ŗ ×××צע××Ŗ ××הפת ש×ר××Ŗ× ×¢×Ø× ×××”×£ × API ××× "ש×××ש ×××ש×", "××פ×ש ×רשת" ××××”×× ×§×צ××. ×§×©× ×××¢×Ŗ ××× ××× ×× ×צ××× ×××.
××× ×Ŗ××× ×× ×©×××× ××× ×©××¢×××Ŗ ×©× Inference ××ר××Ŗ ×××ר. ×××Ŗ×× ××× ×Ø×××§ ×××× ×©×× ×¢× ××ש××× AI × ×Ŗ××× ×ש×× ××××× ×©× ×× ×× ×××§×× ×¢× ××”××” ×××§× ××.
1 419
š ×× × GPL ×× ×Ø×× ×× ×שר××
×× × ×××× ××× ×ר××ש ××רק פ×××ר××.
××רק ××Ŗ× ××Ŗ Dive Into Python ××× ××Ŗ× ××××× ×¤×××Ŗ×× ××©× chardet ש×××× ×× ××§×××× ×©× ××ר×××Ŗ. ××רק ×Ø×¦× ××ש××ר ××Ŗ× × ××§×××× ××× × ××Ŗ ×פר×××§× ×רש××× LGPL ××× ××××× ×©×× ××ר×× ×××§××× ××Ŗ ××§×× ×××× ×× ×¢× ××”××”× ×”×¤×Ø×× ××רת ×× ×הפר×× ×©××× ×¦×Ø××× ×××××Ŗ ××פש××Ŗ.
××× × ×× ×××× ××× ×ר××ש ×× ××× ×©×Ø×. ×¢×× × 2014 ××× ×Ø×× ×© chardet ××× ××”× ××× ××××ש ×××ש ×פ×××Ŗ×× ×©× ×§×× ××©× ×©× ×××××× ×××× ××××× ××× ×¦×Ø×× ×××××Ŗ רש×× × MPL. ××× ×©×Ø× ××× ×××Ŗ×××§ ×©× ×פר×××§× × 2014, ××××ר × 12 ××©× ×× ×××ר×× ××Ŗ. ××× ×©×Ø× ××× ×× ×©×§××× ×¤× ×××Ŗ ××שת×ש×× ×©×Ø×צ×× ××שת×ש × chardet ××× ×××××× ×××× ×ר×ש××× ×× ×צ×× ××××Ø× ××”×ר ××שת×ש × LGPL, ×× ×× ×× ×שת×ש×× × pyinstaller, ××× ×××צר ×§××ׄ exe ×××× ×× ×××××××× ×××××× ×××××Ŗ ××פש×××. × 2021 ××× ×× ××× ×©×Ø× ×©× ××”× ××§×× ××Ŗ ש×× ×× ×ר×ש××× ×©×× ×ר×× ××× ×”×¤×Ø×××Ŗ requests ×פ×פ××ר××Ŗ × ×¤×Ø××Ŗ × chardet ×××××§ ×××× × ××©× ××.
×× ×× ×פ×× ×©×¢× ×× ×××××ר×× ×¢× ×§××× ×§×× ×× ××× ×©×Ø× ×× ×¢×× ×פ××Ŗ××? ××× ×× ××§××× ×¢× ×¤×Ø×××¤× ×©×××ר "×Ŗ×× × ×× ×”×¤×Ø×× ×××©× ×©×¢××©× ×××××§ ×× ×© chardet ×¢××©× ××× ××× ××§××Ŗ ×××× ×××§×× ×××§×ר×". ×§××× ×צר ××××ש ×¤× 43 ×××ר ××תר ××××× ××××Ŗ× ×××× ××× ×©×× ×§×× ×ש××Ŗ×£. ×× × ×××× ××Ø×”× 7 ×©× chardet ××××Ŗ× ×Ø×× ××Ŗ×קשר ×¢× ×××צר ×××§×ר×:
https://github.com/chardet/chardet/issues/327
×× ×× × ×× ××××¢×× ×× ×××× ××¢×Ŗ×× ×©× ×¢××× ××§×× ×פת××. ×× ×××ש ש×× ××× ×©×× ×©×××Ŗ ×רש××× ××Ŗ ×××××××× ×××××Ŗ ××××¢×× ×¢×§× ××הר ×××××Ŗ ×××פ×.
1 419
× PDD ×× × ×¤×©×× ×××Ŗ× "×Ŗ×× × ×× ×ש××§ ×××§×” ×¢×××× ×¢× ××××§××Ŗ ×פ×××Ŗ××" ×××Ŗ×§× ×××××× ××Ŗ ×פר×××¤× ×¢× ×©×××¦× ×ש××§ ש×× × ×Ø×צ×. צר×× ××××§× ×”×¤×¦×פ××Ŗ? ×××”××£ ×××Ŗ× ×פר××פ×. צר×× ××××§× ×”×¤×¦×פ××Ŗ? × ×××ר ×××Ŗ× ×פר××פ×.
××××××× ××ר××××× ××× ×××ש××Ŗ:
1. × TDD ×× × ×××§× ×©×××× ×¢× ××§××. ×× × ××××¢ ×× ×× × ×××Ŗ× ××× ×¦×Ø×× ×××××Ŗ×. ×× × ×§×××¢ ××Ŗ ×××× × ×©× ××§×× ×××××¢ ×××××§ ××× ×ר×× ××§×× ×©× AI ××× ×. ×××¢× ×× ×××× ×× ××× ×¢× ×××××Ŗ ××”××× ××§×××× ×× ×קר×× ××Ŗ ××§×× ×©××.
2. × PDD ×× × ×××תר ×¢× ×ש×××× ××××ר ×תפר××, ××”×× ×× "תר×× ×× ×× ×פשר". ×¤× ×ר×× ××תר ××× ×××× ×¢× ×××”×Ŗ×× ×¢× ×”××× ××§×××× ×¢××× ××קר×× ××Ŗ ××§×× ×©××. ×פע××× ×פשר ××××× ×××§×× ×©××× ×צר ××××××Ŗ ××ר×× ××ש××. ×פע××× ××. ××××× ×©× ××××§××Ŗ ×××שת PDD ×××× ×× ×ר×× ××תר ××××§××Ŗ ××× ×××××Ŗ ×××××Ŗ ×××××§××Ŗ ××××××Ŗ ×Ŗ××× ×¤×××Ŗ ××××. ×××××× ×©× ××××§×” ×¢×××× ××©× ×Ŗ×Ŗ× × AI ××× ××Ŗ ××Ŗ ××§×× ××× ××××Ŗ ××Ŗ× ××× ××Ŗ ×××××§××Ŗ ××××××§× ××× ×× ×××ש ××××§××Ŗ ×××Ŗ××× ×××”×.
×× ×¢×©××Ŗ× × ××”××, × ×Ŗ×Ŗ× ××”××× ××§×××× ××Ŗ ×פר×××¤× ×××:
create a text based tic tac toe game in python with pytest. use uv
Use multiple modules for game logic and display
Implement pytest tests for both logic and display
×××× ×Ø×¦××Ŗ× ×©××× ×××Ŗ×× ××××§××Ŗ תצ××× ×¤×©××××Ŗ ××× ×©×× × ××Ŗ××Ŗ× ×××××× ×©××××§×Ŗ×, ××× ×× ×× ×× ×©×§×Ø×. ××××× ×תצ××× ×©×”××× ××§×××× ×צר ×××× ×¤×× ×§×¦×× ×©×צ××רת ××Ŗ ×××× ×××¢×Ø× ×©× ×©×ר××Ŗ ×פ×× ×§×¦×× ××רת ש××פ××”× ××Ŗ ××ער×. ×××××§× ××× ×¢×××× ××××§×Ŗ data ש××××§×Ŗ רק ××Ŗ ××¢×Ø× ×ש×ר××Ŗ ××××ר:
def test_render_board_with_markers(self):
board = Board()
board.place_marker("A1", "X")
board.place_marker("B2", "O")
rendered = Display.render_board(board)
assert "X" in rendered
assert "O" in rendered
× ×Ø×× ×© glm ×¢×× ×××× ×§×©× ×Ø×§ ×ש××× ×× ××שת×ש × capsys ×©× pytest ×××¤× ××Ŗ ×§×× ××ש××§ ×××תר ××”×ר××.
×× ××××Ø× ×ש××× ×©×××תרת, ××× TDD ×¢×××× ×Ø×××× ××? ×פע×××. ××¢×רת TDD ×× × ×××× ×××¢××ר ××Ŗ ××הר ××”××× ××§×××× ×צ××Ø× ×ר×× ××תר ×××××§×Ŗ ××שר ××¢×רת פר×××¤× ××× × ×××”× ××Ŗ ××××××××× ×¢× ××”×××, ×××××× ×ש×× × ××××¢ ×××× ×§×× ×× × ××¦×¤× ×ר×××Ŗ.1 419
š ××× Test Driven Development ×¢×××× ×Ø×××× ××?
פ××Ŗ×× ××× ×× ××××§××Ŗ ×× TDD ××× ×רע××× ×©×××× ×× ×××Ŗ×× ×§××× ××Ŗ ×××××§××Ŗ ××× ×ר×××Ŗ ××Ŗ ××§××, ××× ×× × ×ר×××× ×× ××××§××Ŗ ×©× ××§×× ××× ×§×× ××× ××תר ש××תר ×§× ×××××§ ×××Ŗ×. × ××”××Ŗ× ××Ŗ ×× ×××× ×¢× AI ××× ×¢×× ××פ×, ××××ר ××Ŗ××Ŗ× ××× ××××§××Ŗ ש×שת×ש××Ŗ ×פ×× ×§×¦×××Ŗ ×××××§××Ŗ ש××צ××Ŗ×, × ×Ŗ×Ŗ× × AI ×××Ŗ×× ××Ŗ ××§××, ×פע××× ×× ×צ××× ××, ×פע××× ××× ××Ŗ××× × ×©×××××§××Ŗ ש×× ×× ××××× ×××Ŗ. ×ש××× ×צ××× ××× ××× ××× ××× ×”×Ŗ× ××Ŗ ××§×× ×××× ×××Ŗ×§×××Ŗ×. ×ש××× ××Ŗ××× × × ××§××Ŗ× ××Ŗ ×× ×©××× ××Ŗ×, ×Ŗ××§× ×Ŗ× ××Ŗ ×××××§××Ŗ ×ש×××Ŗ× ×××Ŗ× ×××צר ש××.
××”××£ ×§××××Ŗ× ×§×× ×¢××× ×©×¢×©× ×××××§ ××Ŗ ×× ×©×Ø×¦××Ŗ× ××××× × ××××§××Ŗ ש×× × ××רת×. ××¤× × ×©× ×Ŗ××× ××××Ŗ× ×××Ŗ× ×¢× ××. ××××. ×××× ×× × ×× ×× ×× ××××.
×××××Ø× ×××× ×©× TDD ×× ×× ×× × ×שת×ש ××× ×× × ×Ø××× ×תעש××× ××× PDD, ××××ר Prompt Driven Development. ×××Ŗ××× ×¤×Ø××פ×, × ××Ŗ× ×× × AI ×××צר ×§×× ×××××§××Ŗ, ×§×ר××× ××Ŗ ×××××§××Ŗ ×××§××, ×× ×××××× ×©××ר×× ××× ×× ×××××× ×× ×§×× ×××Ŗ×§× ×× ××Ŗ ×פר××פ×.
×××××× ×¢××ר ×ש××§ ×××§×” ×¢×××× × TDD ×× × ××Ŗ××× ×¢× ×§××ׄ ××××§××Ŗ ×××:
import pytest
import GameUI
def test_first_player_plays(game_logic):
game_logic.play(0, 0)
assert not game_logic.game_over()
assert game_logic.winner() is None
def test_second_player_plays_in_taken_square(game_logic):
game_logic.play(0, 0)
with pytest.raises(Exception):
game_logic.play(0, 0)
def test_player1_wins_first_row(game_logic):
game_logic.play(0, 0)
game_logic.play(1, 0)
game_logic.play(0, 1)
game_logic.play(1, 1)
game_logic.play(0, 2)
assert game_logic.game_over()
assert game_logic.winner() == game_logic.players[0]
def test_player2_wins_diagonal(game_logic):
game_logic.play(0, 1)
game_logic.play(0, 0)
game_logic.play(1, 0)
game_logic.play(1, 1)
game_logic.play(1, 2)
game_logic.play(2, 2)
assert game_logic.game_over()
assert game_logic.winner() == game_logic.players[1]
def test_cant_play_after_win(game_logic):
game_logic.play(0, 1)
game_logic.play(0, 0)
game_logic.play(1, 0)
game_logic.play(1, 1)
game_logic.play(1, 2)
game_logic.play(2, 2)
with pytest.raises(Exception):
game_logic.play(2, 0)
def test_show_empty_board(game_logic, capsys):
GameUI.print_current_game(game_logic)
printed_text = capsys.readouterr().out
assert printed_text == """Waiting for player X
. . .
. . .
. . .
"""
def test_show_board_after_play(game_logic, capsys):
game_logic.play(0, 0)
game_logic.play(1, 1)
game_logic.play(2, 0)
GameUI.print_current_game(game_logic)
printed_text = capsys.readouterr().out
assert printed_text == """Waiting for player O
X . .
. O .
X . .
"""
def test_show_draw(game_logic, capsys):
game_logic.play(0, 0) # X
game_logic.play(1, 1) # O
game_logic.play(2, 0) # X
game_logic.play(1, 0) # O
game_logic.play(1, 2) # X
game_logic.play(2, 1) # O
game_logic.play(0, 1) # X
game_logic.play(0, 2) # O
game_logic.play(2, 2) # X
GameUI.print_current_game(game_logic)
printed_text = capsys.readouterr().out
assert printed_text == """Game Over. It's a draw
X X O
O O X
X O X
"""
def test_show_player_1_won(game_logic, capsys):
game_logic.play(0, 0)
game_logic.play(1, 0)
game_logic.play(0, 1)
game_logic.play(1, 1)
game_logic.play(0, 2)
GameUI.print_current_game(game_logic)
printed_text = capsys.readouterr().out
assert printed_text == """Bravo! X Won
X X X
O O .
. . .
"""
def test_read_move_from_player(game_logic, monkeypatch, capsys):
monkeypatch.setattr("builtins.input", lambda _: "0, 0")
next_move = GameUI.read_next_move(game_logic)
game_logic.play(*next_move)
capsys.readouterr() # clear the buffer
GameUI.print_current_game(game_logic)
printed_after = capsys.readouterr().out
assert printed_after == """Waiting for player O
X . .
. . .
. . .
"""
××× ×פר×××¤× ×××× ×¤×©×× ××§×× ××Ŗ GameLogic ש×××××§ ××Ŗ××× ×××שק ש×××רת×.1 419
×××××× ×¤×Ŗ×××× ×©××”××××× ×××Ŗ×× ×§×× ×× ×¢× ×§××× ××ר×× ×× ×Ŗ×Ø×¦× ××ר×ׄ ×××Ŗ× ×¢× ××××©× ××× ××¢× × ×©× Ollama (×× ×שרת ×¢× × ××ר). ××××××× ×ר×××× ×××× ×××× ×פ××Ŗ×× ×§×× ××:
1. glm-5
2. minimax-2.5
3. kimi-k2.5
4. qwen3-coder-next
××××× ××××¢ ×¢× ××× ××רצ×× ×××× ××Ŗ ××”××× × ×§×××× ××פשר ×קר×× ×¢××× ×××:
https://docs.ollama.com/integrations
×ש××× ××ר×ׄ ××Ŗ ×§××× ×§×× ×¢× ×××× ×©× ××××× × ×¤×¢××:
ollama launch claude --model minimax-2.5:cloud
×× ×× ×××× ××ר שתרצ×. ×× × ×©××Ŗ× ×× ×©××× ×××§×” ×¢××× ××ש ××× ×¢× ×§××× ×§××.
×”××× ×§×××× ××Ŗ××Ø× ×©× ×§××× ×§×× × ×§×Ø× OpenCode ××× ×××Ŗ× ×פשר ××ר×ׄ ×¢× ×××××, ×¤× ×©××Ŗ× ×× ×© glm-5 ×¢××× ××× ××תר:
ollama launch opencode --model glm-5:cloud
× .×. ×× × ×× ××××¢ ××× ×§××× ×§×× ×¢××× ××תר ××× ×¢× ××× ×××§×” ×××פ××§×× ×¢××× ××תר ××× ×¢× glm. ×× × ×× ××××¢ ש××פת××× ×©× ×§××× ×§×× ×¢××××× ××× ×§××× ××××©× ×©××× ×××§×” ××תר ×××× ××§××× ×תש××××Ŗ ש×× ×××פת××× ×©× ××פ××§×× ×¢××××× ×¢× glm ×××× ×× ×Ø×× ×פר××פ××× ×××××× ×©×× ××× ×× × ×××§× ××¢××Ø× ××פ×××××צ×× ××××× ××.
×× ××Ŗ× ××¢××פ×× ××¢××× ××Ŗ×× VS Code ×ש ×הפר ××× ××רצ×××Ŗ × Ollama שת×××× ×××Ŗ×§×× ××× cline, kilocode × Roo Code ×××× ××××¢××Ŗ ×××Ŗ××ר × Ollama. × VS Code עצ×× ×ש ××× ××רצ×× ×¢× Ollama ××× ××× ×Ŗ××× ××× ×¢××××Ŗ ×××¦× ask ×××× ××× ×××¦× ×”××× ×× ×¤×××Ŗ ר×××× ×××Ŗ.
ā ××××, ××§××”××”×× ×××¢×Ŗ××
××× ×©××ר×× × ×Ø××× ×¢×ש×× ×××§××”××”×× ×××× ××× ×ר××פר×××× ××××ר ×ש ×פר×× ××× ××××× ××”×××. ××× ××× ××× Ollama × ××Ŗ× ×× × ×פשר××Ŗ ×××ר ×××× ×©×× × ××× ×”××× ×©× ××ר - ××× ×× ×× ×××××צ×× (n8n), ש××× (onyx) ×× ××× ×¤×פ×××Ø× ×”××× ×§××××.
×××ר×× × ×× ×ר×פ××§ ×צ×× ×××Ŗ×§×¤× ×שפ×××Ŗ ×¢× ×××ר××Ŗ ××”×× ×××Ŗ ×××¢× × ×©×× ×××× ××Ŗ ××Ŗ ××××××× ×©××× ××Ŗ×× ××××××× ××§××××× ×©× ×× ×ר×פ××§ ××× ×××”×××Ŗ ×עצ×× ×¢×××××Ŗ ×××צע××Ŗ ××Ŗ×§×¤× ×©× ×§×Ø××Ŗ ×××”×××צ××. ×× × ×× ×××× ×הפ××§ ×ש××× ××ר××× ×¢× ×× ××× ×××× ×שער ש×× ×פשר "×××¢×Ŗ××§" ×××××× ×××× ×× ×©×ש××× ×עש××Ŗ ××Ŗ ×× ×××פ×ׄ ×× ×××××× ×¤×Ŗ××××. ×פ××× ××× ×××”×××צ×××Ŗ ×ש ×××× ×××× ×××××× ×¤×Ŗ×××× ××××ר×× ×©× Ollama ××©× Hugging Face ×× ×©× ×Ø×× ×©×× ×× ×××××× ××××¢××.
××× ×”×¤×§ ש××¢××× ×©× ××× ×¤××Ŗ×× ××××× ××××”×”× AI ×¢××ר רע×××Ŗ ×××× ×ש××¢××Ŗ××Ŗ ××Ŗ×§××¤× ×× ××§×©× ×××¢×Ŗ ××× ××ר×× ×ר×× ×פ××× ××¢×× ×××ש. ××× ×××× ×ר××פר××××××Ŗ פ××¢××Ŗ ×××× ×××××Ŗ× ×. ××× ×©×× ××¢×× ×××Ŗ×§×× Ollama ××× ×”××Ŗ ×××ר ×¢× ×”××× ×©××× ×¤×Ŗ×× ×©×Ø×„ ×צ××× ×¢× ××××©× ×× ×¢× ×”××× ×§×××× ××¢× × ×©× ××××× ××× ××ש×××Ŗ ×Ŗ×צ×××Ŗ.1 419
š ×”×××× ××××× ×Ø ×××××× ×¤×Ŗ××××
××פ×ש ×××ר×× AI ×××ר×× ××××Ø× × ×¢× ×××××× ××× ×××× ××××××× ×¤×Ŗ××××. ×ש×××¢ ××× ×פ×ש (××× ×§×©×Ø ××××××, ×× ××××× ×©×Ŗ××× × ×ר×ש ×××¦× ×× × ×××). ש×××¢ ××× ××Ŗ××× × ×פ×ש ×ש×× ×¢× ××שת ש××שת ×ש××××Ŗ ×××× ××§×× ×§×× ××× ××”××× ×§×××× ×× × ××¢××× ××× ×××××× ×קר××Ŗ ××××©× ××× ×× ××Ŗ×§××× ××¤× ××צ×.
×¢×ש×× ×××× × ××ר ×× ××× ×× × ×ש×××¢ שע×ר.
ā ××× ×××××× ×¤×Ŗ××××
ש××ש ×××ר××Ŗ ×××××××Ŗ ש××× ××Ŗ ××× AI ×× ××××, ×× ×ר×פ××§ × OpenAI ×××× ×××Ŗ ×××× ××××× ×ש××. ××ר××Ŗ ××× ×××ר××Ŗ ××× ××Ŗ ×× ××§××”××”×× ×©×× ×”××× ××××××× - ×”××× × ×§××××, APIs, פר××××§×××× ××¢××× ×©×× ×©× ××××.
×××× ××× ××××§ ש××§×× ××§×”× ×××××ר ××Ŗ ×××©× ×××§×”×. ×פשר ××××× ×©×× "××××" ×©× ×× ××× ××× × ××××××Ŗ××Ŗ. ×××× ×¢×¦×× ×¢×××£ ××Ŗ ××××× ×××××ש ×× ×¤×× ×§×¦××× ×××××Ŗ ×× ××××ר ××¢×××, ×××××× ×§××× ×§×× ××× ×”××× ×§×××× ×©×¢×××£ ×××× ××××ר ×××Ŗ× ××§××. ×× ××שק ×××× ×ש××× ×¢× AI ××× ×”×××, ××× ×¢×××£ ××Ŗ ××××× ×××××××Ŗ ש××פשר××Ŗ ××פ×ש ×רשת ×× ×רצת ×§××.
×××××, ×× ×××× ×©× ××××, ×××× ×××Ŗ× ×”×× ××”××× ×©× ×××××Ŗ, תש××××Ŗ, ×××©× ××ש×××. ×××× GPT-5.2 ×× ××××ר ××Ŗ ×××Ŗ× ×Ŗ×©××××Ŗ ××× Gemini Flash. ×ש ×××× ×©××ש××× ×©×©××ש ××ר××Ŗ ×× ×הפ××§ ××פ××× ××תר ××× ××× ×××¢×Ŗ× ×Ŗ×ר××Ŗ ×¤× ××× ××××××Ŗ ××××”××¤× ×¢× ××× ××ש××§. ××× ×× ×× ×× ×× ×¤×©××.
×ש×× × ×©××× ×©××× ××××× ×©×Ø×„ ××¢× × ×× × ×”××× ×¢× ×”×¤×§ ××××× ×©×ש××ר ×¢× ×ש××× ×©×× ××תש××× ×©× ××××× ××××¤× ××××××. ×× ×ש××× ×××××Ŗ ××××¢ פר×× ×× ×§×× ×©× ××ער××Ŗ ×× × ×”××× ×¢× ×”×¤×§ ××××× ×©×× ×שת×ש ××§×× ××× ×××ר×× ×©×× ×רש××Ŗ×. ×”×××× ××× ×©×× ×× × ×× ×××× ×× ××”××× ×× ×¢× ×× ××× ×©×××¢× ×©×ש ×× ×××× ××ש.
×××××× ×¤×Ŗ×××× ×צ××¢×× ×× × ××Ø× ××¢××× ×¢× ×××××× ××ש×× ×××× ××Ŗ ×××ש ××××. ×××× ×¤×Ŗ×× ××× ×××× ×©×× ××× ×××× ××ר×ׄ ×××× ×× × ×××× ××ר×ׄ ×××Ŗ× ×¢× ××××©× ×©×× ×× ×¢× ×××©× ×הפק ×¢× × ×¢××× ×× × ×”×××. ×§××××× ×××××× ×¤×Ŗ×××× ×©××”×¤×Ø× ××× ××× ×× ×¤××Ŗ×× ××Ŗ ××××× ×× ××Ŗ× ×× ××× ××Ŗ ×× ××××× ××× ××Ŗ ××Ŗ ××××× ××× ×צ×××, ××ש ×××××× ×¤×Ŗ×××× ×§×¦×Ŗ פ×××Ŗ ××××××Ŗ××× ×©× ××Ŗ× ×× ××× ×Ø×§ ××Ŗ ××ר×צת ××שק××× ×©× ×××××, ××××ר × ××× ××ר×ׄ ××Ŗ ××××× ×¢× ××××©× ×©×× × ××× ×× × ××× ××× ××Ŗ ××ר××¦× ××××Ŗ ××פה ××× × ××¢ ××××× ××××¢ ××××× × ×צר.
×××××× ×¤×Ŗ×××× ×××”×פ×× ××Ŗ×ר××Ŗ - ×××§× ×××× ×× ××¢× ××Ŗ ×¢× ×©××××Ŗ ×× ×ש××× ×©×©××שת ××××××× ×ר××××× ×× ×¢×× ××, ×××§× ×צ××× ×Ŗ×©××××Ŗ ××ש××Ŗ ××צ×רת×××Ŗ ×ש××××Ŗ ××××× ×××× ×ר×× ××תר ××××× ×ש××שת ××××××× ××××××× ×× ××Ŗ× ×××××× ××ר×ׄ ×××Ŗ× ×¢× ××××Ø× ×©×××.
×× ××”×£ ××××××× ×פת×××× ×ש ×× ×××××× ××× ××××. ××× ×××××× ×©××ר××Ŗ ×צ××¢××Ŗ ×צ××Ø× ××××§× ××§×××× ×××ר××Ŗ, ×ר×× ×× ×××¦×¢× ×Ŗ××Ŗ ×©× ×××× ×××Ø× ×תר OpenRouter ×××§×× ××Ø× ×תר ××××Ø× ×¢×¦××. ××××× ×××× ×× ××פשר ××× ×××©× ××× ×Ŗ×©××× ×××Ŗ×××Ø× ×× ×שת×ש×× ×ש××××Ŗ ××× ×שפר ××Ŗ ××××× ×× ×××”××£ ××××¢ ×¢× ×©××××Ŗ ×©× ×©××××Ŗ. ש××× ×× ×©×××× ××× ×× ××× × ×××× ×¤×Ŗ××, ×פע××× ×תש××××Ŗ ש×× ×××× ×××××Ŗ ××תר ××Ŗ××× ×××× ×¤× ×××ש×× ××××Ŗ×ר ×¢× ×¤×Ø××××Ŗ ××¢×××× ×××Ŗ×.
ā ××× ×¢××××× ×¢× ×××××× ×¤×Ŗ××××
×××× ××××× ×¢××× ××¢×××× ×¢× ×××××× ×¤×Ŗ×××× × ×§×Ø× Ollama (×ש ×¢××. ××××× ××× ×¤×©×× ××××× ×¢×××). ×פשר ×××ר×× ×××Ŗ× ×××תר ש××× ×××:
https://ollama.com/
××××× ×צ××¢ ×©× × ××”××××× ××¢×××× ×¢× ××××××× ×פת××××:
1. × ××Ŗ× ×××ר×× ×××ר×ׄ ×××צע××Ŗ× ×××××× ×¢× ××××©× ×©×××.
2. × ××Ŗ× ××שת×ש ×× ××× ×××Ŗ××ר ××××××× ×¤×Ŗ×××× ×©×Ø×¦×× ×¢× ×©×Ø×Ŗ ××¢× × ×©×××.
××××ר ×”××× ×©× 20$ ××××ש ×Ŗ×§××× ×××©× ×××¢× ××× ××××× ××¢× × ×©× Ollama ××Ŗ×××× ××¢××× ×¢× ×× ××××××× ×פת×××× ×©×. ×ש××× ××ר×ׄ ×××××× ×צ××× ×¢× ××××©× ×× ×¦×Ø×× ×ש×× ×©×§× ××× ×ר××©× ××××Ø× ×××§×. ×××××Ŗ ××××× × ×§××¢×Ŗ ××¤× ×”×× ××××× ×××¤× ×הפר ×פר××ר×× ×××ר×צת ××שק×××. ×× × ×”×Ŗ×× ×××××× ×¢× deepseek ×× × ×Ø×× ××תר ×©× ××××× ×©×ש ×× ×הפר ×רה×××Ŗ, ×ר×ש×××Ŗ ×× 1, 2 ×-3. ××× ××Ø×”× ×ש ××× ×פשר××××Ŗ ××××× ××פר××ר×× ×××××× deepseek-coder ש×× ××Ø×”× ×©× ××××× ×××¤× × ×©× ×Ŗ××× ×××××¢××Ŗ ××§×××× × ××Ŗ× ×Ŗ ×××ר×× ××רהת 1.3 ××××××Ø× ×¤×Ø××ר××, 6.7 ××××××Ø× ×¤×Ø××ר×× ×× 33 ××××××Ø× ×¤×Ø××ר××. ×הפר ×פר××ר×× ×שפ××¢ ×¢× ××××× ××××Ø×”× ×××××× ×××תר 33 ××××××Ø× ×¤×Ø××ר×× ×Ŗ×פהת 19 ×׳×××.
×××× gpt-oss ש××× ×××× ×¤×Ŗ×× ××××Ŗ OpenAI ××××¢ ××רהת 20 ××××××Ø× ×¤×Ø××ר×× × 120 ××××××Ø× ××רהת × 120 ××××××Ø× ××× ××××× 65 ×'×××.
×ש××× ×ש××× ×©××××Ŗ ×ש××× ×Ŗ×”×¤××§ ×× × ××Ø×”× ×§×× × ×©× 6-7 ××××××Ø× ×¤×Ø××ר××. ×ש××× ×”××× ×§×××× ×פ××× × 120 ××××××Ø× ×¢××× ×××××Ŗ ××”××”× ×××.
××××× ×הפק ×פ××קצ×× ×רפ××Ŗ ×ר×× ×פשר ×××ר ×¢× ××××××, ×ש××× ×©××××Ŗ ××ר×××Ŗ ××Ŗ ×תש××××Ŗ ש××× ××פ××קצ××. ש××× ××שת×ש ×× ×ש××Ŗ××עצ×× ×¢× ×××××× ××§××××× ××× ××§×× ×¤×Ø××××Ŗ ××ר×××Ŗ ×ש××× ×¢× × AI.
ā ××× ×××Ŗ×× ×§×× ×¢× ×××× ×¤×Ŗ××
Available now! Telegram Research 2025 ā the year's key insights 
